各位前辈,今天注意到编程手册的一个概念,在讲解位逻辑指令是,手册这样描述:
使用“与”指令可以检查寻址位的信号状态是否为1,使用“与非”指令可以检查被寻址位的信号状态是否为“0”,这一个1,一个0是怎么一会回事呢,我理解的是,与指令既然能检查是否为1,那是否为0肯定也能检查啊?干嘛还单独的区别描述?还有,与和与非指令可以通过使用以下地址进行状态字位检查:==0、<>0、OV、OS```````,这是什么意思呢?
问题补充:
还是不怎么理解,比如图片中的异或指令,我连它指的被寻址位是哪个都不知道呢,异或指令本来就一个我理解的嵌套指令(几个寻址位内部运算),那么这个寻址位是否为1还有什么意义啊?
另外它说的进行状态字检查我还是不怎么理解
最佳答案
1、与指令既然能检查是否为1,那是否为0肯定也能检查啊?干嘛还单独的区别描述?
这是以 逻辑运算结果(状态字的第1位)RLO 位为1来描述的:
“与”指令,如果检查寻址位的信号状态是为1,则RLO 位为1;
“与非”指令,如果检查被寻址位的信号状态为0,则RLO 位为1。
2、与和与非指令可以通过使用以下地址进行状态字位检查:==0、<>0、OV、OS```````,这是什么意思呢?
在STEP7的比较指令所参加比较的对象的数据类型为字(16位),双字(32位)或实数(浮点数),不能单独进行对于一个二进制“位”的比较。
有关状态位:
OV位:溢出表示算术或比较指令执行时出现了错误。根据所执行的算术或逻辑指令结果对该位进行设置。
OS位:溢出存储位是与OV位一起被置位的,而且在更新算术指令之后,它能够保持这种状态,也就是说,它的状态不会由于下一个算术指令的结果而改变。 这样,即使是在程序的后面部分,也还有机会判断数字区域是否溢出或者指令是否含有无效实数。OS位只有通过如下这些命令进行复位:JOS(若OS = 1,则跳转)命令,块调用和块结束命令。
详见:
<西门子PLC CPU寄存器状态字的用法>连接:
http://www.ad.siemens.com.cn/club/bbs/post_elite.asp?b_id=4&a_id=381947
http://bbs.cec.pandabuying.com/Topic/84423.aspx
提问者对于答案的评价:
阿鸣师傅,我还是不怎么懂,追问的时候忘记附件的图片了,所以我又另外开了一个新问题,图片是关于异或指令的,麻烦你有空帮忙看看,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc233810.html