Beispielcode für die Implementierung von Modbus TCP-Server auf Java mit der Jamod-Bibliothek

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Beispielcode für die Implementierung von Modbus TCP-Server auf Java mit der Jamod-Bibliothek

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;
import java.net.UnknownHostException;

public class ModbusTCPServerExample {

  public static void main(String[] args) {

    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();

      // 创建ModbusTCPListener对象,监听指定端口
      ModbusTCPListener listener = new ModbusTCPListener(1);
      listener.setAddress(addr);
      listener.open();

      // 打印服务器信息
      System.out.println("Modbus TCP server running at " + ipAddress + ":" + Modbus.DEFAULT_PORT);

    } catch (UnknownHostException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Dieser Beispielcode erstellt einen einfachen Modbus-TCP - Server, der eine SimpleProcessImage verwendet, die die ModbusSlave-Schnittstelle implementiert, um Daten zu speichern. SimpleProcessImage besteht aus einem digitalen Ausgang, einem digitalen Eingang, einem Eingangsregister und einem Haltenregister. In der main-Funktion erstellen Sie zunächst ein SimpleProcessImage und setzen Sie es dann als Prozessimage für ModbusCoupler fest. Setzen Sie dann den Master / Slave-Modus des ModbusCouplers auf den Slave-Modus und legen Sie die Unit-ID auf 1. Als nächstes erhalten Sie die lokale IP-Adresse und verwenden Sie das Modbus TCPListener-Objekt, um den Standardport zu überwachen (502). Schließlich drucken Sie die Serverinformationen aus.

Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.