怎样理解状态字(status word)STEP 7 Software

发布时间:2024-06-13
faq(常见问题)
case no.:
产品类型:step 7 software
问题:怎样理解状态字(status word)?
图表 1
/fc,首次检测位
状态字的第0位——“/fc”称为“首次检测位”,控制一串逻辑指令的顺序。“/fc”位信号状态为“0”,说明用户程序中从这一点开始下面的逻辑指令,作为新的逻辑串(换而言之:在每一个逻辑串开始时,“/fc”位总为0)。
每一个逻辑指令检测“/fc”位的状态,就像指令检测它的寻址接点一样,决定了指令对其寻址状态、信号状态检测结果的存放位置。如果“/fc”位的状态为0,逻辑指令将结果存在(逻辑操作的结果位)“rlo”中,并将“/fc”位的状态置为1。这一过程,称为“首次检测”。经过首次检测存放在“rlo”中的0或者1,被称为“首次检测的结果”。
在一个逻辑串中,当cpu完成逻辑串中的条指令以后,“/fc”位的状态一直为1。当“/fc”位为1时,指令操作将其寻址接点的“检测结果状态”与先前存放在“rlo”中的状态结合起来。
一串逻辑指令总是以一个输出指令(如:s、r、=),或者一个与逻辑操作结果相关的条件跳转指令(jc),或者一个嵌套指令[ 如:a(、o(、x(、an(、on(、xn( ] 作为结束。这些输出指令、跳转指令、嵌套指令将“/fc”位复位至0。
rlo,逻辑操作的结果
状态字的第1位——“rlo”称为“逻辑操作的结果(result of logic operation)”,存放一个位逻辑指令,或者算术比较指令的结果。
例如,在一串“位逻辑指令”中的第二条指令,检测寻址接点的信号状态,并且产生一个“0或者1的结果”。然后,指令将这一“0或者1的结果”和状态字中的“rlo”值进行布尔逻辑运算,结果代替上一次的“rlo”值,并且存放在状态字的“rlo”中。
每一个接下来逻辑串中的指令,均是根据这两个值(一个值为“指令检测寻址接点所产生的结果”,另一个值为“当前的rlo”)进行布尔逻辑运算操作。
用户可以使用“set”指令,无条件置位rlo为1;使用“clr”指令,无条件复位rlo为0。用户可以使用rlo的状态,触发跳转指令。
在一串“位逻辑指令”中的条指令,检测寻址接点的信号状态,并且产生一个“1的检测结果”,存放在rlo位,并且将“/fc”位复位至0。
语句表程序
输入i或者输出q的信号状态
检测结果
rlo位
/fc位
说明
0
“/fc”位为0,说明下一个指令开始新的逻辑串操作;
a i0.0
1
1
1
1
首次检测的逻辑结果,存放在rlo中,“/fc”位置1
an i0.1
0
1
1
1
将“逻辑检测结果”与上一个“rlo”操作,放置在“rlo”中。“/fc”位置1
= q4.0
1
0
将“rlo”赋值给输出线圈,“/fc”位复位为0
图表 2
sta,状态位
状态字的第2位——“sta”称为“状态位”;
一个读取存储区“位操作”的指令(如,a、an、o、on、x、xn)状态,总是与指令检测的位(即“逻辑操作的位”)状态一致;
一个写入存储区“位操作”的指令(如,s、r操作)状态,总是和指令所指明的“位”或者“数值”的状态一致;
对于不访问存储区的指令来说,状态位没有意义。
or,或位
状态字的第3位——“or”称为“或位”;
如果使用o指令执行“或操作”之前,需要逻辑“与操作”(如,a、an、not),则必须使用or(或位)。
ov,溢出位
状态字的第5位——“ov”称为“溢出位”;
“溢出位”表明一个错误。如果,一个“算术指令”或者一个“浮点数比较指令”执行出现错误(如,溢出、非法操作、非法浮点数),“溢出位”被置位操作处理;
如果下一个“算术指令”或者一个“浮点数比较指令” 正确执行,则复位该状态位。
os,存储溢出位
状态字的第4位——“os”称为“存储溢出位”;
当一个错误产生,“os”存储溢出位和“ov”溢出位一起被置位为1。另外,“os”存储溢出位在错误被清除以后仍然被置位。并且,指明在先前的指令执行中是否产生了错误。
jos(jump label if os=1,存储溢出后跳转)块的调用指令,可以使“os”存储溢出位复位为0;
call(block call)块的调用指令,可以使“os”存储溢出位复位为0;
be(block end)块结束指令的调用,可以使“os”存储溢出位复位为0。
cc1、cc0,条件码1和条件码0
状态字的第6、7位——“cc1、cc0”称为“条件码1和条件码0”,可以被用来作为有条件跳转(conditional jump instructions)。
br,二进制结果位
状态字的第8位——“br”称为“二进制结果位”。
“br”位代表机器内部的存储位。此位的状态是先前的字操作逻辑改变了“rlo”位状态,而存入的。因此,对于连续中断“位逻辑串”操作以后,可以再次使用“rlo”位;
“br”位相当于lad方块图的使能输出(eno)。用户可以应用save指令,在“br”位中存放rlo位状态。如:
当fb、fc、sfc、sfb被正确执行时,在“br”位中存放rlo位状态为“1”;
当fb、fc、sfc、sfb被错误执行时,在“br”位中存放rlo位状态为“0”;
上一个:严重交通事故如何赔偿
下一个:1核2g云服务器1年仅需95元

探索胶原纤维间隙区域鞣质作用:儿茶素-胶原相互作用
win10录屏不符合硬件要求的原因及解决办法是什么(win10录屏不符合硬件要求的原因及解决办法视频)
正宗崇明糕的家庭做法步骤 崇明糕需要怎么做呢
恩派特稳定高效金属屑压块机应用案例
求婚表白词真实点的
盆栽花卉施肥需要掌握的学问
佛山哪里有室内游泳馆 游泳馆推荐
21年主板推荐(2021年主板)
空间流量超标-虚拟主机/数据库问题
绑架罪是否要求勒索财物