西门子PLC中STL语言状态字

其含义分别为:二进制结果位(BR)、组合状态位(CC1、CC0)、溢出状态保持e799bee5baa631333365646261位(OS)、溢出位(OV)、域值位(OR)、状态位(STA)、逻辑操作结果位(RLO)、首位检测位(FC)


简单解释如下:
首位检测位(FC):CPU对逻辑串第一条指令的检测为首位检测,如果该位的状态为0,表明一个逻辑串的第一指令;
逻辑操作结果位(RLO):存储位逻辑指令的或比较指令的结果;
状态位(STA):存储一个位地址的值,当执行位逻辑指令时,STA总是与该位的取值相一致;
域值位(OR):在先逻辑“与”,后逻辑“或”的逻辑运算中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其他指令将OR位复位;
溢出位(OV):如果算术运算或浮点数比较指令执行时出现错误(如溢出、非法操作和不规范的格式),溢出位被置1;
溢出状态保持位(OS):溢出位OV被置1时,OS位也被置1,OV被清零时,OS位保持1,它保存了OV位的状态;
组合状态位(CC1、CC0):这两位结合起来用于表示在累加器1中产生的算术运算或逻辑运算的结果与0的大小关系;
二进制结果位(BR):它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确。

 

 


下面简单举个例子说明:在用户编写的FB和FC语句表程序中,必须对BR位进行管理,当功能块正确执行后,使BR位为1,否则为0。使用SAVE指令可将RLO存入BR中,从而达到管理BR位的目的。当FB或FC执行无错误时,RLO为1,并存入BR;否则在BR中存入0。编程示例:
A I0.0 //读取I0.0 的信号状态
AI0.1 //读取I0.1 的信号状态
0 I0.2 //读取I0.2 的信号状态
SAVE //当I0.0 和IO.1的信号状态都为1,或者I0.2 的信号状态为1时(“与”运算在“或”运算之前进行),逻辑操作结果位RLO被存储到BR位(二进制结果位)
一般在退出逻辑块之前使用SAVE指令,使能输出ENO(即BR位)被设置为RLO的值,用于对块中的错误进行检查。 

发布了314 篇原创文章 · 获赞 93 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_18671205/article/details/105382879