From 4f364f6601955d68b07c318d51f7db3f435effde Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期六, 07 九月 2024 11:37:19 +0800
Subject: [PATCH] 输送线指令优化
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 17
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 6
src/main/java/com/zy/core/thread/MelsecCrnThread.java | 954 ++++++++++++++++++++++++++++----------------------------
3 files changed, 495 insertions(+), 482 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 675d6dc..6127602 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -500,7 +500,7 @@
wrkMast = wrkMast1;
}
}
- if (( wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
+ if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
continue;
}
@@ -653,7 +653,7 @@
crnThread.setResetFlag(true);
} else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
crnThread.setResetFlagTwo(true);
- } else if (statusTypeTwo == CrnStatusType.WAITING_All){
+ } else if (statusTypeTwo == CrnStatusType.WAITING_All) {
crnThread.setResetFlag(true);
crnThread.setResetFlagTwo(true);
}
@@ -1358,6 +1358,8 @@
if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
wrkMast.setWrkSts(4L);
} else {
+ //TODO
+ News.info("鐘舵�佷笉瀵�,鐘舵��={}锛屽伐浣滃彿={}", wrkMast.getWrkSts(), crnProtocol.getTaskNo());
continue;
}
Date now = new Date();
diff --git a/src/main/java/com/zy/core/thread/MelsecCrnThread.java b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
index 3a26c91..17277b5 100644
--- a/src/main/java/com/zy/core/thread/MelsecCrnThread.java
+++ b/src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -1,481 +1,481 @@
-package com.zy.core.thread;
-
-import HslCommunication.Core.Types.OperateResult;
-import HslCommunication.Core.Types.OperateResultExOne;
-import HslCommunication.Profinet.Melsec.MelsecMcNet;
-import com.alibaba.fastjson.JSON;
-import com.core.common.DateUtils;
-import com.core.common.SpringUtils;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasCrnOpt;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.asrs.service.BasCrnOptService;
-import com.zy.asrs.service.BasCrnpService;
-import com.zy.common.utils.News;
-import com.zy.core.CrnThread;
-import com.zy.core.ThreadHandler;
-import com.zy.core.cache.MessageQueue;
-import com.zy.core.cache.OutputQueue;
-import com.zy.core.enums.CrnStatusType;
-import com.zy.core.enums.CrnTaskModeType;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.model.CrnSlave;
-import com.zy.core.model.Task;
-import com.zy.core.model.command.CrnCommand;
-import com.zy.core.model.protocol.CrnProtocol;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
-
-import java.text.MessageFormat;
-import java.util.Date;
-
-/**
- * 鍫嗗灈鏈虹嚎绋�
- * Created by vincent on 2020/8/4
- */
-@Data
-@Slf4j
-public class MelsecCrnThread implements Runnable, ThreadHandler, CrnThread
-{
-
- private MelsecMcNet melsecMcNet;
- private CrnSlave slave;
- private CrnProtocol crnProtocol;
- private short heartBeatVal = 1;
- private boolean resetFlag = false;
-
- /**
- * 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
- */
- private boolean backHpFlag = false;
-
- public MelsecCrnThread(CrnSlave slave) {
- this.slave = slave;
- }
-
- @Override
- @SuppressWarnings("InfiniteLoopStatement")
- public void run() {
- this.connect();
-// try {
-// Thread.sleep(2000);
-// } catch (InterruptedException e) {
-// e.printStackTrace();
-// }
- while (true) {
- try {
- int step = 1;
- Task task = MessageQueue.poll(SlaveType.Crn, slave.getId());
- if (task != null) {
- step = task.getStep();
- }
- switch (step) {
- // 璇绘暟鎹�
- case 1:
- readStatus();
- break;
- // 鍐欏叆鏁版嵁
- case 2:
- write((CrnCommand) task.getData());
- break;
- // 澶嶄綅
- case 3:
- CrnCommand command = (CrnCommand) task.getData();
- if (null == command) {
- command = new CrnCommand();
- }
- command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
-// command.setSourcePosX((short)0); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short)0); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short)0); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
- write(command);
- break;
- default:
- break;
- }
- // 蹇冭烦
- heartbeat();
- Thread.sleep(500);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- }
-
- /**
- * 鍒濆鍖栧爢鍨涙満鐘舵��
- */
- 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);
- }
-
- @Override
- public boolean connect() {
- boolean result = false;
- melsecMcNet = new MelsecMcNet(slave.getIp(), slave.getPort());
- OperateResult connect = melsecMcNet.ConnectServer();
- if(connect.IsSuccess){
- result = true;
- OutputQueue.CRN.offer(MessageFormat.format( "銆恵0}銆戝爢鍨涙満plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- News.info("MelsecCrn"+" - 1"+" - 鍫嗗灈鏈簆lc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- } else {
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝爢鍨涙満plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] ", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- News.error("MelsecCrn"+" - 2"+" - 鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- initCrn();
- }
-// melsecMcNet.ConnectClose();
- return result;
- }
-
- /**
- * 璇诲彇鐘舵��
- */
- private void readStatus(){
- try {
-// if (this.slave.getId() == 1 && flag1.equals(0)) {
-// Thread.sleep(3000);
-// flag1=1;
-// System.out.println("===");
-// }
- OperateResultExOne<byte[]> result = melsecMcNet.Read("D1035", (short) 56);
- if (result.IsSuccess) {
- if (null == crnProtocol) {
- crnProtocol = new CrnProtocol();
- crnProtocol.setCrnNo(slave.getId());
- }
- crnProtocol.setMode(melsecMcNet.getByteTransform().TransInt16(result.Content, 0));
- crnProtocol.setTaskNo(melsecMcNet.getByteTransform().TransInt16(result.Content, 2));
- crnProtocol.setStatus(melsecMcNet.getByteTransform().TransInt16(result.Content, 4));
- crnProtocol.setBay(melsecMcNet.getByteTransform().TransInt16(result.Content, 6));
- crnProtocol.setLevel(melsecMcNet.getByteTransform().TransInt16(result.Content, 8));
- crnProtocol.setForkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 10));
- crnProtocol.setLiftPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 12));
- crnProtocol.setWalkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 14));
- crnProtocol.setLoaded(melsecMcNet.getByteTransform().TransInt16(result.Content, 16));
- crnProtocol.setAlarm(melsecMcNet.getByteTransform().TransInt16(result.Content, 18));
- crnProtocol.setTemp1(melsecMcNet.getByteTransform().TransInt16(result.Content, 20));
- crnProtocol.setTemp2(melsecMcNet.getByteTransform().TransInt16(result.Content, 22));
- crnProtocol.setTemp3(melsecMcNet.getByteTransform().TransInt16(result.Content, 24));
- crnProtocol.setTemp4(melsecMcNet.getByteTransform().TransInt16(result.Content, 26));
- crnProtocol.setxSpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 28));
- crnProtocol.setySpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 32));
- crnProtocol.setzSpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 36));
- crnProtocol.setxDistance(melsecMcNet.getByteTransform().TransInt16(result.Content, 40));
- crnProtocol.setyDistance(melsecMcNet.getByteTransform().TransInt16(result.Content, 44));
- crnProtocol.setxDuration(melsecMcNet.getByteTransform().TransInt16(result.Content, 48));
- crnProtocol.setyDuration(melsecMcNet.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_ONE)) {
- News.error("MelsecCrn"+" - 3"+" ---------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),crnProtocol.getTaskNo());
- if (resetFlag) {
- if(crnProtocol.getTaskNo()==9999){
- backHpFlag = false;
- }
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setAckFinish((short)1);
- if (write(crnCommand)) {
- resetFlag = false;
- }
- }
- }
-
- // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
- BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
- BasCrnp basCrnp = new BasCrnp();
- basCrnp.setCrnErr(crnProtocol.getAlarm()==null?0:crnProtocol.getAlarm().longValue());
- basCrnp.setCrnNo(slave.getId());
- basCrnp.setCrnSts((int)crnProtocol.getMode());
- if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
- News.error("MelsecCrn"+" - 4"+" - 鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- }
-
- } else {
- OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆憑1}鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐�",DateUtils.convert(new Date()), slave.getId()));
- throw new CoolException(MessageFormat.format( "鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{0}] [ip:{1}] [port:{2}]", slave.getId(), slave.getIp(), slave.getPort()));
- }
- } 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()));
- News.error("MelsecCrn"+" - 5"+" - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- initCrn();
- }
-
- }
-
- /**
- * 鍐欏叆鏁版嵁
- */
- private boolean write(CrnCommand command){
- if (null == command) {
- News.error("MelsecCrn"+" - 6"+" - 鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
- return false;
- }
-
-// OperateResult result = null;
-// try{
-// Integer exeCount=0;
-// do{
-// 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.getCommand();
-// result = melsecMcNet.Write("D0", array);
-// if(result.IsSuccess) {
-// if (command.getAckFinish() == 0) {
-// short commandFinish = 1;
-// result = melsecMcNet.Write("D9", commandFinish);
-// if(result.IsSuccess){
-// //鍐欎换鍔$‘璁よ繑鍥炴垚鍔熷悗锛屾煡璇㈢‘璁や竴娆�
-// Thread.sleep(200);
-// OperateResultExOne<byte[]> result1 = melsecMcNet.Read("D9", (short)2);
-// if(result1.IsSuccess){
-// short commandVal = melsecMcNet.getByteTransform().TransInt16(result1.Content,2);
-// if(commandVal==1){
-// break;
-// } else {
-// exeCount++;
-// }
-// } else{
-// exeCount++;
-// }
-// }else{
-// exeCount++;
-// }
-// }
-// }else{
-// exeCount++;
+//package com.zy.core.thread;
+//
+//import HslCommunication.Core.Types.OperateResult;
+//import HslCommunication.Core.Types.OperateResultExOne;
+//import HslCommunication.Profinet.Melsec.MelsecMcNet;
+//import com.alibaba.fastjson.JSON;
+//import com.core.common.DateUtils;
+//import com.core.common.SpringUtils;
+//import com.core.exception.CoolException;
+//import com.zy.asrs.entity.BasCrnOpt;
+//import com.zy.asrs.entity.BasCrnp;
+//import com.zy.asrs.service.BasCrnOptService;
+//import com.zy.asrs.service.BasCrnpService;
+//import com.zy.common.utils.News;
+//import com.zy.core.CrnThread;
+//import com.zy.core.ThreadHandler;
+//import com.zy.core.cache.MessageQueue;
+//import com.zy.core.cache.OutputQueue;
+//import com.zy.core.enums.CrnStatusType;
+//import com.zy.core.enums.CrnTaskModeType;
+//import com.zy.core.enums.SlaveType;
+//import com.zy.core.model.CrnSlave;
+//import com.zy.core.model.Task;
+//import com.zy.core.model.command.CrnCommand;
+//import com.zy.core.model.protocol.CrnProtocol;
+//import lombok.Data;
+//import lombok.extern.slf4j.Slf4j;
+//
+//import java.text.MessageFormat;
+//import java.util.Date;
+//
+///**
+// * 鍫嗗灈鏈虹嚎绋�
+// * Created by vincent on 2020/8/4
+// */
+//@Data
+//@Slf4j
+//public class MelsecCrnThread implements Runnable, ThreadHandler, CrnThread
+//{
+//
+// private MelsecMcNet melsecMcNet;
+// private CrnSlave slave;
+// private CrnProtocol crnProtocol;
+// private short heartBeatVal = 1;
+// private boolean resetFlag = false;
+//
+// /**
+// * 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
+// */
+// private boolean backHpFlag = false;
+//
+// public MelsecCrnThread(CrnSlave slave) {
+// this.slave = slave;
+// }
+//
+// @Override
+// @SuppressWarnings("InfiniteLoopStatement")
+// public void run() {
+// this.connect();
+//// try {
+//// Thread.sleep(2000);
+//// } catch (InterruptedException e) {
+//// e.printStackTrace();
+//// }
+// while (true) {
+// try {
+// int step = 1;
+// Task task = MessageQueue.poll(SlaveType.Crn, slave.getId());
+// if (task != null) {
+// step = task.getStep();
// }
-// Thread.sleep(200);
-// }while(exeCount>3);
-// }catch (Exception e){
+// switch (step) {
+// // 璇绘暟鎹�
+// case 1:
+// readStatus();
+// break;
+// // 鍐欏叆鏁版嵁
+// case 2:
+// write((CrnCommand) task.getData());
+// break;
+// // 澶嶄綅
+// case 3:
+// CrnCommand command = (CrnCommand) task.getData();
+// if (null == command) {
+// command = new CrnCommand();
+// }
+// command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+// command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
+// command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+//// command.setSourcePosX((short)0); // 婧愬簱浣嶆帓
+//// command.setSourcePosY((short)0); // 婧愬簱浣嶅垪
+//// command.setSourcePosZ((short)0); // 婧愬簱浣嶅眰
+//// command.setDestinationPosX((short)0); // 鐩爣搴撲綅鎺�
+//// command.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
+//// command.setDestinationPosZ((short)0); // 鐩爣搴撲綅灞�
+// write(command);
+// break;
+// default:
+// break;
+// }
+// // 蹇冭烦
+// heartbeat();
+// Thread.sleep(500);
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
//
// }
-
- 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.getCommand();
- OperateResult result = melsecMcNet.Write("D1001", array);
-
- if (command.getAckFinish() == 0) {
- short commandFinish = 1;
- result = melsecMcNet.Write("D1010", commandFinish);
- }
-
- 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.save(basCrnOpt);
- } catch (Exception ignore) {}
-
- if (result != null && result.IsSuccess) {
- News.info("MelsecCrn"+" - 7"+" - 鍫嗗灈鏈哄懡浠や笅鍙慬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()));
- News.error("MelsecCrn"+" - 8"+" - 鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- return false;
- }
- }
-
- @Override
- public void close() {
- melsecMcNet.ConnectClose();
- }
-
- /**
- * 蹇冭烦
- */
- private void heartbeat(){
- if (heartBeatVal >= 30000) {
- heartBeatVal = -30000;
- } else {
- heartBeatVal =(short) (heartBeatVal+1);
- }
- OperateResult write = melsecMcNet.Write("D1011", heartBeatVal);
-// OperateResult write1 = melsecMcNet.Write("D1001", (short) 0);
-// OperateResult write2 = melsecMcNet.Write("D1002", (short) 0);
-// OperateResult write3 = melsecMcNet.Write("D1003", (short) 0);
-// OperateResult write4 = melsecMcNet.Write("D1004", (short) 0);
-// OperateResult write5 = melsecMcNet.Write("D1005", (short) 0);
-// OperateResult write6 = melsecMcNet.Write("D1006", (short) 0);
-// OperateResult write7 = melsecMcNet.Write("D1007", (short) 0);
-// OperateResult write8 = melsecMcNet.Write("D1008", (short) 0);
-// OperateResult write9 = melsecMcNet.Write("D1009", (short) 0);
-// OperateResult write10 = melsecMcNet.Write("D1010", (short) 0);
- if (!write.IsSuccess) {
- News.error("MelsecCrn"+" - 9"+" - 鍫嗗灈鏈簆lc蹇冭烦閫氳澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- }
- }
-
-
- /******************************************************************************************/
- /**************************************** 娴嬭瘯涓撶敤 *****************************************/
- /*****************************************************************************************/
- public static void main(String[] args) throws InterruptedException {
- CrnSlave slave = new CrnSlave();
- slave.setId(1);
- slave.setIp("192.168.3.39");
- slave.setPort(5015);
- slave.setRack(0);
- slave.setSlot(0);
- MelsecCrnThread melsecCrnThread = new MelsecCrnThread(slave);
- melsecCrnThread.connect();
- melsecCrnThread.readStatus();
- System.out.println(JSON.toJSONString(melsecCrnThread.crnProtocol));
-
- // 1.鍏ュ簱 婧愬拰鐩爣閮藉彂
-// CrnCommand command = new CrnCommand();
-// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
-// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
-// command.setSourcePosX((short) 1); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short) 3); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
-// crnThread.write(command);
-
- // 2.鍑哄簱 婧愬拰鐩爣閮藉彂
-// CrnCommand command = new CrnCommand();
-// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
-// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡
-// command.setSourcePosX((short) 2); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short) 4); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short) 3); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short) 1); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
-// crnThread.write(command);
-
-
-// // 3.搴撲綅绉昏浆 婧愬拰鐩爣閮藉彂 pass
-// CrnCommand command = new CrnCommand();
-// command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
-// command.setSourcePosX((short)2); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short)2); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short)3); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short)2); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short)4); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short)4); // 鐩爣搴撲綅灞�
-// crnThread.write(command);
-
- // 4.绔欎綅绉昏浆 婧愬拰鐩爣閮藉彂
-// CrnCommand command = new CrnCommand();
-// command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
-// command.setSourcePosX((short)1); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short)0); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short)1); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short)2); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short)1); // 鐩爣搴撲綅灞�
-// crnThread.write(command);
-
-// // 5.鍥炲師鐐� 涓嶇敤鍙� pass
-// CrnCommand command = new CrnCommand();
-// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
-// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡
-// command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
-// command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
-// command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
-// command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
-// crnThread.write(command);
-
-
- // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
-// if (crnThread.crnProtocol.getCrnError2().leftTakeNoneErr
-// || crnThread.crnProtocol.getCrnError2().rightTakeNoneErr
-// || crnThread.crnProtocol.getCrnError2().leftPutLoadErr
-// || crnThread.crnProtocol.getCrnError2().rightPutLoadErr) {
-// CrnCommand command = new CrnCommand();
-// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
-// command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
-// Thread.sleep(3000L);
-// crnThread.write(command);
+// }
+//
+// /**
+// * 鍒濆鍖栧爢鍨涙満鐘舵��
+// */
+// private void initCrn() {
+// if (null == crnProtocol) {
+// crnProtocol = new CrnProtocol();
// }
-
- }
-
- @Override
- public void setResetFlagTwo(boolean flag) {
-
- }
-}
+// 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);
+// }
+//
+// @Override
+// public boolean connect() {
+// boolean result = false;
+// melsecMcNet = new MelsecMcNet(slave.getIp(), slave.getPort());
+// OperateResult connect = melsecMcNet.ConnectServer();
+// if(connect.IsSuccess){
+// result = true;
+// OutputQueue.CRN.offer(MessageFormat.format( "銆恵0}銆戝爢鍨涙満plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+// News.info("MelsecCrn"+" - 1"+" - 鍫嗗灈鏈簆lc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// } else {
+// OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝爢鍨涙満plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] ", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+// News.error("MelsecCrn"+" - 2"+" - 鍫嗗灈鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// initCrn();
+// }
+//// melsecMcNet.ConnectClose();
+// return result;
+// }
+//
+// /**
+// * 璇诲彇鐘舵��
+// */
+// private void readStatus(){
+// try {
+//// if (this.slave.getId() == 1 && flag1.equals(0)) {
+//// Thread.sleep(3000);
+//// flag1=1;
+//// System.out.println("===");
+//// }
+// OperateResultExOne<byte[]> result = melsecMcNet.Read("D1035", (short) 56);
+// if (result.IsSuccess) {
+// if (null == crnProtocol) {
+// crnProtocol = new CrnProtocol();
+// crnProtocol.setCrnNo(slave.getId());
+// }
+// crnProtocol.setMode(melsecMcNet.getByteTransform().TransInt16(result.Content, 0));
+// crnProtocol.setTaskNo(melsecMcNet.getByteTransform().TransInt16(result.Content, 2));
+// crnProtocol.setStatus(melsecMcNet.getByteTransform().TransInt16(result.Content, 4));
+// crnProtocol.setBay(melsecMcNet.getByteTransform().TransInt16(result.Content, 6));
+// crnProtocol.setLevel(melsecMcNet.getByteTransform().TransInt16(result.Content, 8));
+// crnProtocol.setForkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 10));
+// crnProtocol.setLiftPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 12));
+// crnProtocol.setWalkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 14));
+// crnProtocol.setLoaded(melsecMcNet.getByteTransform().TransInt16(result.Content, 16));
+// crnProtocol.setAlarm(melsecMcNet.getByteTransform().TransInt16(result.Content, 18));
+// crnProtocol.setTemp1(melsecMcNet.getByteTransform().TransInt16(result.Content, 20));
+// crnProtocol.setTemp2(melsecMcNet.getByteTransform().TransInt16(result.Content, 22));
+// crnProtocol.setTemp3(melsecMcNet.getByteTransform().TransInt16(result.Content, 24));
+// crnProtocol.setTemp4(melsecMcNet.getByteTransform().TransInt16(result.Content, 26));
+// crnProtocol.setxSpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 28));
+// crnProtocol.setySpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 32));
+// crnProtocol.setzSpeed(melsecMcNet.getByteTransform().TransInt16(result.Content, 36));
+// crnProtocol.setxDistance(melsecMcNet.getByteTransform().TransInt16(result.Content, 40));
+// crnProtocol.setyDistance(melsecMcNet.getByteTransform().TransInt16(result.Content, 44));
+// crnProtocol.setxDuration(melsecMcNet.getByteTransform().TransInt16(result.Content, 48));
+// crnProtocol.setyDuration(melsecMcNet.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_ONE)) {
+// News.error("MelsecCrn"+" - 3"+" ---------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),crnProtocol.getTaskNo());
+// if (resetFlag) {
+// if(crnProtocol.getTaskNo()==9999){
+// backHpFlag = false;
+// }
+// CrnCommand crnCommand = new CrnCommand();
+// crnCommand.setAckFinish((short)1);
+// if (write(crnCommand)) {
+// resetFlag = false;
+// }
+// }
+// }
+//
+// // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+// BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+// BasCrnp basCrnp = new BasCrnp();
+// basCrnp.setCrnErr(crnProtocol.getAlarm()==null?0:crnProtocol.getAlarm().longValue());
+// basCrnp.setCrnNo(slave.getId());
+// basCrnp.setCrnSts((int)crnProtocol.getMode());
+// if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
+// News.error("MelsecCrn"+" - 4"+" - 鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// }
+//
+// } else {
+// OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆憑1}鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐�",DateUtils.convert(new Date()), slave.getId()));
+// throw new CoolException(MessageFormat.format( "鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{0}] [ip:{1}] [port:{2}]", slave.getId(), slave.getIp(), slave.getPort()));
+// }
+// } 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()));
+// News.error("MelsecCrn"+" - 5"+" - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// initCrn();
+// }
+//
+// }
+//
+// /**
+// * 鍐欏叆鏁版嵁
+// */
+// private boolean write(CrnCommand command){
+// if (null == command) {
+// News.error("MelsecCrn"+" - 6"+" - 鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
+// return false;
+// }
+//
+//// OperateResult result = null;
+//// try{
+//// Integer exeCount=0;
+//// do{
+//// 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.getCommand();
+//// result = melsecMcNet.Write("D0", array);
+//// if(result.IsSuccess) {
+//// if (command.getAckFinish() == 0) {
+//// short commandFinish = 1;
+//// result = melsecMcNet.Write("D9", commandFinish);
+//// if(result.IsSuccess){
+//// //鍐欎换鍔$‘璁よ繑鍥炴垚鍔熷悗锛屾煡璇㈢‘璁や竴娆�
+//// Thread.sleep(200);
+//// OperateResultExOne<byte[]> result1 = melsecMcNet.Read("D9", (short)2);
+//// if(result1.IsSuccess){
+//// short commandVal = melsecMcNet.getByteTransform().TransInt16(result1.Content,2);
+//// if(commandVal==1){
+//// break;
+//// } else {
+//// exeCount++;
+//// }
+//// } else{
+//// exeCount++;
+//// }
+//// }else{
+//// exeCount++;
+//// }
+//// }
+//// }else{
+//// exeCount++;
+//// }
+//// Thread.sleep(200);
+//// }while(exeCount>3);
+//// }catch (Exception e){
+////
+//// }
+//
+// 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.getCommand();
+// OperateResult result = melsecMcNet.Write("D1001", array);
+//
+// if (command.getAckFinish() == 0) {
+// short commandFinish = 1;
+// result = melsecMcNet.Write("D1010", commandFinish);
+// }
+//
+// 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.save(basCrnOpt);
+// } catch (Exception ignore) {}
+//
+// if (result != null && result.IsSuccess) {
+// News.info("MelsecCrn"+" - 7"+" - 鍫嗗灈鏈哄懡浠や笅鍙慬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()));
+// News.error("MelsecCrn"+" - 8"+" - 鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// return false;
+// }
+// }
+//
+// @Override
+// public void close() {
+// melsecMcNet.ConnectClose();
+// }
+//
+// /**
+// * 蹇冭烦
+// */
+// private void heartbeat(){
+// if (heartBeatVal >= 30000) {
+// heartBeatVal = -30000;
+// } else {
+// heartBeatVal =(short) (heartBeatVal+1);
+// }
+// OperateResult write = melsecMcNet.Write("D1011", heartBeatVal);
+//// OperateResult write1 = melsecMcNet.Write("D1001", (short) 0);
+//// OperateResult write2 = melsecMcNet.Write("D1002", (short) 0);
+//// OperateResult write3 = melsecMcNet.Write("D1003", (short) 0);
+//// OperateResult write4 = melsecMcNet.Write("D1004", (short) 0);
+//// OperateResult write5 = melsecMcNet.Write("D1005", (short) 0);
+//// OperateResult write6 = melsecMcNet.Write("D1006", (short) 0);
+//// OperateResult write7 = melsecMcNet.Write("D1007", (short) 0);
+//// OperateResult write8 = melsecMcNet.Write("D1008", (short) 0);
+//// OperateResult write9 = melsecMcNet.Write("D1009", (short) 0);
+//// OperateResult write10 = melsecMcNet.Write("D1010", (short) 0);
+// if (!write.IsSuccess) {
+// News.error("MelsecCrn"+" - 9"+" - 鍫嗗灈鏈簆lc蹇冭烦閫氳澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+// }
+// }
+//
+//
+// /******************************************************************************************/
+// /**************************************** 娴嬭瘯涓撶敤 *****************************************/
+// /*****************************************************************************************/
+// public static void main(String[] args) throws InterruptedException {
+// CrnSlave slave = new CrnSlave();
+// slave.setId(1);
+// slave.setIp("192.168.3.39");
+// slave.setPort(5015);
+// slave.setRack(0);
+// slave.setSlot(0);
+// MelsecCrnThread melsecCrnThread = new MelsecCrnThread(slave);
+// melsecCrnThread.connect();
+// melsecCrnThread.readStatus();
+// System.out.println(JSON.toJSONString(melsecCrnThread.crnProtocol));
+//
+// // 1.鍏ュ簱 婧愬拰鐩爣閮藉彂
+//// CrnCommand command = new CrnCommand();
+//// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+//// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
+//// command.setSourcePosX((short) 1); // 婧愬簱浣嶆帓
+//// command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
+//// command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+//// command.setDestinationPosX((short) 2); // 鐩爣搴撲綅鎺�
+//// command.setDestinationPosY((short) 3); // 鐩爣搴撲綅鍒�
+//// command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+//// crnThread.write(command);
+//
+// // 2.鍑哄簱 婧愬拰鐩爣閮藉彂
+//// CrnCommand command = new CrnCommand();
+//// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+//// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡
+//// command.setSourcePosX((short) 2); // 婧愬簱浣嶆帓
+//// command.setSourcePosY((short) 4); // 婧愬簱浣嶅垪
+//// command.setSourcePosZ((short) 3); // 婧愬簱浣嶅眰
+//// command.setDestinationPosX((short) 1); // 鐩爣搴撲綅鎺�
+//// command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
+//// command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+//// crnThread.write(command);
+//
+//
+//// // 3.搴撲綅绉昏浆 婧愬拰鐩爣閮藉彂 pass
+//// CrnCommand command = new CrnCommand();
+//// command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+//// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+//// command.setSourcePosX((short)2); // 婧愬簱浣嶆帓
+//// command.setSourcePosY((short)2); // 婧愬簱浣嶅垪
+//// command.setSourcePosZ((short)3); // 婧愬簱浣嶅眰
+//// command.setDestinationPosX((short)2); // 鐩爣搴撲綅鎺�
+//// command.setDestinationPosY((short)4); // 鐩爣搴撲綅鍒�
+//// command.setDestinationPosZ((short)4); // 鐩爣搴撲綅灞�
+//// crnThread.write(command);
+//
+// // 4.绔欎綅绉昏浆 婧愬拰鐩爣閮藉彂
+//// CrnCommand command = new CrnCommand();
+//// command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+//// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+//// command.setSourcePosX((short)1); // 婧愬簱浣嶆帓
+//// command.setSourcePosY((short)0); // 婧愬簱浣嶅垪
+//// command.setSourcePosZ((short)1); // 婧愬簱浣嶅眰
+//// command.setDestinationPosX((short)2); // 鐩爣搴撲綅鎺�
+//// command.setDestinationPosY((short)0); // 鐩爣搴撲綅鍒�
+//// command.setDestinationPosZ((short)1); // 鐩爣搴撲綅灞�
+//// crnThread.write(command);
+//
+//// // 5.鍥炲師鐐� 涓嶇敤鍙� pass
+//// CrnCommand command = new CrnCommand();
+//// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+//// command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+//// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡
+//// command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
+//// command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
+//// command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
+//// command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
+//// command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
+//// command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
+//// crnThread.write(command);
+//
+//
+// // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
+//// if (crnThread.crnProtocol.getCrnError2().leftTakeNoneErr
+//// || crnThread.crnProtocol.getCrnError2().rightTakeNoneErr
+//// || crnThread.crnProtocol.getCrnError2().leftPutLoadErr
+//// || crnThread.crnProtocol.getCrnError2().rightPutLoadErr) {
+//// CrnCommand command = new CrnCommand();
+//// command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+//// command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
+//// Thread.sleep(3000L);
+//// crnThread.write(command);
+//// }
+//
+// }
+//
+// @Override
+// public void setResetFlagTwo(boolean flag) {
+//
+// }
+//}
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 459e37b..642b2ba 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -196,9 +196,12 @@
CrnCommand crnCommand = new CrnCommand();
crnCommand.setAckFinish((short) 1);
if (write(crnCommand)) {
- News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 涓�宸ヤ綅澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
+ News.info("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 涓�宸ヤ綅澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
slave.getId(), crnProtocol.getTaskNo(), resetFlag);
resetFlag = false;
+ } else {
+ News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 涓�宸ヤ綅澶嶄綅resetFlag鏍囪澶辫触{}锛侊紒",
+ slave.getId(), crnProtocol.getTaskNo(), resetFlag);
}
}
} else if (!Cools.isEmpty(crnProtocol.getTaskNo()) && crnProtocol.getStatusTypeTwo() == CrnStatusType.WAITING_TWO) {
@@ -210,10 +213,14 @@
CrnCommand crnCommand = new CrnCommand();
crnCommand.setAckFinish((short) 1);
if (write(crnCommand)) {
- News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 浜屽伐浣嶅浣峳esetFlag鏍囪鎴愬姛{}锛侊紒",
+ News.info("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 浜屽伐浣嶅浣峳esetFlag鏍囪鎴愬姛{}锛侊紒",
slave.getId(), crnProtocol.getTaskNo(), resetFlag);
resetFlagTwo = false;
+ } else {
+ News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 浜屽伐浣嶅浣峳esetFlag鏍囪澶辫触{}锛侊紒",
+ slave.getId(), crnProtocol.getTaskNo(), resetFlag);
}
+
}
} else if (!Cools.isEmpty(crnProtocol.getTaskNo()) && crnProtocol.getStatusType() == CrnStatusType.WAITING_All && crnProtocol.getStatusTypeTwo() == CrnStatusType.WAITING_All) {
// 澶嶄綅淇″彿
@@ -224,10 +231,13 @@
CrnCommand crnCommand = new CrnCommand();
crnCommand.setAckFinish((short) 1);
if (write(crnCommand)) {
- News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鍙屽伐浣嶅浣峳esetFlag鏍囪鎴愬姛{}锛侊紒",
+ News.info("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鍙屽伐浣嶅浣峳esetFlag鏍囪鎴愬姛{}锛侊紒",
slave.getId(), crnProtocol.getTaskNo(), resetFlag);
resetFlag = false;
resetFlagTwo = false;
+ } else {
+ News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鍙屽伐浣嶅浣峳esetFlag鏍囪澶辫触{}锛侊紒",
+ slave.getId(), crnProtocol.getTaskNo(), resetFlag);
}
}
}
@@ -275,6 +285,7 @@
News.error("SiemensCrn" + " - 6" + " - 鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
return false;
}
+ System.out.println(" 鍫嗗灈鏈哄啓鍏ュ懡浠わ細" + command);
// convertRow(command);
command.setCrnNo(slave.getId());
short[] array = new short[16];
--
Gitblit v1.9.1