后台禁止
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看后台禁止的 主题 / 回贴
楼主  发表于: 2009-01-03 21:54
图片:
如图,是在FC10块出现的,不明白什么意思。那位高手解释一下
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6743 个
工控威望: 37098 点
下载积分: 9572 分
在线时间: 9412(小时)
注册时间: 2006-09-13
最后登录: 2024-05-29
查看cvlsam的 主题 / 回贴
1楼  发表于: 2009-01-04 10:55
这段程序的意思大致为:根据()内的运行结果去决定是否调用FC40

将变量IN0去乘以1000,结果保存在TEMP2中,然后检测前面的乘法运算是否结果溢出,OV为溢出标志位,通过检测OV是否为1来决定是否运算溢出。

为什么要用AN OV呢?如果您知道三菱的话,那么西门子AN相当于ANI,也就是欧姆龙的AND NOT。
因为后续的有用到SAVE指令,该指令用于保存当前的RLO到BR位中去。

而RLO结果则是根据当前的指令运算结果。

因此,这里使用AN OV,此时如果没有溢出发生,那么OV的值为0,由于AN的存在,那么当前的结果为RLO=1,执行SAVE后,那么BR=1。如果有溢出发生,那么RLO=0,从而导致SAVE指令不会被执行,也就不会改变BR位的结果。

后面的CLR指令用于将当前的RLO结果清零(也可以称作为复位)。

A BR  用于检测BR位的状态,如果BR位为1,通过A指令后,那么RLO状态就会更改为1,否则为0.

最后()内的指令讲解完毕,那么()外的A就是用于检测()内的RLO运行结果。如果()内的RLO为1,那么就执行FC,否则,不执行。

以上
本帖最近评分记录:
  • 下载积分:+2(后台禁止) 热心助人!