Browse Source

测试modbus获取数据

王先生 2 years ago
parent
commit
8d5bc4713e

+ 34 - 37
eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/ModbusTask.java

@@ -139,42 +139,42 @@ public class ModbusTask {
 //                                                              log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}",e.getMessage());
 //                                                          }
 //                                                          break;
-                                                      case "4X(Holding  Register)":
-                                                          log.info("调用读取HoldingRegister数据方法");
-                                                          try {
-                                                               Number number = readHoldingRegisters(Integer.valueOf(data.getSoftwareRegisterAddress()), 1, modbusSalveId);
-                                                          } catch (InterruptedException e) {
-                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
-                                                          } catch (ExecutionException e) {
-                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
-                                                          }
-                                                          break;
-                                                      case "1X(Input  Status)":
-                                                          log.info("调用读取readDiscreteInputs开关量方法");
-                                                          try {
-                                                              Boolean aBoolean = readDiscreteInputs(Integer.valueOf(data.getSoftwareRegisterAddress()), 1, modbusSalveId);
-                                                          } catch (InterruptedException e) {
-                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
-                                                          } catch (ExecutionException e) {
-                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
-                                                          }
-                                                          break;
-                                                      case "0X(Coil  Status)":
-                                                          log.info("调用读取Coils开关量,{readCoils}方法");
-                                                          try {
-                                                              Boolean aBoolean = readCoils(Integer.valueOf(data.getSoftwareRegisterAddress()), 1, modbusSalveId);
-                                                          } catch (InterruptedException e) {
-                                                              e.printStackTrace();
-                                                          } catch (ExecutionException e) {
-                                                              e.printStackTrace();
-                                                          }
-                                                          break;
+//                                                      case "4X(Holding  Register)":
+//                                                          log.info("调用读取HoldingRegister数据方法");
+//                                                          try {
+//                                                               Number number = readHoldingRegisters(Integer.valueOf(data.getSoftwareRegisterAddress()), 2, modbusSalveId);
+//                                                          } catch (InterruptedException e) {
+//                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
+//                                                          } catch (ExecutionException e) {
+//                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
+//                                                          }
+//                                                          break;
+//                                                      case "1X(Input  Status)":
+//                                                          log.info("调用读取readDiscreteInputs开关量方法");
+//                                                          try {
+//                                                              Boolean aBoolean = readDiscreteInputs(Integer.valueOf(data.getSoftwareRegisterAddress()), 2, modbusSalveId);
+//                                                          } catch (InterruptedException e) {
+//                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
+//                                                          } catch (ExecutionException e) {
+//                                                              log.error("调用读取HoldingRegister数据方法,modbus读取数据失败,失败原因:{}",e.getMessage());
+//                                                          }
+//                                                          break;
+//                                                      case "0X(Coil  Status)":
+//                                                          log.info("调用读取Coils开关量,{readCoils}方法");
+//                                                          try {
+//                                                              Boolean aBoolean = readCoils(Integer.valueOf(data.getSoftwareRegisterAddress()), 1, modbusSalveId);
+//                                                          } catch (InterruptedException e) {
+//                                                              e.printStackTrace();
+//                                                          } catch (ExecutionException e) {
+//                                                              e.printStackTrace();
+//                                                          }
+//                                                          break;
                                                       default:
                                                           //默认使用 3X(Input  Register)
                                                           log.info("调用读取InputRegisters模拟量数据");
                                                           try {
-                                                              // 读取数据 数据类型为 float
-                                                              Number number = readInputRegisters(Integer.valueOf(data.getSoftwareRegisterAddress()), 1, modbusSalveId);
+                                                              // 读取数据 数据类型为 float Integer.valueOf(data.getSoftwareRegisterAddress())
+                                                              Number number = readInputRegisters(Integer.valueOf(data.getSoftwareRegisterAddress()), 4, modbusSalveId);
                                                               //获取点名 例如 1F_CO2
                                                               String callTheRoll = data.getCallTheRoll();
                                                               // 获取楼层id
@@ -201,24 +201,21 @@ public class ModbusTask {
                                                                        dmEnvHistoryModbusData.setVoc(number.toString());
                                                                        break;
                                                                }
-
                                                                //设置关联id
                                                               dmEnvHistoryModbusData.setDataId(Long.valueOf(F));
 
                                                           } catch (InterruptedException e) {
                                                               log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}",e.getMessage());
-                                                              release();
                                                               return;
                                                           } catch (ExecutionException e) {
                                                               log.error("调用读取InputRegisters模拟量数据,modbus读取数据失败,失败原因:{}",e.getMessage());
-                                                              release();
                                                               return;
                                                           }
                                                           break;
                                                   }
-                                                  dmEnvHistoryModbusDataService.create(dmEnvHistoryModbusData);
-                                                  log.info("添加的modbus的数据,{}" + JSONObject.toJSONString(dmEnvHistoryModbusData) );
                                               });
+                                              dmEnvHistoryModbusDataService.create(dmEnvHistoryModbusData);
+                                              log.info("添加的modbus的数据,{}" + JSONObject.toJSONString(dmEnvHistoryModbusData) );
                                           }
                                      });
                                  }