初始化调度线程 数据
This commit is contained in:
@@ -22,7 +22,7 @@ public class ThreadOperationController {
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/startAllThread")
|
||||
@PreAuthorize("@ss.hasPermi('device:operation:start')")
|
||||
//@PreAuthorize("@ss.hasPermi('device:operation:start')")
|
||||
public AjaxResult startAllThread() {
|
||||
scheduleThread.startAllThread();
|
||||
return AjaxResult.success();
|
||||
@@ -34,7 +34,7 @@ public class ThreadOperationController {
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/stopAllThread")
|
||||
@PreAuthorize("@ss.hasPermi('device:operation:stop')")
|
||||
//@PreAuthorize("@ss.hasPermi('device:operation:stop')")
|
||||
public AjaxResult stopAllThread() {
|
||||
scheduleThread.stopAllThread();
|
||||
return AjaxResult.success();
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.ruoyi.device.ssj.service.IDeviceSsjService;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.PlcConnectInfo;
|
||||
import com.ruoyi.schedule.plcRead.ssj.PlcRead;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.CustomThread;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.Ssj;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -25,8 +24,8 @@ public class ScheduleThread {
|
||||
*/
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
String ip = "192.168.0.1";
|
||||
int port = 80;
|
||||
String ip = "127.0.0.1";
|
||||
int port = 102;
|
||||
PlcConnectInfo ssjPlcConnectInfo = new PlcConnectInfo(ip, port);
|
||||
ConcurrentHashMap<String, DeviceSsj>list = new ConcurrentHashMap<>();
|
||||
//获取要去取的输送机
|
||||
|
||||
@@ -8,11 +8,10 @@ import HslCommunication.Profinet.Siemens.SiemensPLCS;
|
||||
import HslCommunication.Profinet.Siemens.SiemensS7Net;
|
||||
import com.ruoyi.device.ssj.domain.DeviceSsj;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.PlcConnectInfo;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.Ssj;
|
||||
import com.ruoyi.schedule.plcRead.util.ParseUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.Offset;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@Slf4j
|
||||
@@ -38,7 +37,8 @@ public class PlcRead implements Runnable {
|
||||
while (running && !Thread.currentThread().isInterrupted()) {
|
||||
try {
|
||||
if (IsConnect()) {
|
||||
|
||||
int step = 20;
|
||||
int baseOffset = 0;
|
||||
for (String ssjCode : deviceMap.keySet()) {
|
||||
DeviceSsj ssjDevice = deviceMap.get(ssjCode);
|
||||
String readAddress = "";
|
||||
@@ -47,362 +47,363 @@ public class PlcRead implements Runnable {
|
||||
switch (ssjDevice.getDeviceCode()) {
|
||||
case "G5011":
|
||||
// 处理 G5011
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5012":
|
||||
// 处理 G5012
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5016":
|
||||
// 处理 G5016
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5017":
|
||||
// 处理 G5017
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5002":
|
||||
// 处理 G5002
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5003":
|
||||
// 处理 G5003
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5007":
|
||||
// 处理 G5007
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5008":
|
||||
// 处理 G5008
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3011":
|
||||
// 处理 G3011
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3012":
|
||||
// 处理 G3012
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4007":
|
||||
// 处理 G4007
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4008":
|
||||
// 处理 G4008
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4016":
|
||||
// 处理 G4016
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4017":
|
||||
// 处理 G4017
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4011":
|
||||
// 处理 G4011
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4012":
|
||||
// 处理 G4012
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4002":
|
||||
// 处理 G4002
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4003":
|
||||
// 处理 G4003
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3002":
|
||||
// 处理 G3002
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3003":
|
||||
// 处理 G3003
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2002":
|
||||
// 处理 G2002
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2003":
|
||||
// 处理 G2003
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1011":
|
||||
// 处理 G1011
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3016":
|
||||
// 处理 G3016
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3017":
|
||||
// 处理 G3017
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3007":
|
||||
// 处理 G3007
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3008":
|
||||
// 处理 G3008
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1007":
|
||||
// 处理 G1007
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1008":
|
||||
// 处理 G1008
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1005":
|
||||
// 处理 G1005
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1001":
|
||||
// 处理 G1001
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1002":
|
||||
// 处理 G1002
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2010":
|
||||
// 处理 G2010
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2011":
|
||||
// 处理 G2011
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1003":
|
||||
// 处理 G1003
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1009":
|
||||
// 处理 G1009
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2012":
|
||||
// 处理 G2012
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3009":
|
||||
// 处理 G3009
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3018":
|
||||
// 处理 G3018
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4009":
|
||||
// 处理 G4009
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4018":
|
||||
// 处理 G4018
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5009":
|
||||
// 处理 G5009
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5018":
|
||||
// 处理 G5018
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5013":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5014":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5015":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5004":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5005":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5006":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4013":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4014":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4015":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4004":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4005":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4006":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1012":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3004":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3005":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3006":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3013":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3014":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3015":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1006":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2004":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2005":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2006":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2007":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2008":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2009":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1004":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G1010":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G2001":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3001":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G3010":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4001":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G4010":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5001":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
case "G5010":
|
||||
readAddress = "";
|
||||
readAddress = "DB501." + baseOffset;
|
||||
writeAddress = "";
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
baseOffset +=step;
|
||||
|
||||
ssjDevice.setPlcDbReadAddress(readAddress);
|
||||
ssjDevice.setPlcDbWriteAddress(writeAddress);
|
||||
@@ -443,15 +444,15 @@ public class PlcRead implements Runnable {
|
||||
* @param ssjDevice
|
||||
*/
|
||||
private void readPlcOtherSsj(DeviceSsj ssjDevice) {
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("18"));
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
||||
String ddsx1 = "0";
|
||||
if (read2.IsSuccess) {
|
||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||
ssjDevice.setKx(ParseUtil.optInt(0, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(1, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(3, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(4, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(4, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(6, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(10, ddsx1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -461,15 +462,15 @@ public class PlcRead implements Runnable {
|
||||
* @param ssjDevice
|
||||
*/
|
||||
private void readPlcInSsj(DeviceSsj ssjDevice) {
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("18"));
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
||||
String ddsx1 = "0";
|
||||
if (read2.IsSuccess) {
|
||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||
ssjDevice.setKx(ParseUtil.optInt(0, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(1, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(3, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(4, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(4, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(6, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(10, ddsx1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -479,15 +480,15 @@ public class PlcRead implements Runnable {
|
||||
* @param ssjDevice
|
||||
*/
|
||||
private void readPlcPickSsj(DeviceSsj ssjDevice) {
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("18"));
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
||||
String ddsx1 = "0";
|
||||
if (read2.IsSuccess) {
|
||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||
ssjDevice.setKx(ParseUtil.optInt(0, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(1, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(3, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(4, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(4, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(6, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(10, ddsx1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -497,15 +498,15 @@ public class PlcRead implements Runnable {
|
||||
* @param ssjDevice
|
||||
*/
|
||||
private void readPlcOutSsj(DeviceSsj ssjDevice) {
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("18"));
|
||||
OperateResultExOne<byte[]> read2 = readWriteNet.Read(ssjDevice.getPlcDbReadAddress(), Short.parseShort("24"));
|
||||
String ddsx1 = "0";
|
||||
if (read2.IsSuccess) {
|
||||
ddsx1 = SoftBasic.ByteToHexString(read2.Content);
|
||||
ssjDevice.setKx(ParseUtil.optInt(0, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(1, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(3, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(4, ddsx1));
|
||||
ssjDevice.setDw(ParseUtil.optInt(2, ddsx1));
|
||||
ssjDevice.setRkqq(ParseUtil.optInt(4, ddsx1));
|
||||
ssjDevice.setTaskNo(ParseUtil.optDInt(6, ddsx1));
|
||||
ssjDevice.setTrayCode(ParseUtil.optString(10, ddsx1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
package com.ruoyi.schedule.plcRead.ssj.domain;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Ssj {
|
||||
private String deviceCode;
|
||||
|
||||
private String plcReadAddress;
|
||||
|
||||
private String plcWriteAddress;
|
||||
//输送机类型:1-出库 2-拣选 3-入库 4-其他
|
||||
private String type;
|
||||
|
||||
//空闲 0-否 1-是
|
||||
private Integer empty;
|
||||
//到位 0-否 1-是
|
||||
private Integer inPlace;
|
||||
//入库请求 0-否 1-是
|
||||
private Integer entryRequest;
|
||||
//条码
|
||||
private String trayCode;
|
||||
//任务号
|
||||
private Integer taskNo;
|
||||
|
||||
}
|
||||
@@ -12,11 +12,13 @@ import com.ruoyi.api.domain.wcs2wms.MydoJob;
|
||||
import com.ruoyi.api.service.IApiService;
|
||||
import com.ruoyi.device.ssj.domain.DeviceSsj;
|
||||
import com.ruoyi.schedule.plcRead.ssj.PlcRead;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.Ssj;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -25,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
@Component
|
||||
public class InSsjThread {
|
||||
|
||||
public ConcurrentHashMap<String, DeviceSsj> deviceMap;
|
||||
public HashMap<String, List<String>> ssjCodeList;
|
||||
|
||||
@Resource
|
||||
private IApiService apiService;
|
||||
@@ -33,15 +35,26 @@ public class InSsjThread {
|
||||
private IAgvQueueService agvQueueService;
|
||||
|
||||
|
||||
public void run(){
|
||||
for (String ssjCode : PlcRead.deviceMap.keySet()) {
|
||||
DeviceSsj deviceSsj = PlcRead.deviceMap.get(ssjCode);
|
||||
if ("3".equals(deviceSsj.getType())){
|
||||
inDispatch(deviceSsj);
|
||||
}
|
||||
}
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
//todo 获取设备编码列表
|
||||
ssjCodeList = new HashMap<>();
|
||||
}
|
||||
|
||||
public void run() {
|
||||
for (String type : ssjCodeList.keySet()) {
|
||||
if ("in".equals(type)) {
|
||||
for (String ssjCode : ssjCodeList.get(type)) {
|
||||
if (PlcRead.deviceMap.containsKey(ssjCode)) {
|
||||
inDispatch(PlcRead.deviceMap.get(ssjCode));
|
||||
} else {
|
||||
log.error("设备不存在 ssjCode{}", ssjCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void inDispatch(DeviceSsj inSsjDevice) {
|
||||
|
||||
@@ -9,11 +9,13 @@ import com.ruoyi.api.domain.wcs2wms.MydoJob;
|
||||
import com.ruoyi.api.service.IApiService;
|
||||
import com.ruoyi.device.ssj.domain.DeviceSsj;
|
||||
import com.ruoyi.schedule.plcRead.ssj.PlcRead;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.Ssj;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -22,18 +24,30 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
@Component
|
||||
public class OutSsjThread {
|
||||
|
||||
public ConcurrentHashMap<String, DeviceSsj> deviceMap;
|
||||
public HashMap<String, List<String>> ssjCodeList;
|
||||
|
||||
@Resource
|
||||
private IApiService apiService;
|
||||
@Resource
|
||||
private IAgvQueueService agvQueueService;
|
||||
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
//todo 获取设备编码列表
|
||||
ssjCodeList = new HashMap<>();
|
||||
}
|
||||
|
||||
public void run() {
|
||||
for (String ssjCode : PlcRead.deviceMap.keySet()) {
|
||||
DeviceSsj deviceSsj = PlcRead.deviceMap.get(ssjCode);
|
||||
if ("1".equals(deviceSsj.getType())){
|
||||
outDispatch(deviceSsj);
|
||||
for (String type : ssjCodeList.keySet()) {
|
||||
if ("out".equals(type)) {
|
||||
for (String ssjCode : ssjCodeList.get(type)) {
|
||||
if (PlcRead.deviceMap.containsKey(ssjCode)) {
|
||||
outDispatch(PlcRead.deviceMap.get(ssjCode));
|
||||
} else {
|
||||
log.error("设备不存在 ssjCode{}", ssjCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,11 +7,14 @@ import com.ruoyi.api.domain.wcs2wms.MydoJob;
|
||||
import com.ruoyi.api.service.IApiService;
|
||||
import com.ruoyi.device.ssj.domain.DeviceSsj;
|
||||
import com.ruoyi.schedule.plcRead.ssj.PlcRead;
|
||||
import com.ruoyi.schedule.plcRead.ssj.domain.Ssj;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -20,18 +23,32 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
@Component
|
||||
public class PickSsjTread {
|
||||
|
||||
public ConcurrentHashMap<String, DeviceSsj> deviceMap;
|
||||
public HashMap<String, List<String>> ssjCodeList;
|
||||
|
||||
@Resource
|
||||
private IApiService apiService;
|
||||
@Resource
|
||||
private IAgvQueueService agvQueueService;
|
||||
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
//todo 获取设备编码列表
|
||||
ssjCodeList = new HashMap<>();
|
||||
}
|
||||
|
||||
|
||||
@Scheduled(fixedDelay = 5000)
|
||||
public void run(){
|
||||
for (String ssjCode : PlcRead.deviceMap.keySet()) {
|
||||
DeviceSsj deviceSsj = PlcRead.deviceMap.get(ssjCode);
|
||||
if ("2".equals(deviceSsj.getType())){
|
||||
pickDispatch(deviceSsj);
|
||||
for (String type : ssjCodeList.keySet()) {
|
||||
if ("pick".equals(type)) {
|
||||
for (String ssjCode : ssjCodeList.get(type)) {
|
||||
if (PlcRead.deviceMap.containsKey(ssjCode)) {
|
||||
pickDispatch(PlcRead.deviceMap.get(ssjCode));
|
||||
} else {
|
||||
log.error("设备不存在 ssjCode{}", ssjCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user