用CPU226作主站,和几个从站通过modbus通讯,我用时间循环的方法编完了程序。但是觉得效率低,因为每个从站都有一段时间,即使这次不用,也不许别的从站用。有网友介绍标志位方法,说效率高。请哪位网友介绍一下这种方法的原则好吗?
最佳答案
通讯都是由主站发起的。主站发起通讯的方式无非就是定时轮询、实时发起。一般情况下,主站向从站索取数据,都是采用轮询。如果在过程中出现实时要求,可以采用在轮询队列中插队的方法。这些都是要靠标志位来做判断。比如我的一个系统由主站分带了4个从站,主站定时轮询每个从站。在轮询过程中,程序都要去判别实时通讯请求的标志。没有请求,继续轮询。如果标志有效,则暂停下一个从站的通讯,先处理本次请求,结束后再在中断的位置上继续轮询。
提问者对于答案的评价:
谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc351757.html