Commit 20aa86c8 authored by wanghao's avatar wanghao

1 写自检后 判断下 是否写成功

parent 5759184c
......@@ -150,32 +150,32 @@ public class PalletDeviceBinding extends BaseEntity
/**
* 写自检状态 空 是没写 0-失败;1-成功
*/
private Integer writeSelfCheckStatus;
private int writeSelfCheckStatus;
/**
* 继电器状态 0:初始 1:动作
*/
private Integer relayStatus;
private int relayStatus;
/**
* 脉冲状态 0:初始 1:动作
*/
private Integer pulseStatus;
private int pulseStatus;
/**
* 模块状态 0:异常 1:正常
*/
private Integer moduleStatus;
private int moduleStatus;
/**
* SIM卡状态 0:异常 1:正常
*/
private Integer simCardStatus;
private int simCardStatus;
/**
* 网络状态 0:异常 1:正常
*/
private Integer networkStatus;
private int networkStatus;
public String getStatus() {
return status;
......@@ -401,51 +401,51 @@ public class PalletDeviceBinding extends BaseEntity
this.calibrationConcentrationStatus = calibrationConcentrationStatus;
}
public Integer getWriteSelfCheckStatus() {
public int getWriteSelfCheckStatus() {
return writeSelfCheckStatus;
}
public void setWriteSelfCheckStatus(Integer writeSelfCheckStatus) {
public void setWriteSelfCheckStatus(int writeSelfCheckStatus) {
this.writeSelfCheckStatus = writeSelfCheckStatus;
}
public Integer getRelayStatus() {
public int getRelayStatus() {
return relayStatus;
}
public void setRelayStatus(Integer relayStatus) {
public void setRelayStatus(int relayStatus) {
this.relayStatus = relayStatus;
}
public Integer getPulseStatus() {
public int getPulseStatus() {
return pulseStatus;
}
public void setPulseStatus(Integer pulseStatus) {
public void setPulseStatus(int pulseStatus) {
this.pulseStatus = pulseStatus;
}
public Integer getModuleStatus() {
public int getModuleStatus() {
return moduleStatus;
}
public void setModuleStatus(Integer moduleStatus) {
public void setModuleStatus(int moduleStatus) {
this.moduleStatus = moduleStatus;
}
public Integer getSimCardStatus() {
public int getSimCardStatus() {
return simCardStatus;
}
public void setSimCardStatus(Integer simCardStatus) {
public void setSimCardStatus(int simCardStatus) {
this.simCardStatus = simCardStatus;
}
public Integer getNetworkStatus() {
public int getNetworkStatus() {
return networkStatus;
}
public void setNetworkStatus(Integer networkStatus) {
public void setNetworkStatus(int networkStatus) {
this.networkStatus = networkStatus;
}
......
......@@ -1062,6 +1062,23 @@ public class Modbus4jUtils {
}
return lastResult;
}
public static int writeSelfCheckStatus(ModbusMaster master, int deviceId) {
// 20251206 写完时间写自检,写自检就在时间后边写就行,不管时间写不写成功
try {
Modbus4jUtils.writeRegister(master, deviceId, 15, (short) 1);
Thread.sleep(2000);
int[] ints = Modbus4jUtils.readDeviceRegisters(master, deviceId);
if (ints[15] == 1) {
return 1;
} else {
return 0;
}
} catch (Exception e) {
return 0;
}
}
/**
* 读取设备寄存器(线程安全版)
*/
......
......@@ -179,7 +179,8 @@ public class AgingStageOneProcessJob implements Job {
}
}
// 5. 写入自检让设备开始自检,跟 上面的状态没关系
writeSelfCheckStatus(master, deviceId, binding);
int i = Modbus4jUtils.writeSelfCheckStatus(master, deviceId);
binding.setWriteSelfCheckStatus(i);
// 6. 更新数据库
palletDeviceBindingMapper.updatePalletDeviceBinding(binding);
......@@ -232,20 +233,6 @@ public class AgingStageOneProcessJob implements Job {
}
}
/**
* 写入自检状态 让设备开始自检
*/
private void writeSelfCheckStatus(ModbusMaster master, int deviceId,
PalletDeviceBinding binding){
// 20251206 写完时间写自检,写自检就在时间后边写就行,不管时间写不写成功
try {
Modbus4jUtils.writeRegister(master, deviceId, 15, (short) 1);
binding.setWriteSelfCheckStatus(1);
} catch (Exception e) {
binding.setWriteSelfCheckStatus(0);
}
}
/**
* 写入当前时间到设备
*/
......
......@@ -207,12 +207,13 @@ public class AgingStageTwoProcessJob implements Job {
binding.setNetworkStatus(result[14]);
// 重用之前的master连接进行写操作
master = Modbus4jUtils.createModbusMaster(ip, port);
writeSelfCheckStatus(master, deviceId, binding);
int i = Modbus4jUtils.writeSelfCheckStatus(master, deviceId);
binding.setWriteSelfCheckStatus(i);
// 5. 更新数据库
palletDeviceBindingMapper.updatePalletDeviceBinding(binding);
log.debug("设备{}处理完成: ip={}, port={}, status={}", deviceId, ip, port, result[1]);
log.info("设备{}处理完成: ip={}, port={}, status={}", deviceId, ip, port, result[1]);
return true;
} catch (Exception e) {
......@@ -224,19 +225,6 @@ public class AgingStageTwoProcessJob implements Job {
}
}, GLOBAL_DEVICE_EXECUTOR);
}
/**
* 写入自检状态 让设备开始自检
*/
private void writeSelfCheckStatus(ModbusMaster master, int deviceId,
PalletDeviceBinding binding){
// 20251206 写完时间写自检,写自检就在时间后边写就行,不管时间写不写成功
try {
Modbus4jUtils.writeRegister(master, deviceId, 15, (short) 1);
binding.setWriteSelfCheckStatus(1);
} catch (Exception e) {
binding.setWriteSelfCheckStatus(0);
}
}
/**
* 记录告警(兼容设备信息为空的场景)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment