您现在的位置是:首页 > PLC技术 > PLC技术

STL编程语言的状态位检测

来源:艾特贸易2017-06-05

简介二进制校验和跳转功能可检测 RLO 和 BR 状态位以及所有的数字标志位。在状态字加载到累加器后,对所有状态位的进一步处理仍然是可能的。 A - 检测满足的条件并进行逻辑与 O - 检测满

    二进制校验和跳转功能可检测RLOBR状态位以及所有的数字标志位。在状态字加载到累加器后,对所有状态位的进一步处理仍然是可能的。

   A  -    检测满足的条件并进行逻辑与

   O  -    检测满足的条件并进行逻辑或

   X  -    检测满足的条件并进行逻辑异或

   AN    -    检测不满足的条件并进行逻辑与

   ON    -    检测不满足的条件并进行逻辑或

   XN    -    检测不满足的条件并进行逻辑异或

   >0    结果大于0    [(CC0=0)&(CC1=1)]

   >=0  结果大于等于0    [(CC0=0)]

   <0    结果小于0    [(CC0=1)&(CC1=0)]

   <=0  结果小于等于0    [(CC1=0)]

   <>0  结果不等于0    [(CC0=0)&(CC1=1) v(CC0=1)&(CC1=0)]

   ==0  结果等于0    [(CC0=0)&(CC1=0)]

   UO  结果无效(无序)  [(CC0=1)&(CC1=1)]

   OV  溢出    [OV=1]

   OS  存储溢出[OS=1]

   BR  二进制结果

    1.二进制校验的检测

    用户可以使用第4章中描述的各个检测对数字标志位和二进制结果进行检测(如前所示)。至于操作的原理,打个比方说,与检测一个输入是一样的。

    2.跳转功能的检测

    用户可以检测RLOBR状态位,所有的CC0CC1组合以及与跳转功能相关的OVOS状态位(如表15-4所示)。

    15-4    使用跳转功能检测状态位

使用跳转功能检测状态位

    3.注意对数据范围溢出的检测

    计算结果超出定义的数据类型的数据范围会并行置位OVOS(存储溢出)状态位。若下个功能(如链计算时)的结果在允许的数据范围之内,OV标志位将复位。但OS标志位将保持置位状态,所以链计算内部的结果溢出在计算结束后仍然可以检测出来。直到JOS跳转功能或块变化(块调用或块结束),OS才会复位。

    可以用下列方法去检测溢出:

    4.二进制校验

   L    Value1;

   L    Value2;

   +I    ;

   A    OV;    //单个检测

   =    Status1;

   L    Value3;

   +I    ;

   A    OV;    //单个检测

   =    Status2;

   L    Value4;

   +I    ;

   A    OS;    //全部检测

   =    Status_overall;

   T    Result;

    5.跳转功能

   L    Value1;

   L    Value2;

   +I    ;

   JO    ST1;    //单个检测

   L    Value3;

   +I    ;

   JO    ST2;    //单个检测

   L    Value4;

   +I    ;

   JOS    STOV;    //全部检测

   T    Result;

    用户可以通过在每一步计算操作后检查OV状态位,或在全部计算结束后检查OS状态位来检测数据的溢出情况。