From 405a34a73ddad9367c1a40b03a5f8cec914ad683 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 03 七月 2023 13:30:22 +0800
Subject: [PATCH] 命令下发保存二进制报文
---
src/main/java/com/zy/core/thread/LiftThread.java | 44 +++++++++++++---------
src/main/java/com/zy/core/thread/ShuttleThread.java | 45 ++++++++++++----------
src/main/java/com/zy/asrs/entity/BasLiftOpt.java | 9 ++++
src/main/java/com/zy/asrs/entity/BasShuttleOpt.java | 9 ++++
4 files changed, 66 insertions(+), 41 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/BasLiftOpt.java b/src/main/java/com/zy/asrs/entity/BasLiftOpt.java
index 932332f..1bd9be4 100644
--- a/src/main/java/com/zy/asrs/entity/BasLiftOpt.java
+++ b/src/main/java/com/zy/asrs/entity/BasLiftOpt.java
@@ -76,9 +76,15 @@
@ApiModelProperty(value= "鍛戒护")
private String command;
+ /**
+ * 鍛戒护
+ */
+ @ApiModelProperty(value= "鍛戒护鎶ユ枃(涓嬪彂)")
+ private String commandSend;
+
public BasLiftOpt() {}
- public BasLiftOpt(Integer wrkNo,Integer liftNo,Date sendTime,Date updateTime,Long updateBy,String memo,String command) {
+ public BasLiftOpt(Integer wrkNo, Integer liftNo, Date sendTime, Date updateTime, Long updateBy, String memo, String command, String commandSend) {
this.wrkNo = wrkNo;
this.liftNo = liftNo;
this.sendTime = sendTime;
@@ -86,6 +92,7 @@
this.updateBy = updateBy;
this.memo = memo;
this.command = command;
+ this.commandSend = commandSend;
}
// BasLiftOpt basLiftOpt = new BasLiftOpt(
diff --git a/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java b/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java
index 8739111..798b0ca 100644
--- a/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java
+++ b/src/main/java/com/zy/asrs/entity/BasShuttleOpt.java
@@ -96,9 +96,15 @@
@ApiModelProperty(value= "鍛戒护")
private String command;
+ /**
+ * 鍛戒护
+ */
+ @ApiModelProperty(value= "鍛戒护鎶ユ枃(涓嬪彂)")
+ private String commandSend;
+
public BasShuttleOpt() {}
- public BasShuttleOpt(Integer wrkNo,Integer shuttleNo,Date sendTime,String mode,String sourceLocNo,String distLocNo,Date updateTime,Long updateBy,String memo,String command) {
+ public BasShuttleOpt(Integer wrkNo,Integer shuttleNo,Date sendTime,String mode,String sourceLocNo,String distLocNo,Date updateTime,Long updateBy,String memo,String command,String commandSend) {
this.wrkNo = wrkNo;
this.shuttleNo = shuttleNo;
this.sendTime = sendTime;
@@ -109,6 +115,7 @@
this.updateBy = updateBy;
this.memo = memo;
this.command = command;
+ this.commandSend = commandSend;
}
// BasShuttleOpt basShuttleOpt = new BasShuttleOpt(
diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java
index a399c9e..87a8598 100644
--- a/src/main/java/com/zy/core/thread/LiftThread.java
+++ b/src/main/java/com/zy/core/thread/LiftThread.java
@@ -244,6 +244,28 @@
}
command.setLiftNo(slave.getId().shortValue());
+ short[] array = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
+
+ try {
+ Thread.sleep(1000);//鍛戒护涓嬪彂鍓嶄紤鐪�1s
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+
+ OperateResult result = modbusTcpNet.Write("41088", array);
+ if (result != null && result.IsSuccess) {
+ News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+ OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+ return true;
+ } else {
+ OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+ News.error("鍐欏叆鎻愬崌鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ return false;
+ }
+ }
+
+ //鑾峰彇鍛戒护鎶ユ枃
+ private short[] getCommandArr(LiftCommand command) {
// 寮�濮嬩换鍔�
short[] array = new short[30];
//寮�濮嬭繍琛�
@@ -284,23 +306,7 @@
tmp[1] = array[1];
array = tmp;
}
-
- try {
- Thread.sleep(1000);//鍛戒护涓嬪彂鍓嶄紤鐪�1s
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
-
- OperateResult result = modbusTcpNet.Write("41088", array);;
- if (result != null && result.IsSuccess) {
- News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
- OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
- return true;
- } else {
- OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- News.error("鍐欏叆鎻愬崌鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- return false;
- }
+ return array;
}
//鍒嗛厤浠诲姟
@@ -448,6 +454,7 @@
//淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘�
BasLiftOptService liftOptService = SpringUtils.getBean(BasLiftOptService.class);
if (liftOptService != null) {
+ short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
BasLiftOpt opt = new BasLiftOpt(
redisCommand.getWrkNo().intValue(),
redisCommand.getLiftNo().intValue(),
@@ -455,7 +462,8 @@
null,
null,
null,
- JSON.toJSONString(command)
+ JSON.toJSONString(command),
+ JSON.toJSONString(commandArr)
);
liftOptService.insert(opt);
}
diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java
index 3f5bacd..7b303b0 100644
--- a/src/main/java/com/zy/core/thread/ShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -279,7 +279,6 @@
News.error("鍥涘悜绌挎杞﹀啓鍏ュ懡浠や负绌�");
return false;
}
-
BasShuttleService shuttleService = SpringUtils.getBean(BasShuttleService.class);
if (shuttleService == null) {
News.error("绯荤粺閿欒");
@@ -291,8 +290,27 @@
News.error("鍥涘悜绌挎杞︿笉瀛樺湪");
return false;
}
-
command.setShuttleNo(slave.getId().shortValue());
+ short[] array = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
+ OperateResult result = modbusTcpNet.Write("0", array);;
+ if (result != null && result.IsSuccess) {
+ try {
+ Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪�1s
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
+ OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
+ return true;
+ } else {
+ OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ洓鍚戠┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+ News.error("鍐欏叆鍥涘悜绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ return false;
+ }
+ }
+
+ //鑾峰彇鍛戒护鎶ユ枃
+ private short[] getCommandArr(ShuttleCommand command) {
// 寮�濮嬩换鍔�
short[] array = new short[17];
//鎺у埗鎸囦护瀛�
@@ -326,7 +344,6 @@
array[7] = middleToDistDistances[1];
}
- array[8] = basShuttle.getRunSpeed().shortValue();//鍥涘悜绌挎杞﹁繍琛岄�熷害锛屼粠绯荤粺鏁版嵁搴撹鍑�
if (command.getRunDirection() != null) {
//灏忚溅杩愯鏂瑰悜
array[8] = command.getRunDirection();
@@ -363,25 +380,9 @@
//灏忚溅闆疯揪澶囩敤
array[15] = command.getRadarTmp();
}
-
//鎸囦护缁撴潫浣�
array[16] = command.getCommandEnd();
-
- OperateResult result = modbusTcpNet.Write("0", array);;
- if (result != null && result.IsSuccess) {
- try {
- Thread.sleep(3000);//鍛戒护涓嬪彂鍚庝紤鐪�1s
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- News.info("鍥涘悜绌挎杞﹀懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
- OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
- return true;
- } else {
- OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ洓鍚戠┛姊溅plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
- News.error("鍐欏叆鍥涘悜绌挎杞lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- return false;
- }
+ return array;
}
/**
@@ -834,6 +835,7 @@
//淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘�
BasShuttleOptService shuttleOptService = SpringUtils.getBean(BasShuttleOptService.class);
if (shuttleOptService != null) {
+ short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
BasShuttleOpt opt = new BasShuttleOpt(
assignCommand.getTaskNo().intValue(),
assignCommand.getShuttleNo().intValue(),
@@ -844,7 +846,8 @@
null,
null,
null,
- JSON.toJSONString(command)
+ JSON.toJSONString(command),
+ JSON.toJSONString(commandArr)
);
shuttleOptService.insert(opt);
}
--
Gitblit v1.9.1