当前位置:首页 > RTU测试步骤V1.0.8
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 4B //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 3C 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 BB 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 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--8996
3.继电器(读写 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路继电器都为闭合
--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输出值 回应--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 //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进制),数字输出对应的首地址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周期 当状态为“方波”时,周期才有效,否则值为0 01 03 00 37 00 02 75 c5
01 03 00 39 00 02 14 06 //读第2路 //00 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 00 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当前状态寄存器地址,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
//写数字输出第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周期值 回应--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字节数,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 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 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 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路 清零
下发--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 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 //01从设备地址,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 00 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
共分享92篇相关文档