《《PLC应用技术》ppt课件第五单元数据处理类应用指令.ppt》由会员分享,可在线阅读,更多相关《《PLC应用技术》ppt课件第五单元数据处理类应用指令.ppt(89页珍藏版)》请在三一办公上搜索。
1、第五单元 数据处理类应用指令,任务一 用PLC应用指令实现电动机的Y-启动控制,任务二 用PLC实现闪光灯的闪光频率控制,任务三 密码锁,任务四 简易定时报时器,任务五 外置数计数器,任务六 四则运算应用,任务七 彩灯控制电路,任务九 步进电动机控制,任务八 流水灯光控制,任务十 用单按钮实现五台电动机的启停控制,任务十一 外部故障诊断电路,任务一 用PLC应用指令实现电动机的Y-启动控制,一、任务提出 本任务将利用应用指令实现电动机的Y-起动控制。任务要求如下。按电动机Y-启动控制要求,通电时电动机Y形启动;当转速上升到一定程度,电动机形运行。另外,启动过程中的每个状态间应具有一定时间的间隔
2、。,二、原理分析 为了实现任务,设置起动按钮为X0,停止按钮为Xl;电路主(电源)接触器KMl接于输出口Y0,电动机Y接法接触器KM2接于输出口Y1,电动机接法接触器KM3接于输出口Y2,如图5-1所示,输入输出点分配表见表5-1。,图5-1 电动机的Y-启动控制电路,表5-1 输入输出点分配表,按照电机Y起动控制要求,通电时Y0、Y1应为ON(传送常数为1+2=3),电动机Y形启动;当转速上升到一定程度,断开Y0、Y1,接通Y2(传送常数为4)。然后接通Y0、Y2(传送常数为1+4=5),电动机形运行。停止时,各输出均为OFF,应传送常数为0。另外,启动过程中的每个状态间应有时间间隔,时间间
3、隔由电机起动要求决定,这里假设起动时间为8s,Y转换时间为2s,设计出梯形图如图5-2所示。,图5-2 用PLC应用指令实现电动机的Y-启动的梯形图,三、知识链接 1位元件和字元件 输入继电器X、输出继电器Y、辅助继电器M、状态继电器S等编程元件在可编程控制器内部反映的是“位”的变化,称为“位元件”。各种数据存储器,一定量的位软元件组合在一起也可用作数据的存储,定时器T、计数器C的当前值寄存器也可用于数据的存储。上述这些能处理数值数据的元件统称为“字元件”。2位组合元件 位组合元件是一种字元件。位组合元件表达为KnX、KnY、KnM、KnS等形式,式中Kn指有n组这样的数据。如KnX0表示位组
4、合元件是由从X0开始的n组位元件组合。若n为1,则K1X0指由X3、X2、X1、X0四位输入继电器的组合;若n为2,则K2X0是指X7X0八位输入继电器组合;若n为4,则K4X0是指X17X10、X7X0十六位输入继电器的组合。,3应用指令的格式 FX2N系列PLC在梯形图中使用功能框表示应用指令。图5-3a是应用指令的梯形图示例。指令的功能是:当M8002接通时,十进制常数123将被送到辅助继电器M7M0中去,相当于用基本指令实现的程序如图5-3b。,图5-3 用应用指令与基本指令实现同样任务的比较,编号 应用指令用编号FNC00FNC294表示,并给出对应的助记符。例如FNC12的助记符是
5、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”的为连
6、续执行型,例如:MOV是连续执行型16位指令,MOVP是脉冲执行型16位指令,而DMOVP是脉冲执行型32位指令。脉冲执行型指令在执行条件满足时仅执行一个扫描周期。这点对数据处理有很重要的意义。比如一条加法指令,在脉冲执行时,只将加数和被加数做一次加法运算。而连续型加法运算指令在执行条件满足时,每一个扫描周期都要相加一次。,操作数 操作数是应用指令涉及或产生的数据。有的应用指令没有操作数,大多数应用指令有1到4个操作数。操作数分为源操作数、目标操作数及其他操作数。源操作数是指令执行后不改变其内容的操作数,用S表示。目标操作数是指令执行后将改变其内容的操作数,D表示目标操作数。m与n表示其他操作
7、数。其他操作数常用来表示常数或者对源操作数和目标操作数作出补充说明。K为十进制常数,H为十六进制常数。,图5-5 应用指令格式,四、任务实施 1按图5-1连接PLC与输入按钮,并连接PLC的电源,确保无误。2输入图5-2的梯形图,检查无误后运行程序。3按下与X0相连接的按钮SB1,模拟Y-启动的启动信号,仔细观察输出继电器Y0Y2的状态变化是否符合Y-启动的要求。4按下与X1相连接的按钮SB2,模拟Y-启动的停机信号,仔细观察输出继电器Y0Y2的状态变化是否符合Y-启动的停机要求。,任务二 用PLC实现闪光灯的闪光频率控制,一、任务提出 利用PLC应用指令构成一个闪光信号灯,改变输入口所接置数
8、开关可改变闪光频率。(即信号灯亮ts,熄ts)。二、原理分析 4个置数开关(按钮)分别接于X0X3,X10为启停开关,启停开关X10选用带自锁的按钮,信号灯接于Y0。输入输出点分配表见表5-2。表5-2输入输出点分配表,PLC接线图如图5-6a。梯形图如图5-6b所示。图中第一行为变址寄存器清零,上电时完成。第二行从输入口读入设定开关数据,变址综合后送到定时器T0的设定值寄存器D0,并和第三行配合产生D0时间间隔的脉冲。,图5-6 闪光信号灯的闪光频率控制,三、知识链接 1编程元件数据寄存器(D)数据寄存器(D)是用于存储数值数据的字元件,其数值可通过应用指令、数据存取单元(显示器)及编程装置
9、读出与写入。这些寄存器都是16位(最高位为符号位,可处理数值范围为-32,768+32,767)的,如将2个相邻数据寄存器组合,可存储32位(最高位为符号位,可处理数值范围为-2,147,483,648+2,147,483,647)的数值数据。数据寄存器有以下几类。通用数据寄存器(D0D199共200点)通用数据寄存器一旦写入数据,只要不再写入其他数据,其内容就不会变化。但是在PLC从运行到停止或停电时,所有数据被清除为0(如果驱动特殊辅助继电器M8033,则可以保持)。断电保持数据寄存器(D200D7999共7800点)只要不改写,无论PLC是从运行到停止,还是停电时,断电保持数据寄存器将保
10、持原有数据而不丢失。以上的设定范围是出厂时的设定值。数据寄存器的掉电保持功能也可通过外围设备设定,实现通用断电保持或断电保持通用的调整转换。,特殊数据寄存器(D8000D8255共256点)特殊数据寄存器供监控机内元件的运行方式用。在电源接通时,利用系统只读存储器写入初始值。例如,在D8000中,存有监视定时器的时间设定值。它的初始值由系统只读存储器在通电时写入。要改变时可利用传送指令写入,如图5-7所示。,图5-7 特殊数据寄存器数据写入,文件寄存器(D1000D7999)文件寄存器以500点为单位,可被外部设备存取。文件寄存器实际上被设置为PLC的参数区,它与断电保持数据寄存器是重叠的,保
11、证数据不丢失。,2编程元件变址寄存器(V,Z)变址寄存器V、Z和通用数据寄存器一样,是进行数值数据读、写的16位数据寄存器。主要用于运算操作数地址的修改,FX2N的V和Z各8点,分别为V0V7、Z0Z7。进行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程序
12、运行时分别设置拨码开关的值为09,仔细观察输出继电器Y0的状态变化是否符合闪光灯的要求。,任务三 密码锁,一、任务提出 利用PLC实现密码锁控制。密码锁有3个置数开关(12个按钮),分别代表3个十进制数,如所拨数据与密码锁设定值相符合,则3s后开启锁,20s后,重新上锁。二、原理分析 用比较指令实现密码锁的控制系统。置数开关有12条输出线,分别接入X0X13,其中X0X3代表第一个十进制数;X4X7代表第二个十进制数;X10X13代表第三个十进制数,密码锁的控制信号从Y0输出,输入输出点分配见表5-3。表5-3 输入输出点分配表,密码锁的密码由程序设定,假定为K283,从K3X0上送入的数据应
13、和它相等,这可以用比较指令实现判断,密码锁的开启由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指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,用比较指令就会出错。如要清除比较结果,要采用复位RS
14、T指令。如图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所示,将M0M100的101位全部清0。,图5-15 ZRST指令说明,3传送比较指令的基本用途用来获得程序的初始工
15、作数据用来进行机内数据的存取管理用来运算处理结果并向输出端口传送用来比较指令以建立控制点,四、任务实施 112个带自锁的按钮分别连接到PLC的X13X0、输出用指示灯代替,并连接PLC的电源,确保无误。2输入图5-12的梯形图,检查无误后运行程序。3先不操作输入按钮,观察输出继电器Y0的状态有无变化。4设置输入开关的值为十进制数K283(二进制数0001 0001 1011),即X10、X4、X3、X1、X0为ON,其余为OFF,仔细观察输出继电器Y0的状态变化是否符合密码锁的要求。5设置输入开关的值为除了十进制数K283(二进制数0001 0001 1011)外的任何数,仔细观察输出继电器Y
16、0的状态变化,密码锁是否能打开。,任务四 简易定时报时器,一、任务提出 利用计数器与比较指令,设计24h可设定定时时间的住宅控制程序(每15min为一设定单位,则24h共有96个时间单位)。要求实现如下控制。早上6点半,闹钟每秒响一次,10s后自动停止。9:0017:00,启动住宅报警系统。晚上6点打开住宅照明。晚上10点关闭住宅照明。二、原理分析 设X0为起停开关;X1为15min快速调整与试验开关;X2为格数设定的快速调整与试验开关。时间设定值为钟点数4。使用时,在0:00时启动定时器。输入输出点分配见表5-4。表5-4 输入输出点分配表,梯形图如图5-16所示。图中,C0为15min计数
17、器,当按下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间的数据进行代数
18、比较,比较结果在目标操作数D D+2中表示出来,说明如图5-17所示。,图5-17ZCP指令的说明,使用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可以取所有的数据类型
19、。以LD开始的触点型比较指令接在左侧母线上,以AND开始的触点型比较指令与别的触点或电路串联,以OR开始的触点型比较指令与别的触点或电路并联,各种触点型比较指令见表5-5。,表5-5各种触点型比较指令,在图5-18a中,当C10的当前值等于20时,Y0被驱动,D200的值大于十进制数K30且X0为ON时,Y1被SET指令置位。在图5-18b中,当X10为ON且D100的值大于十进制数K58时,Y0被RST指令复位,X1为ON或十进制数K10大于C0的当前值时,Y1被驱动。,图5-18触点型比较指令说明,四、任务实施 1将PLC的X0X2外接3个自锁按钮,输出继电器Y0Y2的驱动设备用3个指示灯
20、代替,并连接PLC的电源,确保无误。2输入图5-16的梯形图,检查无误后运行程序。3按下X2,利用格数设定的快速调整与试验开关调试程序,观察输出继电器Y0Y2的状态变化情况。再按下X2,停止格数设定的快速调整与试验。4按下X1,利用15min快速调整与试验开关调试程序,观察输出继电器Y0Y2的状态变化情况。再按下X1,停止15min快速调整与试验。5在0:00点时,按下X0,启动定时报时器工作。,任务五 外置数计数器,一、任务提出 在一些工业控制场合,希望计数器能在程序外由现场操作人员根据工艺要求临时设定,这就需要一种外置数计数器,本任务利用比较传送类应用指令设计这样一种外置数计数器。二、原理
21、分析 输入输出点分配见表5-6,二位拨码开关接于X0X7,通过它可以自由设定数值在99以下的计数值;X10为计数脉冲;X11为起停开关。Y0为计数器C0的控制对象,当计数器C0的当前值与由拨码开关设定的计数器设定值相同时,Y0被驱动。表5-6 输入输出点分配表,梯形图如图5-19所示。C0计数值是否与外部拨码开关设定值一致,是借助比较指令实现的。须注意的是,拨码开关送入的值为BCD码,要用二进制转换指令进行数制的变换。因为比较操作只对二进制数有效。,图5-19外置数计数器梯形图,三、知识链接 1二进制数与BCD码变换指令 BCD码到二进制数变换指令(BIN)BIN指令的使用如图5-20a所示。
22、当X0=ON时,将源元件K2X0中BCD码转换成二进制数送到目标元件D10中去。,二进制数到BCD码变换指令(BCD)BCD变换指令的说明如图5-20b所示。当X0=ON时,源元件D10中的二进制数转换成BCD码送到目标元件Y7Y0中去。,图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
23、-21数据交换指令XCH说明,3块传送指令BMOV 块传送指令BMOV是从源操作数指定的软元件开始的n点数据传送到指定的目标操作数开始的n点软元件。如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。如图5-22所示,如果指令执行前D0到D2中的数据分别为十进制数100、200、300,则当X0为ON时,执行块传送指令BMOV,目标元件D10到D12中的数据也分别为100、200、300,即将D0D2中的数据传送给了D10D12。,图5-22块传送指令BMOV说明,使用BMOV指令时应注意:BMOV指令中的源操作数与目标操作数是位组合元件时,源操作数与目标操作数要采用相同的位数,如图5-
24、23a所示。在传送的源操作数与目标操作数的地址号范围重叠的场合,为了防止输送源数据没传送就被改写,PLC自动确定传送顺序,如图5-23b中的顺序。利用BMOV指令可以读出文件寄存器(D1000D7999)中的数据。,图5-23块传送指令使用说明,4多点传送指令FMOV 多点传送指令FMOV是将源操作数指定的软元件的内容向以目标操作数指定的软元件开头的n点软元件传送。n点软元件的内容都一样,如图5-24a所示,将D0D99共100个软元件的内容全部置为0。,图5-24 FMOV指令说明,5移位传送指令SMOV 移位传送指令SMOV将4位十进制源数据S中指定位数的数据,传送到4位十进制目的操作数中
25、指定的位置。如图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中的
26、数据逐位取反(10,01),并传送到指定目标D。如图5-24c所示,若D0中的数据在CMP指令执行前为1001 0001 0010 0100,则当X0为ON时,Y3Y0的数据变为1011。,图5-24 CML指令说明,四、任务实施 1将二个拨码开关连接到PLC的X7X0(若无拨码开关,可用带自锁的按钮替代),计数脉冲(由函数发生器产生)连接到X10,起停开关连接到X11,输出用指示灯代替,如图5-25所示,并连接PLC的电源,确保无误。2输入图5-19的梯形图,检查无误后运行程序。3先不操作拨码开关或输入按钮,观察输出继电器Y0的状态。4按下X11,分别设置拨码开关的值为BCD码10和90,仔
27、细观察输出继电器Y0的状态变化,体会外置数计数器的设定值。,图5-25 外置数计数器PLC接线图,任务六 四则运算应用,一、任务提出 用PLC完成以下算式中加、乘、除的运算:,二、原理分析 能进行四则运算是计算机的基本功能,可编程控制器当然也应具备四则运算的能力。上式中“X”用输入端口K2X0表示,代表送入的二进制数,运算结果输送到输出口K2Y0,用X20为起停开关。输入输出点分配见表5-7。表5-7 输入输出点分配表,梯形图如图5-27所示。,图5-27 四则运算梯形图,三、知识链接 1二进制加法指令ADD 加法指令ADD是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去,如图5-
28、28所示。当执行条件0为ON时,D10+D12 D14。2二进制减法指令SUB 减法指令SUB是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去。SUB减法指令的说明如图5-28表示。当执行条件1由OFFON时,D0一K119D0。,图5-28 二进制加法、减法指令说明,3二进制乘法指令MUL 乘法指令MUL是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。MUL乘法指令分16位和32位两种情况。如图5-29所示为16位运算,执行条件X0由OFFON时,D0D2D5,D4。源操作数是16位,目标操作数是32位。当D0=8,D2=9时,D5,D4=72。4二进制除法指令DI
29、V 除法指令DIV是将指定的源元件中二进制数相除,S1为被除数,S2为除数,商送到指定的目标元件D中去,余数送到D的下一个目标元件D+1。DIV除法指令使用说明如图5-29所示。它也分16位和32位两种情况。当为16位运算。执行条件X1由OFFON时,D6D8,商在D2,余数在 D3。当D6=19,D8=3时,D2=6,D3=1。,图5-29 二进制乘法、除法指令说明,四、任务实施 1将代表输入置数的8个按钮连接到PLC的X7X0、启停开关连接到X20、输出用指示灯代替,并连接PLC的电源,确保接线无误。2输入图5-27的梯形图,检查无误后运行程序。3输入置数先设置为0,按下启停开关开始算术运
30、算,观察输出继电器Y0Y7的状态。是否完成了算术运算功能。再按下启停开关停止。4改变输入置数,重复第3步。观察算术运算的结果。,任务七 彩灯控制电路,一、任务提出 经常看到许多广告灯光、舞台灯光以各种方式闪烁,例如:有12盏彩灯正序亮至全亮、反序熄至全熄再循环控制。本任务就是利用PLC控制灯光闪烁。二、原理分析 彩灯共12盏,分别由Y13Y10、Y7Y0输出,X0为彩灯控制的启停开关。输入输出点分配见表5-8。表5-8 输入输出点分配表,本彩灯功能用加l、减1指令及变址寄存器完成,彩灯状态变化的时间单元为1s,用M8013实现。梯形图如图5-30所示。,图5-30 彩灯控制梯形图,三、知识链接
31、 1加1指令(INC)加1指令的说明如5-31a所示。当X0由OFFON时,由D指定的元件D10中的二进制数自动加1。若用连续指令时,每个扫描周期加1。2减1指令(DEC)减1指令的说明如图5-31b所示。当X1由OFFON变化时,由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)逻辑字或
32、指令的说明如图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的补码的形式来
33、表示,最高位为符号位,正数时该位为0,负数时该位为1,将负数求补后得到它的绝对值。,图5-33 求补指令NEG说明,四、任务实施 1将1个带自锁的按钮连接到PLC的X0、将12个彩灯连接到PLC的Y13Y10、Y7Y0,并连接PLC的电源,确保接线无误。2输入图5-30的梯形图,检查无误后运行程序。3先不按下输入按钮,观察彩灯是否有变化,理解M8034的作用。4按下输入按钮,观察彩灯的点亮情况是否符合彩灯控制电路的要求。,任务八 流水灯光控制,一、任务提出 利用PLC实现流水灯光控制。某灯光招牌有L1L8八个灯接于K2Y0,要求当X0为ON时,灯先以正序每隔ls轮流点亮,当Y7亮后,停3s;然
34、后以反序每隔1s轮流点亮,当Y0再亮后,停3s,重复上述过程。当X1为ON时,停止工作。二、原理分析 流水灯光控制需要2个输入点,8个输出点。输入输出点分配见表5-9。表5-9 输入输出点分配表,本任务用循环移位指令实现,梯形图如图5-36所示。,图5-36 流水灯光控制,三、知识链接 1循环右移指令(ROR)循环移位是指数据在本字节或双字内的移位,是一种环形移动。而非循环移位是线性的移位,数据移出部分会丢失,移入部分从其他数据获得。移位指令可用于数据的2倍乘处理,形成新数据,或形成某种控制开关。循环右移指令ROR使16位数据、32位数据向右循环移位,如图5-37a所示。当X4由OFFON时,
35、D内各位数据向右移n位,最后一次从最低位移出的状态存于进位标志M8022中。若用连续指令执行时,循环移位操作每个周期执行一次。若D为指定位软元件,只有K4(16位指令)或K8(32位指令)有效,如图5-36中的K4Y0。,图5-37循环移位指令(右移),2循环左移指令(ROL)循环左移指令ROL使16位数据、32位数据向左循环移位,如图5-37b所示。当X1由OFFON时,D内各位数据向左移n位,最后一次从最高位移出的状态存于进位标志M8022中。若用连续指令执行时,循环移位操作每个周期执行一次。若D为指定位软元件,只有K4(16位指令)或K8(32位指令)有效。,图5-37循环移位指令(左移
36、),3带进位的右循环移位指令(RCR)带进位的右循环移位指令RCR的操作数和n的取值范围与循环移位指令相同。如图5-38a所示,执行时,各位的数据与进位位M8022一起(16位指令时一共17位)向右循环移动n位。在循环中移出的位送入进位标志,后者又被送回到目标操作数的另一端。,图5-38 带进位循环移位指令(RCR操作),4带进位的左循环移位指令(RCL)带进位的左循环移位指令RCL的操作数和n的取值范围与循环移位指令相同。如图5-38b所示,执行时,各位的数据与进位位M8022一起(16位指令时一共17位)向左循环移动n位。在循环中移出的位送入进位标志,后者又被送回到目标操作数的另一端。,图
37、5-38 带进位循环移位指令(RCL操作),四、任务实施 1按图5-39连接PLC与输入开关、输出指示灯,并连接PLC的电源,确保接线无误。2输入图5-36的梯形图,检查无误后运行程序。3按下X0的输入按钮,观察L1L8的状态变化,欣赏流水灯光。4按下X1的输入按钮,结束程序运行。,图5-39流水灯光控制PLC接线图,任务九 步进电动机控制,一、任务提出 本任务利用PLC控制步进电动机。步进电动机是一种利用电磁铁将电脉冲信号转换为线位移或角位移的电动机,如图5-40所示是步进电动机工作原理示意图,通过顺序切换开关,使电动机每机绕组轮流通电,电动机转子按照顺时针方向一步一步地转动。以三相三拍电动
38、机为例,用PLC位移指令实现步进电动机正反转和调速控制。脉冲列由Y10Y12(晶体管输出)送出,作为步进电动机驱动电源功放电路的输入,如图5-41所示。,图5-40步进电动机工作原理,图5-41 步进电动机驱动电路,按任务要求,设置X0为启停按钮,X1为正反转切换开关(X1为OFF时,正转;X1为ON时,反转),X2为减速按钮,X3为增速按钮,脉冲序列通过Y10Y12(晶体管输出)送出,输入输出点分配表见表5-10。表5-10 输入输出点分配表,由此设计出的梯形图如图5-42所示,其中采用积算定时器T246是脉冲发生器,在此作为移位脉冲产生环节,其设定值为K2K500,定时值为2ms500ms
39、,则步进电动机可获得500步s2步s的变速范围。T0为脉冲发生器设定值调整时间限制。,二、原理分析,1初始化程序 程序开始运行时,D0设置初始值为K500,M1、M0、Y11置为ON。2步进电动机正转 当按下X0时,启动定时器T246,D0初始值K500作为定时器T246的设定值,X1为OFF时,每当T246完成一次定时时,按照M0的值形成正序脉冲序列,101011110101011110,可见在T246的作用下最终形成101,011,110的三拍循环。3步进电动机反转 X1为ON时,每当T246完成一次定时时,按照M0的值形成反序脉冲序列,101110011101110011,即在T246的
40、作用下最终形成101,110,011的三拍循环。4减速调整 X2为减速按钮。当按下X2时,定时器T246的设定值D0增加,即T246定时值增加,每秒步数减小,步进电动机转速变小。5增速调整 X3为增速按钮。当按下X3时,定时器T246的设定值D0减小,即T246定时值减小,每秒步数增加,步进电动机转速变大。,图5-42步进电动机控制电路梯形图,三、知识链接 1位右移指令SFTR 位右移指令SFTR对nl位D所指定的位元件进行n2位S所指定位元件的位右移。n2nl1024。如图5-43所示,每当X10由OFFON时,D内(M0M15)各位数据连同S内(X0X3)4位数据向右移4位,即(M3M0)
41、溢出,(M7M4)(M3M0),(M1lM8)(M7M4),(M15M12)(MllM8),(X3X0)(M15M12)。,图5-43 位右移指令SFTR说明,2位左移指令SFTL 位左移指令SFTL对nl位D所指定的位元件进行n2位S所指定位元件的位左移。n2nl1024,如图5-44所示。每当X10由OFFON时,D内(M0M15)各位数据连同S内(X0X3)4位数据向左移4位。,图5-44 位左移指令说明,说明:位右或左移指令用脉冲执行型指令时,指令执行取决于X10由OFFON变化;而用连续指令执行时,移位操作是每个扫描周期执行一次。,3字右移指令WSFR 字右移指令WSFR是对D所指定
42、的nl位字的字元件进行S所指定的n2位字的右移,n2nl512,如图5-45所示。每当X0由OFFON时,D内(D10D25)16字数据连同S内(D0D3)4字数据向右移4位,即(D13D10)溢出,(D17D14)(D13Dl0),(D2lD18)(D17D14),(D25D22)(D2lD18),(D3D0)(D25D22)。,图5-45 字右移指令说明,4字左移指令WSFL 字左移指令WSFL是对D所指定的nl位字的字元件进行S所指定的n2位字的左移,n2nl512,如图5-46所示。每当X0由OFFON时,D内(D10D25)16字数据连同S内(D0D3)4字数据向左移4位。,图5-4
43、6 字左移指令说明 说明:用脉冲执行型指令时,指令执行是X0由OFFON变化决定;而用连续指令执行时,移位操作每个扫描周期执行一次。,5移位寄存器写入指令SFWR 移位寄存器又称为FIFO(先入先出)堆栈,堆栈的长度范围为2512个字。移位寄存器写入指令SFWR是先进先出控制的数据写入指令,如图5-47所示。当X0由OFFON时,将S所指定的D0的数据存储在D2内,D所指定的指针D1的内容成为1。若改变了D0的数据,当X0再由OFFON时,又将D0的数据存储在D3中,D1的内容成为2。依此类推,D1内的数为数据存储点数。如超过n-1,则变成无处理,进位标志M8022动作。,图5-47 FIFO
44、写入指令说明,6移位寄存器读出指令SFRD 移位寄存器读出指令SFRD是先进先出控制的数据读出指令,如图5-48所示。当X0由OFFON时,将D2的数据传送到D20内,与此同时,指针D1的内容减1,D3D10的数据向右移。当X0再由OFFON时,即原D3中的内容传送到D20内,D1的内容再减1。依此类推,当D1的内容为0,则上述操作不再执行,零标志M8020动作。,图5-48 FIFO读出指令,四、任务实施 1将两个带自锁的按钮分别连接到PLC的X0、X1,另两个无自锁功能的按钮连接到X2、X3,电脉冲输出用指示灯代替,并连接PLC的电源,确保接线无误。2输入图5-42的梯形图,检查无误后运行
45、程序。3按下X0的输入按钮,观察正序脉冲。4按下X1的输入按钮,观察反序脉冲。5按下X3的输入按钮,调整脉冲频率。再观察正、反序脉冲。6按下X2的输入按钮,调整脉冲频率。再观察正、反序脉冲。,任务十 用单按钮实现五台电动机的启停控制,一、任务提出 用单按钮控制五台电动机的启停。将五台电动机编号,按下按钮一次(保持1s以上),1号电动机启动,再按按钮,1号电动机停止;按下按钮二次(第二次保持1s以上),2号电动机启动,再按按钮,2号电动机停止;依次类推,按下按钮五次(最后一次保持1s以上),5号电动机启动,再按按钮,5号电动机停止。二、原理分析 启停按钮接到X0,五台电动机接到Y0Y4。输入输出
46、点分配见表5-11。表5-11 输入输出点分配表,图5-51 单按钮控制五台电动机梯形图,梯形图如图5-51所示。输入电动机编号的按钮接于X0,电动机号数使用加1指令记录在K1M10中。DECO指令则将K1M10中的数据译码并令M0右侧和K1M10中数据相同的位元件置1。M9及T0用于输入数字确认及停车复位控制。,三、知识链接 1译码指令(DECO)译码指令相当于数字电路中译码电路的功能。译码指令DECO有两种用法,如图5-52所示。当D为位元件时,如图5-52a所示。以源S为首地址的n位连续的位元件所表示的十进制码值为N,DECO指令把以D为首地址目标元件的第N位(不含目标元件位本身)置l,
47、其他位置0。,图5-52 译码指令(D为位元件时),如图5-52a所示的源数据与译码值的对应关系见表5-12。源数据N=1+2=3,则从M10开始的第3位M13为1。当源数据N=0,则第0位(即M10)为1。,表5-12 源数据与译码值的对应关系,(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是04之外的数据时,出现运算错误。若n=4时,D位数为2的平方=16。驱动输入X4为OF
48、F时,不执行指令,上一次解码输出置1的位保持不变。,图5-52 译码指令(D为字元件时),2编码指令(ENCO)编码指令相当于数字电路中编码电路的功能。与译码指令DECO一样,编码指令ENCO有两种用法,如图5-53所示。(1)当S是位元件时,以源S为首地址、长度为2 n的位元件中,最高置1的位置被存放到目标D所指定的元件中去,D中数值的范围由n确定。如图5-53所示,源元件的长度为2 n=8位M10M17,其最高置1位是M13,即第3位。将(3)10=(011)2,则D10的低3位为011。当源数据的第一个(即第0位)位元件为1,则D中存放0。当源数据中无1,出现运算错误。,图5-53 编码
49、指令(S为位元件时),(2)当S为字元件时,可作同样的分析。,图5-53 编码指令(S为字元件时),四、任务实施 1将输入连接到PLC的X0,输出用指示灯代替,并连接PLC的电源,确保接线无误。2输入图5-51的梯形图,检查无误后运行程序。3按下X0一次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。4按下X0二次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。5按下X0三次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。6按下X0四次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器
50、的状态。7按下X0五次,观察各输出继电器的状态,注意按键时间。再按X0一次,观察各输出继电器的状态。,任务十一 外部故障诊断电路,一、任务提出 在生产实际中,经常需要一些监测手段来提示异常信息,例如,某生产机械发出向前运行命令时,检测装置在一定时间内(如1s)检测不到向前运动时,就要报警;又例如,机械在某个区间内运行,上、下限位开关在一定时间内(如2s)均不动作时,就要报警。等等。二、原理分析 本任务设置6个输入点,3个输出点。输入输出点分配见表5-13。表5-13 输入输出点分配表,由此设计出的梯形图如图5-54所示。状态标志S900S999是信号报警器,在ANS和ANR指令中使用,作外部故