引用
引用第2楼cvlsam于2009-01-04 10:55发表的 :
这段程序的意思大致为:根据()内的运行结果去决定是否调用FC40
将变量IN0去乘以1000,结果保存在TEMP2中,然后检测前面的乘法运算是否结果溢出,OV为溢出标志位,通过检测OV是否为1来决定是否运算溢出。
为什么要用AN OV呢?如果您知道三菱的话,那么西门子AN相当于ANI,也就是欧姆龙的AND NOT。
.......
对你的解释有不同的看法欢迎讨论。
有异议的地方是这句:
“最后()内的指令讲解完毕,那么()外的A就是用于检测()内的RLO运行结果。如果()内的RLO为1,那么就执行FC,否则,不执行。”
首先call是无条件调用语句,也就是说不依赖任何条件进行处理,指定的块总是被调用。(不包括OB)。那么你说的“如果()内的RLO为1,那么就执行FC,否则,不执行。”因为FC的执行不由在执行它时RLO位的状态决定,也就是无论如何FC40都是要执行的,要想达到你说的用RLO位判断是否执行FC40,前面必需要有跳转语句等。