自动化论坛热门版块推荐: 西门子论坛 欧姆龙论坛 自动化综合论坛 电气自动化论坛 电力自动化论坛 自动化仪表论坛 机械自动化论坛 工业以太网 职业规划 更多...

学习S7-300状态字的诀窍,有3个状态位与我们无关

2015-06-26 作者:autozhaopin 来源:中国自动化招聘网 浏览: 上传:自动化设备网

摘要:状态字是学习S7-300/400的难点之一。状态位一共9位,我曾经有一个疑问,为什么从来没有看到某些状态位在用户程序中应用的例子?深入学习后才知道,有3个状态位与用户程序无关,初学者完全可以不用管它们。它们是首次检测位/FC、状态位STA和“或”位OR。

状态字是学习S7-300/400的难点之一。状态位一共9位,我曾经有一个疑问,为什么从来没有看到某些状态位在用户程序中应用的例子?深入学习后才知道,有3个状态位与用户程序无关,初学者完全可以不用管它们。它们是首次检测位/FC、状态位STA和“或”位OR。

S7-200等PLC用LD和LDI指令来表示电路块开始的常开触点和常闭触点。S7-300/400没有这样的指令,它是用首次检测位/FC的状态为0来表示一个梯形逻辑程序段的开始,或串并联电路块的第一条指令。下面是一个程序段的程序:

A           I0.0

A           I0.1

=            Q0.0

执行第一条A指令时,首次检测位为0,CPU将I0.0的值存入状态字的第1位RLO(逻辑运算结果)。这条指令并不做“与”运算。因为此时只有一个操作数,也不可能做“与”运算。

可以把第一条A指令改为O(“或”)、X(“异或”)指令,它们都是将该指令中I0.0的值保存到RLO。

状态字的第2位为状态位(STA),STA位与位逻辑指令中的位变量的值一致。它只是用于语句表的程序状态监控。

状态字的第3位为或位(OR),在将两条串联电路并联时,CPU首先计算出两条串联电路的“与”运算结果,它们分别用RLO和OR位来保存,然后再对它们做“或”运算。

从上面的分析可知,这3个状态位用于CPU 的内部操作或监控,它们与用户程序毫无关系。下面还有两个有力的证据可以确认这个结论。

1)指令“L  STW”将状态字装载到 累加器1,但是它不装载状态字的 /FC、STA和OR位。为什么?因为这3位与用户程序无关,用户程序得到它们也没用。

2)与状态位有关的指令有逻辑控制指令和状态位触点指令,这些指令都与这3个状态位无关。

顶一下
(0)
0%
踩一下
(0)
0%
资料来源:本站部份资源来源于互联网,如果无意之中侵犯了您的版权,请来电告知,本站将在1个工作日内删除
求职招聘:如需求职招聘敬请访问“中国自动化招聘网”,中国首家最大的 自动化人才网
其它资讯:更多 自动化资讯 文章敬请关注“自动化资讯中心” 或“自动化论坛
文章标签:S7-300  
把文章收藏到: QQ空间 新浪微博 腾讯微博 人人网 更多...

本类推荐