liushiming82 发表于 2024-1-2 22:22:54

楼主,能发一下MODBUS调试助手软件吗?谢谢

lzl1okOK 发表于 2024-1-2 23:40:27

{:4_196:}

gzlai 发表于 2024-1-12 21:37:11

查阅了下网上的资料,有个free modbus的开源库,据说比较稳定,大佬可以移植到STC让大家拿来即用

Kingsley 发表于 2024-1-19 13:31:03

liushiming82 发表于 2024-1-2 22:22
楼主,能发一下MODBUS调试助手软件吗?谢谢

我这边刚好有同款调试助手。

qizhiguang 发表于 2024-1-19 15:14:14

这简直是手把手教呀

liushiming82 发表于 2024-1-19 17:24:53

Kingsley 发表于 2024-1-19 13:31
我这边刚好有同款调试助手。

谢谢,大佬的提供

飞捷 发表于 2024-2-19 09:09:17

比较好奇主站怎么写

电子DIY小家 发表于 2024-2-19 11:08:36

飞捷 发表于 2024-2-19 09:09
比较好奇主站怎么写

就是发命令了,手续爱你得知道功能码,常见的包含如下几种功能:



这里先以03举例,


按照这个格式读取,发送的命令就是01 03 00 00 00 04 44 09 ;01就是地址,03就是功能码,00 00 是寄存器地址两个字节 后面的00 00 是寄存器个数,两个字节,最后两个字节就是CRC校验,
再来看下06的写入指令:


06功能按照这个写入的话发送的数据为:01 06 00 00 00 02 08 0B ;可以按照上面的方法解析一下01就是地址,03就是功能码,00 00 是寄存器地址两个字节 后面的00 02 是往改地址里写入的数据值,两个字节,最后两个字节就是CRC校验,

这里仅提供一个思路,具体完整的协议可以网上搜下资料,超级多

飞捷 发表于 2024-2-19 11:41:44

电子DIY小家 发表于 2024-2-19 11:08
就是发命令了,手续爱你得知道功能码,常见的包含如下几种功能:




比如,我有个内存列表,大概1000个寄存器,如果其中一个寄存器数据变了,我需要告诉从站,我就得自已去用功能码06去发给从站了。然后收到从站的回复。如果没回复,再次发送几次等等这些的源码。协议方面我是知道的,就好奇,如何写。

电子DIY小家 发表于 2024-2-19 12:56:55

飞捷 发表于 2024-2-19 11:41
比如,我有个内存列表,大概1000个寄存器,如果其中一个寄存器数据变了,我需要告诉从站,我就得自已去用 ...

直接发06写的命令呀,然后开个定时器500ms没接收到回复重新发,接受到错误也可以重新发或者直接报错,这里的哪个不会写?
页: 1 [2] 3 4 5
查看完整版本: ModBus_RTU(4组串口任选+DMA传输的主从机)的lib库使用,STC32实现