TCP串口调试特工为本人所编写的工具软件,除了实现普通的串口调试软件功能之外,还增加了脚本支持
见以前发的3.1版的贴子,http://www.51hei.com/bbs/dpj-197833-1.html
目前已升级到3.5版了,需要的可以到QQ群761784089 的群文件里下载
3.5版的界面功能如下:
下面开始说制作过程
比如实现Modbus RTU的保存寄存器的03、06、16 指令
1、了解Modbus RTU 协议;
03功能码 –-读保持寄存器的值
主机发送:01 03 00 01 00 01 D5 CA
从机回复: 01 03 02 00 01 79 84
主机解析:01 地址(设备ID);
03 功能码;
00 01 代表查询的起始寄存器地址,即从0001寄存器开始查询。
00 01 查询寄存器数量。
D5 CA 循环冗余校验。
从机解析:01 地址(设备ID);
03 功能码;
02 代表后面数据的字节数。
00 01 查询0001寄存器的值。
79 84 循环冗余校验。
06 功能码 –-写单个保持寄存器
主机发送:01 06 00 02 00 01 E9 CA
从机回复: 01 06 00 02 00 01 E9 CA
主机解析:01 地址(设备ID);
06 功能码;
00 02 代表待写入的起始寄存器地址,即从0002寄存器开始写数据。
00 01 写入的寄存器的值。即给0002寄存器写入0001
E9 CA 循环冗余校验。
从机解析:01 地址(设备ID);
06 功能码;
02 代表后面数据的字节数。
00 01 查询0001寄存器的值。
E9 CA 循环冗余校验
16功能码 -- 写多个保持寄存器
主机发送:01 10 00 04 00 03 06 00 01 00 00 00 01 5B 55
从机回复: 01 10 00 04 00 03 C1 C9
主机解析:01 地址(设备ID);
10 功能码;
00 04 代表待写入的起始寄存器地址,即从0004寄存器开始写数据。
00 03 待写入的寄存器的数量。
06 后面写入数据的字节数。
0001,0000,0001写入寄存器的值。即给0004,0005,0006寄存器分别写入0001,0000,0001
5B 55 循环冗余校验。
从机解析:01 地址(设备ID);
10 功能码;
00 04 代表待写入的起始寄存器地址,即从0004寄存器开始写数据。
00 03 待写入的的寄存器的数量。
C1 C9 循环冗余校验。
2、用TCP串口调试特工编写脚本:
先说下模拟脚本的格式
[RX]标识符{判断/预处理脚本1;判断/预处理脚本2;....}
[TX][SC]
脚本1
脚本2
...
[/SC]
如实现 03 指令的Slave
熟悉指令的话,还是很快可以搞好,我的另一个脚本实现了STM32 ISP Bootloader, 模拟MCU烧录回复
http://www.51hei.com/bbs/dpj-237506-1.html
总之功能强大,无限扩展,随你所用
http://www.51hei.com/bbs/dpj-211011-1.html
http://www.51hei.com/bbs/dpj-236447-1.html
我编写的几个好用软件都放在QQ群了,放便大家下载使用
脚本介绍如下附件
相关文件.rar
(808.26 KB, 下载次数: 2)
|