修改堆垛机读取

This commit is contained in:
liuhanqing
2025-11-21 10:35:50 +08:00
parent 252a919c54
commit e710639b11
2 changed files with 21 additions and 32 deletions

View File

@@ -1,5 +1,6 @@
package com.ruoyi.schedule; package com.ruoyi.schedule;
import cn.hutool.core.convert.Convert;
import com.ruoyi.common.domain.CustomThread; import com.ruoyi.common.domain.CustomThread;
import com.ruoyi.common.domain.PlcConnectInfo; import com.ruoyi.common.domain.PlcConnectInfo;
import com.ruoyi.device.ddj.domain.MsgDdj; import com.ruoyi.device.ddj.domain.MsgDdj;
@@ -100,46 +101,37 @@ public class ScheduleThread {
ConcurrentHashMap<String, MsgDdj> ddjList = new ConcurrentHashMap<>(); ConcurrentHashMap<String, MsgDdj> ddjList = new ConcurrentHashMap<>();
List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(new MsgDdj()); List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(new MsgDdj());
for (MsgDdj msgDdj : msgDdjs) { for (MsgDdj msgDdj : msgDdjs) {
msgDdj.setPlcDbReadAddress(msgDdj.getPlcDbReadAddress());
PlcDdjRead plcDdjRead = new PlcDdjRead(msgDdj, new PlcConnectInfo(msgDdj.getIp(), Convert.toInt(msgDdj.getPort())));
switch (msgDdj.getId()){ switch (msgDdj.getId()){
case 1: case 1:
msgDdj.setPlcDbReadAddress("DB41.0"); Thread plcDdjReadThread1 = new Thread(plcDdjRead);
PlcDdjRead plcDdjRead1 = new PlcDdjRead(ddjList, new PlcConnectInfo("127.0.0.1", 102)); plcDdj1ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread1, plcDdjRead);
Thread plcDdjReadThread1 = new Thread(plcDdjRead1);
plcDdj1ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread1, plcDdjRead1);
break; break;
case 2: case 2:
msgDdj.setPlcDbReadAddress("DB42.0"); Thread plcDdjReadThread2 = new Thread(plcDdjRead);
PlcDdjRead plcDdjRead2 = new PlcDdjRead(ddjList, new PlcConnectInfo("127.0.0.2", 102)); plcDdj2ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread2, plcDdjRead);
Thread plcDdjReadThread2 = new Thread(plcDdjRead2);
plcDdj2ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread2, plcDdjRead2);
break; break;
case 3: case 3:
msgDdj.setPlcDbReadAddress("DB42.0"); Thread plcDdjReadThread3 = new Thread(plcDdjRead);
PlcDdjRead plcDdjRead3 = new PlcDdjRead(ddjList, new PlcConnectInfo("127.0.0.3", 102)); plcDdj3ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread3, plcDdjRead);
Thread plcDdjReadThread3 = new Thread(plcDdjRead3);
plcDdj3ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread3, plcDdjRead3);
break; break;
case 4: case 4:
msgDdj.setPlcDbReadAddress("DB42.0"); Thread plcDdjReadThread4 = new Thread(plcDdjRead);
PlcDdjRead plcDdjRead4 = new PlcDdjRead(ddjList, new PlcConnectInfo("127.0.0.4", 102)); plcDdj4ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread4, plcDdjRead);
Thread plcDdjReadThread4 = new Thread(plcDdjRead4);
plcDdj4ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread4, plcDdjRead4);
break; break;
case 5: case 5:
msgDdj.setPlcDbReadAddress("DB42.0"); Thread plcDdjReadThread5 = new Thread(plcDdjRead);
PlcDdjRead plcDdjRead5 = new PlcDdjRead(ddjList, new PlcConnectInfo("127.0.0.5", 102)); plcDdj5ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread5, plcDdjRead);
Thread plcDdjReadThread5 = new Thread(plcDdjRead5);
plcDdj5ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread5, plcDdjRead5);
break; break;
case 6: case 6:
msgDdj.setPlcDbReadAddress("DB42.0"); Thread plcDdjReadThread6 = new Thread(plcDdjRead);
PlcDdjRead plcDdjRead6 = new PlcDdjRead(ddjList, new PlcConnectInfo("127.0.0.6", 102)); plcDdj6ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread6, plcDdjRead);
Thread plcDdjReadThread6 = new Thread(plcDdjRead6);
plcDdj6ReadCustomThread = new CustomThread<PlcDdjRead>(plcDdjReadThread6, plcDdjRead6);
break; break;
} }
ddjList.put("ddj" + msgDdj.getId(), msgDdj); ddjList.put("ddj" + msgDdj.getId(), msgDdj);
} }
PlcDdjRead.deviceDdjMap = ddjList;
} }
/** /**

View File

@@ -27,8 +27,10 @@ public class PlcDdjRead extends Thread {
private final int port; private final int port;
private boolean success = false; private boolean success = false;
public PlcDdjRead(ConcurrentHashMap<String, MsgDdj> deviceDdjMap, PlcConnectInfo plcConnectInfo) { private MsgDdj msgDdj;
PlcDdjRead.deviceDdjMap = deviceDdjMap;
public PlcDdjRead( MsgDdj msgDdj, PlcConnectInfo plcConnectInfo) {
this.msgDdj = msgDdj;
this.ip = plcConnectInfo.getIp(); this.ip = plcConnectInfo.getIp();
this.port = plcConnectInfo.getPort(); this.port = plcConnectInfo.getPort();
} }
@@ -46,12 +48,7 @@ public class PlcDdjRead extends Thread {
while (isRun) { while (isRun) {
try { try {
if (IsConnect()) { if (IsConnect()) {
for (String key : deviceDdjMap.keySet()) { readPlcDdj(msgDdj);
MsgDdj msgDdj = deviceDdjMap.get(key);
if (msgDdj != null) {
readPlcDdj(msgDdj);
}
}
Thread.sleep(1000); Thread.sleep(1000);
} else { } else {
reConnect(); reConnect();