您好,欢迎来到知库网。
搜索
您的当前位置:首页MCGS组态软件对ModBus RTU设备读写命令分析

MCGS组态软件对ModBus RTU设备读写命令分析

来源:知库网


MCGS组态软件对ModBus RTU设备读写命令分析

在PC机MCGS组态软件环境下,编制测试程序通过RS485接口对LG的PLC(ModBus RTU通讯协议)进行继电器、寄存器读写操作(命令类型1、0、3、4),同时利用广州致远LA1032逻辑分析仪对通讯信号进行判读、分析。

1、 继电器类型—1输入继电器(只读)

使用ModBus RTU通讯协议的命令2(Read Input Status)

1-1、设备(PLC)地址=2;继电器地址=1;通道数量=1

主机发出:

02h(设备地址)+ 02h(命令)+ 00h(起始地址Hi)+ 00h(起始地址Lo)

+ 00h(点数Hi)+ 01h(点数Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应:

02h(设备地址)+ 02h(命令)+ 01h(字节数)+ XX h(数据字节)

+XX h(CRC Hi)+ XX h(CRC Lo)

1-2、设备(PLC)地址=2;继电器地址=2;通道数量=3

主机发出:

02h(设备地址)+ 02h(命令)+ 00h(起始地址Hi)+ 01h(起始地址Lo)

+ 00h(点数Hi)+ 03h(点数Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应:

02h(设备地址)+ 02h(命令)+ 01h(字节数)+ XX h(数据字节)

+XX h(CRC Hi)+ XX h(CRC Lo)

2、继电器类型—0输出继电器(读/写)

2-1、读状态时使用ModBus RTU通讯协议的命令1(Read Coil Status),类似于ModBus RTU通讯协议的命令2(Read Input Status)

设备(PLC)地址=2;继电器地址=3;通道数量=4

主机发出:

02h(设备地址)+ 01h(命令)+ 00h(起始地址Hi)+ 02h(起始地址Lo)

+ 00h(点数Hi)+ 04h(点数Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应:

02h(设备地址)+ 01h(命令)+ 01h(字节数)+ XX h(数据字节)

+XX h(CRC Hi)+ XX h(CRC Lo)

2-2、写状态时使用ModBus RTU通讯协议的命令5(Force Single Coil)

置位操作:设备(PLC)地址=1;继电器地址=65;通道数量=2

主机发出1:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 40h(起始地址Lo)

+ ffh(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应1:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 40h(起始地址Lo)

+ ffh(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

主机发出2:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 41h(起始地址Lo)

+ ffh(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应2:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 41h(起始地址Lo)

+ ffh(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

2-3、写状态时使用ModBus RTU通讯协议的命令5(Force Single Coil)

清零操作:设备(PLC)地址=1;继电器地址=65;通道数量=2

主机发出1:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 40h(起始地址Lo)

+ 00h(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应1:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 40h(起始地址Lo)

+ 00h(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

主机发出2:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 41h(起始地址Lo)

+ 00h(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应2:

01h(设备地址)+ 05h(命令)+ 00h(起始地址Hi)+ 41h(起始地址Lo)

+ 00h(写数据Hi)+ 00h(写数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

3、寄存器类型—3输入寄存器(只读)

使用ModBus RTU通讯协议的命令4(Read Input Registers)

3-1、设备(PLC)地址=3;寄存器地址=4;通道数量=4

主机发出:

03h(设备地址)+ 04h(命令)+ 00h(起始地址Hi)+ 02h(起始地址Lo)

+ 00h(点数Hi)+ 04h(点数Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应:

03h(设备地址)+ 04h(命令)+ 08h(字节数)+ XX h(数据1字节Hi)

+ XX h(数据1字节Lo)+ XX h(数据2字节Hi)+ XX h(数据2

字节Lo)+ … XX h(数据4字节Hi)+ XX h(数据4字节Lo)

+XX h(CRC Hi)+ XX h(CRC Lo)

4、寄存器类型—4输入寄存器(只读)

使用ModBus RTU通讯协议的命令3(Read Holding Registers),类似于ModBus RTU通讯协议的命令4(Read Input Registers)

4-1、设备(PLC)地址=1;寄存器地址=2;通道数量=3

主机发出:

01h(设备地址)+ 03h(命令)+ 00h(起始地址Hi)+ 01h(起始地址Lo)

+ 00h(点数Hi)+ 03h(点数Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应:

01h(设备地址)+ 03h(命令)+ 06h(字节数)+ XX h(数据1字节Hi)

+ XX h(数据1字节Lo)+ XX h(数据2字节Hi)+ XX h(数据2

字节Lo)+ XX h(数据3字节Hi)+ XX h(数据3字节Lo)

+XX h(CRC Hi)+ XX h(CRC Lo)

5、寄存器类型—4输入寄存器(读/写)

5-1、当读/写通道数量=1时,读数使用ModBus RTU通讯协议的命令3(Read Holding Registers),写数ModBus RTU通讯协议的命令6(Preset Single Register)

设备(PLC)地址=1;寄存器地址=5;通道数量=1

主机发出1:

01h(设备地址)+ 03h(命令)+ 00h(起始地址Hi)+ 04h(起始地址Lo)

+ 00h(点数Hi)+ 01h(点数Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应1:

01h(设备地址)+ 03h(命令)+ 02h(字节数)+ XX h(数据字节Hi)

+ XX h(数据字节Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

主机发出2:

01h(设备地址)+ 06h(命令)+ 00h(起始地址Hi)+ 04h(起始地址Lo)

+ XXh(数据Hi)+XXh(数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应2:

01h(设备地址)+ 06h(命令)+ 00h(起始地址Hi)+ 04h(起始地址Lo)

+ XXh(数据Hi)+XXh(数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

5-2、当读/写通道数量≠1时,只使用ModBus RTU通讯协议的命令6 (Preset Single Register)

设备(PLC)地址=1;寄存器地址=5;通道数量=2

主机发出1:

01h(设备地址)+ 06h(命令)+ 00h(起始地址Hi)+ 04h(起始地址Lo)

+ XXh(数据Hi)+XXh(数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应1:

01h(设备地址)+ 06h(命令)+ 00h(起始地址Hi)+ 04h(起始地址Lo)

+ XXh(数据Hi)+XXh(数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

主机发出2:

01h(设备地址)+ 06h(命令)+ 00h(起始地址Hi)+ 05h(起始地址Lo)

+ XXh(数据Hi)+XXh(数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

从机响应2:

01h(设备地址)+ 06h(命令)+ 00h(起始地址Hi)+ 05h(起始地址Lo)

+ XXh(数据Hi)+XXh(数据Lo)+XX h(CRC Hi)+ XX h(CRC Lo)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务