91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

在Java中如何實現Modbus TCP客戶端和服務器

小樊
333
2024-08-16 09:10:43
欄目: 云計算

在Java中實現Modbus TCP客戶端和服務器可以使用第三方庫如jamod或者j2mod來實現。以下是一個簡單的示例:

  1. 使用jamod庫實現Modbus TCP客戶端:
import net.wimpi.modbus.Modbus;
import net.wimpi.modbus.net.TCPMasterConnection;
import net.wimpi.modbus.io.ModbusTCPTransaction;
import net.wimpi.modbus.msg.ReadInputDiscretesRequest;
import net.wimpi.modbus.msg.ReadInputDiscretesResponse;
import net.wimpi.modbus.util.ModbusUtil;

public class ModbusTCPClient {
    public static void main(String[] args) {
        try {
            TCPMasterConnection connection = new TCPMasterConnection("127.0.0.1");
            connection.setPort(502);
            connection.connect();

            ReadInputDiscretesRequest request = new ReadInputDiscretesRequest(0, 10);
            ModbusTCPTransaction transaction = new ModbusTCPTransaction(connection);
            transaction.setRequest(request);
            transaction.execute();

            ReadInputDiscretesResponse response = (ReadInputDiscretesResponse) transaction.getResponse();
            if (response != null) {
                for (int i = 0; i < response.getDiscretes().length; i++) {
                    System.out.println("Coil " + i + " = " + response.getDiscretes()[i]);
                }
            }

            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. 使用j2mod庫實現Modbus TCP服務器:
import net.wimpi.modbus.procimg.SimpleDigitalIn;
import net.wimpi.modbus.procimg.SimpleDigitalOut;
import net.wimpi.modbus.procimg.SimpleProcessImage;
import net.wimpi.modbus.ModbusCoupler;
import net.wimpi.modbus.net.TCPListener;

public class ModbusTCPServer {
    public static void main(String[] args) {
        try {
            ModbusCoupler.getReference().setProcessImage(new SimpleProcessImage());
            ModbusCoupler.getReference().getProcessImage().addDigitalOut(new SimpleDigitalOut(true));
            ModbusCoupler.getReference().getProcessImage().addDigitalIn(new SimpleDigitalIn(false));

            TCPListener listener = new TCPListener(1);
            listener.setPort(502);
            listener.start();

            System.out.println("Modbus TCP server running...");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

這些示例代碼可以幫助你快速實現基本的Modbus TCP客戶端和服務器功能。你也可以根據需要進一步擴展和定制功能。

0
板桥市| 宁河县| 阜阳市| 龙井市| 垣曲县| 龙胜| 西安市| 彭州市| 威远县| 平舆县| 保定市| 旺苍县| 东乌珠穆沁旗| 商水县| 迁西县| 井冈山市| 昌江| 伊金霍洛旗| 龙陵县| 凉山| 嘉祥县| 舟曲县| 长治县| 太白县| 南郑县| 永德县| 邮箱| 肃南| 海门市| 张家港市| 太仓市| 垣曲县| 西盟| 曲松县| 罗山县| 封开县| 乌兰浩特市| 博野县| 防城港市| 宜春市| 元阳县|