工业级无线数传采集终端RTU的MODBUS协议调试详解_第1页
工业级无线数传采集终端RTU的MODBUS协议调试详解_第2页
工业级无线数传采集终端RTU的MODBUS协议调试详解_第3页
工业级无线数传采集终端RTU的MODBUS协议调试详解_第4页
工业级无线数传采集终端RTU的MODBUS协议调试详解_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工业级无线数传采集终端RTU的MODBUS协议调试详解Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。开启MODUBS配置:测试之前首先要在RTU WEB页面里-"服务器参数设置",根据如下图修改配置

2、:注意:要测试的那路要先启用,否则读取到数值可能全为0,有的会回应错误有的不会。打开网络调试助手,开启TCP服务端口27000,等待上线后(若RTU已经在线需重启才能连上,就可以发送数据了,就会得到相应回应!数据回应错误码:00:没有错误01:非法功能码02:非法的数据地址03:非法的数据值04:从机设备故障05:确认06:从设备忙碌07:否定08:内存奇偶校验错以下是测试下发的数据及回应:1.开关输入(读 8路)读开关输入:主机下发命令 读开关输入 读8路01 02 00 00 00 08 79 CC-01 02 01 00 A1 88 /00代表8路全为0-01 02 01 04 A0 4

3、B /04-100 代表3路为高-01 02 01 03 E1 89 /会8路全部读取无论读取的是不是全部 03-11,代表第1-2路为高-01 02 01 0C A1 8D / 0c-1100,代表3-4路为高 13:54 2015-4-13-01 02 01 30 A1 9C / 30-110000,代表5-6路为高注:没有启用的情况下,读取到数值全为0,不会回应错误2.AD模拟输入(读 8路)读AD模拟输入:主机下发命令 读AD输入 读第1路01 04 00 00 00 02 71 CB-01 04 04 00 00 00 00 FB 84 -01 04 04 00 00 0B B1 3

4、C C0 /0B B1 -2993主机下发命令 读AD输入 读第2路01 04 00 02 00 02 D0 0B-01 04 04 00 00 0B B1 3C C0 /2993主机下发命令 读AD输入 读第3路01 04 00 04 00 02 30 0A-01 04 04 00 00 0B B1 3C C0 主机下发命令 读AD输入 读第4路01 04 00 06 00 02 91 CA-01 04 04 00 00 0B B3 BD 01 /0B B3-2995主机下发命令 读AD输入 读第5路01 04 00 08 00 02 F0 09-01 04 04 00 00 01 CB B

5、B 83 主机下发命令 读AD输入 读第6路01 04 00 0A 00 02 51 C9-01 04 04 00 00 01 CC FA 41 主机下发命令 读AD输入 读第7路01 04 00 0C 00 02 B1 C8-01 04 04 00 00 01 CC FA 41 主机下发命令 读AD输入 读第8路01 04 00 0E 00 02 10 08主机下发命令 读AD输入 读全部8路01 04 00 00 00 10 F1 C6-01 04 20 00 00 23 17 00 00 23 0F 00 00 23 18 00 00 22 FD EE 00 00 23 55 00 00

6、 23 1E 00 00 22 F1 00 00 23 24 74 B0 /00 00 23 17-8983,00 00 23 0F-8975,00 00 23 18-8984,00 00 22 FE-8958,00 00 23 55-9045,00 00 23 1E-8990,00 00 22 F1-8945,00 00 23 24-89963.继电器(读写 4路)读继电器:主机下发命令 读继电器 读4路01 01 00 0F 00 04 0d ca-01 01 01 00 51 88 / 00-0,4路继电器都为断开-01 01 01 0F 11 8C / 0f-1111,4路继电器都为闭

7、合-01 01 01 05 91 8B / 05-0101,1、3路继电器为闭合,2、4路断开-01 01 01 0A D1 8F / 0A-1010,2、4路继电器为闭合写继电器:/写继电器 写第1路为断开状态 00016-1=15下发-01 0F 00 0F 00 01 01 00 7A 96 /00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应-01 0F 00 0F 00 01 08 A4 /写继电器 写第2路为断开状态下发-01 0F 00 10 00 01 01 00 ef 54 /00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回

8、应-01 0F 00 10 00 01 CE 95 /写继电器 写第3路为断开状态下发-01 0f 00 11 00 01 01 00 d2 94 /00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应-01 0F 00 11 00 01 0E C4 /写继电器 写第4路为断开状态下发-01 0f 00 12 00 01 01 00 96 94 /00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应-01 0F 00 12 00 01 0E 34 /写继电器 写4路 4路都为断开状态下发-01 0F 00 0F 00 04 01 00 6a 97

9、 /00 0F起始寄存器地址,00 04寄存器的数量,01字节数,00输出值回应-01 0F 00 0F 00 04 0B 64 /写继电器 写4路 4路都为闭合状态下发-01 0F 00 0F 00 04 01 0F 2a 93 回应-01 0F 00 0F 00 04 0B 64 4.数字输出(读写 4路)(数字输出对应的首地址16进行表示0x0037,1路数字输出对应2个寄存器0x0037 代表的是数字输出的当前状态 高电平 低电平 方波1-高电平2- 低电平3- 方波0x0038 代表的是数字输出的方波周期(若不是方波则是00 00)/40056-40001=55,55-37(16进制

10、,数字输出对应的首地址16进行表示0x0037,1路数字输出对应2个寄存器40058-40001=57,57-39(16进制)注意:这里如果配置为上升沿和下降沿,提交之后,再次采集-读取会变成高低电平,这是正常的,因为上升下降只是瞬间。注意:当状态为“方波”时,周期才有效,否则值为0读数字输出:01 03 00 37 00 02 75 c5 /读第1路-01 03 04 00 00 00 01 3B F3 /00 01高电平,00 00周期 当状态为“方波”时,周期才有效,否则值为001 03 00 37 00 02 75 c501 03 00 39 00 02 14 06 /读第2路 /00

11、 03-方波-01 03 04 01 F4 00 03 FA 3C /01 F4-500方波周期,00 03-方波01 03 00 3B 00 02 B5 c6 /读第3路-01 03 04 02 BC 00 03 7A 6E /02 BC-700方波周期,00 03-方波01 03 00 3D 00 02 55 c7 /读第4路-01 03 04 03 20 00 03 BB BC /02 BC-800方波周期,00 03-方波01 03 00 37 00 08 F5 C2 /读1-4路-01 03 10 00 00 00 01 00 00 00 01 00 00 00 01 00 00 0

12、0 01 17 48 /高 高 高 高-01 03 10 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 07 B9 /高 低 低 低-01 03 10 00 C9 00 03 00 C9 00 03 00 C9 00 03 00 C9 00 03 A3 90 /00 03-方波,00 C9-周期201 4路都是一样的 15:48 2015-4-13写数字输出:/写数字输出第1路当前状态 (高低电平、方波、等)修改为高电平 /没有启用的话 会回应错误下发-01 06 00 37 00 01 f9 c4 /06写单个寄存器,00 37当前状态寄存器

13、地址,01-高电平回应-01 06 00 37 00 01 F9 C4 /写数字输出第1路当前状态 (高低电平、方波、等)修改为方波 /没有启用的话 会回应错误下发-01 06 00 37 00 03 78 05 /06写单个寄存器,00 37当前状态寄存器地址,03-方波回应-01 06 00 37 00 03 78 05 /写数字输出第1路(周期)修改周期为32 01 06 00 37 00 21 f8 1c下发-01 06 00 38 00 20 09 df/06写单个寄存器,00 38方波周期寄存器地址,00 20-32周期值回应-01 06 00 38 00 20 09 DF /写数

14、字输出第2路(周期)修改周期为32 下发-01 06 00 3a 00 20 a8 1f/06写单个寄存器,00 3a方波周期寄存器地址,00 20-32周期值回应-01 06 00 3A 00 20 A8 1F /写数字输出第3路(周期)修改周期为32 下发-01 06 00 3c 00 20 48 1e/06写单个寄存器,00 3c方波周期寄存器地址,00 20-32周期值回应-01 06 00 3c 00 20 48 1e/写数字输出第4路(周期)修改周期为32 下发-01 06 00 3e 00 20 e9 de/06写单个寄存器,00 3e方波周期寄存器地址,00 20-32周期值回

15、应-01 06 00 3e 00 20 e9 de/写数字输出 写1路 修改为方波,修改周期为201下发-01 10 00 37 00 02 04 00 c9 00 03 21 62 /00 37寄存器地址,00 02-寄存器的数量,04字节数,00 c9-周期为201,00 03-方波回应-01 10 00 37 00 02 06 F0 /写数字输出 写2路 第一路修改为方波 修改周期为201,修改第二路修改为方波 修改周期为201下发-01 10 00 37 00 04 08 00 c9 00 03 00 c9 00 03 8E C2 /00 37寄存器地址,00 04-寄存器的数量,08

16、字节数,00 c9 00 03-第1路的值,00 c9 00 03第2路的值回应-01 10 00 37 00 04 04 70 /写数字输出 写4路 1(方波 201 2(方波 201 3(方波 201 4(方波 201下发-01 10 00 37 00 08 10 00 c9 00 03 00 c9 00 03 00 c9 00 03 00 c9 00 03 AE 47回应-01 10 00 37 00 08 01 70 /写数字输出 写4路 1(高电平 100 2(高电平 100 3(高电平 100 4(高电平 100下发-01 10 00 37 00 08 10 00 64 00 01

17、 00 64 00 01 00 64 00 01 00 64 00 01 F1 9C回应-01 10 00 37 00 08 01 70 5.计数器输入(读写 4路)读计数器输入:主机下发命令 读计数器输入 读1路01 03 00 00 00 04 44 09 /03读保持寄存器,00 00起始寄存器地址,00 04寄存器数量-每路占用4个寄存器,每个寄存器2字节-01 03 08 00 00 00 00 00 00 00 00 95 D7 =01 03 08 00 00 00 00 00 00 00 00 95 D7 -01 03 08 00 00 00 00 00 00 00 03 D5

18、D6 /08字节数 第一路的值为03-3-01 03 08 00 00 00 00 00 00 00 3D 54 06 /08字节数 第一路的值为3D-61(10进制)主机下发命令 读计数器输入 读6路01 03 00 00 00 18 45 c0 /18-24, 4*6=24,每路4字节,采集6路-01 03 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

19、 00 C0 BC -01 03 30 00 00 00 00 00 00 00 9B 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 01 36 79 /30字节数48,第一路00 00 00 00 00 00 00 9B-155,第2路- 02,第3路-01,第4路-02,第5路-02,第6路-01 16:01 2015-4-13写计数器输入:计数器每占用4个寄存器,8个字节。/写计数器输入 写第1路 清零

20、下发-01 06 00 00 00 00 89 ca /01从设备地址,06功能码-写单个寄存器,00 00寄存器地址,00 00寄存器的值下发-01 06 00 00 00 00 89 CA /写计数器输入 写第2路 清零下发-01 06 00 04 00 00 C8 0B /01从设备地址,06功能码-写单个寄存器,00 00寄存器地址,00 00寄存器的值下发-01 06 00 04 00 00 C8 0B /写计数器输入 写第3路 清零下发-01 06 00 08 00 00 08 08 /01从设备地址,06功能码-写单个寄存器,00 00寄存器地址,00 00寄存器的值下发-01

21、06 00 08 00 00 08 08 /写计数器输入 写第4路 清零下发-01 06 00 0c 00 00 49 c9 /01从设备地址,06功能码-写单个寄存器,00 00寄存器地址,00 00寄存器的值下发-01 06 00 0C 00 00 49 C9 /写计数器输入 写第5路 清零下发-01 06 00 10 00 00 88 0f /01从设备地址,06功能码-写单个寄存器,00 00寄存器地址,00 00寄存器的值下发-01 06 00 10 00 00 88 0F /写计数器输入 写第6路 清零 /第6路路清0有误 下发-01 06 00 14 00 00 C9 CE /0

22、1从设备地址,06功能码-写单个寄存器,00 00寄存器地址,00 00寄存器的值下发-01 86 03 02 61 /写计数器输入 写第1-2路 清零 /每路占用4寄存器,每个寄存器2个占字节01 10 00 00 00 08 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 cd / 4*2=8(寄存器个数),8*2=16(占用字节数)-01 10 00 00 00 08 CF C1 /写计数器输入 写第1-3路 清零01 10 00 00 00 0c 18 00 00 00 00 00 00 00 00 00 00 00 00 0

23、0 00 00 00 00 00 00 00 00 00 00 00 92 df / 4*3=12,12*2=24-01 10 00 00 00 0C 0C C0 /写计数器输入 写第1-4路 清零01 10 00 00 00 10 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 83 bc / 4*4=16-10,16*2=32-20-01 10 00 00 00 10 C5 C1 /写计数器输入 写第1-5路 清零01 10 00 00 00

24、 14 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f4 9d / 4*5=20-14,20*2=40-28-01 10 00 00 00 14 06 C0 /写计数器输入 写第1-6路 清零01 10 00 00 00 18 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0

25、0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 9d / 4*6=24-18,24*2=48-30-01 90 03 0C 01 注:RTU支持亚控阻态软件,具体用法请参照其它文件。6.PWM输出(读写 2路)(PWM对应首地址的16进行表示是0x002F,1路PWM 2个寄存器0x002F 代表的是PWM的周期0x0030 代表的是PWM的占空比(值不能大于10进制数100)读PWM输出:主机下发命令 读PWM输出1-2路 读2路 /40048-40001=47,47-2f01 03 00 2f 00 04 7

26、5 c0 /读写都一样,占空比在前,周期在后-01 03 08 00 00 00 3C 00 00 00 21 05 CA /第1路频率(Hz 3C-60,占空比-0,第2路频率(Hz 21-33,占空比-0-01 03 08 00 50 00 3C 00 5A 00 21 75 DC /第1路频率(Hz 00 3C-60,占空比00 50-80,第2路频率(Hz 00 21-33,占空比00 5A-90读取PWM第1路 周期01 03 00 2f 00 01 b5 c3-01 03 02 00 20 B9 9C /第1路频率(Hz 00 3C-60,占空比00 50-80读取PWM第1路 占

27、空比01 03 00 30 00 01 84 05-01 03 02 00 06 38 46 /第1路频率(Hz 00 3C-60,占空比00 50-80读取PWM第2路 周期01 03 00 31 00 01 d5 c5-01 03 02 00 03 F8 45 /第1路频率(Hz 00 3C-60,占空比00 50-80读取PWM第2路 占空比01 03 00 32 00 01 25 c5-01 03 02 00 04 B9 87 /第1路频率(Hz 00 3C-60,占空比00 50-80读取PWM第1路 周期 和占空比一起01 03 00 2f 00 02 F5 c2-01 03 04 00 50 00 3C FA 33 /第1路频率(Hz 00 3C-60,占空比00 50-80读取PWM第2路 周期 和占空比一起01 03 00 31 00 02 95 c4 /40050-40001=49,49-31-01 03 04 00 5A 00 21 1A 38 /第2路频率(Hz 00 21-33,占空比00 5A-90写PWM输出:/写PWM 写第1路 修改 占空比为11 周期为12下发-01 10 00 2F 00 02 04 00 0B 00 0C c0 30 /00 0B-11,00 0C-12回应-01 10 00 2F 00 02 01 70 =01 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论