布尔量(Bool)是指一个真或假状态,通常用0、1表示假或真。S7-1200 PLC中所有的位逻辑操作就是布尔量之间的操作。它们按照一定的控制要求进行逻辑组合,构成与、或、异或及其组合。表1-5是常见的位逻辑类型、符号及功能说明,包括常开触点、常闭触点、上升沿、下降沿、输出线圈、取反线圈、取反逻辑、置位、复位等。
表1-5 常见的位逻辑类型、符号及功能说明
取反线圈是指输出“1”时断开,输出“0”时接通。图1-36为输出线圈与取反线圈对比。由梯形图可知,输出线圈和取反线圈除了输出刚好相反,其余均相同,从真值表可以看出两者区别。
图1-36 输出线圈与取反线圈对比
“与”逻辑是指只有当两个操作数都是“1”时,结果才是“1”。“与”逻辑操作属于短路操作,即如果第一个操作数能够决定结果,那么就不会对第二个操作数求值;如果第一个操作数是“0”,则无论第二个操作数是什么值,结果都不可能是“1”,相当于短路了右边。图1-37是“与”逻辑及其真值表。
“或”逻辑是指如果一个操作数或多个操作数为“1”,则“或”运算符返回布尔值“1”,只有全部操作数为“0”时,结果才是“0”。图1-38是“或”逻辑及其真值表。
图1-37 “与”逻辑及其真值表
图1-38 “或”逻辑及其真值表
“异或”逻辑是指如果 a 、 b 两个值不相同,则异或结果为“1”;如果 a 、 b 两个值相同,则异或结果为“0”。异或也叫半加运算,运算法则相当于不带进位的二进制加法。图1-39为“异或”逻辑及其真值表。
图1-39 “异或”逻辑及其真值表
边沿信号在PLC程序中比较常见,如电动机的启动、停止、故障等信号的捕捉都是通过边沿信号实现的。如图1-40所示,上升沿检测指令检测每一次0到1的正跳变,让能流接通一个扫描周期;下降沿检测指令检测每一次1到0的负跳变,让能流接通一个扫描周期。
图1-40 边沿检测示意图
当触发条件满足(RL0=1)时,置位指令将线圈置1;当触发条件不再满足(RLO=0)时,线圈保持不变,只有触发复位指令时才能将线圈复位为0。单独的复位指令也可以对定时器、计数器的值清0。在梯形图编程指令中,RS、SR触发器带有触发优先级,当置位、复位信号同时为1时,将触发优先级高的动作,如RS触发器,S(置位在后)优先级高。
采用PLC控制的方式,用三个开关S1、S2、S3控制一盏照明灯EL,任何一个开关都可以控制照明灯EL的亮与灭。
步骤1:电气接线与输入/输出定义
图1-41为电气原理图,为了阅读方便,与【实例1-1】略有不同的是输出4L+和4M的画法,电源输入DC24V与电源端L+和M是同一个电源。
图1-41 电气原理图
表1-6为输入/输出定义,包括开关1、开关2和开关3等输入元件,以及照明灯输出元件。
表1-6 输入/输出定义
步骤2:PLC编程
经分析可知,只有一个开关闭合时照明灯亮,再有另外一个开关闭合时照明灯灭,推而广之,即有奇数个开关闭合时照明灯亮,偶数个开关闭合时照明灯灭。根据控制要求列出真值表,见表1-7。
表1-7 三个开关控制一盏照明灯真值表
根据真值表和输入/输出定义,列出PLC输入/输出的逻辑表达式为
表1-8为变量定义,根据式(1-1)可以画出梯形图如图1-42所示。
表1-8 变量定义
图1-42 【实例1-2】的梯形图
步骤3:在线监控
将程序编译后,按照【实例1-1】下载,并进行在线监控,如图1-43所示,即三个开关均为ON的情况下,EL亮。
图1-43 在线监控
若在本实例的基础上,用四个开关S1、S2、S3、S4(定义为I0.3)控制一盏照明灯EL,任何一个开关都可以控制照明灯EL的亮与灭。此时可以判断:有奇数个开关闭合时照明灯亮,偶数个开关闭合时照明灯灭。根据控制要求列出真值表,见表1-9。
表1-9 四个开关控制一盏照明灯真值表
根据真值表,列出PLC输入/输出逻辑表达式为
根据式(1-2)可以画出如图1-44所示梯形图。
图1-44 梯形图
如图1-45所示,采用S7-1200 CPU 1215C DC/DC/DC设计运载小车控制电路,即用左运行按钮SB1控制电动机左转,带动运载小车从右向左运行,当到达最左侧的感应开关SQ1时,电动机停止;SB2为急停按钮,通过被按下可以随时停止电动机;SB3控制电动机右转,带动运载小车从左向右运行,当到达最右侧的感应开关SQ2时,电动机停止。请用RS触发器进行梯形图编程,并编译和下载。
步骤1:电气接线与输入/输出定义
图1-46为电气原理图。表1-10为输入/输出定义。
图1-45 运载小车控制示意图
图1-46 电气原理图
表1-10 输入/输出定义
步骤2:PLC编程
表1-11为变量定义,除了输入和输出,增加了SR触发器用的中间变量1和中间变量2。
表1-11 变量定义
PLC编程方法可以采用传统的“继电器—接触器”思路,也可以采用实例要求的SR触发器进行编程,如图1-47所示。触发器SR或RS的唯一区别是优先级。本实例是R优先,即使S端信号为ON,当R1(注意此时优先级多了一个数字“1”)端信号为ON时,输出Q端为OFF。
图1-47 【实例1-3】的梯形图
S7-1200 PLC有SR触发器和RS触发器。它们之间的区别如下:
(1)SR触发器:复位优先型触发器,逻辑为:
S =0、 R =0时, Q 保持不变(0或1); S =0、 R =1时, Q =0; S =1、 R =0时, Q =1; S =1、 R =1时, Q =0。
(2)RS触发器:置位优先型触发器,逻辑为:
S =0、 R =0时, Q 保持不变(0或1); S =0、 R =1时, Q =0; S =1、 R =0时, Q =1; S =1、 R =1时, Q =1。