完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Modbus从设备如何回应主机的消息?就是如何主机发往从设备要求查询地址4001地址的数据,从设备如何获得那个数据呢? |
|
相关推荐
3个回答
|
|
当从机接收到数据后,必须在3.5个字符后至主机超时这段时间内给主机回应对应格式的数据。
你是从机的话,4001地址是数据是什么由你自己决定的。 VB控制3.5个字符间隔不用在意吧? 因为作为从机,在每次串口接收到一个字节时,用一个全局数组(255个成员)的数组缓冲接收每次收到的数据,再用个全局变量记录当前系统Timer时间,在每次退出串口事件前把当前检测时间差,如果时间差大于3.5个字符(1/比特率*40毫秒)的话,就认为前面一帧数据已经完成,则启动Timer控件去执行相关的操作,然后把当前的Timer值给回全局变量为下次检测准备。 |
|
|
|
|
|
|
|
在西门子PLC里面定义,4001是从机的寄存器地址。
从机不是指PLC,从机是相对主机来说的,ModbusRTU协议里面明确规定,主机负责读/写从机的数据,从机只能够响应主机对它的请求,其他时间不发送任何数据,否则会导致整个通讯网络数据错乱。 从机跟地址4001的关系只是你做了这样的定义而已,当从机接收到读取4001地址的数据时,从机响应主机的请求,通过间接寻址把4001的数据添加到响应指令缓冲区的数据区里面,接着校验完成后就把数据发回给主机。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 08:50 , Processed in 0.548408 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号