From 95e2f4d9b37f4fd7e99d67976a811fba79427a3e Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 21 一月 2025 14:37:45 +0800 Subject: [PATCH] 通信中间件,重新编写下发命令是否可执行的判断逻辑 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java | 17 ++++++++++++----- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java index 3507b29..1351b72 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java @@ -25,7 +25,7 @@ public boolean isSendFirst;//浼樺厛鍏朵粬鍙戦�侊紝渚嬪鍚勫懡浠ょ殑搴旂瓟 public boolean isQuickSend;//閫熷彂鍛戒护锛屽嵆涓嶅彈涓嬪彂鏁版嵁鏃堕棿闂撮殧闄愬埗(閫氫俊涓棿浠朵负浣庡姛鑰楁椂璧蜂綔鐢�) - public boolean isFastCom;//閫熷彂鍛戒护锛屼笅鍙戞暟鎹椂闂撮棿闅斿彈灏忓�硷紙閰嶇疆鏂囦欢涓璮astCommandSendInterval锛夐檺鍒讹紙濡傚崌绾у懡浠わ級 + public boolean isFastCom;//蹇�熷懡浠わ紝涓嬪彂鏁版嵁鏃堕棿闂撮殧鍙楀皬鍊硷紙閰嶇疆鏂囦欢涓璮astCommandSendInterval锛夐檺鍒讹紙濡傚崌绾у懡浠わ級 //public Object param ;//缂撳瓨涓�浜涙暟鎹紝渚嬪涓哄吋瀹圭帇宸ワ紙姹熸捣锛夊崗璁笌闈虫�诲崗璁紙铏氭嫙IC鍗$紪鍙烽暱搴︿笉涓�鑷达級锛屾妸涓嶅吋瀹圭殑铏氭嫙IC鍗$紪鍙风殑鍓嶅崐閮ㄥ垎鏀惧叆姝ゅ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java index 7d2fa9b..b754cd8 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java @@ -72,15 +72,22 @@ return false ; } - Long lastSendStamp = tcpSe.lastDownComTime ; + Long lastDownComTime = tcpSe.lastDownComTime ; boolean nowSend = false ; - if(this.result.isQuickSend || lastSendStamp == null || (this.result.isFastCom && now - lastSendStamp >= ServerProperties.fastCommandSendInterval)){ - //鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛屽綋鍓嶆槸閫熷彂鍛戒护锛屾垨鑰呮槸蹇�熷懡浠よ秴杩囧懡浠や笅鍙戦棿闅旓紝浠ヤ笂婊¤冻鍙戦�佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠� + if(this.result.isQuickSend){ + //鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛岀涓婅鏁版嵁鏃跺埢涓嶈繎锛屽綋鍓嶆槸閫熷彂鍛戒护锛屾弧瓒冲彂閫佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠� nowSend = true ; - }else if(this.result.isQuickSend || lastSendStamp == null || (now - lastSendStamp >= ServerProperties.commandSendInterval)) { - //鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛屽綋鍓嶆槸閫熷彂鍛戒护锛屾垨鑰呮槸鍛戒护瓒呰繃鍛戒护涓嬪彂闂撮殧锛屼互涓婃弧瓒冲彂閫佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠� + }else if(lastDownComTime == null){ + //鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛岀涓婅鏁版嵁鏃跺埢涓嶈繎锛屽綋鍓峈TU涓婄嚎浠ユ潵鏈浘涓嬪彂杩囧懡浠わ紝婊¤冻鍙戦�佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠� + nowSend = true ; + }else if(this.result.isFastCom && now - lastDownComTime >= ServerProperties.fastCommandSendInterval){ + //鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛岀涓婅鏁版嵁鏃跺埢涓嶈繎锛孯TU涓婄嚎浠ユ潵鏇句笅鍙戣繃鍛戒护锛屽綋鍓嶅懡浠ゆ槸蹇�熷懡浠や笖瓒呰繃鍛戒护涓嬪彂闂撮殧锛屾弧瓒冲彂閫佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠� + nowSend = true ; + }else if(!this.result.isFastCom && now - lastDownComTime >= ServerProperties.commandSendInterval){ + //鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛岀涓婅鏁版嵁鏃跺埢涓嶈繎锛孯TU涓婄嚎浠ユ潵鏇句笅鍙戣繃鍛戒护锛屽綋鍓嶅懡浠ら潪蹇�熷懡浠わ紝RTU涓嬪彂鍛戒护闂撮殧瓒呰繃鍛戒护涓嬪彂闂撮殧锛屾弧瓒冲彂閫佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠� nowSend = true ; } + if(nowSend){ tcpSe.ioSession.write(this.result.downBuffer) ; tcpSe.lastDownComTime = now ; -- Gitblit v1.8.0