我很久之前接触PLC, 当时我记得一本书上,说通讯和扫描周期是串行的。就是依次进行的。 就记住了。以为就是如此。
但是这几天遇到一个问题。 高线改造以后, 从传动装置上读取的DI状态, 有一个一直闪动。 经过查找, 由于改造前后的数据帧定义不同, 中间经过了数据转换。 而这个DI参与连锁, 又在连锁的FC块中直连了通讯数据。
于是, 中间数据集中转换 和 连锁FC中直连, 发生了冲突。
根据我之前的认识, 通讯状态应该是程序最后一处写入的状态,不该闪动。 于是这个问题纠结了很久。
今天搜这个问题, 在找答案中发现个帖子, 通讯和 循环扫描周期是并行的。
用这个来理解, 我的问题就说的通了。
另外有个问题:
如果某个FC定义了out变量, 但是功能块中没有对这个out进行赋值操作, 那么我连接的变量是什么值呢?