第五单元 数据处理类应用指令 任务一 用PLC应用指令实现电动机的Y-△启动控制 任务二 用PLC实现闪光灯的闪光频率控制 任务三 密码锁 第五单元 数据处理类应用指令 任务一 用PLC应用指令实现电动机的Y-△启动控制 任务二 用PLC实现闪光灯的闪光频率控制 任务三 密码锁 任务四 简易定时报时器 任务五 外置数计数器 任务六 四则运算应用 任务七 彩灯控制电路 任务八 流水灯光控制 任务九 步进电动机控制 任务十 用单按钮实现五台电动机的启停控制 任务十一 外部故障诊断电路
任务一 用PLC应用指令实现电动机的Y-△启动控制 一、任务提出 本任务将利用应用指令实现电动机的Y-△起动控制。任务要求如下。 按电动机Y-△启动控制要求,通电时电动机Y形启动;当转速上升到一定程度,电动机△形运行。另外,启动过程中的每个状态间应具有一定时间的间隔。 二、原理分析 为了实现任务,设置起动按钮为X0,停止按钮为Xl;电路主(电源)接触器KMl接于输出口Y0,电动机Y接法接触器KM2接于输出口Y1,电动机△接法接触器KM3接于输出口Y2,如图5-1所示,输入输出点分配表见表5-1。
图5-1 电动机的Y-△启动控制电路
表5-1 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 启动按钮 Y0 主电源交流接触器 X1 停止按钮 Y1 Y形起动交流接触器 Y2 △形运行交流接触器 按照电机Y/△起动控制要求,通电时Y0、Y1应为ON(传送常数为1+2=3),电动机Y形启动;当转速上升到一定程度,断开Y0、Y1,接通Y2(传送常数为4)。然后接通Y0、Y2(传送常数为1+4=5),电动机△形运行。停止时,各输出均为OFF,应传送常数为0。另外,启动过程中的每个状态间应有时间间隔,时间间隔由电机起动要求决定,这里假设起动时间为8s,Y/△转换时间为2s,设计出梯形图如图5-2所示。
图5-2 用PLC应用指令实现电动机的Y -△启动的梯形图
三、知识链接 1.位元件和字元件 输入继电器X、输出继电器Y、辅助继电器M、状态继电器S等编程元件在可编程控制器内部反映的是“位”的变化,称为“位元件”。各种数据存储器,一定量的位软元件组合在一起也可用作数据的存储,定时器T、计数器C的当前值寄存器也可用于数据的存储。上述这些能处理数值数据的元件统称为“字元件”。 2.位组合元件 位组合元件是一种字元件。位组合元件表达为KnX、KnY、KnM、KnS等形式,式中Kn指有n组这样的数据。如KnX0表示位组合元件是由从X0开始的n组位元件组合。若n为1,则K1X0指由X3、X2、X1、X0四位输入继电器的组合;若n为2,则K2X0是指X7~X0八位输入继电器组合;若n为4,则K4X0是指X17~X10、X7~X0十六位输入继电器的组合。
3.应用指令的格式 FX2N系列PLC在梯形图中使用功能框表示应用指令。图5-3a是应用指令的梯形图示例。指令的功能是:当M8002接通时,十进制常数123将被送到辅助继电器M7~M0中去,相当于用基本指令实现的程序如图5-3b。 图5-3 用应用指令与基本指令实现同样任务的比较
⑴编号 应用指令用编号FNC00~FNC294表示,并给出对应的助记符。例如FNC12的助记符是MOV(传送),FNC45的助记符是MEAN(平均)。 ⑵助记符 指令名称用助记符的形式,应用指令的助记符是该指令的英文缩写词。如传送指令“MOVE”简写为MOV。采用这种方式容易了解指令的功能。如图5-4中的助记符MOV、DMOVP,其中DMOVP中的“D”表示数据长度、“P”表示执行形式。 图5-4 说明助记符的梯形图
⑶数据长度 应用指令按处理数据的长度分为16位指令和32位指令。其中32位指令在助记符前加“D”,助记符前无“D”符号的为16位指令,例如:MOV是16位指令,DMOV是32位指令。 ⑷执行形式 应用指令有脉冲执行型和连续执行型。在指令助记符后标有“P”的为脉冲执行型,无“P”的为连续执行型,例如:MOV是连续执行型16位指令,MOVP是脉冲执行型16位指令,而DMOVP是脉冲执行型32位指令。脉冲执行型指令在执行条件满足时仅执行一个扫描周期。这点对数据处理有很重要的意义。比如一条加法指令,在脉冲执行时,只将加数和被加数做一次加法运算。而连续型加法运算指令在执行条件满足时,每一个扫描周期都要相加一次。
⑸操作数 操作数是应用指令涉及或产生的数据。有的应用指令没有操作数,大多数应用指令有1到4个操作数。操作数分为源操作数、目标操作数及其他操作数。 源操作数是指令执行后不改变其内容的操作数,用[S]表示。 目标操作数是指令执行后将改变其内容的操作数,[D]表示目标操作数。m与n表示其他操作数。其他操作数常用来表示常数或者对源操作数和目标操作数作出补充说明。 K为十进制常数,H为十六进制常数。 图5-5 应用指令格式
四、任务实施 1.按图5-1连接PLC与输入按钮,并连接PLC的电源,确保无误。 2.输入图5-2的梯形图,检查无误后运行程序。 3.按下与X0相连接的按钮SB1,模拟Y -△启动的启动信号,仔细观察输出继电器Y0~Y2的状态变化是否符合Y -△启动的要求。 4.按下与X1相连接的按钮SB2,模拟Y -△启动的停机信号,仔细观察输出继电器Y0~Y2的状态变化是否符合Y -△启动的停机要求。
任务二 用PLC实现闪光灯的闪光频率控制 一、任务提出 二、原理分析 利用PLC应用指令构成一个闪光信号灯,改变输入口所接置数开关可改变闪光频率。(即信号灯亮ts,熄ts)。 二、原理分析 4个置数开关(按钮)分别接于X0~X3,X10为启停开关,启停开关X10选用带自锁的按钮,信号灯接于Y0。输入输出点分配表见表5-2。 表5-2 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 置数开关 Y0 信号灯 X1 X2 X3 X10 启停开关
PLC接线图如图5-6a。梯形图如图5-6b所示。图中第一行为变址寄存器清零,上电时完成。第二行从输入口读入设定开关数据,变址综合后送到定时器T0的设定值寄存器D0,并和第三行配合产生D0时间间隔的脉冲。 图5-6 闪光信号灯的闪光频率控制
三、知识链接 1.编程元件──数据寄存器(D) ⑴通用数据寄存器(D0~D199共200点) 通用数据寄存器一旦写入数据,只要不再写入其他数据,其内容就不会变化。但是在PLC从运行到停止或停电时,所有数据被清除为0(如果驱动特殊辅助继电器M8033,则可以保持)。 ⑵断电保持数据寄存器(D200~D7999共7800点) 只要不改写,无论PLC是从运行到停止,还是停电时,断电保持数据寄存器将保持原有数据而不丢失。 以上的设定范围是出厂时的设定值。数据寄存器的掉电保持功能也可通过外围设备设定,实现通用←→断电保持或断电保持←→通用的调整转换。
⑶特殊数据寄存器(D8000~D8255共256点) ⑷文件寄存器(D1000~D7999) 图5-7 特殊数据寄存器数据写入 ⑷文件寄存器(D1000~D7999) 文件寄存器以500点为单位,可被外部设备存取。文件寄存器实际上被设置为PLC的参数区,它与断电保持数据寄存器是重叠的,保证数据不丢失。
2.编程元件──变址寄存器(V,Z) 变址寄存器V、Z和通用数据寄存器一样,是进行数值数据读、写的16位数据寄存器。主要用于运算操作数地址的修改,FX2N的V和Z各8点,分别为V0~V7、Z0~Z7。 进行32位数据运算时,将两者结合使用,指定Z为低位,组合成为(V,Z),如图5-8所示。 变址寄存器应用如5-9,执行该程序时,若X0为ON,则D15和D26的数据都为K20。 图5-8 变址寄存器(V,Z)的结合 5-9 变址寄存器应用
四、任务实施 1.按图5-6a连接PLC与4个带自锁的按钮、输出闪光灯,并连接PLC的电源,确保接线无误。 2.输入图5-6b的梯形图,检查无误后运行程序。 3.程序运行时分别设置拨码开关的值为0~9,仔细观察输出继电器Y0的状态变化是否符合闪光灯的要求。
任务三 密码锁 一、任务提出 利用PLC实现密码锁控制。密码锁有3个置数开关(12个按钮),分别代表3个十进制数,如所拨数据与密码锁设定值相符合,则3s后开启锁,20s后,重新上锁。 二、原理分析 用比较指令实现密码锁的控制系统。置数开关有12条输出线,分别接入X0~X13,其中X0~X3代表第一个十进制数;X4~X7代表第二个十进制数;X10~X13代表第三个十进制数,密码锁的控制信号从Y0输出,输入输出点分配见表5-3。 表5-3 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X3~X0 密码个位 Y0 密码锁控制信号 X7~X4 密码十位 X13~X10 密码百位
密码锁的密码由程序设定,假定为K283,从K3X0上送入的数据应和它相等,这可以用比较指令实现判断,密码锁的开启由Y0的输出控制。梯形图如图5-12。 图5-12 密码锁梯形图
三、知识链接 1.比较指令CMP 比较指令CMP是比较二个源操作数[S1]和[S2]的代数值大小,结果送到目标操作数[D]~ [D+2]中。CMP指令的说明如图5-13。 图5-13 CMP指令的说明
使用CMP指令时应注意: ⑴CMP指令中的 [S1]和[S2]可以是所有字元件,[D]为Y、M、S。 ⑵当比较指令的操作数不完整(若只指定一个或两个操作数),或者指定的操作数不符合要求(例如把X、D、T、C指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,用比较指令就会出错。 ⑶如要清除比较结果,要采用复位RST指令。如图5-14所示。在不执行指令,需清除比较结果时,也要用RST或ZRST复位指令。 图5-14 比较指令清除比较结果
2.区间复位指令ZRST 区间复位指令ZRST将[Dl],[D2]指定的元件号范围内的同类元件成批复位,目标操作数可取T,C和D(字元件)或Y,M,S(位元件)。[D1]和[D2]指定的应为同一类元件,[D1]的元件号应小于[D2]的元件号。如果[D1]的元件号大于[D2]的元件号,则只有[D1]指定的元件被复位。 虽然ZRST指令是16位处理指令,[Dl],[D2]也可以指定32位计数器。如图5-15所示,将M0~M100的101位全部清0。 图5-15 ZRST指令说明
3.传送比较指令的基本用途 ⑴用来获得程序的初始工作数据 ⑵用来进行机内数据的存取管理 ⑶用来运算处理结果并向输出端口传送 ⑷用来比较指令以建立控制点
四、任务实施 1.12个带自锁的按钮分别连接到PLC的X13~X0、输出用指示灯代替,并连接PLC的电源,确保无误。 2.输入图5-12的梯形图,检查无误后运行程序。 3.先不操作输入按钮,观察输出继电器Y0的状态有无变化。 4.设置输入开关的值为十进制数K283(二进制数0001 0001 1011),即X10、X4、X3、X1、X0为ON,其余为OFF,仔细观察输出继电器Y0的状态变化是否符合密码锁的要求。 5.设置输入开关的值为除了十进制数K283(二进制数0001 0001 1011)外的任何数,仔细观察输出继电器Y0的状态变化,密码锁是否能打开。
任务四 简易定时报时器 一、任务提出 二、原理分析 任务四 简易定时报时器 一、任务提出 利用计数器与比较指令,设计24h可设定定时时间的住宅控制程序(每15min为一设定单位,则24h共有96个时间单位)。要求实现如下控制。 ⑴早上6点半,闹钟每秒响一次,10s后自动停止。 ⑵9:00~17:00,启动住宅报警系统。 ⑶晚上6点打开住宅照明。 ⑷晚上10点关闭住宅照明。 二、原理分析 设X0为起停开关;X1为15min快速调整与试验开关;X2为格数设定的快速调整与试验开关。时间设定值为钟点数×4。使用时,在0:00时启动定时器。输入输出点分配见表5-4。 表5-4 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 启停开关 Y0 闹钟 X1 15min试验 Y1 住宅报警监控 X2 格数试验 Y2 住宅照明
梯形图如图5-16所示。图中,C0为15min计数器,当按下X0时,C0当前值每过1s加1,当C0当前值等于设定值K900时,即为15min。C1为96格计数器,它的当前值每过15min加1,当C1当前值等于设定值K96时,即为24h。另外十进制常数K26、K36、K68、K72、K88分别为6:30、9:00、17:00、18:00和22:00的时间点。梯形图中X1为15min快速调整与试验开关,它每过10ms加1(M8011);X2为格数设定的快速调整与试验开关,它每过100ms加1(M8012)。 图5-16 简易定时报时器梯形图
三、知识链接 1.区间比较指令ZCP 区间比较指令ZCP是将一个数据[S]与两个源数据[S1]和[S2]间的数据进行代数比较,比较结果在目标操作数[D]~ [D+2]中表示出来,说明如图5-17所示。 图5-17 ZCP指令的说明
2.触点型比较指令 使用ZCP指令时应注意: ⑴CMP指令中的 [S1]和[S2]可以是所有字元件,[D]为Y、M、S。 ⑵源[S1]的内容比源 [S2]的内容要小,如果[S1]比[S2]大,则[S2]被看作与[S1]一样大。 ⑶如要清除比较结果,要采用复位RST指令。在不执行指令,需清除比较结果时,也要用RST或ZRST复位指令。 2.触点型比较指令 FX2N系列比较指令除了前面使用的比较指令CMP、区间比较指令ZCP外,还有触点型比较指令。触点型比较指令相当于一个触点,执行时比较源操作数[S1]和[S2],满足比较条件则触点闭合。源操作数[S1]和[S2]可以取所有的数据类型。以LD开始的触点型比较指令接在左侧母线上,以AND开始的触点型比较指令与别的触点或电路串联,以OR开始的触点型比较指令与别的触点或电路并联,各种触点型比较指令见表5-5。
表5-5 各种触点型比较指令 助记符 命 令 名 称 LD= (S1)=(S2)时运算开始的触点接通 AND<> 表5-5 各种触点型比较指令 助记符 命 令 名 称 LD= (S1)=(S2)时运算开始的触点接通 AND<> (S1)≠(S2)时串联触点接通 LD> (S1)>(S2)时运算开始的触点接通 AND<= (S1)≤(S2)时串联触点接通 LD< (S1)<(S2)时运算开始的触点接通 AND>= (S1)≥(S2)时串联触点接通 LD<> (S1)≠(S2)时运算开始的触点接通 OR= (S1)=(S2)时并联触点接通 LD<= (S1)≤(S2)时运算开始的触点接通 OR > (S1)>(S2)时并联触点接通 LD>= (S1)≥(S2)时运算开始的触点接通 OR < (S1)<(S2)时并联触点接通 AND= (S1)=(S2)时串联触点接通 OR <> (S1)≠(S2)时并联触点接通 AND> (S1)>(S2)时串联触点接通 OR <= (S1)≤(S2)时并联触点接通 AND< (S1)<(S2)时串联触点接通 OR >= (S1)≥(S2)时并联触点接通
在图5-18a中,当C10的当前值等于20时,Y0被驱动,D200的值大于十进制数K—30且X0为ON时,Y1被SET指令置位。在图5-18b中,当X10为ON且D100的值大于十进制数K58时,Y0被RST指令复位,X1为ON或十进制数K10大于C0的当前值时,Y1被驱动。 图5-18 触点型比较指令说明
四、任务实施 1.将PLC的X0~X2外接3个自锁按钮,输出继电器Y0~Y2的驱动设备用3个指示灯代替,并连接PLC的电源,确保无误。 2.输入图5-16的梯形图,检查无误后运行程序。 3.按下X2,利用格数设定的快速调整与试验开关调试程序,观察输出继电器Y0~Y2的状态变化情况。再按下X2,停止格数设定的快速调整与试验。 4.按下X1,利用15min快速调整与试验开关调试程序,观察输出继电器Y0~Y2的状态变化情况。再按下X1,停止15min快速调整与试验。 5.在0:00点时,按下X0,启动定时报时器工作。
任务五 外置数计数器 一、任务提出 二、原理分析 任务五 外置数计数器 一、任务提出 在一些工业控制场合,希望计数器能在程序外由现场操作人员根据工艺要求临时设定,这就需要一种外置数计数器,本任务利用比较传送类应用指令设计这样一种外置数计数器。 二、原理分析 输入输出点分配见表5-6,二位拨码开关接于X0~X7,通过它可以自由设定数值在99以下的计数值;X10为计数脉冲;X11为起停开关。Y0为计数器C0的控制对象,当计数器C0的当前值与由拨码开关设定的计数器设定值相同时,Y0被驱动。 表5-6 输入输出点分配表 输入 输出 输入继电器 作用 输出继电器 X3~X0 拨码开关 Y0 控制对象 X7~X4 X10 计数脉冲 X11 启停开关
梯形图如图5-19所示。C0计数值是否与外部拨码开关设定值一致,是借助比较指令实现的。须注意的是,拨码开关送入的值为BCD码,要用二进制转换指令进行数制的变换。因为比较操作只对二进制数有效。 图5-19 外置数计数器梯形图
三、知识链接 1.二进制数与BCD码变换指令 ⑴BCD码到二进制数变换指令(BIN) ⑵二进制数到BCD码变换指令(BCD) BIN指令的使用如图5-20a所示。当X0=ON时,将源元件K2X0中BCD码转换成二进制数送到目标元件D10中去。 ⑵二进制数到BCD码变换指令(BCD) BCD变换指令的说明如图5-20b所示。当X0=ON时,源元件D10中的二进制数转换成BCD码送到目标元件Y7~Y0中去。 图5-20 二进制与BCD码变换指令说明
2.数据交换指令XCH 数据交换指令XCH在指定的目标软元件间进行数据交换。如图5-21所示,当X0为ON时,将十进制数20传送给D0,十进制数30传送给D1,所以D0和D1中的数据分别为20和30;当X1为ON时,执行数据交换指令XCH,目标元件D0和D1中的数据分别为30和20。即D0和D1中的数据进行了交换。 图5-21 数据交换指令XCH说明
3.块传送指令BMOV 块传送指令BMOV是从源操作数指定的软元件开始的n点数据传送到指定的目标操作数开始的n点软元件。如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。如图5-22所示,如果指令执行前D0到D2中的数据分别为十进制数100、200、300,则当X0为ON时,执行块传送指令BMOV,目标元件D10到D12中的数据也分别为100、200、300,即将D0~D2中的数据传送给了D10~D12。 图5-22 块传送指令BMOV说明
使用BMOV指令时应注意: ⑴BMOV指令中的源操作数与目标操作数是位组合元件时,源操作数与目标操作数要采用相同的位数,如图5-23a所示。 ⑵在传送的源操作数与目标操作数的地址号范围重叠的场合,为了防止输送源数据没传送就被改写,PLC自动确定传送顺序,如图5-23b中的①~③顺序。 ⑶利用BMOV指令可以读出文件寄存器(D1000~D7999)中的数据。 图5-23 块传送指令使用说明
4.多点传送指令FMOV 多点传送指令FMOV是将源操作数指定的软元件的内容向以目标操作数指定的软元件开头的n点软元件传送。 n点软元件的内容都一样,如图5-24a所示,将D0~D99共100个软元件的内容全部置为0。 图5-24 FMOV指令说明
5.移位传送指令SMOV 移位传送指令SMOV将4位十进制源数据[S]中指定位数的数据,传送到4位十进制目的操作数中指定的位置。如图5-24b所示,将源数据(二进制数)的BCD码变换值从其第4位(m1=4)起将低位的2位部分(m2=2)作为目标的第3位(n=3)的开头传送,并将其变为二进制数。假设SMOV指令执行前,D1中的内容为0011 1000 0111 0110,D2中的内容为1001 0001 0010 0100,则当X0为ON时SMOV指令执行,将D1中的第4位0011起将低位的2位部分即0011 1000作为目标D2的第3位的开头传送,所以D2的内容变为1001 0011 1000 0100并将其变为二进制数。 图5-24 SMOV指令说明
6.取反传送指令CML 取反传送指令CML将源元件[S]中的数据逐位取反(1→0,0→1),并传送到指定目标[D]。如图5-24c所示,若D0中的数据在CMP指令执行前为1001 0001 0010 0100,则当X0为ON时,Y3~Y0的数据变为1011。 图5-24 CML指令说明
四、任务实施 1.将二个拨码开关连接到PLC的X7~X0(若无拨码开关,可用带自锁的按钮替代),计数脉冲(由函数发生器产生)连接到X10,起停开关连接到X11,输出用指示灯代替,如图5-25所示,并连接PLC的电源,确保无误。 2.输入图5-19的梯形图,检查无误后运行程序。 3.先不操作拨码开关或输入按钮,观察输出继电器Y0的状态。 4.按下X11,分别设置拨码开关的值为BCD码10和90,仔细观察输出继电器Y0的状态变化,体会外置数计数器的设定值。 图5-25 外置数计数器PLC接线图
任务六 四则运算应用 一、任务提出 用PLC完成以下算式中加、乘、除的运算: 二、原理分析 任务六 四则运算应用 一、任务提出 用PLC完成以下算式中加、乘、除的运算: 二、原理分析 能进行四则运算是计算机的基本功能,可编程控制器当然也应具备四则运算的能力。上式中“X”用输入端口K2X0表示,代表送入的二进制数,运算结果输送到输出口K2Y0,用X20为起停开关。输入输出点分配见表5-7。 表5-7 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X7~X0 输入二进制数 Y7~Y0 运算结果 X20 启停开关
梯形图如图5-27所示。 图5-27 四则运算梯形图
三、知识链接 2.二进制减法指令SUB 1.二进制加法指令ADD 加法指令ADD是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去,如图5-28所示。当执行条件X0为ON时, [D10]+[D12] →[D14]。 2.二进制减法指令SUB 减法指令SUB是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去。SUB减法指令的说明如图5-28表示。当执行条件X1由OFF→ON时, [D0]一K119→[D0]。 图5-28 二进制加法、减法指令说明
3.二进制乘法指令MUL 4.二进制除法指令DIV 乘法指令MUL是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。MUL乘法指令分16位和32位两种情况。 如图5-29所示为16位运算,执行条件X0由OFF→ON时,[D0]×[D2]→[D5,D4]。源操作数是16位,目标操作数是32位。当[D0]=8,[D2]= 9时,[D5,D4]=72。 4.二进制除法指令DIV 除法指令DIV是将指定的源元件中二进制数相除,[S1]为被除数,[S2]为除数,商送到指定的目标元件[D]中去,余数送到[D]的下一个目标元件[D+1]。DIV除法指令使用说明如图5-29所示。它也分16位和32位两种情况。 当为16位运算。执行条件X1由OFF→ON时,[D6]÷[D8],商在[D2],余数在 [D3]。当[D6]=19,[D8]= 3时,[D2]=6,[D3]=1。 图5-29 二进制乘法、除法指令说明
四、任务实施 1.将代表输入置数的8个按钮连接到PLC的X7~X0、启停开关连接到X20、输出用指示灯代替,并连接PLC的电源,确保接线无误。 2.输入图5-27的梯形图,检查无误后运行程序。 3.输入置数先设置为0,按下启停开关开始算术运算,观察输出继电器Y0~Y7的状态。是否完成了算术运算功能。再按下启停开关停止。 4.改变输入置数,重复第3步。观察算术运算的结果。
任务七 彩灯控制电路 一、任务提出 二、原理分析 任务七 彩灯控制电路 一、任务提出 经常看到许多广告灯光、舞台灯光以各种方式闪烁,例如:有12盏彩灯正序亮至全亮、反序熄至全熄再循环控制。本任务就是利用PLC控制灯光闪烁。 二、原理分析 彩灯共12盏,分别由Y13~Y10 、Y7~Y0输出,X0为彩灯控制的启停开关。输入输出点分配见表5-8。 表5-8 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 启停按钮 Y13~Y0 彩灯输出
本彩灯功能用加l、减1指令及变址寄存器完成,彩灯状态变化的时间单元为1s,用M8013实现。梯形图如图5-30所示。 图5-30 彩灯控制梯形图
三、知识链接 1.加1指令(INC) 2.减1指令(DEC) 加1指令的说明如5-31a所示。当X0由OFF→ON时,由[D]指定的元件D10中的二进制数自动加1。若用连续指令时,每个扫描周期加1。 2.减1指令(DEC) 减1指令的说明如图5-31b所示。当X1由OFF→ON变化时,由[D]指定的元件D10中的二进制数自动减1。若用连续指令时,每个扫描周期减l。 图5-31 INC、DEC指令说明
3.逻辑字“与”指令(WAND) 逻辑字与指令的说明如图5-32a所示。当X0为ON时,[S1]指定的D10和[S2]指定的D12内数据按各位对应,进行逻辑字与运算,结果存于由[D]指定的元件D14中。 图5-32 WAND指令说明
4.逻辑字“或”指令(WOR) 逻辑字或指令的说明如图5-32b所示。当X1为ON时,[S1]指定的D10和[S2]指定的D12内数据按各位对应,进行逻辑字或运算,结果存于由[D]指定的元件D14中。 图5-32 WOR指令说明
5.逻辑字“异或”指令(WXOR) 逻辑字异或指令的说明如图5-32c所示。当X2为ON时,[S1]指定的D10和[S2]指定的D12内数据按各位对应,进行逻辑字异或运算,结果存于由[D]指定的元件D14中。 图5-32 WXOR指令说明
6.求补指令(NEG) 求补指令NEG只有目标操作数,如图5-33所示。它将[D]指定的数的每一位取反后再加1,结果存于同一元件,求补指令实际上是绝对值不变的变号操作。 FX系列PLC的负数用2的补码的形式来表示,最高位为符号位,正数时该位为0,负数时该位为1,将负数求补后得到它的绝对值。 图5-33 求补指令NEG说明
四、任务实施 1.将1个带自锁的按钮连接到PLC的X0、将12个彩灯连接到PLC的Y13~Y10、 Y7~Y0,并连接PLC的电源,确保接线无误。 2.输入图5-30的梯形图,检查无误后运行程序。 3.先不按下输入按钮,观察彩灯是否有变化,理解M8034的作用。 4.按下输入按钮,观察彩灯的点亮情况是否符合彩灯控制电路的要求。
任务八 流水灯光控制 一、任务提出 利用PLC实现流水灯光控制。某灯光招牌有L1~L8八个灯接于K2Y0,要求当X0为ON时,灯先以正序每隔ls轮流点亮,当Y7亮后,停3s;然后以反序每隔1s轮流点亮,当Y0再亮后,停3s,重复上述过程。当X1为ON时,停止工作。 二、原理分析 流水灯光控制需要2个输入点,8个输出点。输入输出点分配见表5-9。 表5-9 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 启动按钮 Y7~Y0 外接L8~L1 X1 停止按钮
本任务用循环移位指令实现,梯形图如图5-36所示。 图5-36 流水灯光控制
三、知识链接 1.循环右移指令(ROR) 循环移位是指数据在本字节或双字内的移位,是一种环形移动。而非循环移位是线性的移位,数据移出部分会丢失,移入部分从其他数据获得。移位指令可用于数据的2倍乘处理,形成新数据,或形成某种控制开关。 循环右移指令ROR使16位数据、32位数据向右循环移位,如图5-37a所示。当X4由OFF→ON时,[D]内各位数据向右移n位,最后一次从最低位移出的状态存于进位标志M8022中。若用连续指令执行时,循环移位操作每个周期执行一次。若[D]为指定位软元件,只有K4(16位指令)或K8(32位指令)有效,如图5-36中的K4Y0。 图5-37 循环移位指令(右移)
2.循环左移指令(ROL) 循环左移指令ROL使16位数据、32位数据向左循环移位,如图5-37b所示。当X1由OFF→ON时,[D]内各位数据向左移n位,最后一次从最高位移出的状态存于进位标志M8022中。若用连续指令执行时,循环移位操作每个周期执行一次。若[D]为指定位软元件,只有K4(16位指令)或K8(32位指令)有效。 图5-37 循环移位指令(左移)
3.带进位的右循环移位指令(RCR) 带进位的右循环移位指令RCR的操作数和n的取值范围与循环移位指令相同。如图5-38a所示,执行时,各位的数据与进位位M8022一起(16位指令时一共17位)向右循环移动n位。在循环中移出的位送入进位标志,后者又被送回到目标操作数的另一端。 图5-38 带进位循环移位指令(RCR操作)
4.带进位的左循环移位指令(RCL) 带进位的左循环移位指令RCL的操作数和n的取值范围与循环移位指令相同。如图5-38b所示,执行时,各位的数据与进位位M8022一起(16位指令时一共17位)向左循环移动n位。在循环中移出的位送入进位标志,后者又被送回到目标操作数的另一端。 图5-38 带进位循环移位指令(RCL操作)
四、任务实施 1.按图5-39连接PLC与输入开关、输出指示灯,并连接PLC的电源,确保接线无误。 2.输入图5-36的梯形图,检查无误后运行程序。 3.按下X0的输入按钮,观察L1~L8的状态变化,欣赏流水灯光。 4.按下X1的输入按钮,结束程序运行。 图5-39 流水灯光控制PLC接线图
任务九 步进电动机控制 一、任务提出 本任务利用PLC控制步进电动机。 任务九 步进电动机控制 一、任务提出 本任务利用PLC控制步进电动机。 步进电动机是一种利用电磁铁将电脉冲信号转换为线位移或角位移的电动机,如图5-40所示是步进电动机工作原理示意图,通过顺序切换开关,使电动机每机绕组轮流通电,电动机转子按照顺时针方向一步一步地转动。以三相三拍电动机为例,用PLC位移指令实现步进电动机正反转和调速控制。脉冲列由Y10~Y12(晶体管输出)送出,作为步进电动机驱动电源功放电路的输入,如图5-41所示。 图5-40 步进电动机工作原理 图5-41 步进电动机驱动电路
二、原理分析 按任务要求,设置X0为启停按钮,X1为正反转切换开关(X1为OFF时,正转;X1为ON时,反转), X2为减速按钮,X3为增速按钮,脉冲序列通过Y10~Y12(晶体管输出)送出,输入输出点分配表见表5-10。 表5-10 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 启停按钮 Y12~Y10 电脉冲序列 X1 正反转切换开关 X2 减速按钮 X3 增速按钮 由此设计出的梯形图如图5-42所示,其中采用积算定时器T246是脉冲发生器,在此作为移位脉冲产生环节,其设定值为K2~K500,定时值为2ms~500ms,则步进电动机可获得500步/s~2步/s的变速范围。T0为脉冲发生器设定值调整时间限制。
图5-42 步进电动机控制电路梯形图 1.初始化程序 程序开始运行时,D0设置初始值为K500,M1、M0、Y11置为ON。 2.步进电动机正转 当按下X0时,启动定时器T246,D0初始值K500作为定时器T246的设定值,X1为OFF时,每当T246完成一次定时时,按照M0的值形成正序脉冲序列,101→011→110→101→011→110→……,可见在T246的作用下最终形成101,011,110的三拍循环。 3.步进电动机反转 X1为ON时,每当T246完成一次定时时,按照M0的值形成反序脉冲序列, 101→110→011→101→110→011→……,即在T246的作用下最终形成101,110,011的三拍循环。 4.减速调整 X2为减速按钮。当按下X2时,定时器T246的设定值D0增加,即T246定时值增加,每秒步数减小,步进电动机转速变小。 5.增速调整 X3为增速按钮。当按下X3时,定时器T246的设定值D0减小,即T246定时值减小,每秒步数增加,步进电动机转速变大。 图5-42 步进电动机控制电路梯形图
三、知识链接 1.位右移指令SFTR 位右移指令SFTR对nl位[D]所指定的位元件进行n2位[S]所指定位元件的位右移。n2≤nl≤1024。如图5-43所示,每当X10由OFF→ON时,[D]内(M0~M15)各位数据连同[S]内(X0~X3)4位数据向右移4位,即(M3~M0)→溢出,(M7~M4)→(M3~M0),(M1l~M8)→(M7~M4),(M15~M12)→(Mll~M8),(X3~X0)→(M15~M12)。 图5-43 位右移指令SFTR说明
2.位左移指令SFTL 位左移指令SFTL对nl位[D]所指定的位元件进行n2位[S]所指定位元件的位左移。n2≤nl≤1024,如图5-44所示。每当X10由OFF→ON时,[D]内(M0~M15)各位数据连同[S]内(X0~X3)4位数据向左移4位。 图5-44 位左移指令说明 说明:位右或左移指令用脉冲执行型指令时,指令执行取决于X10由OFF→ON变化;而用连续指令执行时,移位操作是每个扫描周期执行一次。
3.字右移指令WSFR 字右移指令WSFR是对[D]所指定的nl位字的字元件进行[S]所指定的n2位字的右移,n2≤nl≤512,如图5-45所示。每当X0由OFF→ON时,[D]内(D10~D25)16字数据连同[S]内(D0~D3)4字数据向右移4位,即(D13~D10)→溢出,(D17~D14)→(D13~Dl0),(D2l~D18)→(D17~D14),(D25~D22)→(D2l~D18),(D3~D0)→(D25~D22)。 图5-45 字右移指令说明
4.字左移指令WSFL 字左移指令WSFL是对[D]所指定的nl位字的字元件进行[S]所指定的n2位字的左移,n2≤nl≤512,如图5-46所示。每当X0由OFF→ON时,[D]内(D10~D25)16字数据连同[S]内(D0~D3)4字数据向左移4位。 图5-46 字左移指令说明 说明:用脉冲执行型指令时,指令执行是X0由OFF→ON变化决定;而用连续指令执行时,移位操作每个扫描周期执行一次。
5.移位寄存器写入指令SFWR 移位寄存器又称为FIFO(先入先出)堆栈,堆栈的长度范围为2~512个字。移位寄存器写入指令SFWR是先进先出控制的数据写入指令,如图5-47所示。当X0由OFF→ON时,将[S]所指定的D0的数据存储在D2内,[D]所指定的指针D1的内容成为1。若改变了D0的数据,当X0再由OFF→ON时,又将D0的数据存储在D3中,D1的内容成为2。依此类推,D1内的数为数据存储点数。如超过n-1,则变成无处理,进位标志M8022动作。 图5-47 FIFO写入指令说明
6.移位寄存器读出指令SFRD 移位寄存器读出指令SFRD是先进先出控制的数据读出指令,如图5-48所示。当X0由OFF→ON时,将D2的数据传送到D20内,与此同时,指针D1的内容减1,D3~D10的数据向右移。当X0再由OFF→ON时,即原D3中的内容传送到D20内,D1的内容再减1。依此类推,当D1的内容为0,则上述操作不再执行,零标志M8020动作。 图5-48 FIFO读出指令
四、任务实施 1.将两个带自锁的按钮分别连接到PLC的X0、X1,另两个无自锁功能的按钮连接到X2、X3,电脉冲输出用指示灯代替,并连接PLC的电源,确保接线无误。 2.输入图5-42的梯形图,检查无误后运行程序。 3.按下X0的输入按钮,观察正序脉冲。 4.按下X1的输入按钮,观察反序脉冲。 5.按下X3的输入按钮,调整脉冲频率。再观察正、反序脉冲。 6.按下X2的输入按钮,调整脉冲频率。再观察正、反序脉冲。
任务十 用单按钮实现五台电动机的启停控制 一、任务提出 二、原理分析 任务十 用单按钮实现五台电动机的启停控制 一、任务提出 用单按钮控制五台电动机的启停。将五台电动机编号,按下按钮一次(保持1s以上),1号电动机启动,再按按钮,1号电动机停止;按下按钮二次(第二次保持1s以上),2号电动机启动,再按按钮,2号电动机停止;依次类推,按下按钮五次(最后一次保持1s以上),5号电动机启动,再按按钮,5号电动机停止。 二、原理分析 启停按钮接到X0,五台电动机接到Y0~Y4。输入输出点分配见表5-11。 表5-11 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 启动按钮 Y0 1号电动机 Y1 2号电动机 Y2 3号电动机 Y3 4号电动机 Y4 5号电动机
梯形图如图5-51所示。输入电动机编号的按钮接于X0,电动机号数使用加1指令记录在K1M10中。DECO指令则将K1M10中的数据译码并令M0右侧和K1M10中数据相同的位元件置1。M9及T0用于输入数字确认及停车复位控制。 图5-51 单按钮控制五台电动机梯形图
三、知识链接 1.译码指令(DECO) 译码指令相当于数字电路中译码电路的功能。译码指令DECO有两种用法,如图5-52所示。 ⑴当[D]为位元件时,如图5-52a所示。以源[S]为首地址的n位连续的位元件所表示的十进制码值为N,DECO指令把以[D]为首地址目标元件的第N位(不含目标元件位本身)置l,其他位置0。 图5-52 译码指令( [D]为位元件时)
如图5-52a所示的源数据与译码值的对应关系见表5-12。源数据N=1+2=3,则从M10开始的第3位M13为1。当源数据N=0,则第0位(即M10)为1。 表5-12 源数据与译码值的对应关系 [S] [D] X2 X1 X0 M17 M16 M15 M14 M13 M12 M11 M10 1
(2)当[D]是字元件时,以[S]所指定字元件的低n位所表示的十进制码为N,DECO指令把以[D]所指定目标字元件的第N位(不含最低位)置1,其他位置0。如图5-52b所示,源数据N=1+2=3时,D1的第3位为1。当源数据为0时,D1的第0位为l。若n=0时,程序不执行;n是0~4之外的数据时,出现运算错误。若n=4时,[D]位数为2的平方=16。驱动输入X4为OFF时,不执行指令,上一次解码输出置1的位保持不变。 图5-52 译码指令( [D]为字元件时)
2.编码指令(ENCO) 编码指令相当于数字电路中编码电路的功能。与译码指令DECO一样,编码指令ENCO有两种用法,如图5-53所示。 (1)当[S]是位元件时,以源[S]为首地址、长度为2 n的位元件中,最高置1的位置被存放到目标[D]所指定的元件中去,[D]中数值的范围由n确定。如图5-53所示,源元件的长度为2 n =8位M10~M17,其最高置1位是M13,即第3位。将(3)10=(011)2,则D10的低3位为011。 当源数据的第一个(即第0位)位元件为1,则[D]中存放0。当源数据中无1,出现运算错误。 图5-53 编码指令([S]为位元件时)
(2)当[S]为字元件时,可作同样的分析。
四、任务实施 1.将输入连接到PLC的X0,输出用指示灯代替,并连接PLC的电源,确保接线无误。 2.输入图5-51的梯形图,检查无误后运行程序。 3.按下X0一次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。 4.按下X0二次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。 5.按下X0三次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。 6.按下X0四次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。 7.按下X0五次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。
任务十一 外部故障诊断电路 一、任务提出 二、原理分析 任务十一 外部故障诊断电路 一、任务提出 在生产实际中,经常需要一些监测手段来提示异常信息,例如,某生产机械发出向前运行命令时,检测装置在一定时间内(如1s)检测不到向前运动时,就要报警;又例如,机械在某个区间内运行,上、下限位开关在一定时间内(如2s)均不动作时,就要报警。等等。 二、原理分析 本任务设置6个输入点,3个输出点。输入输出点分配见表5-13。 表5-13 输入输出点分配表 输 入 输 出 输入继电器 作用 输出继电器 X0 往前运行检测 Y0 往前运行驱动 X1 往上运行检测 Y1 上下运行驱动 X2 往下运行检测 Y10 故障指示 X3 往前运行开关 X4 上下运行开关 X5 复位信号报警
由此设计出的梯形图如图5-54所示。状态标志S900~S999是信号报警器,在ANS和ANR指令中使用,作外部故障诊断的输出。特殊辅助继电器M8049是报警器有效指示,若将其驱动,则表示监视有效,PLC将S900~S999中的动作状态的最小地址号存储在特殊数据寄存器D8049内。特殊辅助继电器M8048是报警器接通指示,若M8049被驱动,状态S900~S999中任何一个动作,则M8048动作。 图5-54 外部故障诊断电路梯形图
图5-54中M8000的常开触点一直接通,使M8049的线圈通电,特殊数据寄存器D8049的监视功能有效。当按下X3时,Y0为ON,驱动机械前进。在驱动机械前进1秒以内,若往前运行检测端X0不工作,则表示机械没有往前运动,S900动作,指示故障。若ANS指令的输入电路断开,定时器T0复位,而S900仍保持为ON。当按下X4时,Y1为ON,驱动机械上下运行。在驱动机械上下运行2秒以内,若上、下运行检测端X1或X2没有一个工作,则表示机械没有上下运动,S901动作,指示故障。 若S900~S999中的某一个接通,则M8048动作,故障指示输出Y10工作。用复位按钮X5将外部故障诊断程序所造成的动作状态OFF。每次将X5接通时,新地址号的动作状态按顺序复位。
三、知识链接 1.报警器置位指令(ANS) 2.报警器复位指令(ANR) 报警器置位指令ANS的源操作数[S]为T0~T199,目标操作数[D]为S900~S999,m=1~32767(定时器以l00ms为单位的设定值),如图5-55a所示。若X0与X1同时接通1秒以上,则S900被置位,以后即使X0或X1为OFF,只是将定时器复位S900仍然继续动作。若接通不满1s时,若X0与Xl为OFF,则定时器复位,S900不动作。 2.报警器复位指令(ANR) 报警器复位指令ANR无操作数,图5-55b中若X3接通,则信号报警器S900~S999中正在动作的信号报警器复位。如果多个信号报警器动作,则将新地址号的状态复位。若将X3再次接通,则下一地址号的信号报警器复位。 图5-55 信号报警器置位与复位指令
3.平均值指令(MEAN) 平均值指令MEAN用来求n(l~64)个源操作数[S]的代数和被n除的商,商存在[D]中,余数略去,如图5-56a所示,当X0为ON时: 图5-56 MEAN指令说明
4.二进制平方根指令(SQR) 平方根指令SQR的源操作数[S]应大于零,可取K,H,D,目标操作数为D。图5-56b中X2为ON时,将存放在D45中的数开平方,结果存放在D123内,即 图5-56 SQR指令说明
5.二进制整数与二进制浮点数转换指令(FLT) 二进制整数与二进制浮点数转换指令FLT的源操作数和目标操作数均为D。图5-56c中的X4为ON,且M8023(浮点数标志)为OFF时,该指令将存放在源操作数D10中的数据转换为浮点数,并将结果存放在目标寄存器D13和D12中。M8023为ON时,将把浮点数转换为整数。 图5-56 FLT指令说明 6.高低字节交换指令SWAP 一个16位的字由两个8位的字节组成。16位运算时,高低字节交换指令SWAP交换源操作数的高字节和低字节。32位运算时,先交换低位字的高字节和低字节,再交换高位字的高字节和低字节。
7.编程技巧 (1)数据计算与转换 PLC控制中有不少场合要进行数值的计算与转换,如模拟量和数字量的处理、四则运算、函数运算、PID处理等。这类程序先要由控制要求拟定好运算式,然后用相关指令一步步完成运算,程序编制时要注意中间运算结果的存储。 (2)以某个数据作为控制条件 许多控制场合以数字量为控制条件。如温度达到了一定的度数,压力达到了一定的数值则启动下一个操作等。这类程序离不开传送比较,用比较指令的比较结果元件作为下一个工序的开关。 (3)使用数据作逻辑控制 梯形图的目的就是要得到符合控制要求的输出。在基本指令完成的逻辑控制任务中,把输出看成独立的,分别编写出每个输出的梯形图支路。而在应用指令程序中就要把PLC的输出口看作字元件,把某时刻输出口的状态看作一个数据。 (4)使用应用指令形成某种规律 工业控制中有不少的控制对象要依一定的方式循环动作。如步进电机需要一定规律的脉冲,彩灯依一定的规律形成流水灯等,这要使机内器件形成所需的规律。这类程序离不开移位、编译码。编程时先从单周期的控制要求找寻合适的指令,再考虑循环的实现。 (5)数据管理 控制中有较多中间数据,或备查数据,或历史数据时,需进行数据的科学管理。比如将数据送入堆栈,将数据制成表格并进行查找等。这时编程可以使用堆栈指令,表应用指令等指令。 (6) 初始化及数据寄存单元的复位处理 编程离不开程序的初始化及数据寄存单元的复位处理。这些功能通常在主体功能实现后在程序中增加相关程序段落。循环功能的实现常借助加一、减一指令、复位指令及间址寄存器。它们能使程序简单。
四、任务实施 1.将6个输入按钮分别连接到PLC的X0~X5,输出用指示灯代替,并连接PLC的电源,确保接线无误。 2.输入图5-54的梯形图,检查无误后运行程序。 3.按下X3、不按下X0的输入按钮,观察报警情况;报警后按下X0,观察报警情况。 4.按下X4,X1、X2均不按下,观察报警情况;报警后按下X1或X2,观察报警情况。 5.按下X5,观察报警复位。重复一次。 6.按下X3后,1s内再按下X0,观察是否报警。 7.按下X4后,2s内再按下X1或X2,观察是否报警情况。
THE END