Andy.jia
2023-08-17 378bd90e53253245defb4c505e7550ad7e1521f2
调整MODBUS实现类和数据配置
已修改4个文件
已添加1个文件
154 ■■■■ 文件已修改
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/java/com/ld/igds/web/LoginController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/application-pro5325.yml 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-web/src/main/resources/verb-conf.properties 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
@@ -2,6 +2,7 @@
import com.ld.igds.common.CoreDeviceService;
import com.ld.igds.constant.Constant;
import com.ld.igds.constant.DeviceStatus;
import com.ld.igds.io.RemoteControlService;
import com.ld.igds.io.constant.OrderRespEnum;
import com.ld.igds.io.constant.ProtocolEnum;
@@ -58,6 +59,7 @@
            ModbusTcp modbusTcp;
            String[] addr;
            String temp;
            int addrExe = 65535;
            for (ExeDevice exeDevice : deviceList) {
                device = deviceService.getCacheDeviceById(exeDevice.getCompanyId(), exeDevice.getId());
@@ -74,24 +76,35 @@
                //modbus规则:开地址-关地址-停地址-开到位-关到位-开故障-关故障,无地址用N代替
                addr = device.getModbus().split("-");
                temp = addr[0];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpen(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpen(temp);
                temp = addr[1];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrClose(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrClose(temp);
                temp = addr[2];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrStop(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrStop(temp);
                temp = addr[3];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenEnd(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenEnd(temp);
                temp = addr[4];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseEnd(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseEnd(temp);
                temp = addr[5];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenError(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrOpenError(temp);
                temp = addr[6];
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseError(Integer.valueOf(temp));
                if (!Constant.YN_N.equals(temp)) modbusTcp.setAddrCloseError(temp);
                //根据设备目标目标状态,选择需要执行的通道
                if (DeviceStatus.CLOSE.getCode().equals(device.getTargetStatus())) {
                    addrExe = Integer.valueOf(modbusTcp.getAddrClose());
                }
                if(DeviceStatus.OPEN.getCode().equals(device.getTargetStatus())){
                    addrExe = Integer.valueOf(modbusTcp.getAddrOpen());
                }
                //TODO å…¶ä»–状态待定
                //根据设备目标状态,调用MODBUS执行
                modbusUtil.writeCoil(modbusTcp.getIp(), modbusTcp.getPort(), modbusTcp.getAddrOpen(), true);
                modbusUtil.writeCoil(modbusTcp.getIp(), modbusTcp.getPort(),addrExe, true);
            }
        } catch (Exception e) {
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/data/ModbusTcp.java
@@ -18,18 +18,39 @@
    private int port;
    private int addrOpen;
    /**
     * å¼€åœ°å€
     **/
    private String addrOpen = "65535";
    private int addrClose;
    /**
     * å…³åœ°å€
     **/
    private String addrClose = "65535";
    private int addrStop;
    /**
     * åœåœ°å€
     **/
    private String addrStop = "65535";
    private int addrOpenEnd;
    /**
     * å¼€åˆ°ä½åœ°å€
     **/
    private String addrOpenEnd = "65535";
    private int addrCloseEnd;
    /**
     * å…³åˆ°ä½åœ°å€
     **/
    private String addrCloseEnd = "65535";
    private int addrOpenError;
    /**
     * å¼€æ•…障地址
     **/
    private String addrOpenError = "65535";
    private int addrCloseError;
    /**
     * å…³æ•…障地址
     **/
    private String addrCloseError = "65535";
}
igds-web/src/main/java/com/ld/igds/web/LoginController.java
@@ -8,7 +8,6 @@
import com.ld.igds.io.constant.OrderRespEnum;
import com.ld.igds.io.notify.NotifyWebInvoker;
import com.ld.igds.log.service.HLogLoginService;
import com.ld.igds.models.LogLogin;
import com.ld.igds.sys.service.SysUserService;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.FilesUtil;
igds-web/src/main/resources/application-pro5325.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
##########################  æ±Ÿè¥¿èµ£å·žé¡¹ç›®   ##########################
server:
  port: 8888
  context-path: /
  connection-timeout: 5000
  tomcat:
    uri-encoding: UTF-8
##########################  datasourcec   ##########################
spring:
  datasource:
    db-base:
      name: db-base
      type: com.alibaba.druid.pool.DruidDataSource
      url: jdbc:mysql://127.0.0.1:3306/igds_master?useUnicode=true&characterEncoding=utf-8
      driver-class-name: com.mysql.jdbc.Driver
      username: root
      password: ukJp12Qf+elyBvGHkJ5MQMa95pfVm0oFBHefdEgDFKoFSjbgYa9PYfv5vlem5nvoXjQsP9tIIo53DvSbsl160Q==
      public-key:
      config-decrypt: true
      initial-size:  5
      min-idle:  5
      max-active:  50
      max-wait: 60000
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      validation-query: select 1 from dual
      test-whileIdle: true
      test-on-borrow: false
      test-on-return: false
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      filters: stat
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      use-global-data-source-stat: true
      removeAbandoned: true
      removeAbandonedTimeout: 90
      logAbandoned: true
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
    db-sqlite:
      name: db-sqlite
      url: jdbc:sqlite:D:/app/igds/db/iot_cfg.db
      driver-class-name: org.sqlite.JDBC
      type: com.alibaba.druid.pool.DruidDataSource
      username:
      password:
  # Redis相关配置
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: Abc123..
    # è¿žæŽ¥æ± æœ€å¤§è¿žæŽ¥æ•°ï¼ˆä½¿ç”¨è´Ÿå€¼è¡¨ç¤ºæ²¡æœ‰é™åˆ¶ï¼‰
    pool:
      max-active: 200
      max-wait: -1
      max-idle: 10
      min-idle: 0
      timeout: 6000
license:
  subject: ld_license
  publicAlias: publicCert
  storePass: PUBLICFZZYXXJSGFYXGS888888
  licensePath: D:/IGDS/license/license.lic
  publicKeysStorePath: D:/IGDS/license/publicCerts.keystore
##########################  IGDS   ##########################
## ç³»ç»ŸæŽ¥å£è·¯ç”±é…ç½® æ³¨æ„æ•°å­—如果以0开头的话,后台会出现转义,请添加""
igds:
  default:
    companyId: 5328
    sys-name: æ™ºæ…§ç²®åº“管理系统
    logo: logo-default.png
    logo-title: logo-title-default.png
    support: é£Žæ­£è‡´è¿œä¿¡æ¯æŠ€æœ¯è‚¡ä»½æœ‰é™å…¬å¸
    grian-add-point: N
  file-path: D:/IGDS/FILE/
igds-web/src/main/resources/verb-conf.properties
@@ -173,4 +173,9 @@
verb.mapImg.5324_10.a=pfc_a.png
verb.mapImg.5324_10.b=pfc_b.png
verb.mapImg.5324_11.a=pfc_a.png
verb.mapImg.5324_11.b=pfc_b.png
verb.mapImg.5324_11.b=pfc_b.png
## 5325_001
verb.mapImg.5325_001.a=default_pfc_a.png
verb.mapImg.5325_001.b=default_pfc_b.png