在Java中如何实现Modbus TCP客户端和服务器

   2024-10-01 2950
核心提示:在Java中实现Modbus TCP客户端和服务器可以使用第三方库如jamod或者j2mod来实现。以下是一个简单的示例:使用jamod库实现Modbus

在Java中实现Modbus TCP客户端和服务器可以使用第三方库如jamod或者j2mod来实现。以下是一个简单的示例:

使用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();        }    }}
使用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客户端和服务器功能。你也可以根据需要进一步扩展和定制功能。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号