I've tested this code to detect a Modbus device ( was discovered by a discovery software) connected to my computer.
but the code throw a null pointer Exception, can someone help me understand it.
public class MasterTest {
public static void main(String[] args) throws Exception {
String commPortId = "/dev/ttyUSB0";
int baudRate = 9600;
int flowControlIn = 0;
int flowControlOut = 0;
int dataBits = 0;
int stopBits = 0;
int parity = 1;
TestSerialPortWrapper wrapper = new TestSerialPortWrapper(commPortId, baudRate, flowControlIn, flowControlOut, dataBits, stopBits, parity);
IpParameters ipParameters = new IpParameters();
ipParameters.setHost("localhost");
ModbusFactory modbusFactory = new ModbusFactory();
ModbusMaster master = modbusFactory.createRtuMaster(wrapper);
try {
master.setTimeout(1000);
master.setRetries(0);
master.init();
int slaveId = 2;
BaseLocator<Number> locator = BaseLocator.holdingRegister(slaveId, 50, DataType.EIGHT_BYTE_INT_UNSIGNED);
master.setValue(locator, 10000000);
System.out.println(master.getValue(locator));
}
finally {
master.destroy();
}
}