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

CPU状态字寄存器

来源:艾特贸易2017-10-24

简介状态字的结构如图 3-6 所示,它是一个 16 位的寄存器,用于存储 CPU 执行指令的状态。状态字中的某些位用来决定某些指令是否执行和以什么样的方式执行,执行指令时可能改变状态字


状态字的结构如图3-6所示,它是一个16位的寄存器,用于存储CPU执行指令的状态。状态字中的某些位用来决定某些指令是否执行和以什么样的方式执行,执行指令时可能改变状态字中的某些位,用位逻辑指令和字逻辑指令可以访问和检测它们。

 图3-6状态字的结构

3-6状态字的结构

   (1)首次检测位FC

    状态字的第0位称为首次检测位( FC)。若该位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。CPU对逻辑串第一条指令的检测(称为首次检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的01称为首次检测结果。该位在逻辑串的开始时总是0,在逻辑串指令执行过程中该位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将该位清0

   (2)逻辑运算结果(RLO)

    状态字的第1位称为逻辑运算结果RLO( Result of Logic Operation),该位用来存储执行位逻辑指令或比较指令的结果。RLO的状态为1,表示有能流流到梯形图中的运算点处;为0则表示无能流流到该点。可以用RLO触发跳转指令。

   (3)状态位(STA)

    状态字的第2位称为状态位( STA),执行位逻辑指令时,STA总是与该位的值一致。

   (4)或位(OR)

    状态字的第3位称为或值位(OR),在先逻辑后逻辑的逻辑运算中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其他指令将OR位复位。

   (5)溢出位(OV)

    状态字的第4位称为溢出位(OV),如果算术运算或浮点数比较指令执行时出现错误(如溢出、非法操作和不规范的格式),溢出位被置1。如果后面的同类指令执行结果正常,该位被清0

   (6)溢出状态保持位(OS)

    状态字的第5位称为溢出状态保持位(OS,或称为存储溢出位)。OV位被置1OS位也被置1OV位被清0OS位仍保持1,所以它保存了OV位,用于指明前面的指令执过程中是否产生过错误。只有JOSOS=1时跳转)指令、块调用指令和块结束指令才能复位OS位。

   (7)条件码l(CCl)和条件码0(CCO)

状态字的第7位和第6位称为条件码1和条件码0CC1CCO)。这两位用于表示在累加器1(ACCUl)中产生的算术运算或逻辑运算的结果与0的大小关系、比较指令的执行结果或移位指令的移出位状态(如表3-2和表3-3所示)。

3-2算术运算后的CC1CCO

 表3-2算术运算后的CC1和CCO

3-3指令执行后的CC1CCO

 表3-3指令执行后的CC1和CCO

   (8)二进制结果位(BR)

    状态字的第8位称为二进制结果位(BR)。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方框指令中,BR位与ENO有对应关系,用于表明方框指令是否被正确执行。如果执行出现了错误,BR位为0ENO也为0;如果功能被正确执行,BR位为1ENO也为1

    在用户编写的FBFC语句表程序中,必须对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令可将RLO存入BR中,从而达到管理BR位的目的。当FBFC执行无错误时,使RLO1,并存入BR;否则在BR中存入0

   (9)保留位

    状态字的915位未使用。