31……………9 8 7 6 5 4 3 2 1 0
BR
CC1
CC0
OS
OV
OR
STA
RLO
(1) 首位检测位( )
状态字的位0称为首位检测位。若 位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果。 位在逻辑串的开始时总是0,在逻辑串指令执行过程中 位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将 清0。
(2) 逻辑操作结果(RLO)
状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。该位存储逻辑指令或算术比较指令的结果。在逻辑串中,RLO位的状态能够表示有关信号流的信息。RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。可用RLO触发跳转指令。
(3) 状态位(STA)
状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读或写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA位没有意义,此时它总被置为1。
(4) 或位(OR)
状态字的位3称为或位(OR)。在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。
(5) 溢出位(OV)
状态字的位4称为溢出位。溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。后面的算术运算或浮点数比较指令执行结果正常的话OV位就被清0。
(6) 溢出状态保持位(OS)
状态字的位5称为溢出状态保持位(或称为存储溢出位)。OV被置1时OS也被置1;OV被清0时OS仍保持。所以它保存了OV位,可用于指明在先前的一些指令执行中是否产生过错误。只有下面的指令才能复位OS位:JOS(OS=1时跳转);块调用指令和块结束指令。
(7) 条件码1(CC1)和条件码0(CC0)
状态字的位7和位6称为条件码1和条件码0。这两位结合起来用于表示在累加器1中产生的算术运算或逻辑运算结果与0的大小关系;比较指令的执行结果或移位指令的移出位状态。详见表4.4.2.1和表4.4.2.2。
4.4.2.1算术运算后的CC1和CC0
CCl
CCO
算术运算
无溢出
整数算术运算
有溢出
浮点数算术运算
有溢出
0
0
结果=0
整数加时产生负范围溢出
平缓下溢
0
1
结果<0
乘时负范围溢出;加、减、取负时正溢出
负范围溢出
1
0
结果>0
乘、除时正溢出;加、减时负溢出
正范围溢出
1
1
-
在除时除数为0
非法操作
4.4.2.2 比较、移位和循环移位、字逻辑指令后的CC1和CC0
CCl
CCO
比较指令
移位和循环指令
字逻辑指令
0
0
累加器2=累加器1
移位=0
结果=0
0
1
累加器2<累加器1
-
-
1
0
累加器2>累加器1
-
结果≠0
1
1
不规范
(只用于浮点数比较)
移出位=1
-
(8) 二进制结果位(BR)
状态字的位8称为二进制结果位。它将字处理程序与位处理起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确(异常)。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在LAD的方块指令中,BR位与ENO有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1。
在用户编写的FB和FC程序中,必须对BR位进行管理,当功能块正确运行后使BR位为1,否则使其为0。使用STL指令SAVE或LAD指令——(SAVE),可将RLO存入BR中,从而达到管理BR位的目的。当FB或FC执行无错误时,使RLO为1并存入BR,否则,在BR中存入0。
我们公司主营柔性振动盘、柔性供料器、非标自动化设备、柔性振动盘、柔性生产线、柔性自动上料系统、并联机器人摆盘机、视觉自动分拣设备、柔性上料工作站、视觉检测机等业务,厂家直营,支持定制,免费获取全套方案。
本文来源于互联网,我们本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。