3.1 位逻辑指令及案例

位逻辑指令主要指对PLC存储器中的某一位进行操作的指令,它的操作数是位。位逻辑指令包括触点指令和线圈指令两大类。触点指令包括触点取用指令、触点串与并联指令、电路块串与并联指令等;线圈指令包括线圈输出指令、置位复位指令等。

位逻辑指令是依靠1、0两个数进行工作的,1表示触点或线圈的通电状态,0表示触点或线圈的断电状态。利用位逻辑指令可以实现位逻辑运算和控制,在继电器系统的控制中应用较多。

编者心语:

①在位逻辑指令中,每个指令常见的都有梯形图和语句表两种语言表达方式。有些编者在编撰此类书籍的时候,只偏重于语句表的讲解,这点是值得商榷的。

②语句表的基本表达方式:操作码+操作数,其中操作数会以位地址格式出现。

3.1.1 触点取用指令与线圈输出指令

(1)指令格式及功能说明

触点取用指令与线圈指令格式及功能说明,如表3-1所示。

表3-1 触点取用指令与线圈指令格式及功能说明

(2)应用举例

触点取用指令与线圈指令应用举例,如图3-2所示。

图3-2 触点取用指令与线圈指令

使用说明

①每个逻辑运算开始都需要触点取用指令;每个电路块的开始也需要触点取用指令。

②线圈输出指令可并联使用多次,但不能串联使用。

③在线圈输出指令的梯形图表示形式中,同一编号线圈不能出现多次。

3.1.2 触点串联指令(与指令)

(1)指令格式及功能说明

触点串联指令格式及功能说明,如表3-2所示。

表3-2 触点串联指令格式及功能说明

(2)应用举例

触点串联指令应用举例,如图3-3所示。

图3-3 触点串联指令

使用说明

①单个触点串联指令可以连续使用。

②在=之后,通过串联触点对其他线圈使用=指令,我们称之为连续输出。

3.1.3 触点并联指令

(1)指令格式及功能说明

触点并联指令格式及功能说明,如表3-3所示。

表3-3 触点并联指令格式及功能说明

(2)应用举例

触点并联指令应用举例,如图3-4所示。

图3-4 触点并联指令

使用说明

①单个触点并联指令可以连续使用。

②若两个以上触点串联后与其他支路并联,则需用到后面要讲的OLD指令。

3.1.4 电路块串联指令

(1)指令格式及功能说明

电路块串联指令格式及功能说明,如表3-4所示。

表3-4 电路块串联指令格式及功能说明

(2)应用举例

电路块串联指令应用举例,如图3-5所示。

图3-5 电路块串联指令

使用说明

①在每个并联电路块的开始都需用LD或LDN指令。

②可顺次使用ALD指令,进行多个电路块的串联。

③ALD指令用于并联电路块的串联,而A/AN用于单个触点的串联。

3.1.5 电路块并联指令

(1)指令格式及功能说明

电路块并联指令格式及功能说明,如表3-5所示。

表3-5 电路块并联指令格式及功能说明

(2)应用举例

电路块并联指令应用举例,如图3-6所示。

图3-6 电路块并联指令

使用说明

①在每个串联电路块的开始都需用LD或LDN指令。

②可顺次使用OLD指令,进行多个电路块的并联。

③OLD指令用于串联电路块的并联,而O/ON用于单个触点的并联。

3.1.6 置位与复位指令

(1)指令格式及功能说明

置位与复位指令格式及功能说明,如表3-6所示。

表3-6 置位与复位指令格式及功能说明

(2)应用举例

置位与复位指令应用举例,如图3-7所示。

图3-7 置位与复位指令应用举例

置位与复位指令使用说明

①置位复位指令具有记忆和保持功能,对于某一元件来说一旦被置位,始终保持通电(置1)状态,直到对它进行复位(清0)为止,复位指令与置位指令道理一致。

②对同一元件多次使用置位复位指令,元件的状态取决于最后执行的那条指令。

3.1.7 脉冲生成指令

(1)指令格式及功能说明

脉冲生成指令格式及功能说明,如表3-7所示。

表3-7 脉冲生成指令格式及功能说明

(2)应用举例

脉冲生成指令应用举例,如图3-8所示。

图3-8 脉冲发生指令

使用说明

①EU、ED为边沿触发指令,该指令仅在输入信号变化时有效,且输出的脉冲宽度为一个扫描周期。

②对于开机时就为接通状态的输入条件,EU、ED指令不执行。

③EU、ED指令常常与S/R指令联用。

3.1.8 触发器指令

(1)指令格式及功能说明

触发器指令格式及功能说明,如表3-8所示。

表3-8 触发器指令格式及功能说明

(2)应用举例

触发器指令应用举例,如图3-9所示。

图3-9 触发器指令应用举例

功能解析

①I0.1=1时,Q0.1置位,Q0.1输出始终保持;I0.2=1时,Q0.1复位;若二者同时为1,置位优先。

②I0.1=1时,Q0.2置位,Q0.2输出始终保持;I0.2=1时,Q0.2复位;若二者同时为1,复位优先。

3.1.9 逻辑堆栈指令

堆栈是一组能够存储和取出数据的暂存单元。在S7-200 SMART PLC中,堆栈有9层,顶层叫栈顶,底层叫栈底。堆栈的存取特点“后进先出”,每次进行入栈操作时,新值都放在栈顶,栈底值丢失;每次进行出栈操作时,栈顶值弹出,栈底值补进随机数。

逻辑堆栈指令主要用来完成对触点进行复杂连接,配合ALD、OLD指令使用,逻辑堆栈指令主要有逻辑入栈指令、逻辑读栈和逻辑出栈指令,如图3-10所示。具体如下。

图3-10 逻辑堆栈指令

(1)逻辑入栈(LPS)指令

逻辑入栈(LPS)指令又称分支指令或主控指令,执行逻辑入栈指令时,把栈顶值复制后压入堆栈,原堆栈中各层栈值依次下压一层,栈底值被压出丢失。逻辑入栈(LPS)指令的执行情况,如图3-11(a)所示。

图3-11 堆栈操作过程

(2)逻辑读栈(LRD)指令

执行逻辑读栈(LRD)指令时,把堆栈中第2层的值复制到栈顶,2~9层数据不变,堆栈没有压入和弹出,但原来的栈顶值被新的复制值取代,逻辑读栈(LRD)指令的执行情况,如图3-11(b)所示。

(3)逻辑出栈(LPP)指令

逻辑出栈(LPP)指令又称分支结束指令或主控复位指令,执行逻辑出栈(LPP)指令时,堆栈作弹出栈操作,将栈顶值弹出,原堆栈各级栈值依次上弹一级,原堆栈第2级的值成为栈顶值,原栈顶值从栈内丢失,如图3-11(c)所示。

(4)使用说明

①LPS指令和LPP指令必须成对出现。

②受堆栈空间的限制,LPS指令和LPP指令连续使用不得超过9次。

③堆栈指令LPS、LRD、LPP无操作数。

(5)应用举例

逻辑堆栈指令应用举例,如图3-12所示。

图3-12 逻辑堆栈指令应用举例

3.1.10 位逻辑指令应用案例

(1)译码电路

译码电路又称比较电路,该电路按预先设定的输出要求,根据对两个输入信号的比较,决定某一输出,译码电路程序如图3-13所示。

图3-13 译码电路程序

案例解析

若I0.0、I0.1同时接通时,线圈Q0.0有输出;若I0.0接通,I0.1不接通,线圈Q0.1有输出;若I0.0不接通,I0.1接通,线圈Q0.2有输出;若I0.0、I0.1都不接通时,线圈Q0.3有输出

(2)两个输入信号优先电路

两个输入信号优先电路是指在两个输入信号中,先到者取得优先权,后到者无效,两个输入信号优先电路程序如图3-14所示。

图3-14 两个输入信号优先电路程序

案例解析

常开触点I0.0闭合,线圈M0.0得电并自锁,其常闭触点M0.0断开,这时即使I0.1接通,线圈M0.1也不会动作;

常开触点I0.1闭合,线圈M0.1得电并自锁,其常闭触点M0.1断开,这时即使I0.0接通,线圈M0.0也不会动作

(3)两台电动机顺序控制

按下启动按钮,第1台电动机先启动,松开按钮,第2台电动机再启动;按下停止按钮,第1台电动机先停止,松开按钮,第2台电动机再停止,如图3-15所示。

图3-15 两台电动机顺序控制程序

案例解析

按下启动按钮,常开触点I0.0闭合,会产生一个上升沿脉冲,使得线圈Q0.0置位,第1台电动机启动;松开启动按钮,会产生一个下降沿脉冲,使得线圈Q0.1置位,第2台电动机启动;按下停转按钮,常开触点I0.1闭合,会产生一个上升沿脉冲,使得线圈Q0.0复位,第1台电动机停转;松开停止按钮,会产生一个下降沿脉冲,使得线圈Q0.1复位,第2台电动机停转。

(4)两台电动机顺序启动

①控制要求:按下启动按钮SB2,电动机M1先启动后,M2才能启动;按下停止按钮,电动机M1、M2同时停止,电气原理图,如图3-16所示。

图3-16 两台电动机顺序启动

②设计步骤

根据控制要求,对输入/输出进行I/O分配,两台电动机顺序启动I/O分配,如表3-9所示。

表3-9 两台电动机顺序启动I/O分配

③绘制主电路和PLC控制电路电气接线图,两台电动机顺序启动电气接线图纸如图3-17所示。

图3-17 两台电动机顺序启动电气接线图纸

④程序设计,两台电动机顺序启动程序如图3-18所示。

图3-18 两台电动机顺序启动程序

⑤案例解析。按下M1启动按钮,常开触点I0.1闭合,线圈Q0.0得电并自锁,KM1接通,电动机M1启动;按下M2启动按钮,常开触点I0.2闭合,线圈Q0.1得电并自锁,KM2接通,电动机M2启动;按下停止按钮,I0.0常闭触点断开,Q0.0和Q0.1失电,KM1和KM2线圈断电,电动机M1、M2停止转动。