CZT
2023-10-07 a376b30e63684f1a0f5b7f45322801be9145c09f
igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java
@@ -10,9 +10,6 @@
import com.serotonin.modbus4j.locator.BaseLocator;
import com.serotonin.modbus4j.msg.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.HashMap;
/**
 * @Desc: 工具类
@@ -25,13 +22,10 @@
    //从机默认值
    private static Integer slaveId = 1;
    private static HashMap<String, ModbusMaster> masterMap = new HashMap<>();
    /**
     * 工厂
     */
    static ModbusFactory modbusFactory;
    //static ModbusMaster modbusMaster;
    static {
        if (modbusFactory == null) {
@@ -46,23 +40,17 @@
     * @return
     */
    public static ModbusMaster getMaster(String ip, int port) throws ModbusInitException, InterruptedException {
        String key = ip;
//        ModbusMaster modbusMaster = masterMap.get(key);
//        if (modbusMaster == null || !modbusMaster.isConnected()) {
            IpParameters ipParameters = new IpParameters();
            ipParameters.setHost(ip);
            ipParameters.setPort(port);
        IpParameters ipParameters = new IpParameters();
        ipParameters.setHost(ip);
        ipParameters.setPort(port);
        ModbusMaster modbusMaster = modbusFactory.createTcpMaster(ipParameters, false);
            modbusMaster.init();
        modbusMaster.init();
            //初始化之后等待,避免出现连接未创建
            Thread.sleep(2500);
        //初始化之后等待,避免出现连接未创建
        Thread.sleep(2500);
//            masterMap.put(key, modbusMaster);
            return modbusMaster;
//        }
//        return modbusMaster;
        return modbusMaster;
    }