From cd0d7f565f583b6575ac5801d69049b6de17c7e4 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 29 十二月 2023 11:40:52 +0800
Subject: [PATCH] 1、接入中间件代码完善; 2、继续实现通信协议5个功能码。
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuUpTask.java | 62 ++++++++++++++++---------------
1 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuUpTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuUpTask.java
index 802461e..7415685 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuUpTask.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/tasks/RtuUpTask.java
@@ -14,19 +14,19 @@
import com.dy.common.mw.protocol.Driver;
import com.dy.common.mw.protocol.OnLine;
import com.dy.common.mw.protocol.OnLineHandle;
-import com.dy.common.mw.protocol.ProtocolCach;
+import com.dy.common.mw.protocol.ProtocolCache;
import com.dy.aceMw.server.ServerProperties;
import com.dy.aceMw.server.forTcp.RtuLogDealer;
import com.dy.aceMw.server.forTcp.RtuStatusDealer;
-import com.dy.aceMw.server.forTcp.TcpSessionCach;
+import com.dy.aceMw.server.forTcp.TcpSessionCache;
import com.dy.common.util.ByteUtil;
public class RtuUpTask extends CoreTask {
- private static Logger log = LogManager.getLogger(RtuUpTask.class.getName());
+ private static final Logger log = LogManager.getLogger(RtuUpTask.class.getName());
@Override
- public Integer excute() {
+ public Integer execute() {
Object[] os = (Object[])this.data ;
IoSession session = (IoSession)os[0] ;
byte[] upBuf = (byte[])os[1] ;
@@ -40,8 +40,8 @@
/**
* RTU涓婅鏁版嵁
- * @param session
- * @param upBuf
+ * @param session IO浼氳瘽
+ * @param upBuf 涓婅鏁版嵁
*/
private void upData(IoSession session, byte[] upBuf) throws Exception{
if(upBuf == null){
@@ -63,7 +63,7 @@
//璇存槑鍒氬缓绔嬬綉缁滆繛鎺ワ紝姝ゆ暟鎹簲璇ユ槸涓婄嚎鏁版嵁
isOnLine = true ;
String[] rtuAddrProtocolName = this.parseOnLine(session, upBuf) ;
- if(rtuAddrProtocolName != null && rtuAddrProtocolName.length == 2){
+ if(rtuAddrProtocolName.length == 2){
//瑙f瀽涓婄嚎鏁版嵁鎴愬姛锛屽苟瑙f瀽鍑篟TU鍦板潃鍙婇�氫俊鍗忚鍚嶇О
rtuAddr = rtuAddrProtocolName[0] ;
protocolName = rtuAddrProtocolName[1] ;
@@ -72,20 +72,20 @@
//璁剧疆session鐨勫睘鎬D
TcpUnit.getInstance().setIoSessionArrId(session, rtuAddr);
//缂撳瓨session
- TcpSessionCach.putNewTcpSession(rtuAddr, protocolName, session);
+ TcpSessionCache.putNewTcpSession(rtuAddr, protocolName, session);
- log.info("RTU(鍦板潃锛�" + rtuAddr + ")涓婄嚎浜嗐��") ;
+ log.info("RTU(鍦板潃锛�" + rtuAddr + "锛屽崗璁細" + protocolName + ")涓婄嚎浜嗐��") ;
}
}
}
if(rtuAddr != null){
if(protocolName == null){
- protocolName = TcpSessionCach.getTcpProtocolName(rtuAddr) ;
+ protocolName = TcpSessionCache.getTcpProtocolName(rtuAddr) ;
}
//璁剧疆鏀跺埌鏁版嵁鏃跺埢
- TcpSessionCach.cachUpDataTime(rtuAddr);
+ TcpSessionCache.cacheUpDataTime(rtuAddr);
if(protocolName != null){
//瀵逛笂琛屾暟鎹繘琛屽鐞�
@@ -96,8 +96,8 @@
/**
* 瑙f瀽涓婄嚎鏁版嵁
- * @param session
- * @param upBuf
+ * @param session IO浼氳瘽
+ * @param upBuf 涓婅鏁版嵁
*/
private String[] parseOnLine(IoSession session, byte[] upBuf){
String rtuAddr = null ;
@@ -135,45 +135,47 @@
/**
* 澶勭悊涓婅鏁版嵁
- * @param session
- * @param rtuAddr
- * @param upBuf
- * @param upHex
- * @throws Exception
+ * @param session IO浼氳瘽
+ * @param rtuAddrAtHead 鎺у埗鍣ㄥ湴鍧�澶撮儴
+ * @param protocolName 鍗忚鍚嶇О
+ * @param isOnLine 鏄惁涓婄嚎鏁版嵁
+ * @param upBuf 涓婅鏁版嵁
+ * @param upHex 涓婅鏁版嵁
+ * @throws Exception 寮傚父
*/
private void dealUpData(IoSession session, String rtuAddrAtHead, String protocolName, boolean isOnLine, byte[] upBuf, String upHex) throws Exception{
- Driver dri = ProtocolCach.getDriver(protocolName) ;
+ Driver dri = ProtocolCache.getDriver(protocolName) ;
if(dri == null){
log.error("涓ラ噸閿欒锛屾湭鑳藉緱鍒板崗璁�" + protocolName + "椹卞姩绫诲疄渚嬶紒");
}else{
- MidResult[] midRses = dri.parseData(ServerProperties.isLowPower, rtuAddrAtHead, upBuf, upHex, new DriverParserDataCallback(){
+ MidResult[] midRs = dri.parseData(ServerProperties.isLowPower, rtuAddrAtHead, upBuf, upHex, new DriverParserDataCallback(){
@Override
- public void callback(String rtuAddrAtHead, String meterNoAtHead, String code, String upHex, Boolean reportOrResponse_trueOrFalse, boolean parseFail, String rtuAddrInData, String meterNoInData) {
+ public void callback(String rtuAddrAtHead, String code, String upHex, Boolean reportOrResponse_trueOrFalse, boolean parseFail, String rtuAddrInData) {
//鏇存柊缁堢鐘舵��
if(rtuAddrInData != null && !rtuAddrInData.equals(rtuAddrAtHead)){
//鏁版嵁澶翠腑鐨凴TU鍦板潃涓庢暟鎹腑鐨凴TU鍦板潃涓嶄竴鑷达紝鏇存崲鎴愭暟鎹腑鐨凴TU鍦板潃
- TcpSessionCach.changeRtuAddr(rtuAddrAtHead, rtuAddrInData, protocolName, session);
+ TcpSessionCache.changeRtuAddr(rtuAddrAtHead, rtuAddrInData, protocolName, session);
session.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey, rtuAddrInData) ;
}
-
- String rtuAddr = null ;
+
+ String rtuAddr ;
if(rtuAddrInData != null){
- rtuAddr = rtuAddrInData ;
+ rtuAddr = rtuAddrInData ;
}else{
rtuAddr = rtuAddrAtHead ;
}
-
+
InetSocketAddress sa = (InetSocketAddress)session.getRemoteAddress() ;
if(isOnLine){
//涓婄嚎浜�
RtuStatusDealer.onLine(rtuAddr, sa.getAddress().getHostAddress(), sa.getPort());
}
- if(reportOrResponse_trueOrFalse != null && reportOrResponse_trueOrFalse.booleanValue()){
+ if(reportOrResponse_trueOrFalse != null && reportOrResponse_trueOrFalse){
RtuStatusDealer.upReport(rtuAddr, upBuf.length) ;
}else{
RtuStatusDealer.upData(rtuAddr, upBuf.length) ;
}
-
+
//璁板綍鏃ュ織
if(parseFail){
RtuLogDealer.log(rtuAddr, (isOnLine?"涓婄嚎鏁版嵁 ":"涓婅鏁版嵁 ") + "" + code + "锛�" + upHex + "锛堣В鏋愬け璐ワ級");
@@ -182,8 +184,8 @@
}
}
}) ;
- if(midRses != null){
- for(MidResult rs : midRses){
+ if(midRs != null){
+ for(MidResult rs : midRs){
rs.action();
}
}
--
Gitblit v1.8.0