modbus4j无法连接

问题描述 投票:0回答:1

我正在寻找Java的Modbus TCP库,并带有选择SlaveID的选项。我试图使用modbus4j库,但无法连接。

java modbus
1个回答
0
投票

下面是我的代码和错误。使用jlibmodbus库,连接到设备。

package modbusTest;
import com.serotonin.modbus4j.ModbusFactory;
import com.serotonin.modbus4j.ModbusMaster;
import com.serotonin.modbus4j.ip.IpParameters;
import com.serotonin.modbus4j.code.DataType;
import com.serotonin.modbus4j.code.RegisterRange;

public class ModbusTest {
    public static void main(String[] args) {        
            try {
                int slaveId = 247;
                int noRegistry=0;
                short getValue;
                ModbusFactory factory = new ModbusFactory();        
                IpParameters par = new IpParameters();
                par.setHost("192.168.0.65");
                par.setPort(502);
                ModbusMaster master = factory.createTcpMaster(par, true);           
                master.setTimeout(1000);
                System.out.println("Inicjalize Master");          
                master.init();        
                if(master.isInitialized()) {
                    System.out.println("master OK!");                               
                    getValue = (short)master.getValue(slaveId, RegisterRange.HOLDING_REGISTER, noRegistry, DataType.TWO_BYTE_INT_SIGNED);           
                    }
                }
            catch(Exception e) {
                System.out.println(e.toString());
                e.printStackTrace();
                System.exit(0);
                }
            }
}
Exception in thread "main" java.lang.NoClassDefFoundError: com/serotonin/messaging/MessagingExceptionHandler
    at com.serotonin.modbus4j.ModbusFactory.createTcpMaster(ModbusFactory.java:27)
    at modbusTest.ModbusTest.main(ModbusTest.java:18)
Caused by: java.lang.ClassNotFoundException: com.serotonin.messaging.MessagingExceptionHandler
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more
© www.soinside.com 2019 - 2024. All rights reserved.