import net.wimpi.modbus.Modbus;
import net.wimpi.modbus.ModbusCoupler;
import net.wimpi.modbus.io.ModbusTCPListener;
import net.wimpi.modbus.procimg. *;
import net.wimpi.modbus.util. *;
import java. net.InetAddress;
Java. net.UnknownHostException;
public class ModbusTCPExample {
public static main String] s {
Try {
//ModbusSlaveインターフェイスを実装したSimpleProcessImageを作成する
SimpleProcessImage spi = new SimpleProcessImage;
spi.addDigitalOut new SimpleDigitalOut true;
spi.addDigitalIn new SimpleDigitalIn false;
spi.addInputRegister new SimpleInputRegister 45;
spi.addRegister new SimpleRegister 251;
ModbusCoupler.getReference.setProcessImage spi;
ModbusCoupler.getReference.setMaster false;
ModbusCoupler.getReference.setUnitID 1;
//ローカルIPアドレスを取得
InetAddress addr = InetAddress.getLocalHost;
String ipAddress = addr.getHostAddress;
//指定したポートをリッスンするModbusTCListenerオブジェクトを作成する
ModbusTCPListlist = new ModbusTCPList1;
list.setAddress;
listener.open;
//サーバ情報の印刷
System.out.println "Modbus TCP server running at " + ipAddress + "" + Modbus. DEFAULT_PORT;
} catch UnknownHostException e {
e. Stack;
} catch Exception e {
e. Stack;
}
}
}このサンプルコードは、ModbusSlaveインターフェイスを実装したSimpleProcessImageを使用してデータを格納するシンプルなModbus TCPサーバを作成します。SimpleProcessImageは、デジタル出力、デジタル入力、入力レジスタ、および保持レジスタを備えています。main関数では、まずSimpleProcessImageを作成し、次にModbusCouplerのプロシージャイメージに設定します。次に、ModbusCouのマスター/スレーブモードをスレーブモードにし、単位IDを1にします。次に、ローカルIPアドレスを取得し、ModbusTCPListenerオブジェクトを使用してデフォルトポートをリッスンする502。最後に、サーバ情報を印刷します。
Leave a Reply