From 82374fe4b32d58956810f445b7889f1a370f1ab9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 27 十月 2025 15:26:13 +0800
Subject: [PATCH] #配置信号
---
src/main/java/com/zy/core/thread/RgvThread.java | 71 +++++++++++++++++++++++++++++++----
1 files changed, 62 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 3d88efe..d8e1bed 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -10,14 +10,8 @@
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
-import com.zy.asrs.entity.BasRgv;
-import com.zy.asrs.entity.BasRgvMap;
-import com.zy.asrs.entity.BasRgvOpt;
-import com.zy.asrs.service.BasDevpService;
-import com.zy.asrs.service.BasRgvMapService;
-import com.zy.asrs.service.BasRgvOptService;
-import com.zy.asrs.service.BasRgvService;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
import com.zy.common.utils.News;
import com.zy.core.RgvThread2;
import com.zy.core.ThreadHandler;
@@ -280,7 +274,7 @@
private void readStatus(){
try {
- OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 38);
+ OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 42);
if (result.IsSuccess) {
if (null == rgvProtocol) {
rgvProtocol = new RgvProtocol();
@@ -312,6 +306,53 @@
rgvProtocol.setErr10(status3[1]);
rgvProtocol.setErr11(status3[2]);
rgvProtocol.setErr12(status3[3]);
+ boolean[] statusErr = siemensNet.getByteTransform().TransBool(result.Content, 36, 6);
+ rgvProtocol.setEmergencyStop(statusErr[0]); // 鎬ュ仠瑙﹀彂
+ rgvProtocol.setSlot1EmptyNoData(statusErr[1]); // 1鍙蜂綅鏈夌墿鏃犺祫鏂�
+ rgvProtocol.setSlot2EmptyNoData(statusErr[2]); // 2鍙蜂綅鏈夌墿鏃犺祫鏂�
+ rgvProtocol.setCommandErrorChainConflict(statusErr[3]); // 鍛戒护閿欒璧伴摼鏉″啿绐�
+ rgvProtocol.setTargetPositionIssue(statusErr[4]); // 鐩爣浣嶄笅鍙戦敊璇�
+ rgvProtocol.setTravelInverterError(statusErr[5]); // 璧拌鍙橀鍣ㄥ紓甯�
+ rgvProtocol.setPhotoelectric1Error(statusErr[6]); // 1鍙峰厜鐢靛紓甯�
+ rgvProtocol.setPhotoelectric2Error(statusErr[7]); // 2鍙峰厜鐢靛紓甯�
+ rgvProtocol.setTimeoutConnectionWithLine(statusErr[8]); // 涓庤緭绾挎椂鎺ヨ秴鏃�
+ rgvProtocol.setLeftRollerTimeout(statusErr[9]); // 宸︿晶婊氱瓛杩愯瓒呮椂
+ rgvProtocol.setRightRollerTimeout(statusErr[10]); // 鍙充晶婊氱瓛杩愯瓒呮椂
+ rgvProtocol.setRgvRunTimeout(statusErr[11]); // rgv杩愯瓒呮椂
+ rgvProtocol.setPosition1ChainInverterError(statusErr[12]); // 1鍙峰伐浣嶉摼鏉″彉棰戝櫒寮傚父
+ rgvProtocol.setPosition2ChainInverterError(statusErr[13]); // 2鍙峰伐浣嶉摼鏉″彉棰戝櫒寮傚父
+ rgvProtocol.setFrontRearLimit(statusErr[14]); // 鍓嶅悗鏋侀檺浣�
+ rgvProtocol.setEmergencyButton(statusErr[15]); // 鎬ュ仠鎸夐挳
+ rgvProtocol.setForwardButton(statusErr[16]); // 鍓嶈繘鎸夐挳
+ rgvProtocol.setReverseButton(statusErr[17]); // 鍚庨��鎸夐挳
+ rgvProtocol.setLocalRemote(statusErr[18]); // 鏈湴/杩滅▼
+ rgvProtocol.setReset(statusErr[19]); // 澶嶄綅
+ rgvProtocol.setTravelBrakeSwitch(statusErr[20]); // 璧拌鎶遍椄寮�鍏抽挳
+ rgvProtocol.setTravelSpeedLimitPhotoelectric(statusErr[21]); // 璧拌寮哄埗鍑忛�熷厜鐢�
+ rgvProtocol.setLeftOverlimit1(statusErr[22]); // 宸﹁秴闄� 1
+ rgvProtocol.setRightOverlimit1(statusErr[23]); // 鍙宠秴闄� 1
+ rgvProtocol.setLeftAtPosition1(statusErr[24]); // 宸﹀埌浣� 1
+ rgvProtocol.setRightAtPosition1(statusErr[25]); // 鍙冲埌浣� 1
+ rgvProtocol.setChainForward1(statusErr[26]); // 閾炬潯鍓嶈繘 1
+ rgvProtocol.setChainReverse1(statusErr[27]); // 閾炬潯鍚庨�� 1
+ rgvProtocol.setInverterAlarm(statusErr[28]); // 鍙橀鍣ㄦ姤璀�
+ rgvProtocol.setLeftOverlimit2(statusErr[29]); // 宸﹁秴闄� 2
+ rgvProtocol.setRightOverlimit2(statusErr[30]); // 鍙宠秴闄� 2
+ rgvProtocol.setLeftAtPosition2(statusErr[31]); // 宸﹀埌浣� 2
+ rgvProtocol.setRightAtPosition2(statusErr[32]); // 鍙冲埌浣� 2
+ rgvProtocol.setCargoSpeedReduction(statusErr[33]); // 璐х墿鍑忛��
+ rgvProtocol.setConveyorInverterAlarm2(statusErr[34]); // 杈撻�佸彉棰戝櫒鎶ヨ 2
+ rgvProtocol.setRightConveyor2(statusErr[35]); // 鍙宠緭閫� 2
+ rgvProtocol.setLeftConveyor2(statusErr[36]); // 宸﹁緭閫� 2
+ if(rgvProtocol.getStatus() == 99){
+ rgvProtocol.setErrorMk(true);//鑻ュ瓨鍦ㄥ紓甯歌Е鍙戝啓鍏�
+ }else{
+ rgvProtocol.setWriteMk(true);//鏃犲紓甯稿悗鎵嶈兘缁х画鍐欏叆
+ rgvProtocol.setErrorMk(false);
+ }
+
+
+
// BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class);
OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
try {
@@ -320,6 +361,18 @@
BasRgv basRgv = new BasRgv();
basRgv.setRgvNo(slave.getId());
basRgv.setRgvSts((int)rgvProtocol.getMode());
+ if(rgvProtocol.isWriteMk() && rgvProtocol.isErrorMk()){
+ try {
+ // 鏃ュ織璁板綍寮傚父鎯呭喌
+ BasRgvErrorLog basRgvErrorLogs;
+ basRgvErrorLogs = rgvProtocol.toSqlModelError();
+ BasRgvErrorLogService basRgvErrorLogService = SpringUtils.getBean(BasRgvErrorLogService.class);
+ basRgvErrorLogService.insert(basRgvErrorLogs);
+ rgvProtocol.setWriteMk(false);
+ } catch (Exception ignore) {
+ log.error(ignore.getMessage());
+ }
+ }
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());
}
--
Gitblit v1.9.1