From 9e02c41bbc10752e066917c4237275f5031960f4 Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期四, 24 八月 2023 11:45:19 +0800
Subject: [PATCH] 地磅单增加字段
---
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java | 42 ++++++++++++++++++++----------------------
1 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
index 756c767..2bf1d8e 100644
--- a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
@@ -14,7 +14,7 @@
import com.ld.igds.modbus.service.HDeviceModbusService;
import com.ld.igds.models.Device;
import com.ld.igds.models.DeviceModbus;
-import com.ld.igds.protocol.modbus.ModbusUtil;
+import com.ld.igds.protocol.modbus.ModbusUtil2;
import com.ld.igds.protocol.modbus.ServerUtil;
import com.ld.igds.protocol.modbus.data.ModbusTcp;
import lombok.extern.slf4j.Slf4j;
@@ -43,8 +43,6 @@
private HDeviceModbusService deviceModbusService;
@Resource
private AnalysisService analysisService;
- @Resource
- private ModbusUtil modbusUtil;
@Override
@@ -89,8 +87,7 @@
temp = modbusTcp.getDeviceModbus().getOpen();
}
-
- if (StringUtils.isEmpty(exeDevice.getLink())) {
+ if (StringUtils.isBlank(exeDevice.getLink()) || "null".equals(exeDevice.getLink())) {
//鏍规嵁璁惧鐩爣鐘舵�侊紝璋冪敤MODBUS鎵ц
modbusTcp.setAddrExe(this.getAddrExe(temp));
doWriteExe(modbusTcp, exeDevice.getTargetStatus());
@@ -180,8 +177,9 @@
}
private void doWriteExe(ModbusTcp modbusTcp, String targetStatus) throws Exception {
- boolean exeResult = modbusUtil.writeValue05(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrExe(), true);
+ boolean exeResult = ModbusUtil2.writeCoilStatus(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrExe(), true);
if (exeResult) {
+ log.debug("--------鍐欏叆鍊�---{}-{}-{}", modbusTcp.getSerId(), modbusTcp.getDeviceCode(), targetStatus);
ServerUtil.add2StatusMap(modbusTcp.getCompanyId(), modbusTcp.getSerId(), modbusTcp.getDeviceCode(), targetStatus);
}
}
@@ -200,13 +198,10 @@
if (null == list || list.isEmpty()) {
return new DeviceControlResponse(OrderRespEnum.ORDER_ERROR.getCode(), "鏈幏鍙栧埌璁惧鍒楄〃淇℃伅");
}
-
DeviceModbus deviceModbus;
ModbusTcp modbusTcp;
ModbusTcp modbusTcpLink;
- int i = 1;
for (Device device : list) {
-
deviceModbus = deviceModbusService.getCacheDeviceModbus(request.getCompanyId(), device.getPassCode() + "");
if (null == deviceModbus) {
@@ -223,14 +218,9 @@
modbusTcp.setSerId(device.getSerId());
modbusTcp.setCompanyId(device.getCompanyId());
- // modbusTcp.setAddrExe(this.getAddrExe(modbusTcp.getDeviceModbus().getOpenEnd()));
+ doReadStatus(modbusTcp);
- modbusTcp.setAddrExe(1024);
- doReadExe(modbusTcp);
-
- if (i == 1) break;
-
- if (StringUtils.isEmpty(device.getLink())) continue;
+ if (StringUtils.isBlank(device.getLink()) || "null".equals(device.getLink())) continue;
Thread.sleep(300);
@@ -247,7 +237,7 @@
modbusTcpLink.setAddrExe(this.getAddrExe(modbusTcp.getDeviceModbus().getOpenEnd()));
- doReadExe(modbusTcpLink);
+ doReadStatus(modbusTcpLink);
}
} catch (Exception e) {
@@ -266,17 +256,25 @@
* @param modbusTcp
* @throws Exception
*/
- private void doReadExe(ModbusTcp modbusTcp) throws Exception {
+ private void doReadStatus(ModbusTcp modbusTcp) throws Exception {
if (Constant.YN_N.equals(modbusTcp.getDeviceModbus().getOpen())) return;
- boolean[] result = modbusUtil.readStatus02(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrExe(), 2);
- log.debug("---------璇诲彇鐘舵��------{}--{}", modbusTcp.getDeviceCode(), result.toString());
+ int addrExe = getAddrExe(modbusTcp.getDeviceModbus().getOpenEnd());
- if (result[0]) {
+ boolean result = ModbusUtil2.readInputStatus(modbusTcp.getIp(), modbusTcp.getPort(), addrExe);
+ log.debug("---------璇诲紑鍒颁綅鐘舵��------{}-{}-{}", modbusTcp.getDeviceCode(), addrExe, result);
+
+ if (result) {
ServerUtil.add2StatusMap(modbusTcp.getCompanyId(), modbusTcp.getSerId(), modbusTcp.getDeviceCode(), DeviceStatus.OPEN.getCode());
}
- if (result[1]) {
+
+
+ addrExe = getAddrExe(modbusTcp.getDeviceModbus().getCloseEnd());
+ result = ModbusUtil2.readInputStatus(modbusTcp.getIp(), modbusTcp.getPort(), addrExe);
+ log.debug("---------璇诲叧鍒颁綅鐘舵��------{}-{}-{}", modbusTcp.getDeviceCode(), addrExe, result);
+
+ if (result) {
ServerUtil.add2StatusMap(modbusTcp.getCompanyId(), modbusTcp.getSerId(), modbusTcp.getDeviceCode(), DeviceStatus.CLOSE.getCode());
}
}
--
Gitblit v1.9.3