public class ModbusMasterDemo {
final static private int SLAVE_ID = 1;
public static void main(String[] args) {
try {
SerialParameters masterSerialParameters = new SerialParameters();
SerialUtils.setSerialPortFactory(new SerialPortFactoryJSerialComm());
Hi! I've tested your code it works if I use JSSC library. There are some problems with jSerialComm library. Could you try using JSSC? Does your application work with JSSC?
here is my code : salve : package com.ztrx.liftgate.screen;
import com.intelligt.modbus.jlibmodbus.data.ModbusHoldingRegisters; import com.intelligt.modbus.jlibmodbus.exception.IllegalDataAddressException; import com.intelligt.modbus.jlibmodbus.exception.ModbusIOException; import com.intelligt.modbus.jlibmodbus.serial.*; import com.intelligt.modbus.jlibmodbus.slave.ModbusSlave; import com.intelligt.modbus.jlibmodbus.slave.ModbusSlaveFactory; import com.ztrx.liftgate.screen.service.ModbusRTUSlaveService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean;
import javax.annotation.PostConstruct; import java.nio.charset.StandardCharsets; import java.util.logging.Logger;
@SpringBootApplication public class ScreenApplication {
}
master : package org.example.demo;
import com.intelligt.modbus.jlibmodbus.exception.ModbusIOException; import com.intelligt.modbus.jlibmodbus.exception.ModbusNumberException; import com.intelligt.modbus.jlibmodbus.exception.ModbusProtocolException; import com.intelligt.modbus.jlibmodbus.master.ModbusMaster; import com.intelligt.modbus.jlibmodbus.master.ModbusMasterFactory; import com.intelligt.modbus.jlibmodbus.msg.request.WriteMultipleRegistersRequest; import com.intelligt.modbus.jlibmodbus.serial.*;
import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets;
public class ModbusMasterDemo { final static private int SLAVE_ID = 1; public static void main(String[] args) { try { SerialParameters masterSerialParameters = new SerialParameters(); SerialUtils.setSerialPortFactory(new SerialPortFactoryJSerialComm());
}