From 0a857fe7ecfab78e085d1890014f664771fbe37d Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 26 十一月 2025 18:37:58 +0800
Subject: [PATCH] #1
---
src/main/java/com/zy/core/thread/RgvThread.java | 151 ++++++++++++++++++++++++++++----------------------
1 files changed, 85 insertions(+), 66 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 0fc5c79..23aa0a2 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -9,8 +9,10 @@
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasRgvOpt;
+import com.zy.asrs.entity.DeviceDataLog;
import com.zy.asrs.service.BasRgvOptService;
import com.zy.asrs.service.BasRgvService;
+import com.zy.asrs.service.DeviceDataLogService;
import com.zy.common.utils.News;
import com.zy.core.RgvThread2;
import com.zy.core.cache.MessageQueue;
@@ -26,6 +28,7 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
+import java.util.Base64;
import java.util.Date;
/**
@@ -141,72 +144,88 @@
* 璇诲彇鐘舵��
*/
private void readStatus(){
- try {
- OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 30);
- if (result.IsSuccess) {
- if (null == rgvProtocol || rgvProtocol.getRgvNo() == null) {
- rgvProtocol = new RgvProtocol();
- rgvProtocol.setRgvNo(slave.getId());
- }
- rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
- rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2));
- rgvProtocol.setTaskNo1(siemensNet.getByteTransform().TransInt16(result.Content, 4));
- rgvProtocol.setStatus1(siemensNet.getByteTransform().TransInt16(result.Content, 6));
- rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransInt16(result.Content, 8));
- rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
- rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
- rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 14));
-// rgvProtocol.setStatus2(siemensNet.getByteTransform().TransInt16(result.Content, 16));
- rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 18));
-// rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20));
- rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 22));
-// rgvProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 24));
- rgvProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 26));
-// rgvProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-// rgvProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 30));
-// rgvProtocol.setTemp5(siemensNet.getByteTransform().TransInt16(result.Content, 32));
-// rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-// rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
-// rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
-
- OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
-
- // 宸ヤ綅1澶嶄綅淇″彿
- if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING)
- || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) {
- if (resetFlag1) {
- RgvCommand rgvCommand = new RgvCommand();
- rgvCommand.setAckFinish1((short)1);
- if (write(rgvCommand)) {
- resetFlag1 = false;
- }
- }
- }
-
- try {
- // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
- BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class);
- BasRgv basRgv = new BasRgv();
- basRgv.setRgvNo(slave.getId());
- basRgv.setRgvSts((int)rgvProtocol.getMode());
- if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))){
- log.error("RGV plc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
- }
- } catch (Exception ignore){
- System.out.println(ignore);
- }
-
- } else {
- initRgv();
- OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戣鍙朢GV plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
-// log.error("璇诲彇RGV plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
- }
- } catch (Exception e) {
- e.printStackTrace();
- OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戣鍙朢GV plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-// log.error("璇诲彇RGV plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- initRgv();
- }
+// try {
+// OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 30);
+// if (result.IsSuccess) {
+// if (null == rgvProtocol || rgvProtocol.getRgvNo() == null) {
+// rgvProtocol = new RgvProtocol();
+// rgvProtocol.setRgvNo(slave.getId());
+// }
+// rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
+// rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2));
+// rgvProtocol.setTaskNo1(siemensNet.getByteTransform().TransInt16(result.Content, 4));
+// rgvProtocol.setStatus1(siemensNet.getByteTransform().TransInt16(result.Content, 6));
+// rgvProtocol.setLoaded1(siemensNet.getByteTransform().TransInt16(result.Content, 8));
+// rgvProtocol.setRgvPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
+// rgvProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
+// rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 14));
+//// rgvProtocol.setStatus2(siemensNet.getByteTransform().TransInt16(result.Content, 16));
+// rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 18));
+//// rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20));
+// rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 22));
+//// rgvProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 24));
+// rgvProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 26));
+//// rgvProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 28));
+//// rgvProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 30));
+//// rgvProtocol.setTemp5(siemensNet.getByteTransform().TransInt16(result.Content, 32));
+//// rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
+//// rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
+//// rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
+//
+// OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
+//
+// // 宸ヤ綅1澶嶄綅淇″彿
+// if (rgvProtocol.getStatusType1().equals(RgvStatusType.WAITING)
+// || rgvProtocol.getStatusType1().equals(RgvStatusType.FETCHWAITING)) {
+// if (resetFlag1) {
+// RgvCommand rgvCommand = new RgvCommand();
+// rgvCommand.setAckFinish1((short)1);
+// if (write(rgvCommand)) {
+// resetFlag1 = false;
+// }
+// }
+// }
+//
+// if (System.currentTimeMillis() - rgvProtocol.getDeviceDataLog() > 1000 * 5) {
+// //閲囬泦鏃堕棿瓒呰繃5s锛屼繚瀛樹竴娆℃暟鎹褰�
+// //淇濆瓨鏁版嵁璁板綍
+// DeviceDataLogService deviceDataLogService = SpringUtils.getBean(DeviceDataLogService.class);
+// DeviceDataLog deviceDataLog = new DeviceDataLog();
+// deviceDataLog.setOriginData(Base64.getEncoder().encodeToString(result.Content));
+// deviceDataLog.setWcsData(JSON.toJSONString(rgvProtocol));
+// deviceDataLog.setType("rgv");
+// deviceDataLog.setDeviceNo(rgvProtocol.getRgvNo());
+// deviceDataLog.setCreateTime(new Date());
+// deviceDataLogService.insert(deviceDataLog);
+//
+// //鏇存柊閲囬泦鏃堕棿
+// rgvProtocol.setDeviceDataLog(System.currentTimeMillis());
+// }
+//
+// try {
+// // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+// BasRgvService basRgvService = SpringUtils.getBean(BasRgvService.class);
+// BasRgv basRgv = new BasRgv();
+// basRgv.setRgvNo(slave.getId());
+// basRgv.setRgvSts((int)rgvProtocol.getMode());
+// if (!basRgvService.updateById(rgvProtocol.toSqlModel(basRgv))){
+// log.error("RGV plc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+// }
+// } catch (Exception ignore){
+// System.out.println(ignore);
+// }
+//
+// } else {
+// initRgv();
+// OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戣鍙朢GV plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+//// log.error("璇诲彇RGV plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+// }
+// } catch (Exception e) {
+// e.printStackTrace();
+// OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆戣鍙朢GV plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+//// log.error("璇诲彇RGV plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// initRgv();
+// }
}
/**
--
Gitblit v1.9.1