Jamodライブラリを使用したJavaベースのModbus TCP Server実装のサンプルコード

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

Jamodライブラリを使用したJavaベースのModbus TCP Server実装のサンプルコード

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。最後に、サーバ情報を印刷します。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.