大理S7-1200PLC西门子代理商原装现货 大理S7-1200PLC,西门子S7-1200plc,西门子PLC代理
PLC逻辑运算指令
①逻辑运算指令
由于编程软件的不同,S7-200与S7-300/400系列PLC用于梯形图编程的指令有所区别,具体情况如表3-12所示。表中有部分指令为非通用,只能在S7-200 中使用(或只能在S7-300/400中使用)。
②逻辑运算指令说明
a.触点装载指令。在S7-200PLC中,与其他公司的PLC一样,对于与梯形图的母线相连接的开始触点,需要采用触点装载指令LD作为开始。但是,在S7-300/400中,则是直接以逻辑运算指令代替触点装载指令,见图3-29(a)。
【例3-21】 对于如图3-29(a)所示的梯形图,在S7-200中的指令表程序如图3-29(b)所示,而在S7-300/400中的指令表程序如图3-29(c)所示。
b.括号的使用。与数学运算一样,在S7-300/400PLC中,逻辑运算遵守“先与后或”的原则进行。因此,对于需要先进行“或”运算的场合,需要通过括号来调整运算的先后次序,括号的意义与数学运算相同。在PLC编程时,对于左括号"(",应紧跟逻辑指令代码之后,如"A("、"O("等;右括号应单独作为一个指令行,参见例3-29(c)中S7-300/400中的指令表程序。
c.“异或”与“同或”指令。当需要对两个信号进行“异或”或者“同或”运算时,在S7-300/400 PLC中可以直接使用“异或”与“同或”指令。
【例3-22】 对于如图3-30(a)所示的梯形图,在S7-200中由于没有"异或"、"同或"指令,编程时只能使用"堆栈"操作指令"OLD"实现,指令表程序如图3-30(b)所示;但在S7-300/400中则可以直接使用“异或”、“同或”指令实现,指令表程序如图3-30(c)所示。
d.结果“置位”、“清除”、“保存”指令。在S7-300/400 PLC中,可以利用指令SET、CLR、SAVE直接对当前的逻辑运算结果进行置位、复位与保存操作。
为了可靠地检测、保存、记忆S7程序中的逻辑运算、数学运算指令的执行结果状态,在S7-3M/400PLC中,设有一个专用的16位状态寄存器。状态寄存器中有2个状态位与逻辑指令的结果有关。
(a)RLO位。RLO位称为"逻辑运算结果"状态位,用于存放逻辑运算、逻辑比较指令的执行结果。
(b)BR位。BR位称为“布尔运算结果”状态位。当处理的程序段中既有位逻辑运算,又有字逻辑运算时,BR用于存放字逻辑运算指令的执行状况。当“字逻辑”运算指令被正确执行时,该位为"1",否则为"0"。
不论前面的执行情况如何,都可以通过指令SET与CLR指令,无条件将PLC的逻辑指令执行结果状态寄存器的RLO位直接设置成“1”或“0”。通过指令SAVE指令,则可以将RLO位的状态写人到BR中。
S7-200 PLC中,指令的执行状态存储于系统标志寄存器SM中。系统标志寄存器SM可以以二进制位触点的形式在梯形图程序中使用,但不能对其进行赋值操作。
S7-200 PLC常用的系统标志寄存器的功能如下。SM0.0:恒“1”信号;
SM0.1:第1扫描周期标记,只在PLC的第一扫描周期中为"1";SM0.4:周期为1min的脉冲信号;SM0.5:周期为1s的脉冲信号;
SM0.6:周期为2倍PLC扫描周期的脉冲信号;
SM0.7:PLC的RUN方式,RUN时为"1",TERM时为"0";SM1.O:运算结果为“0”;SM1.1:运算结果溢出;SM1.2:运算结果小于“0”;SM1.3:除数为“0”;
SM1.6:BCD转换为二进制时,BCD代码非法;SM1.7:ASCII转换为十六进制时,ASCII代码非法SM4.3:程序错误;SM5.0:I/O模块错误;
SM5.1:开关量I/O点超出了允许范围;SM5.2:模拟量I/O点超出了允许范围。
系统标志寄存器的使用参见图3-28。当10.0=1时,在Q0.1上可以获得周期为1s的脉冲信号输出。