From fa757510c3857010548f57e3ae3f49af93aecaed Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <xltys1995>
Date: 星期一, 21 二月 2022 16:11:08 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/LedThread.java | 101 +++++++++++++++------------------
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 29 +++++++++
src/main/java/com/zy/asrs/controller/MonitorController.java | 2
3 files changed, 76 insertions(+), 56 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index d482cf0..8977b4f 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -99,7 +99,7 @@
// 鑾峰彇杈撻�佺嚎plc绾跨▼
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
- String ledContent = ledThread.getStringBuffer().toString();
+ String ledContent = ledThread.getWorkNos().toString();
// ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀";
return R.ok(
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 19460b6..80947ba 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1115,6 +1115,8 @@
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
continue;
+ } else {
+ ledThread.setLedMk(false);
}
}
@@ -1144,6 +1146,33 @@
*/
@Async
public void ledReset() {
+// for (LedSlave led : slaveProperties.getLed()) {
+// // 鑾峰彇杈撻�佺嚎plc绾跨▼
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
+// // 鍛戒护闆嗗悎
+// boolean reset = true;
+// for (Integer staNo : led.getStaArr()) {
+// // 鑾峰彇鍙夎溅绔欑偣
+// StaProtocol staProtocol = devpThread.getStation().get(staNo);
+// if (staProtocol == null) {
+// continue;
+// } else {
+// staProtocol = staProtocol.clone();
+// }
+// if (staProtocol.getWorkNo() != 0) {
+// reset = false;
+// break;
+// }
+// }
+// // 鑾峰彇led绾跨▼
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getDevpPlcId());
+// // led鏄剧ず榛樿鍐呭
+// if (reset) {
+// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
+// log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+// }
+// }
+// }
for (LedSlave led : slaveProperties.getLed()) {
// 鑾峰彇杈撻�佺嚎plc绾跨▼
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index deb64fe..de41c18 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -41,7 +41,7 @@
DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
private Set<Integer> workNos = new HashSet<>();
private boolean ledMk = true;
-// private boolean resetStatus = false; // 澶嶄綅鐘舵��
+ private boolean resetStatus = false; // 澶嶄綅鐘舵��
public LedThread(Slave slave) {
this.slave = slave;
@@ -72,10 +72,6 @@
case 2:
reset();
break;
- // 璀﹀憡淇℃伅
- case 3:
- write(String.valueOf(task.getData()));
- break;
default:
break;
}
@@ -89,13 +85,13 @@
}
private void write(List<LedCommand> list) throws Bx5GException {
-// if (!connect()) {
-// return;
-// }
+ if (!connect()) {
+ return;
+ }
pf = new ProgramBxFile( 0, screen.getProfile());
pf.setFrameShow(false);
// 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
- area = new TextCaptionBxArea( 0,0,192,128, screen.getProfile());
+ area = new TextCaptionBxArea( 0,0,96,48, screen.getProfile());
// 鍒涘缓涓�涓暟鎹〉
TextBxPage page = new TextBxPage();
for (LedCommand command : list) {
@@ -111,7 +107,7 @@
}
// 璁剧疆瀛椾綋
- page.setFont(new Font("瀹嬩綋",Font.PLAIN,14));
+ page.setFont(new Font("瀹嬩綋",Font.PLAIN,12));
// 璁剧疆鏂囨湰棰滆壊
page.setForeground(Color.red);
// 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
@@ -119,36 +115,13 @@
area.clearPages();
area.addPage(page);
pf.addArea(area);
- // 鏇存柊鑺傜洰
- screen.writeProgram(pf);
-// resetStatus = false;
- close();
- }
-
- private void write(String str) throws Bx5GException {
-// if (!connect() || Cools.isEmpty(str)) {
-// return;
-// }
- pf = new ProgramBxFile( 0, screen.getProfile());
- pf.setFrameShow(false);
- // 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
- area = new TextCaptionBxArea( 0,0,192,128, screen.getProfile());
- // 鍒涘缓涓�涓暟鎹〉
- TextBxPage page = new TextBxPage();
- page.newLine(str);
- page.newLine("\n");
- // 璁剧疆瀛椾綋
- page.setFont(new Font("瀹嬩綋",Font.PLAIN,14));
- // 璁剧疆鏂囨湰棰滆壊
- page.setForeground(Color.red);
- // 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
- page.setDisplayStyle(styles[6]);
- area.clearPages();
- area.addPage(page);
- pf.addArea(area);
- // 鏇存柊鑺傜洰
- screen.writeProgram(pf);
-// resetStatus = false;
+ if (pf.validate() != null) {
+ log.info("pf out of range");
+ } else {
+ // 鏇存柊鑺傜洰
+ screen.writeProgram(pf);
+// resetStatus = false;
+ }
close();
}
@@ -156,10 +129,13 @@
// if (!connect()) {
// return;
// }
+// if (resetStatus) {
+// return;
+// }
pf = new ProgramBxFile( 0, screen.getProfile());
pf.setFrameShow(false);
// 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eight
- area = new TextCaptionBxArea( 0,0,192,128, screen.getProfile());
+ area = new TextCaptionBxArea( 0,0,96,48, screen.getProfile());
// 鍒涘缓涓�涓暟鎹〉
TextBxPage page = new TextBxPage();
@@ -175,11 +151,11 @@
}
} else {
page.newLine("鑷姩鍖栫珛浣撲粨搴�");
- page.newLine("娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�");
+ page.newLine("瑗挎牸閭佽偂浠芥湁闄愬叕鍙�");
}
// 璁剧疆瀛椾綋
- page.setFont(new Font("瀹嬩綋",Font.PLAIN,15));
+ page.setFont(new Font("瀹嬩綋",Font.PLAIN,13));
// 璁剧疆鏂囨湰棰滆壊
page.setForeground(Color.red);
// 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
@@ -188,7 +164,13 @@
area.addPage(page);
pf.addArea(area);
// 鏇存柊鑺傜洰
- screen.writeProgram(pf);
+ if (pf.validate() != null) {
+ log.info("pf out of range");
+ } else {
+ // 鏇存柊鑺傜洰
+ screen.writeProgram(pf);
+// resetStatus = true;
+ }
close();
}
@@ -198,13 +180,13 @@
try {
connRes = screen.connect(slave.getIp(),slave.getPort());
screen.turnOn();
- if (connRes) {
- log.info("led杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- reset();
- } else {
- log.error("led杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
- }
- } catch (Exception ignore) { }
+ } catch (Exception ignore) {
+ }
+ if (connRes) {
+ log.info("led杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ } else {
+ log.error("led杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ }
return connRes;
}
@@ -219,7 +201,7 @@
Bx5GEnv.initial(3000);
Bx5GScreenClient screen = new Bx5GScreenClient("my");
DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
- if (!screen.connect("192.168.10.61",5005)) {
+ if (!screen.connect("192.168.10.101",5005)) {
System.err.println("杩炴帴澶辫触锛侊紒锛侊紒");
return;
}
@@ -232,7 +214,7 @@
ProgramBxFile pf = new ProgramBxFile( 0, screen.getProfile());
pf.setFrameShow(false);
// 鍒嗗埆杈撳叆X锛孻锛寃idth锛宧eigth
- TextCaptionBxArea area = new TextCaptionBxArea( 0,0,192,128,screen.getProfile());
+ TextCaptionBxArea area = new TextCaptionBxArea( 0,0,192,96,screen.getProfile());
// 鍒涘缓涓�涓暟鎹〉
// 绗竴琛屾暟鎹�
@@ -240,7 +222,9 @@
page.newLine("婧愬簱浣嶏細0100204");
page.newLine("鐩爣绔欙細1000");
// 璁剧疆瀛椾綋
- page.setFont( new Font("瀹嬩綋",Font.PLAIN,12));
+ page.setFont( new Font("瀹嬩綋",Font.PLAIN,15));
+ // 璁剧疆鏂囨湰棰滆壊
+ page.setForeground(Color.red);
// 璁剧疆鏄剧ず鐗规妧涓哄揩閫熸墦鍑�
page.setDisplayStyle(styles[6]);
area.clearPages();
@@ -248,7 +232,14 @@
pf.addArea( area );
// 鏇存柊鑺傜洰
- screen.writeProgram(pf);
+ // 鏇存柊鑺傜洰
+ if (pf.validate() != null) {
+ System.out.println("pf out of range");
+ log.info("pf out of range");
+ } else {
+ // 鏇存柊鑺傜洰
+ screen.writeProgram(pf);
+ }
}
// 缁у紑涓庢帶鍒跺櫒涔嬮棿鐨勯摼鎺�
--
Gitblit v1.9.1