RS485设备通讯modbus协议,原来也可以这么简单

484 阅读1分钟

背景

收到一个灯控设备(智能照明),写的是RS485/232转以太网,发送的指令文档写的modbus指令,之前也听过modbus一直以为是和Netty,Mqtt 类似的东西;所以去搜索,官网也提供了一种java 技术叫Modebus4j , 搜了一下746个start,有点低啊,并且没有相关文档,代码注释也不完善。就这样研究了半天时间。

解决过程

最后我同事给我指点,你写个TCP就行了啊,没必要用它这个; 立马去试,4行代码搞定

Socket socket = new Socket("192.168.31.61", 1000);
OutputStream output = socket.getOutputStream();
byte[] open = HexUtil.decodeHex("01 10 01 02 00 04 08 00 00 00 00 00 FF 00 FF 3D4C");
output.write(open);

理一下modbus 是什么 RS485又是什么?

RS-485其实是一个物理接口,相当于硬件;Modbus则是一种国际标准的通讯协议,用于在不同的设备之间交换数据,所谓Modbus通讯协议,就好比我们人类的语言,相当于软件。

总结一下调试工具

1.串口转网络调试助手 USR-TCP232-Test-V1.3.exe

image.png

2.调试工具下载地址

链接:pan.baidu.com/s/1GdSa-wEP… 提取码:0pxw