基于java的ModbusTCP协议

基于java的ModbusTCP协议,第1张

从机的可以用freemodbus,我用过RTU的,很好用。

TCP的没用过,但freemodbus的代码格式很清晰,移植起来很简单。

http://www.modbus.org/tech.php

另外可以去MODBUS的网站上找找,看有没有合适的库可以用。

引用.jar之后,引用 包或类,就定义变量了

import com.serotonin.modbus4j.ModbusFactory

import com.serotonin.modbus4j.ModbusMaster

import com.serotonin.modbus4j.exception.ModbusInitException

import com.serotonin.modbus4j.exception.ModbusTransportException

import com.serotonin.modbus4j.ip.IpParameters

import com.serotonin.modbus4j.msg.ModbusRequest

import com.serotonin.modbus4j.msg.ModbusResponse

import com.serotonin.modbus4j.msg.ReadHoldingRegistersRequest

import com.serotonin.modbus4j.msg.WriteRegistersRequest

import com.serotonin.modbus4j.msg.WriteRegistersResponse

import com.serotonin.util.queue.ByteQueue

public static void modbusWTCP(String ip, int port, int slaveId, int start, short[] values) {

ModbusFactory modbusFactory = new ModbusFactory()

// 设备ModbusTCP的Ip与端口,如果不设定端口则默认为502

IpParameters params = new IpParameters()

params.setHost(ip)

if (502 != port) {

params.setPort(port)

}// 设置端口,默认502

ModbusMaster tcpMaster = null

// 参数1:IP和端口信息 参数2:保持连接激活

tcpMaster = modbusFactory.createTcpMaster

首先你要明白一个概念,是因为你的真机是Modbus协议的,才需要java通过Modbus协议的库比如Jamod来连真机。

如果你要连的真机不是Modbus协议的,自然不用。

并且Modbus协议的库也不只有一个,只是Jamod最常用


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7845176.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存