<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **modbus在spring boot中的使用,使用modbus4j實現** # pom.xml配置: <!-- 輔助modbus4j:repository id:ias-snapshots id:ias-releases 兩個 --> <repositories> <repository> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> <id>ias-snapshots</id> <name>Infinite Automation Snapshot Repository</name> <url>https://maven.mangoautomation.net/repository/ias-snapshot/</url> </repository> <repository> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>ias-releases</id> <name>Infinite Automation Release Repository</name> <url>https://maven.mangoautomation.net/repository/ias-release/</url> </repository> </repositories> <!-- modbus --> <dependency> <groupId>com.infiniteautomation</groupId> <artifactId>modbus4j</artifactId> <version>3.0.3</version> </dependency> # modbus配置類: package com.induo.common.modbus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import com.induo.domain.mapper.IpControlMapper; import com.serotonin.modbus4j.ModbusFactory; import com.serotonin.modbus4j.ModbusMaster; import com.serotonin.modbus4j.exception.ModbusInitException; import com.serotonin.modbus4j.ip.IpParameters; import java.util.HashMap; @Configuration /* * 使用@Bean,就不用使用@Import來導入相應的類了,@Bean生成的bean的名字默認為方法名,由于hashMap使用很廣泛, * 所以使用@Bean的方式引入依賴,這樣在注入的時候可以指定名稱,以免注入錯誤的對象 * @Import({java.util.HashMap.class,com.serotonin.modbus4j.ModbusFactory.class}) */ @Import(com.serotonin.modbus4j.ModbusFactory.class) public class ModbusConfig { @Bean public HashMap<String, ModbusMaster> modbusMasterHashMap() { return new HashMap<>(); } @Autowired IpControlMapper ipControlMapper; @Autowired private ModbusFactory modbusFactory; @Autowired @Qualifier("modbusMasterHashMap") private HashMap<String,ModbusMaster> masterMap; /** * @Title getMaster * @Description: 通過ip獲取對應的modbus連接器 * @params: [ip] * @return: com.serotonin.modbus4j.ModbusMaster * @author: caiwei * @date: 2019/5/1 13:58 */ public ModbusMaster getMaster(String ip) { ModbusMaster modbusMaster = masterMap.get(ip); if(modbusMaster == null) { setMaster(ip, ipControlMapper.queryControlByIp(ip).getPort()); modbusMaster = masterMap.get(ip); } return modbusMaster; } /** * @Title setMaster * @Description: 設置ip對應的modbus連接器 * @params: [ip, port] * @return: void * @author: caiwei * @date: 2019/5/1 13:59 */ private void setMaster(String ip, Integer port) { ModbusMaster master; IpParameters params = new IpParameters(); params.setHost(ip); params.setPort(port); //設置為true,會導致TimeoutException: request=com.serotonin.modbus4j.ip.encap.EncapMessageRequest@774dfba5", //params.setEncapsulated(true); master = modbusFactory.createTcpMaster(params, false);// TCP 協議 try { //設置超時時間 master.setTimeout(3*1000); //設置重連次數 master.setRetries(3); //初始化 master.init(); } catch (ModbusInitException e) { e.printStackTrace(); } masterMap.put(ip, master); } }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看