From 2b3c541d34ef2735182695d13cd28d5c107f46ef Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期四, 25 八月 2022 09:37:40 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/enums/CrnTaskModeType.java | 9
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 422 +++++++++++++++++++----------
src/main/java/com/zy/core/enums/CrnStatusType.java | 38 +-
src/main/java/com/zy/core/CrnThread.java | 6
src/main/java/com/zy/core/enums/CrnLiftPosType.java | 10
src/main/java/com/zy/core/model/protocol/CrnProtocol.java | 314 ++++++++++++++++-----
src/main/java/com/zy/core/enums/CrnModeType.java | 8
7 files changed, 542 insertions(+), 265 deletions(-)
diff --git a/src/main/java/com/zy/core/CrnThread.java b/src/main/java/com/zy/core/CrnThread.java
index 7b4ded6..70c3d75 100644
--- a/src/main/java/com/zy/core/CrnThread.java
+++ b/src/main/java/com/zy/core/CrnThread.java
@@ -8,10 +8,4 @@
void setResetFlag(boolean flag);
- void setBackHpFlag(boolean flag);
-
- /**
- * 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
- */
- boolean isBackHpFlag();
}
diff --git a/src/main/java/com/zy/core/enums/CrnLiftPosType.java b/src/main/java/com/zy/core/enums/CrnLiftPosType.java
index 71b809c..62bbf5e 100644
--- a/src/main/java/com/zy/core/enums/CrnLiftPosType.java
+++ b/src/main/java/com/zy/core/enums/CrnLiftPosType.java
@@ -2,12 +2,12 @@
public enum CrnLiftPosType {
- ERROR(-1, "鏈煡"), // 涓嶅湪瀹氫綅
+ _DOWN(4, "鍙屼几浣嶄綆浣�"),
+ _UP(3, "鍙屼几浣嶉珮浣�"),
+ DOWN(2, "鍗曚几浣嶄綆浣�"), // 涓嬪畾浣�
+ UP(1, "鍗曚几浣嶉珮浣�"), // 涓婂畾浣�
NONE(0, "涓嶅湪瀹氫綅"), // 涓嶅湪瀹氫綅
- _DOWN(1, "鍙屾繁浣庝綅"), //
- DOWN(2, "鍗曟繁浣庝綅"), //
- _UP(3, "鍗曟繁楂樹綅"), //
- UP(4, "鍙屾繁楂樹綅"), //
+ ERROR(-1, "鏈煡"), // 涓嶅湪瀹氫綅
;
public Integer id;
diff --git a/src/main/java/com/zy/core/enums/CrnModeType.java b/src/main/java/com/zy/core/enums/CrnModeType.java
index 7f2d84a..0b75045 100644
--- a/src/main/java/com/zy/core/enums/CrnModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnModeType.java
@@ -2,11 +2,11 @@
public enum CrnModeType {
- NONE(-1, "绂荤嚎"),
- STOP(0, "缁翠慨"),
- HAND(1, "鎵嬪姩"),
+ NONE(0, "鏈�夋嫨"),
+ AUTO(1, "鑷姩"),
HALF_AUTO(2, "鍗婅嚜鍔�"),
- AUTO(3, "鑷姩"),
+ HAND(3, "鎵嬪姩"),
+ STOP(4, "缁翠慨"),
;
public Integer id;
diff --git a/src/main/java/com/zy/core/enums/CrnStatusType.java b/src/main/java/com/zy/core/enums/CrnStatusType.java
index 371c87f..1229af0 100644
--- a/src/main/java/com/zy/core/enums/CrnStatusType.java
+++ b/src/main/java/com/zy/core/enums/CrnStatusType.java
@@ -2,20 +2,28 @@
public enum CrnStatusType {
- NONE(-1, "绂荤嚎"),
- IDLE(0, "绌洪棽"),
- FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
- FETCH_WAITING(2, "鍙栬揣绛夊緟"),
- FETCHING(3, "鍙栬揣涓�"),
- PUT_MOVING(4, "鏀捐揣璧拌"),
- PUT_WAITING(5, "鏀捐揣绛夊緟"),
- PUTTING(6, "鏀捐揣涓�"),
- ORIGIN_GO(7, "鍥炲師鐐�"),
- ORIGIN_BACK(8, "鍥炲弽鍘熺偣"),
- MOVING(9, "璧拌涓�"),
- WAITING(10, "浠诲姟瀹屾垚绛夊緟WCS纭"),
- PAUSE(11, "浠诲姟鏆傚仠"),
- SOS(99, "鎶ヨ"),
+// NONE(-1, "绂荤嚎"),
+// IDLE(0, "绌洪棽"),
+// FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
+// FETCH_WAITING(2, "鍙栬揣绛夊緟"),
+// FETCHING(3, "鍙栬揣涓�"),
+// PUT_MOVING(4, "鏀捐揣璧拌"),
+// PUT_WAITING(5, "鏀捐揣绛夊緟"),
+// PUTTING(6, "鏀捐揣涓�"),
+// ORIGIN_GO(7, "鍥炲師鐐�"),
+// ORIGIN_BACK(8, "鍥炲弽鍘熺偣"),
+// MOVING(9, "璧拌涓�"),
+// WAITING(10, "浠诲姟瀹屾垚绛夊緟WCS纭"),
+// PAUSE(11, "浠诲姟鏆傚仠"),
+// SOS(99, "鎶ヨ"),
+// ;
+
+ IDLE(0, "绌洪棽锛屾棤浠诲姟"),
+ NONE_MOVING(1, "鏃犺揣琛岃蛋"),
+ FETCHING(2, "鍙栬揣"),
+ MOVING(3, "鏈夎揣琛岃蛋"),
+ PUTTING(4, "鏀捐揣"),
+ PUT_COMPLETE(5, "鏀捐揣瀹屾垚"),
;
public Integer id;
@@ -34,7 +42,7 @@
return type;
}
}
- return NONE;
+ return null;
}
public static CrnStatusType get(CrnStatusType type) {
diff --git a/src/main/java/com/zy/core/enums/CrnTaskModeType.java b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
index be4761d..968c075 100644
--- a/src/main/java/com/zy/core/enums/CrnTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -6,12 +6,9 @@
PAKIN(1), // 鍏ュ簱
PAKOUT(2), // 鍑哄簱
LOC_MOVE(3), // 搴撲綅绉昏浆
- X_MOVE(4), // 绔欎綅绉昏浆
- Y_MOVE(5), // 绔欎綅绉昏浆
- XY_MOVE(6), // 绔欎綅绉昏浆
- GO_ORIGIN(7), // 鍥炲師鐐�
- BACK_ORIGIN(8), // 鍥炲弽鍘熺偣
- CLEAR(9), // 娓呴敊
+ SITE_MOVE(4), // 绔欎綅绉昏浆
+ GO_ORIGIN(5), // 鍥炲師鐐�
+ CLEAR(7), // 娓呴敊
;
public Integer id;
diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index a63b90b..87c0781 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,10 +1,7 @@
package com.zy.core.model.protocol;
import com.zy.asrs.entity.BasCrnp;
-import com.zy.core.enums.CrnForkPosType;
-import com.zy.core.enums.CrnLiftPosType;
-import com.zy.core.enums.CrnModeType;
-import com.zy.core.enums.CrnStatusType;
+import com.zy.core.enums.*;
import lombok.Data;
/**
@@ -12,8 +9,6 @@
*/
@Data
public class CrnProtocol {
-
- private Integer crnNo;
/**
* 1 = 鎵嬪姩妯″紡
@@ -25,14 +20,19 @@
public CrnModeType modeType;
/**
+ * 鍫嗗灈鏈轰换鍔″畬鎴�
+ */
+ public Short taskFinish;
+
+ /**
+ * 鏍¢獙缁撴灉 1琛ㄧず妫�楠屾垚鍔�
+ */
+ public Short valid;
+
+ /**
* 1 = 鎬ュ仠
*/
public Short eStop;
-
- /**
- * 寮傚父鐮�
- */
- public Short alarm;
/**
* 浠诲姟鍙�
@@ -70,45 +70,175 @@
public Short level;
/**
+ * 鍫嗗灈鏈哄綋鍓嶆帓
+ */
+ public Short row;
+
+ /**
+ * 鍫嗗灈鏈哄綋鍓嶅贩閬撳彿
+ */
+ public Short lane;
+
+ /**
+ * 鍫嗗灈鏈洪�氳鐘舵��
+ */
+ public Boolean connStatus;
+
+ /**
+ * 鐢宠鍏ュ簱淇
+ */
+ public Boolean correction;
+
+ /**
+ * 鎵樼洏鍙烽敊
+ */
+ public Boolean tuError;
+
+ /**
+ * 鍙栬揣鏃犵
+ */
+ public Boolean noneError;
+
+ /**
+ * 鍙岄噸鍏ュ簱
+ */
+ public Boolean stockError;
+
+ /**
+ * 浣滀笟鏁版嵁鏃犳晥
+ */
+ public Boolean jobInvalid;
+
+ /**
+ * 绌洪棽鐘舵��
+ */
+ public Boolean idle;
+
+ /**
+ * 鎺у埗鏌滀娇鑳�
+ */
+ public Boolean control;
+
+ /**
+ * 鍋滃噯
+ */
+ public Boolean stopQuasi;
+
+ /**
+ * 杩愯
+ */
+ public Boolean running;
+
+ /**
+ * 鏁呴殰
+ */
+ public Boolean fault;
+
+ /**
+ * 璐у弶涓綅
+ */
+ public Boolean forkHome;
+ /**
+ * 鍗曚几浣嶈揣鍙夊乏浣�
+ */
+ public Boolean forkSingleLeft;
+ /**
+ * 鍗曚几浣嶈揣鍙夊彸浣�
+ */
+ public Boolean forkSingleRight;
+ /**
+ * 鍙屼几浣嶈揣鍙夊乏浣�
+ */
+ public Boolean forkDoubleLeft;
+ /**
+ * 鍙屼几浣嶈揣鍙夊彸浣�
+ */
+ public Boolean forkDoubleRight;
+ /**
+ * 鍗曚几浣嶉珮浣�
+ */
+ public Boolean singleHigh;
+ /**
+ * 鍗曚几浣嶄綆浣�
+ */
+ public Boolean singleLow;
+ /**
+ * 鍙屼几浣嶉珮浣�
+ */
+ public Boolean doubleHigh;
+ /**
+ * 鍙屼几浣嶄綆浣�
+ */
+ public Boolean doubleLow;
+ /**
+ * 绔欏彴楂樹綅
+ */
+ public Boolean platformHigh;
+ /**
+ * 绔欏彴浣庝綅
+ */
+ public Boolean platformLow;
+
+ /**
* 褰撳墠璐у弶浣嶇疆
* 0 = 璐у弶鍘熶綅
* 1 = 璐у弶鍦ㄥ乏渚�
* 2 = 璐у弶鍦ㄥ彸渚�
*/
- public Short forkPos;
+ public Short forkPos = -1;
- public CrnForkPosType forkPosType;
+ public CrnForkPosType forkPosType = CrnForkPosType.NONE;
/**
* 褰撳墠杞借揣鍙颁綅缃�
* 0 = 涓嬪畾浣�
* 1 = 涓婂畾浣�
*/
- public Short liftPos;
+ public Short liftPos = -1;
- public CrnLiftPosType liftPosType;
+ public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR;
/**
* 璧拌鍦ㄥ畾浣�
* 0 = 鍦ㄥ畾浣�
* 1 = 涓嶅湪瀹氫綅
*/
- public Short walkPos;
+ public Short walkPos = 0;
+
+ /**
+ * 鎷ㄦ寚浣嶇疆
+ * 0 = 涓嶅湪瀹氫綅
+ * 1 = 涓婂畾浣�
+ * 2 = 涓嬪畾浣�
+ */
+ public Short fingerPos;
+
+ public CrnFingerPosType fingerPosType;
/**
* 杞借揣鍙版湁鐗�
*/
public Short loaded;
- private Short temp1;
+ /**
+ * 鍫嗗灈鏈哄瀭鐩存晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
+ */
+ private Integer alarm1 = 0;
- private CrnTemp1 crnTemp1;
+ /**
+ * 鍫嗗灈鏈烘按骞虫晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
+ */
+ private Integer alarm2 = 0;;
- private Short temp2;
+ /**
+ * 鍫嗗灈鏈鸿揣鍙夋晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
+ */
+ private Integer alarm3 = 0;;
- private Short temp3;
-
- private Short temp4;
+ /**
+ * 鍫嗗灈鏈虹姸鎬佹晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
+ */
+ private Integer alarm4 = 0;;
/**
* 寮傚父1
@@ -139,53 +269,39 @@
private CrnError4 crnError4;
/**
- * 寮傚父5
- */
- private boolean[] error5;
-
- private CrnError5 crnError5;
-
- /**
- * 寮傚父6
- */
- private boolean[] error6;
-
- private CrnError6 crnError6;
-
- /**
* X琛岃蛋绾块�熷害m/min
*/
- private Float xSpeed;
+ private Float xSpeed = 0F;
/**
* Y琛岃蛋绾块�熷害m/min
*/
- private Float ySpeed;
+ private Float ySpeed = 0F;
/**
* Z琛岃蛋绾块�熷害m/min
*/
- private Float zSpeed;
+ private Float zSpeed = 0F;
/**
* 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m
*/
- public Float xDistance;
+ public Float xDistance = 0F;
/**
* 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂籯m
*/
- public Float yDistance;
+ public Float yDistance = 0F;
/**
* 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣
*/
- public Float xDuration;
+ public Float xDuration = 0F;
- /**
+ /**w
* 鍫嗗灈鏈虹疮璁″崌闄嶆椂闀縣
*/
- public Float yDuration;
+ public Float yDuration = 0F;
public void setMode(Short mode) {
this.mode = mode;
@@ -227,12 +343,81 @@
this.status = CrnStatusType.get(type).id.shortValue();
}
- public Short getTemp1() {
- return temp1;
+ public void setFingerPos(Short type) {
+ this.fingerPos = type;
+ this.fingerPosType = CrnFingerPosType.get(type);
}
- public void setTemp1(Short temp1) {
- this.temp1 = temp1;
+ public void setError1(boolean[] error1){
+ this.error1 = error1;
+ this.crnError1 = new CrnError1();
+ this.crnError1.remoteStop = error1[0];
+ this.crnError1.mainStop = error1[1];
+ this.crnError1.controlStop = error1[2];
+ this.crnError1.xCoverErr = error1[3];
+ this.crnError1.yCoverErr = error1[4];
+ this.crnError1.zCoverErr = error1[5];
+ this.crnError1.laserErr = error1[6];
+ this.crnError1.barcodeErr = error1[7];
+ this.crnError1.xFrontLimitErr = error1[8];
+ this.crnError1.xBackLimitErr = error1[9];
+ this.crnError1.yUpLimitErr = error1[10];
+ this.crnError1.yDownLimitErr = error1[11];
+ this.crnError1.zLeftLimitErr = error1[12];
+ this.crnError1.zRightLimitErr = error1[13];
+ this.crnError1.leftOverWidthErr1 = error1[14];
+ this.crnError1.leftOverWidthErr2 = error1[15];
+ }
+
+ public void setError2(boolean[] error2){
+ this.error2 = error2;
+ this.crnError2 = new CrnError2();
+ this.crnError2.leftOverLenErr1 = error2[0];
+ this.crnError2.leftOverLenErr2 = error2[1];
+ this.crnError2.leftOverHighErr = error2[2];
+ this.crnError2.rightOverWidthErr1 = error2[3];
+ this.crnError2.rightOverWidthErr2 = error2[4];
+ this.crnError2.rightOverLenErr1 = error2[5];
+ this.crnError2.rightOverLenErr2 = error2[6];
+ this.crnError2.rightOverHighErr = error2[7];
+ this.crnError2.leftLooseRopeErr = error2[8];
+ this.crnError2.rightLooseRopeErr = error2[9];
+ this.crnError2.frontDoorErr = error2[10];
+ this.crnError2.backDoorErr = error2[11];
+ this.crnError2.startupErr = error2[12];
+ this.crnError2.xFrontLocaUpErr = error2[13];
+ this.crnError2.xFrontLocaDownErr = error2[14];
+ this.crnError2.xBackLocaUpErr = error2[15];
+ }
+
+ public void setError3(boolean[] error3) {
+ this.error3 = error3;
+ this.crnError3 = new CrnError3();
+ this.crnError3.xBackLocaDownErr = error3[0];
+ this.crnError3.yUpLocaUpErr = error3[1];
+ this.crnError3.yUpLocaDownErr = error3[2];
+ this.crnError3.yDownLocaUpErr = error3[3];
+ this.crnError3.yDownLocaDownErr = error3[4];
+ this.crnError3.zLeftLocaUpErr = error3[5];
+ this.crnError3.zLeftLocaDownErr = error3[6];
+ this.crnError3.zRightLocaUpErr = error3[7];
+ this.crnError3.zRightLocaDownErr = error3[8];
+ this.crnError3.leftTakeNoneErr = error3[9];
+ this.crnError3.rightTakeNoneErr = error3[10];
+ this.crnError3.leftTakeThenLoadErr = error3[11];
+ this.crnError3.rightTakeThenLoadErr = error3[12];
+ this.crnError3.leftPutAndLoadErr = error3[13];
+ this.crnError3.rightPutAndLoadErr = error3[14];
+ this.crnError3.leftPutThenNoneErr = error3[15];
+ }
+
+ public void setError4(boolean[] error4) {
+ this.error4 = error4;
+ this.crnError4 = new CrnError4();
+ this.crnError4.rightPutThenNoneErr = error4[0];
+ this.crnError4.xLooseBrakeTimeout = error4[1];
+ this.crnError4.yLooseBrakeTimeout = error4[2];
+ this.crnError4.zLooseBrakeTimeout = error4[3];
}
/**
@@ -244,39 +429,8 @@
public BasCrnp toSqlModel(BasCrnp basCrnp){
- if (alarm!=null) {
- basCrnp.setCrnErr(alarm.longValue());
- }
+ basCrnp.setCrnErr(alarm1.longValue());
basCrnp.setWrkNo(taskNo.intValue());
return basCrnp;
}
-
- public void setxSpeed(Short xSpeed) {
- this.xSpeed = Float.valueOf(xSpeed);
- }
-
- public void setySpeed(Short ySpeed) {
- this.ySpeed = Float.valueOf(ySpeed);
- }
-
- public void setzSpeed(Short zSpeed) {
- this.zSpeed = Float.valueOf(zSpeed);
- }
-
- public void setxDistance(Short xDistance) {
- this.xDistance = Float.valueOf(xDistance);
- }
-
- public void setyDistance(Short yDistance) {
- this.yDistance = Float.valueOf(yDistance);
- }
-
- public void setxDuration(Short xDuration) {
- this.xDuration = Float.valueOf(xDuration);
- }
-
- public void setyDuration(Short yDuration) {
- this.yDuration = Float.valueOf(yDuration);
- }
-
}
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 9bc94c7..f51d5c1 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -38,11 +38,6 @@
private CrnProtocol crnProtocol;
private boolean resetFlag = false;
- /**
- * 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
- */
- private boolean backHpFlag = false;
-
public SiemensCrnThread(CrnSlave slave) {
this.slave = slave;
}
@@ -50,6 +45,7 @@
@Override
@SuppressWarnings("InfiniteLoopStatement")
public void run() {
+ initCrnProtocol();
this.connect();
while (true) {
try {
@@ -97,29 +93,19 @@
}
/**
- * 鍒濆鍖栧爢鍨涙満鐘舵��
+ * 鍒濆鍖栧爢鍨涙満
*/
- private void initCrn() {
- if (null == crnProtocol) {
- crnProtocol = new CrnProtocol();
- }
- crnProtocol.setMode((short) -1);
-// crnProtocol.setTaskNo((short)0);
- crnProtocol.setStatus((short)-1);
- crnProtocol.setBay((short)0);
- crnProtocol.setLevel((short)0);
- crnProtocol.setForkPos((short) -1);
- crnProtocol.setLiftPos((short) -1);
- crnProtocol.setWalkPos((short)0);
- crnProtocol.setLoaded((short)0);
- crnProtocol.setAlarm((short)0);
- crnProtocol.setxSpeed((short) 0);
- crnProtocol.setySpeed((short) 0);
- crnProtocol.setzSpeed((short) 0);
- crnProtocol.setxDistance((short) 0);
- crnProtocol.setyDistance((short) 0);
- crnProtocol.setxDuration((short) 0);
- crnProtocol.setyDuration((short) 0);
+ private void initCrnProtocol(){
+ crnProtocol = new CrnProtocol();
+ crnProtocol.setMode((short) 0);
+ crnProtocol.setStatus((short) 0);
+ crnProtocol.setTaskNo((short) 0);
+ crnProtocol.setTaskFinish((short) 0);
+ crnProtocol.setValid((short) 0);
+ crnProtocol.setBay((short) 0);
+ crnProtocol.setLevel((short) 0);
+ crnProtocol.setRow((short) 0);
+ crnProtocol.setLane((short) 0);
}
@Override
@@ -136,9 +122,8 @@
} else {
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝爢鍨涙満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("鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
- initCrn();
}
-// siemensNet.ConnectClose();
+ siemensNet.ConnectClose();
return result;
}
@@ -146,151 +131,290 @@
* 璇诲彇鐘舵��
*/
private void readStatus(){
- try {
- OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56);
- if (result.IsSuccess) {
- if (null == crnProtocol) {
- crnProtocol = new CrnProtocol();
- crnProtocol.setCrnNo(slave.getId());
- }
- crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
- crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2));
- crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 4));
- crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 6));
- crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8));
- crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
- crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
- crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
- crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
- crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
- crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
- crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
- crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
- crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
- crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
- crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
- crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36));
- crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
- crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
- crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
- crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
-
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
-
- // 澶嶄綅淇″彿
- if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
- if (resetFlag) {
- if(crnProtocol.getTaskNo()==9999){
- backHpFlag = false;
- }
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setAckFinish((short)1);
- if (write(crnCommand)) {
- resetFlag = false;
- }
- }
- }
-
- try {
- // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
- BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
- BasCrnp basCrnp = new BasCrnp();
- basCrnp.setCrnNo(slave.getId());
- basCrnp.setCrnSts((int)crnProtocol.getMode());
- if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
- log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
- }
- } catch (Exception ignore){}
-
- } else {
- initCrn();
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満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("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+ OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 104);
+ if (result.IsSuccess) {
+ if (null == crnProtocol) {
+ crnProtocol = new CrnProtocol();
}
- } catch (Exception e) {
- e.printStackTrace();
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- log.error("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- initCrn();
- }
- }
+ crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0)); // 2
+ crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2)); // 4
+ crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 4)); // 6
+ crnProtocol.setTaskFinish(siemensNet.getByteTransform().TransInt16(result.Content, 6)); // 8
+ crnProtocol.setValid(siemensNet.getByteTransform().TransInt16(result.Content, 8)); // 10
- private void convertRow(CrnCommand crnCommand) {
- if (crnCommand.getSourcePosX() != null && crnCommand.getSourcePosX() != 0) {
- crnCommand.setSourcePosX((short) (crnCommand.getSourcePosX() - ((slave.getId() - 1) * 4)));
- }
- if (crnCommand.getDestinationPosX() != null && crnCommand.getDestinationPosX() != 0) {
- crnCommand.setDestinationPosX((short) (crnCommand.getDestinationPosX() - ((slave.getId() - 1) * 4)));
+ crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 14)); // 16
+ crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 16)); // 18
+ crnProtocol.setRow(siemensNet.getByteTransform().TransInt16(result.Content, 18)); // 20
+ crnProtocol.setLane(siemensNet.getByteTransform().TransInt16(result.Content, 20)); // 22
+
+ // 寮傚父
+ crnProtocol.setAlarm1(0);
+ crnProtocol.setAlarm2(0);
+ crnProtocol.setAlarm3(0);
+ crnProtocol.setAlarm4(0);
+ boolean[] err1 = siemensNet.getByteTransform().TransBool(result.Content, 28, 1); // 30
+ if (err1[0]) { crnProtocol.setAlarm1(1); }
+ if (err1[1]) { crnProtocol.setAlarm1(2); }
+ if (err1[2]) { crnProtocol.setAlarm1(3); }
+ boolean[] err2 = siemensNet.getByteTransform().TransBool(result.Content, 29, 1); // 31
+ if (err2[0]) { crnProtocol.setAlarm1(4); }
+ if (err2[1]) { crnProtocol.setAlarm1(5); }
+ if (err2[2]) { crnProtocol.setAlarm1(6); }
+ boolean[] err3 = siemensNet.getByteTransform().TransBool(result.Content, 30, 1); // 32
+ if (err3[6]) { crnProtocol.setAlarm1(7); }
+ if (err3[7]) { crnProtocol.setAlarm1(8); }
+ boolean[] err4 = siemensNet.getByteTransform().TransBool(result.Content, 31, 1); // 33
+ if (err4[1]) { crnProtocol.setAlarm1(9); }
+ if (err4[5]) { crnProtocol.setAlarm1(10); }
+ if (err4[6]) { crnProtocol.setAlarm1(11); }
+ if (err4[7]) { crnProtocol.setAlarm1(12); }
+ boolean[] err5 = siemensNet.getByteTransform().TransBool(result.Content, 32, 1); // 34
+ if (err5[0]) { crnProtocol.setAlarm2(13); }
+ if (err5[2]) { crnProtocol.setAlarm2(14); }
+ if (err5[3]) { crnProtocol.setAlarm2(15); }
+ if (err5[5]) { crnProtocol.setAlarm2(16); }
+ if (err5[6]) { crnProtocol.setAlarm2(17); }
+ if (err5[7]) { crnProtocol.setAlarm2(18); }
+ boolean[] err6 = siemensNet.getByteTransform().TransBool(result.Content, 33, 1); // 35
+ if (err6[1]) { crnProtocol.setAlarm2(19); }
+ if (err6[2]) { crnProtocol.setAlarm2(20); }
+ if (err6[3]) { crnProtocol.setAlarm2(21); }
+ if (err6[4]) { crnProtocol.setAlarm2(22); }
+ boolean[] err7 = siemensNet.getByteTransform().TransBool(result.Content, 34, 1); // 36
+ if (err7[4]) { crnProtocol.setAlarm2(23); }
+ if (err7[5]) { crnProtocol.setAlarm2(24); }
+ if (err7[6]) { crnProtocol.setAlarm2(25); }
+ boolean[] err8 = siemensNet.getByteTransform().TransBool(result.Content, 36, 1); // 38
+ if (err8[0]) { crnProtocol.setAlarm3(26); }
+ if (err8[1]) { crnProtocol.setAlarm3(27); }
+ if (err8[2]) { crnProtocol.setAlarm3(28); }
+ if (err8[3]) { crnProtocol.setAlarm3(29); }
+ if (err8[4]) { crnProtocol.setAlarm3(30); }
+ if (err8[5]) { crnProtocol.setAlarm3(31); }
+ if (err8[6]) { crnProtocol.setAlarm3(32); }
+ if (err8[7]) { crnProtocol.setAlarm3(33); }
+ boolean[] err9 = siemensNet.getByteTransform().TransBool(result.Content, 37, 1); // 39
+ if (err9[0]) { crnProtocol.setAlarm3(34); }
+ if (err9[1]) { crnProtocol.setAlarm3(35); }
+ if (err9[2]) { crnProtocol.setAlarm3(36); }
+ if (err9[3]) { crnProtocol.setAlarm3(37); }
+ if (err9[4]) { crnProtocol.setAlarm3(38); }
+ if (err9[5]) { crnProtocol.setAlarm3(39); }
+ if (err9[6]) { crnProtocol.setAlarm3(40); }
+ if (err9[7]) { crnProtocol.setAlarm3(41); }
+ boolean[] err10 = siemensNet.getByteTransform().TransBool(result.Content, 38, 1); // 40
+ if (err10[0]) { crnProtocol.setAlarm3(42); }
+ if (err10[1]) { crnProtocol.setAlarm3(43); }
+ if (err10[2]) { crnProtocol.setAlarm3(44); }
+ if (err10[3]) { crnProtocol.setAlarm3(45); }
+ if (err10[4]) { crnProtocol.setAlarm3(46); }
+ boolean[] err11 = siemensNet.getByteTransform().TransBool(result.Content, 39, 1); // 41
+ if (err11[0]) { crnProtocol.setAlarm3(47); }
+ if (err11[1]) { crnProtocol.setAlarm3(48); }
+ if (err11[2]) { crnProtocol.setAlarm3(49); }
+ boolean[] err12 = siemensNet.getByteTransform().TransBool(result.Content, 40, 1); // 42
+ if (err12[0]) { crnProtocol.setAlarm4(50); }
+ if (err12[1]) { crnProtocol.setAlarm4(51); }
+ if (err12[2]) { crnProtocol.setAlarm4(52); }
+ if (err12[3]) { crnProtocol.setAlarm4(53); }
+ if (err12[4]) { crnProtocol.setAlarm4(54); }
+ if (err12[5]) { crnProtocol.setAlarm4(55); }
+ boolean[] err13 = siemensNet.getByteTransform().TransBool(result.Content, 41, 1); // 43
+ if (err13[0]) { crnProtocol.setAlarm4(56); }
+ if (err13[1]) { crnProtocol.setAlarm4(57); }
+ if (err13[2]) { crnProtocol.setAlarm4(58); }
+ if (err13[3]) { crnProtocol.setAlarm4(59); }
+ boolean[] err14 = siemensNet.getByteTransform().TransBool(result.Content, 42, 1); // 44
+ if (err14[0]) { crnProtocol.setAlarm4(60); }
+ if (err14[1]) { crnProtocol.setAlarm4(61); }
+ if (err14[2]) { crnProtocol.setAlarm4(62); }
+ if (err14[3]) { crnProtocol.setAlarm4(63); }
+ if (err14[4]) { crnProtocol.setAlarm4(64); }
+ if (err14[5]) { crnProtocol.setAlarm4(65); }
+ if (err14[6]) { crnProtocol.setAlarm4(66); }
+ if (err14[7]) { crnProtocol.setAlarm4(67); }
+ boolean[] err15 = siemensNet.getByteTransform().TransBool(result.Content, 43, 1); // 45
+ if (err15[1]) { crnProtocol.setAlarm4(68); }
+ if (err15[2]) { crnProtocol.setAlarm4(69); }
+ if (err15[3]) { crnProtocol.setAlarm4(70); }
+ if (err15[4]) { crnProtocol.setAlarm4(71); }
+ if (err15[5]) { crnProtocol.setAlarm4(72); }
+ if (err15[6]) { crnProtocol.setAlarm4(73); }
+
+ boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1); // 62
+ crnProtocol.setConnStatus(bool1[0]);
+ crnProtocol.setCorrection(bool1[3]);
+ crnProtocol.setTuError(bool1[4]);
+ crnProtocol.setNoneError(bool1[5]);
+ crnProtocol.setStockError(bool1[6]);
+ crnProtocol.setJobInvalid(bool1[7]);
+ boolean[] bool2 = siemensNet.getByteTransform().TransBool(result.Content, 61, 1); // 63
+ crnProtocol.setIdle(bool2[0]);
+ crnProtocol.setControl(bool2[1]);
+ crnProtocol.setStopQuasi(bool2[2]);
+ crnProtocol.setRunning(bool2[3]);
+ crnProtocol.setFault(bool2[4]);
+ crnProtocol.setForkHome(bool2[5]);
+ crnProtocol.setForkSingleLeft(bool2[6]);
+ crnProtocol.setForkSingleRight(bool2[7]);
+ boolean[] bool3 = siemensNet.getByteTransform().TransBool(result.Content, 62, 1); // 64
+ crnProtocol.setForkDoubleLeft(bool3[0]);
+ crnProtocol.setForkDoubleRight(bool3[1]);
+ crnProtocol.setSingleHigh(bool3[2]);
+ crnProtocol.setSingleLow(bool3[3]);
+ crnProtocol.setDoubleHigh(bool3[4]);
+ crnProtocol.setDoubleLow(bool3[5]);
+ crnProtocol.setPlatformHigh(bool3[6]);
+ crnProtocol.setPlatformLow(bool3[7]);
+ boolean[] bool4 = siemensNet.getByteTransform().TransBool(result.Content, 64, 1); // 66
+ crnProtocol.setLoaded((short) (bool4[4]?1:0)); // 鏈夌墿
+
+ // 閫熷害
+ crnProtocol.setXSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 22)); // 24
+ crnProtocol.setYSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 24)); // 26
+ crnProtocol.setZSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 26)); // 28
+ // 绱閲岀▼銆佹椂闀�
+ crnProtocol.setXDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 88)); // 90
+ crnProtocol.setYDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 92)); // 94
+ crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 96)); // 98
+ crnProtocol.setYDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 100)); // 102
+
+ // 澧炲己
+ if (crnProtocol.getForkHome()) {
+ crnProtocol.setForkPos(CrnForkPosType.HOME);
+ }
+ if (crnProtocol.getForkSingleLeft()) {
+ crnProtocol.setForkPos(CrnForkPosType.LEFT);
+ }
+ if (crnProtocol.getForkSingleRight()) {
+ crnProtocol.setForkPos(CrnForkPosType.RIGHT);
+ }
+ if (crnProtocol.getForkDoubleLeft()) {
+ crnProtocol.setForkPos(CrnForkPosType._LEFT);
+ }
+ if (crnProtocol.getForkDoubleRight()) {
+ crnProtocol.setForkPos(CrnForkPosType._RIGHT);
+ }
+ if (crnProtocol.getSingleHigh()) {
+ crnProtocol.setLiftPos(CrnLiftPosType.UP);
+ }
+ if (crnProtocol.getSingleLow()) {
+ crnProtocol.setLiftPos(CrnLiftPosType.DOWN);
+ }
+ if (crnProtocol.getDoubleHigh()) {
+ crnProtocol.setLiftPos(CrnLiftPosType._UP);
+ }
+ if (crnProtocol.getDoubleLow()) {
+ crnProtocol.setLiftPos(CrnLiftPosType._DOWN);
+ }
+ if (crnProtocol.getIdle()) {
+ crnProtocol.setStatus(CrnStatusType.IDLE);
+ }
+
+ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
+
+ // 澶嶄綅淇″彿
+ if (crnProtocol.getTaskFinish() == 1) {
+ if (resetFlag) {
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setAckFinish((short)1);
+ if (write(crnCommand)) {
+ resetFlag = false;
+ }
+
+ }
+ }
+
+ try {
+ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+ BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+ BasCrnp basCrnp = new BasCrnp();
+ basCrnp.setCrnNo(slave.getId());
+ if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
+ log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+ }
+ } catch (Exception ignore){}
+
+ } else {
+ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満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("璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
}
}
/**
* 鍐欏叆鏁版嵁
*/
- private boolean write(CrnCommand command) throws InterruptedException {
+ private boolean write(CrnCommand command){
if (null == command) {
log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
return false;
}
-// convertRow(command);
+ if (command.getTaskNo() == 0 && command.getAckFinish() == 0) {
+ command.setTaskNo((short) 9999);
+ }
command.setCrnNo(slave.getId());
- short[] array = new short[10];
- array[0] = command.getAckFinish();
- array[1] = command.getTaskNo();
- array[2] = command.getTaskMode();
- array[3] = command.getSourcePosX();
- array[4] = command.getSourcePosY();
- array[5] = command.getSourcePosZ();
- array[6] = command.getDestinationPosX();
- array[7] = command.getDestinationPosY();
- array[8] = command.getDestinationPosZ();
-// array[9] = command.getSourceStaNo();
-// array[10] = command.getDestinationStaNo();
- array[9] = command.getCommand();
- OperateResult result = siemensNet.Write("DB100.0", array);
-
+ short[] array = new short[9];
if (command.getAckFinish() == 0) {
- short commandFinish = 1;
- Thread.sleep(100L);
- result = siemensNet.Write("DB100.18", commandFinish);
+ array[0] = 5;
+ } else {
+ array[0] = 0;
+ }
+ array[1] = command.getSourcePosZ();
+ array[2] = command.getSourcePosY();
+ array[3] = command.getSourcePosX();
+ array[4] = command.getDestinationPosZ();
+ array[5] = command.getDestinationPosY();
+ array[6] = command.getDestinationPosX();
+ array[7] = command.getSourceStaNo();
+ array[8] = command.getDestinationStaNo();
+ // 浣滀笟淇℃伅
+ OperateResult result = siemensNet.Write("DB1000.0", array);
+ // 浠诲姟鍙� + 瀹屾垚浣�
+ short[] array2 = new short[2];
+ array2[0] = command.getTaskNo();
+ array2[1] = command.getAckFinish();
+ OperateResult result1 = siemensNet.Write("DB1000.24", array2);
+
+ // 缁撴潫浣�
+ if (command.getAckFinish() == 0) {
+ OperateResult result2 = siemensNet.Write("DB1000.28.1", true);
}
+ // 鏃ュ織璁板綍
try {
- // 鏃ュ織璁板綍
- BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
- BasCrnOpt basCrnOpt = new BasCrnOpt(
- command.getTaskNo().intValue(), // 浠诲姟鍙�
- command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
- new Date(), // 涓嬪彂鏃堕棿
- command.getTaskModeType().toString(), // 妯″紡
- command.getSourcePosX().intValue(), // 婧愭帓
- command.getSourcePosY().intValue(), // 婧愬垪
- command.getSourcePosZ().intValue(), // 婧愬眰
- null, // 婧愮珯
- command.getDestinationPosX().intValue(), // 鐩爣鎺�
- command.getDestinationPosY().intValue(), // 鐩爣鍒�
- command.getDestinationPosZ().intValue(), // 鐩爣灞�
- null, // 鐩爣绔�
- null, // 鍝嶅簲缁撴灉
- null, // 淇敼鏃堕棿
- null // 淇敼浜哄憳
- );
- bean.insert(basCrnOpt);
+ if (command.getAckFinish() != 1) {
+ BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
+ BasCrnOpt basCrnOpt = new BasCrnOpt(
+ command.getTaskNo().intValue(), // 浠诲姟鍙�
+ command.getCrnNo(), // 鍫嗗灈鏈篬闈炵┖]
+ new Date(), // 涓嬪彂鏃堕棿
+ command.getTaskModeType().toString(), // 妯″紡
+ command.getSourcePosX().intValue(), // 婧愭帓
+ command.getSourcePosY().intValue(), // 婧愬垪
+ command.getSourcePosZ().intValue(), // 婧愬眰
+ null, // 婧愮珯
+ command.getDestinationPosX().intValue(), // 鐩爣鎺�
+ command.getDestinationPosY().intValue(), // 鐩爣鍒�
+ command.getDestinationPosZ().intValue(), // 鐩爣灞�
+ null, // 鐩爣绔�
+ null, // 鍝嶅簲缁撴灉
+ null, // 淇敼鏃堕棿
+ null // 淇敼浜哄憳
+ );
+ bean.insert(basCrnOpt);
+ }
} catch (Exception ignore) {}
- if (result != null && result.IsSuccess) {
- Thread.sleep(200);
- this.readStatus();
- log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+ if (result.IsSuccess && result1.IsSuccess) {
+ log.warn("鍫嗗灈鏈哄懡浠や笅鍙慬id:{},鏃堕棿锛歿}] >>>>> {}", slave.getId(), DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F), JSON.toJSON(command));
OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
return true;
} else {
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満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("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
return false;
}
}
-
@Override
public void close() {
--
Gitblit v1.9.1