单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第九课题,使用功能指令完成,带时间显示的交通灯的程序设计与实现,1,实训设计题:带时间显示的交通灯电路的控制,要求学生按下面要求完成实训设计题:,2,实训目的,掌握常用功能指令的使用方法;,学会如何使用功能指令编程;,逐步积累调试程序的经验。,3,讲授内容的相关知识点,功能指令及使用要素,功能指令的表示方法,采用,计算机通用的助记符,形式来表示,功能指令,。一般用指令的,英文名称或缩写,作为助记符,大多数功能指令在指定功能号的同时还需要,指定,操作元件,。,操作元件,由,1到4个,操柞数组成,,,S,表示,源(Source)操作数,,,D,表示,目标(Destnation)操作数,。如果可以使用变址功能则表示为S和D。源或目标,不止一个,,可表示为,S1,、,D1、S2、D2,等表示。用,m或n,表示其他操作数时,它们常用来表示常数,或作为源操作数和目标操作数的补充说明。需注释的项目较多,可以采用m1,m2等方式。,4,功能指令及使用要素,助记符,源操作数,目标操作数,其它操作数,32位数据,脉冲执行,5,变址寄存器,V,、,Z,在传送、比较指令中,,变址寄存器,V,Z,用来修改,操作对象,的,元件号,,,循环程序,中常使用,变址寄存器,。对,32位,指令,,V,为高,I6位,、,Z,为低,16位,。,32位,指令中使用,变址指令,只需指定,Z,,这时,Z,就能代表,V和Z,。在32位指令中,,V、Z,自动组对使用。,6,变址寄存器,V,、,Z,常数K10送到V0,常数K20送到Z1,ADD,指令完成运算(,D5V0,)(,D15Z1,)(,D40Zl,),,即(,D15,)(,D35,)(,D60,),7,功能指令的应用,传送和比较指令,比较与传送,指令的编号为,FNC10,FNC19,。,比较指令,包括,CMP,(比较)和,ZCP,(区间比较)两条指令;,传送指令,包括,MOV,(传送)、,SMOV,(,BCD,码移位传送)、,CLM,(取反传送)、,BMOV,(数据块传送)、,FMOV,(多点传送)、,XCH,(数据交换)、,BCD,(二进制数转换成,BCD,码并传送)和,BIN,(,BCD,码转换为二进制数并传送)指令,。,8,比较指令,比较指令,CMP,(Compare)的功能号为,FNC10,,,16位,运算占,7,个程序步,,32位,运算占,13,个程序步。,K100,与,C10,的当前值比较,比较结果送到M0、M1、M2,可使用元件Y、M、S,当K100大于C10的当前值,当K100等于C10的当前值,当K100小于C10的当前值,9,区间比较指令,区间比较指令,ZCP,(Zone Compare),功能号,FNC11,。16位占9个程序步,32位占17个程序步。,T3,与,K100,K150,比较,比较结果送到,M3,M4,M5,当,K100 T3,时,当,K100 T3K150,时,当,T3K150,时,S1.,中的值要,小于,S2.,中的值,10,传送指令,传送指令,MOV,(Move)的功能号为,FNC12,,16位运算占5个程厅步,32位运算占9个程序步。,数值,K100,传给,D10,S.中的元为:K,H,Kn,Y(XMS),T,C,D.,D.中的元为:,Kn,Y(MS),T,C,D.,11,移位传送指令,移位传送指令,SMOV,(Shift Move)的功能号为,FNC13,,只有,16位运算,,占11个程序步。,源数据,(二进制数)被转换成,4位BCD,码然后将它,移位传送,。图中的,X0为ON,时,将,DI,中右起,第4位,(ml=4)开始的,2位,m2=2)BCD码移到,目标操作数,(D2)的右起,第3位,(n3)和,第2位,,然后,D2,中的,BCD码,自动转换为,二进制码,,,D2,中的,第1位,和,第4位,不受移位传送值令的影响。,12,移位传送指令,13,循环移位指令,右、左循环移位指令,的指令助记符分别为,ROR,(Rotaion Right)和,ROL,(Rotation Left),,功能号,分别为,FNC30,和,FNC31,。它们只有,目标操作数,,可取,KnY、KnM、KnS、T、C、D、V和Z,。,l6位,指令占,5,个程序步,,32位,指令占,9,个程序步。,16位,指令和,32,位指令中,n,应分别小于,16,和,32,。,14,15,16,执行这,两条指今,时,,各位的,数据,向右,(或,向左,)循环移动,n位,,最后一次移出来的那一位同时存入进位,标志,M8022,中。若在,目标元件,中指,定位元件组,的组数,只有,K4,(16位指令)和,K8,(32位指令)有效,如,K4Y10,和,K8M0,。,17,加,1,和减,1,指令,加1,和,减1,指令的,助记符,分别为,INC,(Increment)和,DEC,(Decrment),功能指令,编号,分别为,FNC24,和,FNC25,。它们的,操作数,均可取,KnY、KnM、KnS、T、C、D、V和Z,。,16位,运算占,3个,程序步,,32位,运算占,5个,程序步。,18,加,1,和减,1,指令,图中的,X4,每次由,OFF,变为,ON,时,由,D,指定的元件中,的数,增加l,。如果,不用脉冲指令,,每,一个扫描周期,都要,加1,。,19,小例题讲解,程序将计数器,C0C9,的当前值转换为,BCD,码后输出到,K4Y0,。,Z0,被复位输人,X0清0,。每次,X11 ON,时,,C0C9,的当前值依次输出到,K4Y0,。,(Z0)=10,时,M1,变为,ON,,将,Z0,清零。,20,区间复位指令,区间复位指令,ZRST,(Zone Reset)将,D1、D2,指定的元件号范围内的同类元件,成批复位,,它的,功能号,为,FNC40,,,目标操作数,可取,T、C,和,D,(字元件)或,Y、M、S,(位元件)。该指令只有,16位,运算,占,5个,程序步。,21,功能指令例题讲解,例题,1,用,PLC,驱动数码管,显示一个,两位数,的时间,53秒,,然后,按秒递减至零,,循环不断。,例题要实现的目的,用 PLC 如何,驱动数码管,。,进一步熟悉掌握功能指令的,应用,。,22,程序,I/O,分配见下表,输入信号,分配元件,输出信号,分配元件,启动信号,X0,十位数显示数码管,Y0 Y1 Y2 Y3 Y4 Y5 Y6,停止信号,X1,个位数显示数码管,Y10 Y11 Y12 Y13 Y14 Y15 Y16,23,PLC,控制的接线见下图,24,程序设计方案,使用,Y0-Y6,输出控制,十位数,数码管的,a,b,c,d,e,f,g,。使用,Y10-Y16,输出控制,个位数,数码管a,b,c,d,e,f,g,。程序中使用了数据传送,MOV,指令,数据减一,DEC,指令,7段码译码,SEGD,指令,区间复位,ZRST,等功能指令。程序运行时将,不断变化,的,时间,数据传给7段码译码,SEGD,指令,7段码译码,SEGD,指令再驱动,数码管,,显示不断,变化,的,时间,。,25,程序的梯形图,26,通电测试,加直流,12V,电源,调试程序。,调试中主要关注十位数和个位数的变化是否同步,。,27,例题,2,用PLC驱动,广告牌,边框饰灯,,该广告牌有,16个,边框饰灯,L1L16,,当广告牌开始工作时,饰灯,每隔,0.1S,从,L1,到,L16,依次,正序,轮流点亮,,重复,进行;,循环,两周后,又从,L16,到,L1,依次反序每隔,0.1S,轮流点亮,,重复,进行;循环,两周,后,再按,正序轮流,点亮,重复上述过程。当按,停止按钮,时,,停止,工作。,28,例题要实现的目的,进一步熟悉掌握功能指令的应用。,学会分析指令执行的过程以及程序运行调试的方法。训练应用,PLC,实现对一般控制对象控制的能力。,29,程序,I/O,分配见下表,输入信号,分配元件,输出信号,分配元件,启动信号,X0,L1L7,Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7,停止信号,X1,L8L16,Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17,30,PLC,控制的接线图见下图,31,程序设计,32,程序讲解,当,X000,为,ON,时,先置,正序初值,(使,Y000,为,ON,),然后执行子程序调用程序,,进入子程序,1,,执行循环,左移指令,,输出继电器依次每隔,0,1S,正序左移一位,左移一周结束,即,Y017,为,ON,时,,C0,计数一次,重新,左移,;当,C0,计数两次后,停止左循环,返回主程序。,再置,反序初值,(,Y017,为,ON,),然后进入,子程序,2,,执行循环,右移指令,,输出继电器依次每隔,0.1S,反序右移一位,右移,一周,结束,即,Y000,为,ON,时,,C1,计数一次,重新,右移,;当,C1,计数两次后,停止右循环,返回主程序。同时使,M0,重新为,ON,,进入子程序,1,,重复上述过程。,当,X001,为,ON,时,使输出继电器全为,OFF,,计数器复位,饰灯全部熄灭。程序梯形图见上图,。,33,通电测试,按接线图连接好,PLC,的外部设备及电源,调试程序。,当,X000,为,ON,时,输出从,Y000Y017,每隔,0.1S,依次轮流点亮饰灯,重复进行;当,X001,为,ON,时,,K4Y0,为,0,,循环停止。,34,35,