恭喜,你发布的帖子
发布于 2019-12-24 13:16:51
2楼
这个与Modbus_TCP不同。它是与CM模块打交道的。
MB_COMM_LOAD只需要执行一次。
MB_Master要按照异步来执行。不能用定时方式去轮询。
因为所有485报文交换是由CM自动完成的。有错误重发也是预先给CM设置的。所以,在DONE(正常完成)或ERROR(通讯不成功)之前,不能再次执行REQ,缓冲区也不能修改。
实际上,REQ低电平-高电平之后,程序每次执行FB,都是在问询CM处理如何了。没处理完成就是BUSY。
重发3次,超时后,会在某次执行FB时得到一个扫描周期的ERROR。
除非硬件故障,不会“卡住”的。
如果,在CM处理过程中,出现REQ(总线从站用,主站也用。)、数据缓冲区被修改(数据溢出的可能),则有可能卡住。
请填写推广理由:
分享
只看
楼主