From 4258c90146916435bdc34492cb9d1dbd7fac82d4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 05 一月 2022 15:38:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/enums/CrnTaskModeType.java | 9 ++++++---
src/main/java/com/zy/core/model/command/CrnCommand.java | 3 +++
src/main/java/com/zy/core/thread/CrnThread.java | 47 +++++++++++++++++++++++++++++++++--------------
3 files changed, 42 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/zy/core/enums/CrnTaskModeType.java b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
index 968c075..be4761d 100644
--- a/src/main/java/com/zy/core/enums/CrnTaskModeType.java
+++ b/src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -6,9 +6,12 @@
PAKIN(1), // 鍏ュ簱
PAKOUT(2), // 鍑哄簱
LOC_MOVE(3), // 搴撲綅绉昏浆
- SITE_MOVE(4), // 绔欎綅绉昏浆
- GO_ORIGIN(5), // 鍥炲師鐐�
- CLEAR(7), // 娓呴敊
+ X_MOVE(4), // 绔欎綅绉昏浆
+ Y_MOVE(5), // 绔欎綅绉昏浆
+ XY_MOVE(6), // 绔欎綅绉昏浆
+ GO_ORIGIN(7), // 鍥炲師鐐�
+ BACK_ORIGIN(8), // 鍥炲弽鍘熺偣
+ CLEAR(9), // 娓呴敊
;
public Integer id;
diff --git a/src/main/java/com/zy/core/model/command/CrnCommand.java b/src/main/java/com/zy/core/model/command/CrnCommand.java
index f50cc2e..c777ecb 100644
--- a/src/main/java/com/zy/core/model/command/CrnCommand.java
+++ b/src/main/java/com/zy/core/model/command/CrnCommand.java
@@ -71,6 +71,9 @@
// 鐩爣宸烽亾
private Short destinationLane = 0;
+ // 浠诲姟纭 0锛氭湭纭 1锛氬凡纭
+ private Short command = 0;
+
public void setTaskMode(Short taskMode){
this.taskMode = taskMode;
this.taskModeType = CrnTaskModeType.get(taskModeType);
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index cbe3d17..dd6d4f9 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -148,7 +148,9 @@
if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),crnProtocol.getTaskNo());
if (resetFlag) {
- if (melsecMcNet.Write("D2218", (short) 1).IsSuccess) {
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setAckFinish((short)1);
+ if (write(crnCommand)) {
resetFlag = false;
}
}
@@ -178,23 +180,39 @@
/**
* 鍐欏叆鏁版嵁
*/
- private void write(CrnCommand command){
+ private boolean write(CrnCommand command){
if (null == command) {
log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
- return;
+ return false;
}
command.setCrnNo(slave.getId());
short[] array = new short[10];
- array[0] = command.getStatus();
- array[1] = command.getSourceRow(); // 鎺�
- array[2] = command.getSourceBay(); // 鍒�
- array[3] = command.getSourceLev(); // 灞�
- array[4] = command.getSourceSta(); // 绔欏彿
- array[5] = command.getDestinationPosRow(); // 鎺�
- array[6] = command.getDestinationPosBay(); // 鍒�
- array[7] = command.getDestinationPosLev(); // 灞�
- array[8] = command.getDestinationSta(); // 鐩爣浣嶇疆绔欏彿
- OperateResult result = melsecMcNet.Write("100", array);
+
+ OperateResult result;
+ if (command.getAckFinish() == 0) {
+ 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.getCommand();
+ result = melsecMcNet.Write("D0", array);
+
+ short[] array0 = new short[1];
+ array0[0] = 1;
+ result = melsecMcNet.Write("D9", array);
+
+ } else {
+
+ }
+
+
+
+
try {
// 鏃ュ織璁板綍
@@ -222,11 +240,12 @@
if (result.IsSuccess) {
log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), 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());
+ return false;
}
-
}
@Override
--
Gitblit v1.9.1