Modbus4j 是一個 Java 庫,用于實現 Modbus 通信協議。要配置連接參數,您需要創建一個 ModbusConnectionConfig
對象并設置相關屬性。以下是一個簡單的示例,展示了如何配置連接參數:
import org.modbus4j.ModbusConnectionConfig;
import org.modbus4j.io.ModbusTCPTransaction;
import org.modbus4j.io.ModbusSerialTransaction;
import org.modbus4j.io.ModbusTransaction;
public class ModbusConfigExample {
public static void main(String[] args) {
// 創建 ModbusTCP 連接配置
ModbusConnectionConfig tcpConfig = new ModbusConnectionConfig();
tcpConfig.setHost("192.168.1.100"); // 設置服務器 IP 地址
tcpConfig.setPort(502); // 設置服務器端口
tcpConfig.setUnitID(1); // 設置從站 ID(Modbus 地址)
// 創建 Modbus 事務
ModbusTransaction transaction = null;
try {
// 使用 TCP 連接配置創建 ModbusTCP 事務
transaction = new ModbusTCPTransaction(tcpConfig);
// 執行讀取操作(例如:讀取寄存器)
transaction.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (transaction != null) {
try {
transaction.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 創建 ModbusSerial 連接配置(適用于串行通信)
ModbusConnectionConfig serialConfig = new ModbusConnectionConfig();
serialConfig.setPort("/dev/ttyUSB0"); // 設置串口設備路徑(例如:/dev/ttyUSB0)
serialConfig.setBaudRate(9600); // 設置波特率
serialConfig.setDataBits(8); // 設置數據位
serialConfig.setParity("NONE"); // 設置校驗位
serialConfig.setStopBits(1); // 設置停止位
serialConfig.setUnitID(1); // 設置從站 ID(Modbus 地址)
// 使用串行連接配置創建 ModbusSerial 事務
transaction = null;
try {
transaction = new ModbusSerialTransaction(serialConfig);
// 執行讀取操作(例如:讀取寄存器)
transaction.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (transaction != null) {
try {
transaction.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
在這個示例中,我們分別創建了 ModbusTCP 和 ModbusSerial 連接配置對象,并設置了相應的連接參數。然后,我們使用這些配置創建 Modbus 事務并執行讀取操作。請根據您的實際需求修改連接參數。