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

STL编程语言的状态位说明

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

简介STL 条件下可用的状态位如表 15-1 所示。第一栏是状态字的位数字。 CPU 使用二进制标志位来控制二进制功能;用数字标志位指示算术和数学功能的主要结果。 表 15-1 状态位 1 .首次检测

    STL条件下可用的状态位如表15-1所示。第一栏是状态字的位数字。CPU使用二进制标志位来控制二进制功能;用数字标志位指示算术和数学功能的主要结果。

    15-1    状态位

 状态位

    1.首次检测

   /FC状态位用于在逻辑控制系统中控制二进制逻辑。二进制逻辑阶梯通常从/FC=0”以及一个二进制校验指令开始,即首次检测,像二进制逻辑运算中描述的那样。首次检测将/FC设定为“1”。二进制逻辑阶梯以二进制值的赋值、条件跳转或块变化等结束,同时将使得/FC变为“0”。下一个二进制校验将标志一个新的二进制逻辑组合的开始。

    2RLO

   RLO状态位是二进制逻辑运算的中间缓冲寄存器。在首次检测时,CPU将检测结果传递给RLO,并且每个后来检测的结果与存储的RLO进行组合,再将结果依次存储到RLO。用户可置位、复位或取反RLO或将其存储在BR中。通过RLO可以控制存储器、定时器和计数器等功能,并且可执行某些跳转功能。

    3.状态

    状态位STA对应于已寻址的二进制地址或二进制逻辑运算情形下(AAN0ONXXN)的检测条件的信号状态。

    在存储功能(SR=)的情况下,STA的值与写入的值一样(若没有发生写操作,例如在RLO为“0”或MCR为激活状态的情况下),或STA对应于已寻址的(未修改的)二进制地址。

    对于FPFN的边沿检测,RLO的值先于边沿检测存储于STA中。所有其他的二进制语句都会设置STA=1”,同样取决于二进制标志的跳转JCJCNJBIJNBI也不例外(一个例外:CLRSTA设置为“0”)。

   STA状态位对STL语句的处理不会有影响。它可以在编程设备上显示测试功能(如程序状态),所以用户可以用它来追踪二进制逻辑序列或排除故障。

    4OR状态位

   0R状态位存储一个AND(与)操作(1)完成的结果,并指示下一个结果已经是固定的OR(或)操作[配合在OR(或)操作之前的AND(与)操作中的O语句]。所有其他的二进制功能将复位OR状态位。

    15-2通过二进制逻辑阶梯的例子显示了对二进制标志位的影响。二进制逻辑阶梯开始于首次检测,紧随其后的是一个存储功能,并以位于检测之前的末尾存储功能结束。

    15-2    影响状态位的例子

影响状态位的例子

影响状态位的例子

    5.溢出

   OV状态位用以指示数据超出范围或使用了无效的实型数。下列功能将影响OV状态位:算术功能、数学功能、某些转换功能以及REAL比较功能。

    用户可通过检测语句或JO跳转语句来检查OV状态位。

    6.存储溢出

   OS状态位存储的是一个已设定的OV状态位:无论CPU什么时候设定OV状态位,都会设定OS状态位。尽管如此,如果接着正常执行的操作将OV复位,OS的设置保持不变。这样做的好处是,在程序中可以方便地评估运算是否超出了数据范围或使用了无效的实型数。

    用户可以通过检测语句或JOS跳转语句去检测OS状态位。JOS或块变化将复位OS状态位。

    7CC0CC1状态位(条件代码位)

   CC0CC1状态位提供以下结果:比较功能、算术功能、数学功能、字逻辑运算、位移功能移出位等的信息。

    用户可以使用跳转功能和检测语句去检查所有的数字标志位。表15-2的下半部分举出了设置数字标志位的例子。

    8.二进制结果

    (配合图形语言)BR状态位可用于块调用时EN/ENO机制的执行。15.4节有关于STEP 7如何使用二进制结果的说明。用户可以自行置位、复位BR状态位,以及通过二进制校验或跳转语句对BR状态位进行检测。

    9.状态字

    状态字包括所有的状态位。用户可以将其加载到累加器1中或以某一数值从累加器1中写出。

   LSTW;  //加载状态字

                  //...

   TSTW;  //传送到状态字

    15-1中包括使用状态位给状态字赋值。

    用户可以通过状态字去检测状态位或根据需要设置状态字。这样,用户可存储当前状态字或者通过给状态位赋值来开始一段程序。

    请注意S7-300CPUCPU 318除外)不能将/FCSTA以及OR状态位加载到累力口器中,在这些情况下,累加器设置为“0”。