找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5|回复: 0
打印 上一主题 下一主题
收起左侧

如何用小平TCP串口软件,手搓一个Modbus RTU Slave模拟器

[复制链接]
跳转到指定楼层
楼主
本帖最后由 zyhlove813 于 2024-9-20 09:43 编辑

小平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, 下载次数: 0)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表