Commit 20aa86c8 authored by wanghao's avatar wanghao

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

parent 5759184c
...@@ -10,7 +10,7 @@ import com.zehong.common.core.domain.BaseEntity; ...@@ -10,7 +10,7 @@ import com.zehong.common.core.domain.BaseEntity;
/** /**
* 托盘绑定的设备列对象 t_pallet_device_binding * 托盘绑定的设备列对象 t_pallet_device_binding
* *
* @author zehong * @author zehong
* @date 2025-06-29 * @date 2025-06-29
*/ */
...@@ -150,32 +150,32 @@ public class PalletDeviceBinding extends BaseEntity ...@@ -150,32 +150,32 @@ public class PalletDeviceBinding extends BaseEntity
/** /**
* 写自检状态 空 是没写 0-失败;1-成功 * 写自检状态 空 是没写 0-失败;1-成功
*/ */
private Integer writeSelfCheckStatus; private int writeSelfCheckStatus;
/** /**
* 继电器状态 0:初始 1:动作 * 继电器状态 0:初始 1:动作
*/ */
private Integer relayStatus; private int relayStatus;
/** /**
* 脉冲状态 0:初始 1:动作 * 脉冲状态 0:初始 1:动作
*/ */
private Integer pulseStatus; private int pulseStatus;
/** /**
* 模块状态 0:异常 1:正常 * 模块状态 0:异常 1:正常
*/ */
private Integer moduleStatus; private int moduleStatus;
/** /**
* SIM卡状态 0:异常 1:正常 * SIM卡状态 0:异常 1:正常
*/ */
private Integer simCardStatus; private int simCardStatus;
/** /**
* 网络状态 0:异常 1:正常 * 网络状态 0:异常 1:正常
*/ */
private Integer networkStatus; private int networkStatus;
public String getStatus() { public String getStatus() {
return status; return status;
...@@ -190,47 +190,47 @@ public class PalletDeviceBinding extends BaseEntity ...@@ -190,47 +190,47 @@ public class PalletDeviceBinding extends BaseEntity
this.palletDeviceBindingId = palletDeviceBindingId; this.palletDeviceBindingId = palletDeviceBindingId;
} }
public Long getPalletDeviceBindingId() public Long getPalletDeviceBindingId()
{ {
return palletDeviceBindingId; return palletDeviceBindingId;
} }
public void setTrayId(Long trayId) public void setTrayId(Long trayId)
{ {
this.trayId = trayId; this.trayId = trayId;
} }
public Long getTrayId() public Long getTrayId()
{ {
return trayId; return trayId;
} }
public void setDeviceCode(String deviceCode) public void setDeviceCode(String deviceCode)
{ {
this.deviceCode = deviceCode; this.deviceCode = deviceCode;
} }
public String getDeviceCode() public String getDeviceCode()
{ {
return deviceCode; return deviceCode;
} }
public void setRow(Integer row) public void setRow(Integer row)
{ {
this.row = row; this.row = row;
} }
public Integer getRow() public Integer getRow()
{ {
return row; return row;
} }
public void setCol(Integer col) public void setCol(Integer col)
{ {
this.col = col; this.col = col;
} }
public Integer getCol() public Integer getCol()
{ {
return col; return col;
} }
public void setBindingTime(Date bindingTime) public void setBindingTime(Date bindingTime)
{ {
this.bindingTime = bindingTime; this.bindingTime = bindingTime;
} }
...@@ -247,12 +247,12 @@ public class PalletDeviceBinding extends BaseEntity ...@@ -247,12 +247,12 @@ public class PalletDeviceBinding extends BaseEntity
{ {
return bindingTime; return bindingTime;
} }
public void setUnbindingTime(Date unbindingTime) public void setUnbindingTime(Date unbindingTime)
{ {
this.unbindingTime = unbindingTime; this.unbindingTime = unbindingTime;
} }
public Date getUnbindingTime() public Date getUnbindingTime()
{ {
return unbindingTime; return unbindingTime;
} }
...@@ -401,51 +401,51 @@ public class PalletDeviceBinding extends BaseEntity ...@@ -401,51 +401,51 @@ public class PalletDeviceBinding extends BaseEntity
this.calibrationConcentrationStatus = calibrationConcentrationStatus; this.calibrationConcentrationStatus = calibrationConcentrationStatus;
} }
public Integer getWriteSelfCheckStatus() { public int getWriteSelfCheckStatus() {
return writeSelfCheckStatus; return writeSelfCheckStatus;
} }
public void setWriteSelfCheckStatus(Integer writeSelfCheckStatus) { public void setWriteSelfCheckStatus(int writeSelfCheckStatus) {
this.writeSelfCheckStatus = writeSelfCheckStatus; this.writeSelfCheckStatus = writeSelfCheckStatus;
} }
public Integer getRelayStatus() { public int getRelayStatus() {
return relayStatus; return relayStatus;
} }
public void setRelayStatus(Integer relayStatus) { public void setRelayStatus(int relayStatus) {
this.relayStatus = relayStatus; this.relayStatus = relayStatus;
} }
public Integer getPulseStatus() { public int getPulseStatus() {
return pulseStatus; return pulseStatus;
} }
public void setPulseStatus(Integer pulseStatus) { public void setPulseStatus(int pulseStatus) {
this.pulseStatus = pulseStatus; this.pulseStatus = pulseStatus;
} }
public Integer getModuleStatus() { public int getModuleStatus() {
return moduleStatus; return moduleStatus;
} }
public void setModuleStatus(Integer moduleStatus) { public void setModuleStatus(int moduleStatus) {
this.moduleStatus = moduleStatus; this.moduleStatus = moduleStatus;
} }
public Integer getSimCardStatus() { public int getSimCardStatus() {
return simCardStatus; return simCardStatus;
} }
public void setSimCardStatus(Integer simCardStatus) { public void setSimCardStatus(int simCardStatus) {
this.simCardStatus = simCardStatus; this.simCardStatus = simCardStatus;
} }
public Integer getNetworkStatus() { public int getNetworkStatus() {
return networkStatus; return networkStatus;
} }
public void setNetworkStatus(Integer networkStatus) { public void setNetworkStatus(int networkStatus) {
this.networkStatus = networkStatus; this.networkStatus = networkStatus;
} }
......
...@@ -1062,6 +1062,23 @@ public class Modbus4jUtils { ...@@ -1062,6 +1062,23 @@ public class Modbus4jUtils {
} }
return lastResult; 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 { ...@@ -179,7 +179,8 @@ public class AgingStageOneProcessJob implements Job {
} }
} }
// 5. 写入自检让设备开始自检,跟 上面的状态没关系 // 5. 写入自检让设备开始自检,跟 上面的状态没关系
writeSelfCheckStatus(master, deviceId, binding); int i = Modbus4jUtils.writeSelfCheckStatus(master, deviceId);
binding.setWriteSelfCheckStatus(i);
// 6. 更新数据库 // 6. 更新数据库
palletDeviceBindingMapper.updatePalletDeviceBinding(binding); palletDeviceBindingMapper.updatePalletDeviceBinding(binding);
...@@ -232,20 +233,6 @@ public class AgingStageOneProcessJob implements Job { ...@@ -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 { ...@@ -207,12 +207,13 @@ public class AgingStageTwoProcessJob implements Job {
binding.setNetworkStatus(result[14]); binding.setNetworkStatus(result[14]);
// 重用之前的master连接进行写操作 // 重用之前的master连接进行写操作
master = Modbus4jUtils.createModbusMaster(ip, port); master = Modbus4jUtils.createModbusMaster(ip, port);
writeSelfCheckStatus(master, deviceId, binding); int i = Modbus4jUtils.writeSelfCheckStatus(master, deviceId);
binding.setWriteSelfCheckStatus(i);
// 5. 更新数据库 // 5. 更新数据库
palletDeviceBindingMapper.updatePalletDeviceBinding(binding); 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; return true;
} catch (Exception e) { } catch (Exception e) {
...@@ -224,19 +225,6 @@ public class AgingStageTwoProcessJob implements Job { ...@@ -224,19 +225,6 @@ public class AgingStageTwoProcessJob implements Job {
} }
}, GLOBAL_DEVICE_EXECUTOR); }, 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