恭喜,你发布的帖子
发布于 2023-04-28 01:09:19
40楼
异步与竞争协同
一个设备FB的内部结构,总体上分为功能和IO(本案例中指通信)两部分。
功能部分是指:设备的界面功能,通过调度层,和与通信部分衔接的每一个单个任务之间的,双向过程。
通信部分是指:在单个任务,通过通信层,与底层硬件IO之间的,双向过程。
异步,一个任务需要几个扫描周期才能完成。任务在一个周期启动,在另一个周期结束。
对于走485通道的Modbus通信,在任务执行期间,除了通信部分的执行层,所有其它的通信层,都只能观望,什么都做不了。其它所有参与485竞争的设备FB也一样,所有的通信层都在观望。
但是所有设备的功能部分并未停止。它们一直在于外界交互,每个周期都实时在变化,在为下一个任务做动态准备和随时争夺485通道。
观望是指:即观望自己,也观望别人,而且每个周期都要观望。因为随时在任何一个周期,通信执行层可能会结束,马上就要面临下一个任务的分配。
而所有设备的功能部分,原本都一直在运转。它们都可能已经把各自的下一个任务准备好了,并且比你自己的下一个任务的优先级更高。
在这种密集的竞争过程中,如果你自己的通信执行层反馈回来了执行质量问题,那你可能就没有机会加入下一个任务的485争夺了。
请填写推广理由:
分享
只看
楼主