找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 61|回复: 0

关于信科的5.0版本的模块的目的MODBUs协议操作相关新增加的功能介绍。

[复制链接]

9

主题

1

回帖

63

积分

管理员

积分
63
发表于 2025-8-22 00:54:09 | 显示全部楼层 |阅读模式


关于经常用到MODBUS协议的用户来说,功能板应该都是比较熟悉的0102030506这些工程版的用板都比较精通,这个就不多做介绍了,现在详细的介绍一下。后4个的命令的具体用法。

后边儿似的命令当中。统一格式统一编制指的是如果说寄存器地址范围在1~10000,那这个寄存器代表的就是输出的地址。输出1就是寄存器地址,一输出1万就是寄存器地址10000。

寄存器地址10,001到寄存器地址2万代表的是输入状态寄存器的地址。比如说输入一就是10,001。输入1万就是寄存器地址20,000。每个寄存器数据量只是保存了一个位儿。

保持寄存器的地址范围为20,001~30000。

输入寄存器的地址为30,001到40000。





像这段程序当中写modbus输出的时候,那就直接填数据口,然后模块地址,然后是寄存器地址,然后是数量。现在是从输出一开始写的时候,那就直接把寄存器地址写1。
这段程序读存机寄存器输入的时候,他就是先写数据口,然后模块地址,然后是寄存器地址,因为是要读取每个输入的断开与闭合的状态,所以说输入的寄存器地址的地址段是在10,001开头,那就代表读取这个模块的输入1开始的连续48个输入。当然从哪个位置开始读取都可以自己定义读取数量也是可以自己随意设定的。



来大家看一下这一段程序。这段程序就是提取本机接收到的model bus从机的数据,然后把数据给提取出来存放到一个地方。这个命令的作用就是把刚才赌的那个命令,从机返回的数据自动存储到单片机的数据缓冲区里边,然后咱用这个命令把对应的数据给提取出来。,提取数据的时候需要注意几个参数数据口模块地址,寄存器地址,如果说不同的数据口允许模块地址一样,同一个数据口模块地址的不一样,然后可以寄存器地址相同,提取数据的时候必须和你查询的数据口模块地址寄存器地址范围能对得上号才行,如果说对不上号的话,提取出来的内容就不确定了。
至于写单个寄存器的跟用0506功能码的用法基本上一样,0506功能码的话自己随便摸索一下就知道怎么用了。就不介绍了。







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

本版积分规则

Archiver|手机版|小黑屋|信科电子 ( 冀ICP备13013222号-1 )

GMT+8, 2025-12-24 23:44 , Processed in 0.122645 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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