liurunyu
2024-11-18 e586b5c608bd8b8c75d254e9d2b1f432ce1e3169
RTU模拟器,模块上报数据,代码优化
5个文件已修改
92 ■■■■ 已修改文件
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/PipIrrMwTestRtuApplication.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/说明.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/PipIrrMwTestRtuApplication.java
@@ -1,6 +1,7 @@
package com.dy.pipIrrMwTestRtu;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -22,7 +23,8 @@
                        "com.dy.common.mybatis..*",
                        "com.dy.common.singleDataSource..*",
                        "com.dy.common.webFilter..*",
                        "com.dy.common.webListener..*"
                        "com.dy.common.webListener..*",
                        "com.dy.pipIrrGlobal.webCtrls..*"
                })
        }
)
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/Server.java
@@ -6,6 +6,7 @@
import com.dy.pipIrrMwTestRtu.tcpClient.TcpClUnitConfigVo;
import org.jdom2.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Component;
@@ -22,6 +23,10 @@
public class Server {
    @Autowired
    protected ResourceLoader resourceLoader ;
    @Value("${server.port}")
    private Integer webPort ;
    @Value("${server.servlet.context-path}")
    private String webContext ;
    private ConfigXml4Springboot conf = null ;
    private Document doc = null ;
@@ -76,11 +81,11 @@
            System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@") ;
            if(this.mwServerUrl != null){
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       ä¸­é—´ä»¶æœåŠ¡ç«¯ " + this.mwServerUrl ) ;
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       è¿œç¨‹ä¸­é—´ä»¶æœåŠ¡ç«¯ " + this.mwServerUrl ) ;
            }else{
                System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@") ;
            }
            System.out.println("@@@@@@$      #@@@@@@@@@$     &@@@@@@@@" ) ;
            System.out.println("@@@@@@$      #@@@@@@@@@$     &@@@@@@@@       æœ¬åœ°web服务端http://[ip]:" + this.webPort + this.webContext ) ;
            System.out.println("@@@@@@@@@@@@@@@@@@@@@@#      &@@@@@@@@       Runing in standalone mode" ) ;
            System.out.println("@@@@@@@@@@@@@@@@@@@@@&       &@@@@@@@@       Startup in " + (System.currentTimeMillis() - start) + " MS" ) ;
            System.out.println("@@@@@@@@@@@@@@@@@@@#         &@@@@@@@@       " + company) ;
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/java/com/dy/pipIrrMwTestRtu/tcpClient/TcpClUnit.java
@@ -54,49 +54,46 @@
    }
    private void doStart(){
        new Thread(new Runnable(){
            @Override
            public void run() {
                Exception ex = null ;
                while(true){
                    ex = null ;
                    try {
                        new TcpConnect().createSession(
                                confVo.mwServerIp,
                                confVo.mwServerPort,
                                confVo.connectTimeout,
                                new TcpHandler(),
                                new Callback() {
                                    @Override
                                    public void call(Object obj) {
                                        if (obj == null) {
                                            log.error("创建网络会话返回为null");
                                        } else {
                                            TcpClUnit.session = (IoSession) obj;
                                            log.info("成功创建与通信中间件的网络连接");
                                            UpData.setSession(TcpClUnit.session);
                                            heartBeat() ;
                                        }
        new Thread(() -> {
            Exception ex ;
            while(true){
                ex = null ;
                try {
                    new TcpConnect().createSession(
                            confVo.mwServerIp,
                            confVo.mwServerPort,
                            confVo.connectTimeout,
                            new TcpHandler(),
                            new Callback() {
                                @Override
                                public void call(Object obj) {
                                    if (obj == null) {
                                        log.error("创建网络会话返回为null");
                                    } else {
                                        TcpClUnit.session = (IoSession) obj;
                                        log.info("成功创建与通信中间件的网络连接");
                                        UpData.setSession(TcpClUnit.session);
                                        heartBeat() ;
                                    }
                                }
                                    @Override
                                    public void call(Object... objs) {
                                    }
                                @Override
                                public void call(Object... objs) {
                                }
                                    @Override
                                    public void exception(Exception e) {
                                    }
                                });
                                @Override
                                public void exception(Exception e) {
                                }
                            });
                }catch (Exception e){
                   ex = e ;
                }
                if(ex == null){
                    break ;
                }else{
                    try{
                        Thread.sleep(100);
                    }catch (Exception e){
                       ex = e ;
                    }
                    if(ex == null){
                        break ;
                    }else{
                        try{
                            Thread.sleep(100);
                        }catch (Exception e){
                        }
                    }
                }
            }
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/src/main/resources/Config.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
    <server name="RTU模拟器" showStartInfo="true" company="http://www.dyjs.com"/>
    <server name="RTU升级模拟器" showStartInfo="true" company="http://www.dyjs.com"/>
    <base rtuAddr="532328059995" onlyOneHeartBeat="true" icCardAddr="3B7D1E1A" icCardNo="61181622830147821"></base>
    <!-- -->
pipIrr-platform/pipIrr-web/pipIrr-mwTest-rtu/˵Ã÷.txt
@@ -1 +1 @@
RTU模拟器
RTU模拟器,其实现Restfull接口,由web端调用触发使其模拟RTU上报指定的功能码数据