MODBUS通讯实例教程
一.实验前准备工作:
1.1工具:
●电脑1台;
●USB转232数据线1根(每个品牌型号驱动不一样,必须对应安装USB转232驱动);
●232转485接头1个;
●带MODBUS仪表1块。
注:1.实验前必须确保数据线正常,建议准备两根相同的数据线及232转485接头。
https://www.sodocs.net/doc/5710230992.html,B转232驱动安装好,在设备管理器中查看,设备端口及端口号。(图-1)
图-1
1.2功能码:
●03:读保持寄存器
●04:读输入寄存器
●06:写单个保持寄存器
●10:写多个保持寄存器
?仪表通讯地址:1/9600/8N1(参数必须一一对应,O奇校验/E偶校验/N无校验)。
二.用串口调试软件与设备通讯(ComMonitor.ex
e)调试软件保存在桌面可使用。
注:在使用串口“ComMonitor”软件时,必须用“管理员身份运行”
2.1读取仪表起始值为第1个数据,读1个数据
[发送]010300000001840A注释:数据中0000为读取的起始值,0001读取寄存器的个数。
[接收]010*******B9D4注释:数据中02为读取的字节个数,0100读取的两个字节。
2.2读取仪表起始值为第3个数据,读2个数据
[发送]01030002000265CB注释:数据中0002为读取的起始值,0002读取寄存器的个数。[接收]01030403000400F8B7注释:数据中04为读取的字节个数,03000400读取的4个字节。
2.3读取仪表起始值为第1个数据,读10个数据(转化为16进制是0A)
[发送]010********A C5CD注释:数据中0000为读取的起始值,000A读取寄存器的个数。[接收]0103140100020003000400050006000700080009001000D8DA
注释:数据中14(16进制)为读取字节个数。转换为10进制为20.意思就是读取到20个字节,010002 0003000400050006000700080009001000为10个寄存器数据。
2.4写仪表起始值为第1个数据,写1个数据(数据为0F十进制为15)
[发送]010********F C9CE注释:数据中0000为起始数据;000F写的数据
[接收]010********F C9CE
2.5写仪表起始值为第5个数据,写1个数据(数据为64十进制为100)
[发送]010*********C9E0注释:数据中0004为起始数据;0064写的数据。
[接收]010*********C9E0
2.6写仪表起始值为第3个数据,写10个寄存器
[发送]01100002000A14000100020003000400050006000700080009000A E5E5注释:数据中0002为起始数据;000A写的寄存器个数,14写的字节个数,000100020003000400 050006000700080009000A为10个寄存器数据,20个字节。
[接收]01100002000A E1CE