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