可编程控制器应用技术三菱FX2N系列PLC教学课件模块四:功能指令的使用南京技师学院PLC精品课程课题组随着工厂生产的高速化和高度自动化,自动化立体库正被越来越多地应用。如图所示为一货物自动化立体仓库,整个系统的位置检测工作由光电开关执行,并由PLC协调控制货物的输送、等待、移载等工作。货物到达“条形码扫描仪”时由上位机读取条形码,上位机根据条形码的信息,向PLC发出位置指令,PLC根据预存的地址编码信息,自动将货物分拣至相应的仓库里。如图4-1-1所示.图4-1-1货物自动化立体仓库PLC要完成如此复杂的工作任务,仅具有基本指令显然是远远不够的,现代工业控制的许多场合需要数据处理,因而PLC功能指令的应用显得十分重要,功能指令包括数据的传送、运算、转换及程序控制等,功能十分强大,能将以往需大段程序才能完成的任务,现在用一条指令就中流转的过程复杂,因而学习功能指令的应用重要能完成。功能指令的特点是指令处理的数据多,数据在存储单元的是要掌握其数据形式及数据的流转过程。本章通过货料小车的控制、单按钮控制五台电动机启停、自动售货机的控制、广告牌自动流水灯光控制、邮件分拣机的控制等具体实例来讲解传送与比较指令、数据处理类指令、四则及逻辑运算类指令、移位控制类指令、中断、高速计数器等典型指令的应用,并完成相关实例的软硬件设计、编程、接线及调试的工作任务。模块四:功能指令的使用项目4-1货料小车的控制南京技师学院PLC精品课程课题组学习目标1.功能指令的基础知识2.传送和比较指令的应用3.三菱FX2N的数据结构4.传送指令和比较指令的应用一、情景模拟FX2N系列PLC有八条数据传送指令,能实现单一数据或批数据的传送、数制转换或数据移位;FX2N系列PLC还有两条数据比较指令及触点比较类指令,这些指令在PLC工业控制编程应用十分广泛,若应用得当,将会使编程如虎添翼。货料小车在工业生产中应用十分广泛,本项目的任务是通过完成一个货料小车的PLC控制系统设计,来深入学习并掌握数据传送和比较指令的使用规则及应用。某车间有6个工作站,送料车往返于工作站之间送料,如图4-1-2所示。每个工作站设有一个到位开关(SQ)和一个呼叫按扭(SB),具体控制要求如下:1、送料车开始应能停留在6个工作台中任意一个到位开关的位置上。2、设送料车现暂停于m号工作台(SQm为ON)处,这时n号工作站呼叫(SBn为ON),若:(1)mn,送料车左行,送料车往左行运行至呼叫位置n处,直至SQn动作后停车。例如:小车停靠在SQ3上,按下SB2,此时mn,小车应左行。(2)mn,送料车右行,送料车往右行运行至呼叫位置n处,直至SQn动作,后停车。例如:小车停靠在SQ2上,按下SB3,此时mn,小车应右行。(3)m=n,即送料车所停位置SQ的编号与呼叫按扭SB的的编号相同时,送料车不动。图4-1-2货料小车的控制二、知识准备1、功能指令的格式FX系列PLC功能指令主要由功能指令助记符和操作元件两大部分组成.K:表示十进制数H:表示是十六进制(1)功能指令助记符功能指令助记符在很大程度上反映该指令的功能特征,一般取英文的简写字符。图4-1-3所示的梯形图中助记符为MOV的功能指令是一条传送(Movement)指令。K:表示十进制数H:表示是十六进制(2)功能指令的操作元件操作元件分为:1)源操作元件,用[S]表示。在图4-1-3中,功能指令MOV的源操作元件[S]是K100,有时源操作元件不止一个时,可用[S1]、[S2]、[S3]表示。2)目标操作元件,用[D]表示。在图4-1-3中,功能指令MOV的目标操作元件[D]是数据寄存器D10。目标操作元件不止一个时,用[D1]、[D2]、[D3]表示。3)其他操作元件n或m,用来表示常数,当源操作元件和目标操作元件需要注释的项目较多时,可采用n1、n2、n3的形式。2、功能指令的规则(1)指令执行形式FX系列PLC的功能指令有连续执行型和脉冲执行型两种形式。图4-1-4所示的MOV功能指令为连续执行型。当常开触点X0闭合时,该条传送指令在每个扫描周期都被重复执行。图4-1-4连续执行型功能指令MOV图4-1-5所示的MOV功能指令为脉冲执行型。助记符后面的符号P表示脉冲执行,该条传送指令仅在常开触点X0由断开转为闭合时被执行。图4-1-5脉冲执行型功能执令MOVP对不需要每个扫描周期都执行的指令,用脉冲执行方式可缩短程序处理时间。比如一条加法指令,在脉冲执行时,只将加数和被加数做一次加法运算。而连续加法运算指令在执行条件满足时,每一个扫描周期都要相加一次。某些指令如INC、DEC等,在用连续执行方式时应特别注意。(2)数据长度功能指令可处理16位和32位数据。1)16位数据FX系列PLC中T、C、D、V、Z元件存储的都是16位的数据,称为“字元件”。如图4-1-6所示,数据寄存器D0共16位,每位都只有“O”或“1”两个数值。图4-1-616位数据示意图2)32位数据FX系列PLC中,相邻两个数据寄存器可以组合起来,存储32位的数据,组成“双字元件”如图4-1-7所示。图4-1-732位数据示意图功能指令中符号D表示处理的是32位数据。如图4-1-8所示,当处理32位数据时,用元件号相邻的两元件组成元件对。元件对的首元件建议统一用偶数编号,以避免错误。脉冲执行符号(P)和32位数据处理符号D可以同时使用。举例:图4-1-832位数据传送梯形图3)位组合元件处理闭合和断开状态的元件为位元件。例如,输入继电器X、输出继电器Y、辅助继电器M和状态继电器S等。但由位元件组合起来,也可以构成字元件,进行数据处理。如图4-1-9所示。位组合元件的结构形式:图4-1-9位组合元件结构形式位元件的组合由Kn加首元件来表示。每4个位元件为一组,组合成一个单元。KnM0中,n为单元组数,M0为由位元件组合构成字元件的首元件编号。例如:K4M0表示由M0~M15组成的16位字元件,最低位是M0,最高位是M15;K8M0表示由M0~M31组合成的32位字元件,最高位是M31,最低位是MO。在16位数据进行操作时,参与操作的位元件由Kn中的n指定,n在1-4之间。如果n=l,则参与操作的位元件只有4位;如果n=2,则参与操作的位元件只有8位;如果n=3,则参与操作的位元件只有12位,这时不足部分的高位均作零处理。这意味着只能处理正数(符号位为“O表示正数)。同样,在作32位数据操作时,Kn中的n在1~8之间,不足部分的高位均作零处理。【想一想】由位元件组合而成的字元件格式还有:K3X0,K2Y10,K1S10,它们分别表示哪些位组合?4)变址寄存器FX系列PLC内部有两个变址寄存器V与Z,都是16位数据寄存器,可像其他的数据寄存器一样进行数据的读写。变址寄存器在传送、比较等功能指令中,用来修改操作对象的元件号。例如,图4-8所示的梯形图中,如果V=20,Z=25,则D5V与D25是指同一个数据寄存器(5+20=25),D10Z与D35是指同一个数据寄存器(10+25=35)。该功能指令执行的操作是将D25中的数据传送到D35中。如图4-1-10所示,例如:图4-1-10变址寄存器应用可以用变址寄存器进行变址操作的元件有输入继电器X、输出继电器Y、辅助继电器M、状态继电器S、分支指令用指针P和由位元件组合而成的字元件首地址,但应注意,n不能用变址寄存器改变其值,即不允许出现K1ZMl0。某些情况下,使用变址寄存器V和Z可使程序简化,编程灵活。【想一想】当Z=1时,K1Y0Z,K2Ml0Z,K3S20Z指的是什么?当Z=2时,K1Y0Z,K2Ml0Z,K3S20Z又指的是什么?3、传送和比较指令指令名称助记符指令代码位数操作数范围程序步S(.)D(.)n传送MOVMOV(P)FNC12(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZMOV、MOVP…步DMOV、DMOVP…步(1)传送指令1)该指令的助记符、指令代码、操作数范围、程序步如表4-1-1所示。传送指令MOV指令是将源操作数内的数据传送到指定的目标操作数内,即[S]→[D]。表4-1-1传送指令MOV2)该指令的梯形图如图4-1-11所示图4-1-11传送指令MOV举例3)指令说明当X0=ON时,源操作数[S]中的常数K100传送到目标操作元件D10中。当指令执行时,常数K100自动转换成二进制数。当X0断开时,指令不执行,数据保持不变。指令名称助记符指令代码位数操作数范围程序步S1(.)S2(.)D(.)比较CMPCMP(P)FNC10(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZY、M、SCMP、CMPP…7步DCMP、DCMPP…13步(2)比较指令1)该指令的助记符、指令代码、操作数范围、程序步如比较指令要素表4-1-2所示。表4-1-2比较指令CMP2)该指令梯形图如图4-1-12所示图4-1-12比较指令CMP举例3)指令说明比较指令CMP是将源操作数[S1]和[S2]的数据进行比较,结果送到目标操作数[D]中。在X0断开,即不执行CMP指令时,M0-M2保持X0断开前的状态。(3)传送和比较指令的作用1)用以获得程序的初始工作数据一个控制程序总是需要初始数据。这些数据可以从输入端口上连接的外部器件获得,需要使用传送指令读取这些器件上的数据并送到内部单元;初始数据也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通过初始化程序送到工作单元。2)机内数据的存取管理在数据运算过程中,机内的数据传送是不可缺少的,运算可能要涉及不同的工作单元,数据需在他们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这要找地方把这些数据存储妥当。总之,对一个涉及数据运算的程序,数据管理是很重要的。此外,二进制和BCD码的转换在数据管理中也是很重要的。3)运算处理结果向输出端口传送运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。对于输出口连接的离散执行器件,可成组处理后看作是整体的数据单元,按各口的目标状态送入一定的数据,可实现对这些器件的控制。4)比较指令用于建立控制点控制现场常有将某个物理量的量值或变化区间作为控制点的情况。如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。作为一个控制“阀门”,比较指令常出现在工业控制程序中。4、BIN和BCD变换指令BIN是将源元件中的BCD码转换为二进制数送到目标元件中。常数K不能作为本指令的操作元件。如果源操作数不是BCD码就会出错。BIN指令常用于将BCD数字开关的设定值输入到PLC中,然后再进行数据处理或运算。BIN和BCD转换梯形图BCD是将源元件中的二进制数转换为BCD码送到目标元件中。对于l6位或32位二进制操作数,若变换结果超出0-9999或0-99999999的范围就会出错。BCD指令常用于将PLC中的二进制数变换成BCD码输出以驱动LED显示器。BIN和BCD转换梯形图例题如图4-1-13:当X010为ON时,通过BCD拨码器将K1X000传送到D0中去,并将其变换成二进制码D1,当触发脉冲X011上升沿到来,D1=D1+1,为将D1的值用八段码显示出来,需要将其再变回BCD码。若BCD拨码器设为3,则K1X000=0011。不断触发X011,D1值不断增大,可以显示出D1=0-99的变化范围。BCD拨码器输出BCD驱动显示BIN和BCD转换梯形图图4-1-13BIN和BCD转换举例功能指令代码助记符导通条件非导通条件FNC224(D)LD=[S1.]=[S2.][S1.]≠[S2.]FNC225(D)LD[S1][S2.][S1.]≤[S2.]FNC226(D)LD[S1.][S2.][S1.]≥[S2.]FNC228(D)LD[S1.]≠[S2.][S1.]=[S2.]FNC2