请问一下 ,在200smart自由口通讯中,信息的间隔比较小,产生多个接收完成中断,如果第一个接收完成中断的程序还没有执行完,后面出现的中断中消息,怎么缓存,保证不被覆盖,消息不丢失的,同样对于发送消息,如果发送消息的时间间隔比较近,怎么保证消息后面的消息不覆盖前面的消息的
最佳答案
这个问题需要你规避。
当主站发送数据请求后,从站做出应答,如果这个应答的数据长度比较多(长),可以分批次进行。主站接收从站的中断必须是接收完成后再启用另一个接收完成中断。
自由口通讯是半双工通讯,通讯链路上只能允许有一个指令有效。
提问者对于答案的评价:
我这里的smart主要是作为从站,也就是说在接收到上位机的信息后,在接收完成中断中处理完成后,在启用下一次的接收,接收完成后,才会产生另一个接收完成中断,保证每次处理只有一条信息,在此之前的信息全部都忽略了,可否这样理解?
最佳答案作者回复:
200smart作为从站读、写上位机数据,这个控制权在主站那里,从站仅仅只是应答关系。
你仅仅在上位机上关联好从站的应答数据区就可以了。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc289148.html