红河学院自动化系第2篇可编程控制器应用技术教学课件红河学院徐绍坤442902133@qq.com红河学院8.1功能指令概述8.2传送比较指令及应用8.3数据处理指令及应用8.4控制类指令及应用第八章功能指令及应用8.5数据处理指令及应用8.6FX2N可编程控制器通讯技术红河学院一、FX2系列数据类软元件二、FX2系列功能指令类型、使用要素内容提要:功能指令是可编程控制器数据处理能力的标志。数据处理比逻辑处理更复杂,功能指令无论从梯形图的表达形式上还是涉及的机内的种类及信息的数量上都有一定的特殊性。本章介绍FX2系列PLC各数据类型的软元件组成和功能,功能指令的类型、表达形式和要素。8.1FX2系列可编程控制器功能指令概述红河学院一、FX2系列传送比较类指令说明二、基本用途与应用实例内容提要:FX2系列可编程控制器数据传送比较类指令有:CMP比较指令、ZCP区间比较指令、MOV传送指令、BMOV块传送指令、FMOV多点传送指令、XCH数据交换指令、BCD交换指令、BIN变换指令,是数据处理类程序中使用最频繁的指令。本章介绍传送比较指令的使用方法及应用。8.2FX2系列可编程控制器传送比较指令红河学院指令名称助记符指令代码位数操作数范围程序步S1(*)S2(*)D(*)比较CMPCMP(P)FNC10(16/32)K、HKnXKnYKnMKnST、C、D、V、ZY、M、SCMP7步DCMP13步区间比较ZCPZCP(P)FNC11(16/32)ZCP9步DZCP17步FNC10X0图7-1比较指令的使用M0M1M2K100C10M0[S1*][S2*][D*]100C10的当前值时M0为ON100=C10的当前值时M1为ON100C10的当前值时M2ON比较指令CMP(Compare)功能:将源操作数[S1*]、[S2*]比较,比较的结果送到目标操作数[D*]中去。如:将十进制常数100与计数器C10的当前值比较,比较结果送到M0-M2。X0为OFF时不进行比较,M0-M2的状保持不变。比较指令CMP一、FX2系列传送比较类指令说明红河学院FX2系列数据类软元件FNC11X2图7-2区间比较指令的使用M3M4M5K100K150M3[S1*][S2*][D*]T3的当前值100时M3为ON100≤T3的当前值≤150时M4为ONT3的当前值150时M5为ON区间比较指令ZCP(ZoneCompare)功能:当X2为ON时,执行ZCP指令,将T3的当前值与常数100和150相比较,比较结果送到M3-M5,源数据[S1*]不能大于[S2*]。T3[S*]X0RSTM0RSTM1RSTM2ZRSTM0M2X0或注:在X0或X2为OFF时,CMP或ZCP指令不执行,M0-M2或M3-M5保持原状态。在不执行指令,需清除比较结果时,要用RST或ZRST复位指令。如图7-3所示。图7-3比较结果复位ZCP红河学院传送指令指令名称助记符指令代码位数操作数范围程序步S(*)D(*)n传送MOVMOV(P)FNC12(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnYKnMKnST、C、D、V、ZMOV5步DMOV9步多点传送FMOVFMOV(P)FNC16(16)T、C、DK、H≤512FMOV7步DFNOV13步FNC12[S*]MOVX0K100D10[D*]图7-4传送、多点传送指令使用说明FNC16[S*]FMOVX1K0D5[D*]K10n传送指令MOV(Move)功能:将源数据传送到指定目标。即X0为ON时,常数100被传送到D10,并自动转换为二进制数多点传送指令FMOV(FillMove):将源数据传送到指定目标开始的n个元件中,传送后n个元件中的数据完全相同。即X1为ON时,常数0送到D5-D14这10个数据寄存器中。红河学院指令名称助记符指令代码位数操作数范围程序步S(*)D(*)n块传送BMOVBMOV(P)FNC15(16)KnX、KnY、KnM、KnST、C、DKnY、KnM、KnST、C、DK、H≤512BMOV7步DBNOV7步FCN15D10D5X0BMOVK3[S*][D*]nD5D6D7D10D11D12n=3点FCN15D9D10X1BMOVK3D10D11D12D9D10D11n=3点FCN15D11D10X2BMOVK3D10D11D12D11D12D13n=3点FCN15K1M0M8000BMOVK2M0M1M2Y0Y1Y2n=2点K1Y0M3M4M5Y3Y4Y5M6M7Y6Y7图7-5块传送使用说明块传送红河学院指令名称助记符指令代码位数操作数范围程序步S(*)D(*)BCD变换BCDBCD(P)FNC18(16/32)KnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZBCD5步DBCD9步BIN变换BINBIN(P)FNC19(16/32)BIN5步DBIN9步BCDD12K2Y0X0BINK2X0D13X1[S*][D*]BCD(BinaryCodetoDecimal)变换:X0为ON,将源元件D12中的二进制数转换为BCD码送到目标元件Y0-Y7中。如果BCD16位执行结果超过0-9999的范围将出错;DBCD32位执行结果超过0-99999999的范围将出错。用于二进制数变换为BCD数后输出到7段显示器。图7-6BCD变换与BIN变换BIN(Binary)变换:X1为ON时,将源元件K2X0中的BCD数转换为二进制数送到目标元件D13中。如果源数据不是BCD时,M8067为ON,(运算错误),M8068(运算错误锁存)不工作,为OFF。常数K自动进行二进制变换处理,因此不可作为指令的操作数。红河学院指令名称助记符指令代码位数操作数范围程序步D1(*)D2(*)数据交换XCHXCHP(P)FNC17(16/32)KnY、KnM、KnST、C、DKnY、KnM、KnST、C、DXCH5步DXCH9步FCN17D11D10X0XCH(P)FCN17D11D10(D)XCH(P)M8160M8160[D1*][D2*]X0M8000图7-7数据交换指令使用说明图7-8数据交换指令扩展使用说明数据交换指令XCH(Exchange):设目标元件D10和D11中的数分别为20和530,当X0为ON时,执行XCH后,D10和D11中的数据分别为530和20。即D10和D11中的数据进行了交换。交换指令一般采用脉冲执行方式,否则在每一个扫描周期都要交换一次。当特殊M8160接通,目标元件为同一地址号时,16位数据进行高8位与低8位的交换;32位指令也相同,如图7-8所示。红河学院二、基本用途与应用实例FX2传送比较指令的基本用途用以获得程序的初始工作数据:一是输入端口上连接的外部设备获得;二是程序设置。机内数据的存取管理:新读入的数据、运算过程的是间数据暂存。运算处理结果向输出端口传送:用于显示、执行控制等。比较指令用于建立控制点:控制现场的给定值。红河学院FX2传送比较指令的应用举例例1:用程序构成一个闪光信号灯,改变输入口所接置数开关可改变闪光频率(即信号灯亮ts,熄灭ts。)设置4个开关,分别接于X0-X3,X10为启动开关,信号灯接于Y0。FNC12MOVM8000K0ZFNC12MOVK1X0ZFNC12MOVK8ZD0T0D0T1D0Y0X10T0X10T0T1END变址初值Z=023222120X3X2X1X0如按X3、X1即值入常数101010Z=10常数8+10=18传送到D0,即DO=18T0、T1按D0=18当前值计时振荡闪光灯Y0按1.8s频率闪光。改变值入常数即改变闪光频率。红河学院FNC12MOVX0H3K1Y0例2:电动机Y-D起动控制设起动按钮为X0,停止按钮为X1;电源接触器KM1接Y0,Y接法接触器KM2接Y1,D接法接触器KM3接Y2。FNC12MOVX1K0K1Y0Y2T1K10Y0T0K60FNC12MOVT0H4K1Y0FNC12MOVT1H5K1Y0END按X0,十六进制数H3传K1Y0Y3Y2Y1Y0H3=21+200011Y1、Y0通后Y接法起动,计时6ST0到时限,H4传K1Y0即Y3Y2Y1Y0H4=220100Y2通后电机D接法,T1计时1ST1到时限,H5传K1Y0即时Y3Y2Y1Y0电机D接法运行H5=22+200101按X1,K0传K1Y0,电机停。Y3Y2Y1Y00000红河学院例3:彩灯的交替点亮控制有一组灯L1-L8(接Y0-Y7),起停开关X0。要求隔灯显示,每2s变换一次,反复进行。FNC12MOV(P)T1K170K2Y0X0T0K20T0T1K20T1FNC12MOV(P)T0K85K2Y0ENDX0=ON,T0计时2ST0到时限,T1计时2S,同时有Y7Y6Y5Y4Y3Y2Y1Y001010101K85=20+22+24+26T1到时限Y7Y6Y5Y4Y3Y2Y1Y010101010K170=21+23+25+27即隔灯点亮红河学院例4:密码锁用比较器构成密码锁系统。密码锁有12个按钮,分别接入X0-X13,其中X0-X3代表第一个十六进制数;X4-X7代表第二个十六进制数;X10-X13代表第三个十六进制数。每次同时按四个键,分别代表三个十六进制数,共按四次,如与密码设定值都相符,3S后可开启锁,10S后,重新锁定。FNC10CMPX1H2A4K3X0M1FNC10CMPH1EK3X0M4FNC10CMPH151K3X0M7FNC10CMPH18AK3X0M10SETY0RSTY0T0K30T1K100M2M5M8M11T0T1ENDX13X12X11X10X7X6X5X4X3X2X1X0常数001010100100H2A4000111100000H1E000101010001H151000110001010H18AA对应十进制数10B11C12D13E14红河学院例5:简易定时报时器用计数器与比较指令构成24小时可设定时间的控制器,每15min为一设定单位。作如下控制:1、早上6:30电铃(Y0)每秒响一次,六次后自动停止;2、9:00~17:00,启动住宅报警系统(Y1);3、晚上18:00开园内照明(Y2);4、晚上22:00关园内照明(Y2);设X0为起停开关,X1为15min快速调整与试验开关,X2为格数设定的快速调整与试验开关,时间设定值为钟点数×4。使用时在0:00时起动定时器设计时采用特殊辅助继电器:M000(运行监视)M8011(10ms时钟);M8012(100ms时钟);M8013(1s时钟);M8014(1min时钟);红河学院X1=0N时,10ms时钟供C0快调X0=ON时,1s时钟供C0计数,15min动作X0=ON时,100ms时钟供C1快调C0每15min动作一次,供C1计数计数器清0C1﹥K26,M1=ON;C1=K26,M2=ON;C1﹤K26,M3=ON;……C1=K72,M5=ON;…………C1=K88,M8=ON;…………K36≤C1≤K68,M10=ON;……M2=ON,Y0每隔1s通一次,共6次M5=ON,Y0=ONM8=ON,Y0=OFF9~17时,M10=ON,Y1启动FNC10CMPM8000C1K26M1SETY2RSTY2T0K60Y0X1T0M8011M5(C1=K72)M8(C1=K88)ENDRSTC0RSTC1FNC10CMPC1K72M4FNC10CMPC1K88M7FNC11ZCPC1K68M9K36C0C1C0K900X0M8013X2M8012C1K96C0M8013M10(K36≦C1≦K68)Y1(15min)(24h)390min=6:3018:0022:009:0017:00M2(C1=K26)红河学院M2M3M4Y0Y1M1M3M4Y0Y1M1M2M4YOY1M1M2M3Y0Y1M4FNC10CMPK1M1K1X11M10M1M2M3X1X2X3X4M1M2M3M4M