From 3c79aac6d67bc302b87498e7a7d3c7ca8b98ed79 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 17 八月 2020 14:20:21 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/CrnThread.java | 36 +++++++++++++++++++++++++-----------
1 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index 8946211..c16717e 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -5,8 +5,10 @@
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
+import com.core.common.DateUtils;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.OutputQueue;
import com.zy.core.enums.CrnTaskModeType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
@@ -15,6 +17,9 @@
import com.zy.core.model.protocol.CrnProtocol;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+
+import java.text.MessageFormat;
+import java.util.Date;
/**
* 鍫嗗灈鏈虹嚎绋�
@@ -27,6 +32,7 @@
private SiemensS7Net siemensNet;
private CrnSlave slave;
private CrnProtocol crnProtocol;
+
public CrnThread(CrnSlave slave) {
this.slave = slave;
@@ -61,7 +67,7 @@
command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
command.setSourcePosX((short)0); // 婧愬簱浣嶆帓
command.setSourcePosY((short)0); // 婧愬簱浣嶅垪
command.setSourcePosZ((short)0); // 婧愬簱浣嶅眰
@@ -90,8 +96,10 @@
OperateResult connect = siemensNet.ConnectServer();
if(connect.IsSuccess){
result = true;
+ 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.info("鍫嗗灈鏈簆lc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
} 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());
}
siemensNet.ConnectClose();
@@ -102,8 +110,9 @@
* 璇诲彇鐘舵��
*/
private void readStatus(){
- OperateResultExOne<byte[]> result = siemensNet.Read("DB8.18", (short) 46);
+ OperateResultExOne<byte[]> result = siemensNet.Read("DB8.18", (short) 56);
if (result.IsSuccess) {
+ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
if (null == crnProtocol) {
crnProtocol = new CrnProtocol();
}
@@ -118,16 +127,19 @@
// crnProtocol.setTaskFinish(siemensNet.getByteTransform().TransInt16(result.Content, 16));
crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 18));
crnProtocol.setAlarm1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
- crnProtocol.setError1(siemensNet.getByteTransform().TransInt16(result.Content, 22));
- crnProtocol.setError2(siemensNet.getByteTransform().TransInt16(result.Content, 24));
+ // 寮傚父淇℃伅
+ crnProtocol.setError1(siemensNet.getByteTransform().TransBool(result.Content, 22, 2));
+ crnProtocol.setError2(siemensNet.getByteTransform().TransBool(result.Content, 24, 2));
crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 26));
- crnProtocol.setXSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
- crnProtocol.setYSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 30));
- crnProtocol.setZSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
- crnProtocol.setXDistance(siemensNet.getByteTransform().TransInt32(result.Content, 34));
- crnProtocol.setYDistance(siemensNet.getByteTransform().TransInt32(result.Content, 38));
- crnProtocol.setDuration(siemensNet.getByteTransform().TransInt32(result.Content, 42));
+ crnProtocol.setXSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 28));
+ crnProtocol.setYSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 32));
+ crnProtocol.setZSpeed(siemensNet.getByteTransform().TransSingle(result.Content, 36));
+ crnProtocol.setXDistance(siemensNet.getByteTransform().TransSingle(result.Content, 40));
+ crnProtocol.setYDistance(siemensNet.getByteTransform().TransSingle(result.Content, 44));
+ crnProtocol.setXDuration(siemensNet.getByteTransform().TransSingle(result.Content, 48));
+ crnProtocol.setYDuration(siemensNet.getByteTransform().TransSingle(result.Content, 52));
} 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());
}
}
@@ -153,8 +165,10 @@
array[8] = command.getDestinationPosZ();
OperateResult result = siemensNet.Write("DB8.0", array);
if (result.IsSuccess) {
+ OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
readStatus();
} 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());
}
}
@@ -177,7 +191,7 @@
/*****************************************************************************************/
public static void main(String[] args) {
CrnSlave slave = new CrnSlave();
- slave.setIp("192.168.2.9");
+ slave.setIp("192.168.6.9");
slave.setRack(0);
slave.setSlot(0);
CrnThread crnThread = new CrnThread(slave);
--
Gitblit v1.9.1