您现在的位置是:首页 > PLC技术 > PLC技术
STL编程语言的处理二进制逻辑运算
来源:艾特贸易2017-06-05
简介图 4-1 给出了二进制逻辑指令的处理概况。输入模块选择在指定地址上的传感器,例如在输入 I1.2 上。 CPU 检测传感器的信号状态,用先前逻辑指令存储的逻辑运算结果 (RLO) 连接检测的
图4-1给出了二进制逻辑指令的处理概况。输入模块选择在指定地址上的传感器,例如在输入I1.2上。CPU检测传感器的信号状态,用先前逻辑指令存储的逻辑运算结果(RLO)连接检测的结果(检测结果),保存这次逻辑运算的结果并作为新的RLO存储,CPU随后处理程序中的下一条语句。例如,在一个指定的存储器单元存储逻辑运算结果,在这个“老的”RLO的第一次检测后的是新的逻辑运算。在这里,RLO设置成检测结果。
图4-1 利用二进制逻辑运算的例子来说明PLC如何工作
1.状态
一个位的状态与其信号状态相同,可以是“1”或“0”。在SIMATIC S7当中,当输入电压存在(例如230V AC或者24V DC,取决于模块)时,信号状态为“1”;如果没有电压,输入的信号状态为“0”。
检测语句询问位的状态。与此同时,它包含了逻辑规则,根据逻辑规则,检测到的信号状态与存储在处理器中的逻辑运算结果连接起来。例如,语句
A I
检测输入I17.1为信号状态“1”,并根据AND连接这一检测状态;语句
ON M 20.5
检测存储器位M20.5为信号状态“0”,并根据OR连接这一检测状态。
2.检测结果
严格地讲,CPU并没有连接检测位的信号状态,而是首先检测结果,在检测为信号状态“1”时,检测结果是与检测位的信号状态相同的;在检测为信号状态“0”时,检测结果是与检测位的信号状态相反的。
3.逻辑运算结果
逻辑运算结果(RLO)是在CPU中的信号状态,CPU把它用于后续的二进制信号处理,通过检测语句形成和修改逻辑运算结果。RLO为“1”意味着二进制逻辑运算的条件是满足的;为“0”意味着条件不满足。根据逻辑运算结果确定置位还是复位。
4.逻辑步
就像在顺序控制系统中定义一个顺序步一样,在逻辑控制系统中定义一个逻辑步也是可能的。在一个逻辑步中,要形成和计算逻辑运算结果(进一步处理)。逻辑步由检测语句(也叫做扫描语句)和条件语句组成。跟随着一条条件语句的第一条检测语句叫做第一次检测。在下列的逻辑控制系统图中,突出了逻辑步:
5.第一次检测
跟随着一条条件语句的第一条检测语句叫做第一次检测或首次检测。它具有特殊意义,因为CPU直接接受这条语句的检测结果作为逻辑运算结果。“旧的”RLO随即丢失,第一次检测总是代表着逻辑运算的开始,控制第一次检测的逻辑规则(AND、OR、XOR)在这里不起作用。
6.检测语句
逻辑运算结果是用检测语句形成的,这些语句检测位的信号状态“1”或“0”,并根据AND、OR或者XOR连接它。CPU把这次逻辑运算结果作为新的RLO存储。
图4-2给出了检测信号状态“1”和“0”时的编程。检测为“1”时,把检测位的状态作为下次连接的检测结果;检测为“0”时,从相反的状态形成检测结果。
图4-2 检测为信号状态“1”和“0”
7.条件语句
条件语句是根据逻辑运算结果来执行的语句,包括赋值、置位和复位二进制存储器单元及用于启动定时器和计数器的语句,等等。
条件语句(很少有例外)在RLO为“1”时执行,在RLO为“0”时不执行,它们不影响RLO(很少有例外),因此在几个连续的语句之后RLO不变。
8.编写易理解的程序
控制第一条检测的逻辑规则是没有关系的,因为这次检测的结果直接作为逻辑运算的结果。为了编写易理解的程序,第一次检测的逻辑规则要与所希望的功能相同。
例如:
上述语句表示两个AND功能,因此推荐第二次AND功能的编程(这里,两次检测都用AND编程)。
在单个检测语句的情况下,例如
AND较好。
点击排行
