From f9ff2ea7ca9ff9b87e33e27c355753ec79b6bb56 Mon Sep 17 00:00:00 2001
From: whycq <you@example.com>
Date: 星期六, 08 七月 2023 22:05:59 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SteThread.java | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index aa39f1a..ad8ed80 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -67,8 +67,8 @@
// 鍐欏叆鏁版嵁
case 2:
write((SteCommand) task.getData());
- Thread.sleep(200);
- readStatus();
+// Thread.sleep(200);
+// readStatus();
break;
default:
break;
@@ -122,7 +122,7 @@
/**
* 璇诲彇鐘舵��
*/
- private void readStatus(){
+ private synchronized void readStatus(){
try {
OperateResultExOne<byte[]> result = siemensS7Net.Read("V800", (short) 70);
if (result.IsSuccess) {
@@ -183,13 +183,15 @@
// 澶嶄綅淇″彿
if (steProtocol.getWaiting()) {
- News.error("-------------------------------------------绗竴姝ャ�乕绌挎杞﹀彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负{}锛岀瓑寰匴CS纭锛侊紒",
- slave.getId(),steProtocol.getTaskNo(),steProtocol.getStatus());
+ News.info("-------------绗竴姝ャ�乕绌挎杞﹀彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负{}锛岀瓑寰匴CS纭锛侊紒{}",
+ slave.getId(),steProtocol.getTaskNo(),steProtocol.getStatus(), resetFlag);
if (resetFlag) {
SteCommand steCommand = new SteCommand();
steCommand.setComplete(true);
if (write(steCommand) && confirmPos()) {
resetFlag = false;
+ News.info("绗簩姝ャ�佸彂閫佸浣嶅懡浠ゆ垚鍔� resetFlag = false,[绌挎杞﹀彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负{}锛岀瓑寰匴CS纭锛侊紒{}",
+ slave.getId(),steProtocol.getTaskNo(),steProtocol.getStatus(), resetFlag);
}
}
}
@@ -227,7 +229,7 @@
/**
* 鍐欏叆鏁版嵁
*/
- private boolean write(SteCommand command){
+ private synchronized boolean write(SteCommand command){
if (null == command) {
News.error("绌挎杞﹀啓鍏ュ懡浠や负绌�");
return false;
@@ -333,19 +335,19 @@
if (result1.IsSuccess) {
short taskNo = siemensS7Net.getByteTransform().TransInt16(result1.Content, 0);
short taskType = siemensS7Net.getByteTransform().TransInt16(result1.Content, 2);
- readStatus();
+// readStatus();
News.info("绌挎鏉夸换鍔′笅鍙戞垚鍔熷悗浼戠湢200ms绔嬪嵆鍥炶鍐欏叆鏁版嵁锛岀┛姊澘ID={}, 浠诲姟鍙�={}, 浣滀笟绫诲瀷={}",slave.getId(), taskNo, taskType);
News.info("绌挎鏉夸换鍔′笅鍙戞垚鍔熷悗浼戠湢200ms绔嬪嵆鍥炶绌挎鏉跨姸鎬侊紝绌挎鏉縄D={}, 浠诲姟鍙�={}, 绌挎鏉跨姸鎬�={}",slave.getId(), steProtocol.getTaskNo(),steProtocol.getStatus());
}
-
+ resetFlag = false;
return true;
} else {
OutputQueue.STE.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());
//鍐欏叆澶辫触鍚庯紝閲嶆柊娣诲姞commanddao 浠诲姟闃熷垪涓�,骞剁珛鍗冲洖璇讳竴娆¤澶囩姸鎬�
- MessageQueue.offer(SlaveType.Ste, slave.getId(), new Task(2, command));
- readStatus();
+// MessageQueue.offer(SlaveType.Ste, slave.getId(), new Task(2, command));
+// readStatus();
initSte();
return false;
--
Gitblit v1.9.1