恭喜,你发布的帖子
发布于 2024-05-10 21:59:13
12楼
就INOUT接口类型的变量,我自己的感觉是在开始执行FB块时,是先从接口变量中复制一个副本映射到对应的背景数据中,在执行FB时所用到的接口变量的数据已经和原来的断开了联系,FB执行过程中只使用背景数据块中映射过来的数据,当背景数据块执行完毕返回调用时又把该部分数据写回对应的外部变量,整体来看好像时取地址访问,实际上不完全是,这存在几个纳秒或微妙的不同步,也就是在执行FB块的这段时段不同步。好像也只有这样才能解释通其他通信程序改变INOUT类型外部变量时要好多次才能改变的了。
通信应该是一个线程(thread), 用户程序执行是一个线程,两个线程通过时间片同时执行。PLC应该是没有引入线程锁的机制,不能达到绝对同步目的。
欢迎各位同仁跟帖讨论。
请填写推广理由:
分享
只看
楼主