package com.modbus.data; import com.serotonin.modbus4j.ModbusFactory; import com.serotonin.modbus4j.ModbusMaster; import com.serotonin.modbus4j.exception.ModbusInitException; import com.serotonin.modbus4j.ip.IpParameters; public class MyModbusFactory { private static final int SERVER_PORT = 502; //·þÎñ¶Ë¿Ú static ModbusFactory modbusFactory; static { if (modbusFactory == null) { modbusFactory = new ModbusFactory(); } } /** * »ñÈ¡master * * @return * @throws ModbusInitException */ public static ModbusMaster getMaster(IpParameters params){ // modbusFactory.createRtuMaster(wapper); //RTU ЭÒé // modbusFactory.createUdpMaster(params); //UDP ЭÒé // modbusFactory.createAsciiMaster(wrapper); //ASCII ЭÒé params.setPort(SERVER_PORT); ModbusMaster master = modbusFactory.createTcpMaster(params, false);// TCP ЭÒé try { master.setTimeout(2000); master.init(); } catch (ModbusInitException e) { e.printStackTrace(); } return master; } }