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没接收到回复重新发,接受到错误也可以重新发或者直接报错,这里的哪个不会写?