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