
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最常用
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)