免费预览已结束,剩余216页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章CP1HPLC的指令系统,PLC所使用的各种指令的集合称为PLC的指令系统。各个厂家PLC的编程语言互不兼容。学习的时候要举一反三、触类旁通。本章以CP1H为例,介绍PLC的指令系统。重点介绍梯形图和指令表两种编程语言。,CP1HPLC的指令系统由基本指令和高级指令组成。基本指令包括:输入、输出、定时、计数高级指令包括:比较类指令、传送类指令、移位类指令、转换类指令、运算类指令、通信类指令等。,3.1PLC的编程语言梯形图语言,简单、形象。IEC1131-3定义了5种PLC编程语言:梯形图LD指令表IL功能块图FBD结构文本ST顺序功能图SFC,1.梯形图传统的电气控制系统电路的基础上演变而来的PLC的第一用户语言图形符号:常开触点、常闭触点、线圈。常开、常闭条件执行条件操作数逻辑块,2.指令表用助记符表示指令的功能格式:语句步、操作码、操作数,LD00000OR10000ANDNOT00001OUT10000,梯形图程序语句表程序,关于操作数的讨论操作数可以是通道号、继电器号或常数。操作数的个数,取决于各种指令的需要。操作数设为常数时,在数据前面要加#号。操作数采用哪种进制,取决于指令的需要。例如,计数器指令的格式为CNT000SVSV:#200、200、DM200、*DM200等区别,指令的微分、非微分形式微分型:要在指令的助记符前加标记。如:MOV#100DM0001两种指令的区别非微分型指令:只要其执行条件为ON,每个扫描周期都执行该指令。微分型指令:仅在指令的执行条件由OFF变为ON时才执行一次。,3.2基本指令系统基本指令是最常用的指令。要牢记:指令的功能、格式、符号和代码;指令操作数的范围。,一、常用的基本指令1LDLDNOTANDANDNOTORORNOTOUTOUTNOTLD(取指令)常开触点与母线相连的指令AND(与指令)常开触点相与(串联)的指令OR(或指令)常开触点相或(并联)的指令OUT(输出指令)将执行结果输出到某位的指令,操作数说明:0000001915(OUT不用)、1000011915、W000025507、H00001915、TIM/CNT00004095、TR0015(仅能使用于LD指令);AR区部分位、标志位等可以作为触点操作数;基本逻辑指令不影响标志位。,例:,LD00000OR10000ANDNOT00001OUT10000,LD00000OR10000ANDNOT00001OUT10000LDNOT00002ORNOT00003AND10000OUTNOT10001,梯形图程序,语句表程序,使用指令举例,2END指令程序的结尾一定要安排END指令,否则程序不执行。FUNNo功能号是在用编程器编程时,除了基本逻辑指令外,绝大多数指令都赋予一个功能号,若要使用某个指令时,只按相应的功能号即可。执行END指令时,ER、CY、GR、EQ、LE等标志位被置OFF。,3NOP指令NOP是空操作指令,用NOP代替ANDN,可把AND语句中的触点N短接,用NOP代替ORN,可把OR语句中的触点N断掉。,二、块与指令ANDLD和块或指令ORLD1.ANDLD是将并联触点组相串联的指令,方法1LD00000AND00001ORNOT00002LD00003OR00004ANDLDLD00005ORNOT00006ANDLDOUT10000,方法2LD00000AND00001ORNOT00002LD00003OR00004LD00005ORNOT00006ANDLDANDLDOUT10000,在方法2中,ANDLD之前的触点组个数应小于等于8,使用指令举例,2.ORLD是串联触点组相并联连接的指令,方法1LD00000ANDNOT00001LDNOT00002AND00005ORLDLD00004AND00003ORLDOUT10100,方法2LD00000ANDNOT00001LDNOT00002AND00005LD00004AND00003ORLDORLDOUT10100,在方法2中,ORLD之前的触点组个数应小于等于8,使用指令举例,微分指令与即时刷新指令普通指令输入输出执行在I/O刷新阶段。微分指令:上微分、下微分%微分指令在执行条件变化(上微分、下微分)时执行。即时刷新指令:!即时刷新指令不等I/O刷新阶段立即执行。,I/O刷新,执行指令点,2.00,100.00,100.00,100.00,100.00,100.00,三、微分指令DIFU和DIFDDIFU上升沿微分指令和DIFD下降沿微分指令,DIFU和DIFD指令的操作位只ON一个扫描周期。,开机时就OFF的执行条件,DIFD指令不执行。,TS,TS,LD00005DIFU10000DIFDH00000,扫描周期,执行条件,开机时就ON的执行条件,DIFU指令不执行。,四、置位指令SET和复位指令RESETSET将某继电器置为ONRESET将某继电器置为OFF,LD00000SET10000LD00003RESET10000,SET、RESET指令的执行条件常为短信号(脉冲信号),SET和RESET指令可以单独使用(不一定成对使用),五、保持KEEP指令,当S端ON时,N为ON且保持。,当N为保持继电器HR时,有保持功能。,当R端ON时,N复位。,当S与R端同时为ON时,N复位优先。,继电器位,LD00002LD00003KEEP10000,KEEP指令的工作时序,置位和复位条件都可以是短信号(脉冲信号),语句表,画出图示程序的工作时序,写出语句表。,使用KEEP指令举例,比较几个相同具有功能程序之区别,相同,都可以实现启、保、停的控制,不同,KEEP编程需3条语句(最少),KEEP编程用HR作输出时,具有保持功能。,SET和RESET编程时,指令间可插别的指令。,SET和RESET编程HR作输出时,有保持功能。,六、基本编程规则和基本编程方法,1基本编程规则,(1)每梯级都起始于左母线,线圈或指令应画在最右边,(2)必须与左母线相连的线圈或指令,可通过P_ON连接,(3)用OUT指令输出时,要避免双线圈输出的现象。,输出无效,双线圈输出引起逻辑混乱,(4)梯形图必须遵循从左到右、从上到下的顺序,不允许两行之间垂直连接触点。,(5)程序结束一定要安排END指令,否则程序不被执行,没END指令的程序,检查时显示信息“NOENDINST”,2基本编程方法,(1)两个或两个以上的线圈或指令可以并联输出。,(2)触点组与单个触点并联,单个触点应放在下面。,LD00000LD00001ANDNOT00002ORLDOUT10100,LD00001ANDNOT00002OR00000OUT10100,(3)并联触点组与几个触点串联时,并联触点组应放在最左边。,LD00002AND00000LD00006AND00001OR00003ANDLDOUT10001,LD00006AND00001OR00003AND00002AND00000OUT10001,此后,如果00001ON使10000复位,则在PLC本次上电期间,10000不会再被置位(即KEEP不再执行)。,(4)如果一条指令只需在PLC上电之初执行一次,可以用P_first_cycle作为其执行条件。,PLC上电后的第一个扫描周期,10000被置为ON。,(5)结构复杂的梯形图程序,重新安排顺序后,可方便编写语句表。,(6)当某梯级有两个分支时,若其中一条分支从分支点到输出线圈之间无触点,该分支应放在上方。,(7)尽量使用那些操作数少、执行时间短的指令编程。,基本指令小结,1.本节介绍的全部指令都要牢记其格式、梯形图、操作数范围及功能。,2.学会将梯形图程序转换为语句表的方法。,4.牢记基本编程规则和基本编程方法。,3.学会用工作时序图描述程序执行过程的方法。,3.3定时器计数类指令,使用TIM/CNT注意事项,TIM/CNT使用编号T00004095/C00004095。,TIM/CNT的操作数可以是常数,也可以是通道,但常数或通道内容必须是BCD数。,计数器有保持功能,而定时器没有此功能。,TIM/CNT的设定值是通道时,通道内容改变、设定值即改变。但必须在TIM的输入条件断开、CNT复位后,下一次定时/计数才执行新设定值。,1.定时器TIM/TIMH,TIM普通定时器定时时间为0999.9s,TIMH高速定时器定时时间为099.99s,N:0004095(TIM与TIMH共用这些编号),SV:09999单位:TIM为0.1s;TIMH为0.01s,定时器ON后,若执行条件OFF,定时器复位。,当扫描时间Ts0.1秒时,TIM会不准确;当Ts0.01秒时,TIMH会不准确。,定时器的功能,当执行条件ON时开始定时,定时过程中执行条件要保持ON。,定时时间到,定时器ON、其所属触点动作。此后只要执行条件保持ON,其ON状态保持。,定时器ON后,若PLC断电,定时器复位。,当定时器复位时,其当前值为设定值。,定时器TIM、TIMH的用法,LD00000TIM0#0050LDT0OUT10000,TIM定时时间:500.1=5s,开始定时,定时到,定时器复位,对TIMH计算:500.01=0.5s,分析程序对线圈10000的控制,00000对应启动按钮、00001对应停车按钮。,按下启动按钮线圈00000ON,线圈W00000ON,闭合,闭合,闭合,触点W00000闭合,TIM0001开始定时,经过5s,TIM0001ON,触点T0001闭合,线圈10000ON,触点00000闭合,定时器定时功能例(1),自按下启动按钮5s后线圈10000ON,线圈10000ON期间按下停车按钮,线圈00001通电,线圈W00000断电,断开,TIM0001复位,断开,断开,触点00001断开,触点W00000断开,触点T0001断开,线圈10000OFF,按下停车按钮,线圈10000OFF,自按下启动按钮5s后线圈10000ON,分析程序对10000的控制作用。,00000闭合W00000接通,10秒到TIM0001ON,TIM0001自复位!,设H0000中数据为0100,TIM0001的定时值为10秒。,TIM0001开始定时,闭合,线圈10000ON,闭合,断开,欲保持10000ON需加自锁,自锁,定时器定时功能例(2),常开触点T0001ON,常闭触点T0001OFF,断开,TIM0001自复位后,即开始下一轮定时。,当改变通道H0000中的内容时,TIM的设定值即改变!,在10000ON期间,若线圈00001ON,线圈W00000断电,TIM0001复位,线圈10000OFF,断开,断开,断开,触点00001断开,但需TIM复位后、下一次定时才执行新设定值,分析程序对10000的控制作用。,自00000ON线圈W00000ON,900秒到TIM0001ON,900秒到TIM0002ON,定时器级联使用SV=SV1+SV2,TIM0002开始定时,线圈10000ON,TIM0001开始定时,定时器定时时间的扩展,闭合,闭合,闭合,练习:写出梯形图的语句表。,LD00000,ORW00000,ANDNOT00001,OUTW00000,LDW00000,TIM0001#9000,LDT0001,TIM0002#9000,LDT0002,OUT10000,关于接通延时ON和接通延时OFF的控制,LD00000IL(02)TIM0000#0600LDT0000OUT10000LDNOTT0000OUT10001ILC(03),自00000为ON开始10000经过60秒接通,自00000为ON开始10001经过60秒断开,接通延时ON,接通延时OFF,根据00000和00001的波形,画出程序的工作时序。,使用KEEP、TIM指令举例,2.计数器指令CNT,N:00004095SV:BCD09999,CP:计数输入端(每输入一个脉冲,CNT计一个数),R:复位端(R端ON时计数器复位,即CNT清零),CNTON后,若输入条件OFF,或PLC断电,计数器当前值能保持。,CNTON后,此后输入的计数脉冲无效。,计数器的用法,计数器的SV值可以是常数,也可以是通道号。,计数达到设定值时CNTON、其所属接点动作。,计数器ON后,只要不清零,CNT将保持ON。,当计数器复位时,其当前值为设定值。,PV=10,PV=10,(停止计数),计数,计数,(停止计数),CNT是减计数器,每输入一个计数脉冲,由SV值减1。,计数器的工作时序,98210,ON保持,98210,ON保持,SV=10时CNT的工作波形,清零,清零,CNT的计数功能举例,分析程序对10000的控制作用。,00000每通断一次,向CNT000输入一个计数脉冲。,00000通断3次,CNT0000ON,线圈10000ON,闭合,闭合,断开,此后若触点00001ON,CNT0000复位,线圈10000OFF,CNT0000断电再复电时,能保持断电前的当前值。,若将#0003换成200,则计数值是通道200中的数据。,写出梯形图程序的语句表,LD00000LD00001CNT0000#0003LDC0000OUT10000,SV为常数,CNT0000计数器的工作时序,210,ON保持,CNT0000采用自清零。,每当CNT0000计数设定值到:,当CNT0001计数到,10000ON。,00000通断了10000次时10000ON,计数器级联SV=SV1SV2,a.向CNT0001输入一个计数脉冲。,b.自清零、并开始下一轮计数。,计数器容量的扩展,上电之初P_First_Cycle为两个计数器清零。,自清零,分析程序对10000的控制作用。,P_1s能产生周期为1秒的脉冲,CNT0000完成计数100所经历的时间是100秒。,计数器作为定时器使用,用计数器作定时器时,该定时器具有保持功能。,经历10000秒后10000ON,计数器的定时器功能,CNT0001完成计数100所经历的时间是10000秒。,3.可逆计数器指令CNTR,SV:设定值(BCD09999),加计数输入,复位端,减计数输入,N:编号(与CNT共用00004095),加/减计数有进/借位时,输出ON一个计数脉冲周期。,计数器复位时,不论是加还是减计数,其PV均为0。,从ACP或SCP输入计数脉冲,可组成加或减计数器。,可逆计数器可作为循环计数器。,可逆计数器的功能,计数器达到设定值ON时,若再来一个计数脉冲,CNTROFF、且开始下一个循环的计数。,从ACP和SCP端同时输入计数脉冲,计数器不计数。,可逆计数器的工作时序,可逆计数器的计数功能举例,设00003OFF、00002OFF,00001输入计数脉冲。,加计数器,00001每输入一个计数脉冲,CNTR046的当前值加1。,当PV=0200时,再输入一个计数脉冲,PV值变为0000(进位),同时CNTR046变为ON。,此后再来一个计数脉冲时,PV值变为0001,CNTR046为OFF,且开始下一个循环的计数。,减计数器,设00003OFF、00001OFF,00002输入计数脉冲。,00002每输入一个计数脉冲,CNTR046的当前值减1。,当PV=0000时,再输入一个计数脉冲,PV值变为0200(借位),同时CNTR046变为ON。,此后再来一个计数脉冲时,PV=0199,CNTR046为OFF,且开始下一个循环的计数。,可逆计数器的定时器功能举例,LD00000ORW00000OUTW00000LDP_1sANDW00000LDP_OffLD00001ORP_First_CycleCNTR0000H0000LDC0000OUT10000,CNTR000是加计数器,控制位,秒脉冲,常OFF,上电复位,CNTR0000的触点,由于计数脉冲是秒脉冲,所以可作定时器。,设00001为OFF,H0000中数据是500,分析功能。,自00000ON开始,CNTR0000开始计数,计数达500CNTR0000ON,闭合,即经过500秒线圈10000ON,PLC上电,计数器即复位。,CNTR0000的触点ON,线圈10000ON,再过1秒,线圈10000又OFF,CNTR0000开始下一循环计数,线圈10000每过500秒ON1秒,4.定时器/计数器复位指令CNR,D1:定时器/计数器首编号(T/C00004095),D2:定时器/计数器首编号(T/C00004095),D1、D2必须在同一区域,并且D1D2,功能:D1到D2的定时器/计数器完成标志复位,当前值置PV为最大值9999。,定时计数类指令小结,1.本节介绍的应用指令都经常使用,要牢记其格式、梯形图、操作数范围及功能。,2.注意定时计数类指令的编号方法、量程和定时精度。,3.注意使用定时计数类指令的起始时间点、到时时间点、复位时间点。,4.学会用时序图描述定时器、计数器工作状态的方法。,5.学会定时器和计数器容量扩展的编程方法。,联锁和联锁清除指令,暂存继电器,跳转和跳转结束指令,3.4程序控制类指令,结束和空操作指令,1.暂存继电器TR,暂存继电器用于暂时存储指令执行的结果。,暂存继电器编号TR0TR15,对暂存继电器作如下说明:,1.在同一分支程序段中,TR号不能重复使用。,2.TR不是编程指令,要与其他指令配合使用。,用暂存继电器可以处理梯形图的分支。,LD00000OUTTR0AND00001OUT10000LDTR0AND00002OUT10001,说明:,编写梯形图程序时出现分支时,系统自动分配TR015作为分支点状态暂存继电器。,使用暂存继电器举例,使用时配合OUT、LD等基本指令使用。,2.联锁和联锁清除指令IL/ILC,IL/ILC的用法,(1)不论IL的输入条件是ON还是OFF,CPU都要对IL/ILC之间的程序段进行扫描。,(2)只有当IL的执行条件为ON时,IL和ILC之间的程序执行(否则不执行)。此时IL和ILC间各器件的状态为:所有OUT指令的输出位为OFF;所有定时器都复位。,(3)IL和ILC指令可以成对使用,也可以多个IL指令配一个ILC指令,但不准嵌套使用。,LD00000IL(02)LD00001OUT10000LD00002ANDNOT00003OUT10001ILC(03)LD00004OUT10002,当00000为ON时,IL(02)与ILC之(03)间的程序执行:,10000和10001的状态,取决于A右侧各触点的状态。,使用联锁指令举例,LD00000IL(02)LD00001OUT10000LD00002IL(02)LD00003OUT10001LD00004OUT10002ILC(03)LD00005OUT10003,连续分支的例子,LD00000OUTTR0AND00001OUT10000LDTR0AND00002OUT10001,LD00000IL(02)LD00001OUT10000LD00002OUT10001ILC(03),用TR处理分支,用IL/ILC处理分支,两种处理分支方法的区别,用TR时:用AND指令连接下一个分支的触点,在分支多时,用TR处理分支程序要烦琐一些。,用IL/ILC时:用LD指令连接下一个分支的触点,3.跳转和跳转结束指令JMP/JME,JMP(04)/JME(05)N(跳转编号0FF),JMP/JME的用法,发生跳转时,JMPN和JMEN之间的程序不执行,且不占用扫描时间。,(2)发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变。,(3)同一个跳转号N只能在程序中使用一次。但当N取00时,JMP00/JME00可以在程序中多次使用。,LD00000JMP(04)00LD00001OUT10000AND00002OUT10100JME(05)00LD00003OUT10004,(4)以00作为跳转号时,比其他跳转号的执行时间长。,(5)不同跳转号时可以嵌套使用。,例如:JMP00JMP01JME01JME00,当00000为ON时,JMP与JME之间的程序执行。,10000和10100的状态,取决于其输入条件的状态。,使用跳转指令举例,(6)多个JMP可以共用一个JME,00000OFF、00001OFF时:,只执行程序C,00000ON、00001OFF时:,执行程序A程序C,00000ON、00001ON时:,执行程序A程序B程序C,JMP/JME指令的用途举例,00000对应一操作开关,执行手动操作程序,当00000为OFF时,执行自动操作程序,当00000为ON时,用一个开关,实现对系统自动和手动操作的控制。,0.00,0.02,100.1,100.2,100.3,100.4,IL/ILC与JMP/JME指令的共性,1.对IL/ILC与JMP/JME指令之间的程序段:,不论IL的执行条件OFF还是ON,CPU都对IL和ILC之间的程序段扫描。,当发生跳转时,JMPN和JMEN之间的程序不执行,且CPU不对其扫描。,IL/ILC与JMP/JME指令的区别,它们都具有控制程序执行流向的作用。,对IL/ILC之间的程序段:所有OUT指令的输出位为OFF;所有定时器都复位;KEEP指令的操作位、计数器、移位寄存器以及SET和RSET指令的操作位,都保持IL为OFF以前的状态。,对JMP/JME之间的程序段:发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变。,2.当IL和JMP的执行条件不满足时:,程序指令小结,1.注意分支梯形程序转化成指令表的方法。,2.IL/ILC和JMP/JME是控制程序执行流向的指令,要注意区别两种指令的用法。,移位寄存器指令,可逆移位寄存器指令,数字左、右移指令,算术左、右移指令,循环左、右移指令,字移位指令,异步移位寄存器指令,1.移位寄存器指令SFT(10),功能,当复位端R为OFF时,在CP端移位脉冲的作用下,IN端的数据被移入移位寄存器。,D1:移位开始通道,D2:移位结束通道,IN:数据输入端,R:复位端,CP:移位脉冲输入端,在移位脉冲的作用下,移位寄存器中的数据以位为单位依次向左移一位。,移位寄存器指令SFT的用法,在移位脉冲作用下,D1到D2中的数据左移过程。,复位端R为ON时,D1到D2所有通道均复位为零,且移位指令不执行。,没有移位脉冲时不执行移位。,移位寄存器具有保持功能。,移位寄存器指令SFT的语句表,LD0.00LDP_1sLD0.01ORP_First_CycleSFT(10)W0W0LDW0.03OUT100.0,图示梯形图的语句表如下,SFT的两个操作数都是W0,表示只由W0通道组成16位移位寄存器。,移位寄存器的工作时序,W0.00的ON状态,在W0通道内依次向左移动。,1234567,分析程序的功能,P_First_Cycle上电复位,0.00的状态作为输入数据,P_1s的秒脉冲作为移位脉冲,第一个移位脉冲输入后,0.00的ON状态移入W0.00。,0.01ON可使寄存器W0复位,经过4个移位脉冲W0.03ON,于是100.0ON。,移位过程中,只要0.01为ON,移位寄存器即复位。,第5个移位脉冲时W0.03OFF,于是100.0也OFF。,2.可逆移位寄存器指令SFTR(84),C:控制通道D1:移位开始通道D2:结束通道,功能,当执行条件为ON时,根据控制通道C的内容,在D1D2通道内,执行左移或右移位操作。,可逆移位寄存器的用法,控制通道C的含义,移位方向,1:左移(低高)0:右移(高低),数据输入,移位脉冲输入,复位,1:D1D2及CY清零0:根据C的状态移位,左、右移位的控制,在执行条件为OFF时停止工作。此时若C之bit15为1,D1到D2及CY仍保持原状态不变。,通道C之bit15为0时,在移位脉冲的作用下,根据C之bit12的状态进行左移或右移。,C之bit12为1左移:每个扫描周期,从D1到D2按位依次左移一位,C之bit13的数据移入St之bit0中,E之bit15的数据移入CY中。,C之bit12为0右移:每个扫描周期,从D2到D1按位依次右移一位,C之bit13的数据移入D2之bit15中,D1之bit0的数据移入CY中。,LD00000OUT20012LD00001OUT20013LD00002DIFU(13)20100LD20100OUT20014LD00003OUT20015LD00004SFTR(84)200W10W11,使用可逆移位寄存器举例,程序功能分析,执行条件,控制通道,开始通道,结束通道,当00004为ON时,开始执行移位操作。,200的bit12bit15的状态是由0000000003控制的。,若00001ON,则20013为1,即输入数据为1;若00001OFF,则20013为0,即输入数据为0。,每当00002OFFON时,20014都会ON一个扫描周期,形成移位脉冲。,若直接以00002作为移位脉冲。因为当00002为ON时,每个扫描周期都要执行一次移位,这将造成移位失控。,若00003ON,则20015ON,W10W11及CY位清0,若00003OFF20015OFF,此时根据20012的状态执行移位操作。,(续),若20012ON执行左移位:,每当00002OFFON时,W10W11中的数据按位依次左移一位。20013的状态进入LR10.00,LR11.15的数据进入CY。,(续),若20012OFF执行右移位:,每当00002OFFON时,W10W11中的数据按位依次右移一位。20013的状态进入W11.15,W10.00的数据进入CY。,(续),3.算术左/右移位指令ASL(25)/ASR(26),算术左/右移位指令的功能和使用方法相似,以算术左移指令为例,介绍它们的功能和使用方法,ASL(25)D,D是移位通道号,功能,当执行条件为ON时,执行指令将Ch中的数据以位为单依次左移1位。最高位移入CY,最低位补0。如图:,4.循环左/右移位指令ROL(27)/ROR(28),循环左/右移位指令的功能和使用方法相似,以循环左移指令为例,介绍它们的功能和使用方法,ROL(27)D,D是移位通道号,功能,当执行条件为ON时,将D及CY中的数据以位为单依次循环左移位1位。如下图:,5.数字左/右移指令SLD(74)/SRD(75),数字左/右移位指令的功能和使用方法相似,以数字左移指令为例,介绍它们的功能和使用方法,D1:移位首通道D2:移位结束通道,功能:当执行条件为ON时,执行指令将D1D2中的数据以数字为单位依次左移位1位。如下图:,6.字移位指令WSFT(16)/WSFT(16),S:移位数据D1:移位开始通道号D2:结束通道,功能:当执行条件为ON时,将S通道移入D1通道,将D1D2中的内容以字为单位依次左移。如下图:,WSFT(16)SD1D2,WSFT(16)SD1D2,WSFT(16)SD1D2,WSFT(16)SD1D2,数据移位指令小结,1.要根据需要,选择合适的数据移位指令。,是需要建立移位寄存器、还是要按位移位、按数字移位或按字移位。,是需要作单向移位、可逆移位、还是循环移位。,是需要作左移位还是右移位。,2.当需要标志位CY参与移位时,有时需要编程保存CY的状态。,3.注意执行各种指令后对标志位的影响。,3.6数据传送类指令,传送指令MOV/MVN,数字传送指令MOVD,位传送指令MOVB,块设置指令BSET,块传送指令XFER,单字分配指令DIST,数据交换指令XCHG,数据调用指令COLL,S:源数据(通道或十六进制数)D:目的通道号,功能,传送指令:在执行条件为ON时,将源通道S数据传送到目的通道D中。,求反传送指令:在执行条件为ON时,将源通道S数据求反后再传送到目的通道D中。,1.传送指令MOV(21)/求反传送指令MVN(22),LDP_First_CycleMOV(21)#0198H000,在PLC上电的第一个扫描周期,把0198传送到H000中,分析程序的功能,并写出语句表.,使用MOV指令举例,在此后的各扫描周期,不再执行MOV指令。,使用DIFU指令有何作用?,只要0.00OFFON,就执行一次MOV指令。,分析程序的功能:,使用MOV指令举例,把W001中的内容传送到H000中。,分析程序的功能,使用MOV指令举例,只要0.00OFFON,就执行一次MOV指令。,把W001中的内容传送到H000中。,与举例(2)功能相同。,指令MOV几种使用方法的区别,(a)与(c)相同,指令MOV都只在00000OFFON时执行一次。,(b)指令MOV只在PLC上电后的第一个扫描周期执行一次。,2.数据交换指令XCHG(73)/XCHG(73),D1、D2:通道号,功能,在执行条件为ON时,将D1、D2通道中的数据进行交换。,3.块传送指令XFER(70)/XFER(70),W:通道数(BCD数),功能,在执行条件为ON时,将几个连续通道中的数据传送到另外几个连续通道中。,S:源数据块首通道D:目的通道首通道,执行块传送指令时数据传送如下所示:,4.块设置指令BSET(71)/BSET(71),S:源数据(通道或十六进制数),功能,执行条件为ON时,将S传送到从D1到D2的各通道中。,D1:开始通道D2:结束通道号,LD0.00MOV(21)#0100H000TIM0000H000ANDT0000OUT100.00LD0.01BSET(71)#0050T0000T0000,BSET指令的第二、第三操作数都是T0000,即执行BSET指令,只把数据传送到T0000中。,功能,在0.01OFF、0.00OFFON时,执行一次MOV指令,将#0100传送到通道H000中。,自此TIM0000以设定值10秒定时。,经过10秒,定时器TIM0000ON,线圈100.00ON。,当需要改变定时器T0000的当前值时,可通过执行BSET指令来实现。,执行BSET指令将0050传送到T0000中,T0000的当前值立即变为0050。,例如,在TIM0000的当前值为0089时,令0.01ON一次:,自此,T0000的当前值从0050开始,每隔0.1秒减1,一直减到为0000为止。,由于H000中的数据没有改变,在下一次定时器T0000工作时,其定时值仍然是0100。,以上是用BSET指令改变定时器的当前值。,用BSET指令也可以改变定时器的设定值。方法为:,本例中,令BSET指令的第2、3操作数为H0000,执行BSET指令后,T0000的设定值就为0050了。,MOV与BSET指令的异同,执行一次MOV指令,只能向一个通道传送一个字;而执行一次BSET指令,可以向多个通道传送同一个字。,TIM/CNT的操作数是通道时,用MOV和BSET指令都可以改变TIM/CNT的设定值。,用BSET指令既可改变TIM/CNT的设定值、也可以改变TIM/CNT的当前值。,因为MOV指令不能向T/C区传送数据,所以不能用MOV指令改变TIM/CNT的当前值!,5.位传送指令MOVB(82)/MOVB(82),bit00bit07指定S中的位号bit08bit15指定D中的位号,S:源数据D:目的通道C(BCD):控制数据,在执行条件为ON时,根据C的内容,将S传送到D中。,C内容的含义,指令的功能,LD0.05MOVB(82)H000#1500W000,程序功能,C的含义,例:设H000的内容为1000100010000101,执行指令之后W0.15为ON(1),bit00bit07:S中的位bit08bit15:D中的位,0.05由OFFON时,根据C的内容,将H000指定位的内容传送到W000的指定位中。,6.数字传送指令MOVD(83)/MOVD(83),在执行条件为ON时,根据C的内容,将S中指定的数字传送到D中指定的数字位中。,指令的功能,S:源数据D:目的通道C:控制数据,C(BCD数)的含义,指令各操作数的含义,S中第一个要传送的数字位位号,不用,指定D中接收第一个数字的位号,C=#0030,使用MOVD指令举例(1),根据C、确定指令执行结果,S中第0位数字开始传送,传送4位数字,D中从第0位开始接收第一个数字,被传送的数字位要连续,例如:1230,例如:3012,例如:2301等,C=#0023,使用MOVD指令举例(2),根据C、确定指令执行结果,S中第3位数字开始传送,传送3位数字,D中从第0位开始接收第一个数字,第一个被传送的数字,第二个被传送的数字,第三个被传送的数字,第一个接收数字的位,C=#0123,使用MOVD指令举例(3),根据C、确定指令执行结果,S中第3位数字开始传送,传送3位数字,D中从第1位开始接收第一个数字,第一个被传送的数字,第二个被传送的数字,第三个被传送的数字,第一个接收数字的位,7.数据分配指令DIST(80)/DIST(80),S1:源数据D:目标基准通道S2:偏移数,在执行条件为ON时,将源数据传送到以目标通道为基址加偏移数后所制定的通道中。,指令的功能,S1是基准通道D是目的通道S2偏移数,8.数据抽取指令COLL(81)/COLL(81),在执行条件为ON时,将源通道为基址加偏移数后所制定的通道值传送到目标通道中。,指令的功能,(2)注意块传送和块设置指令功能的区别。,(3)注意数据分配、数据抽取和数据交换指令的区别。,区别位传送和数字传送指令目的通道内容存放的方法,(1)注意各种传送指令的区别。,单字传送MOV是常用的指令,要牢记其使用方法。,块设置指令BSET可以向T/C区传送数据,用该指令可以改变定时器的当前值。,数据传送指令小结,无符号比较指令CMP,表比较指令TCMP,时刻比较指令,块比较指令BCMP,3.7数据比较指令,区域比较指令ZCP,符号比较指令,1.无符号比较指令CMP,S1:比较数1S2:比较数2,在执行条件为ON时,将S1和S2进行比较。,当S1S2时,标志位P_GTON,当S1=S2时,标志位P_EQON,当S1=”等,执行条件为ON时,按照符号和选项设定方式比较S1和S2比较数的值,满足条件输出为ON(能流导通)。,功能,选项,包括S(带符号)和L(双字),6.时刻比较类指令,符号,“=DT”,“DT”,“DT”,“=DT”等,C:控制通道S1:当前时刻首通道S2:比较时刻首通道,操作数,控制数据C,“秒”数据比较设定,“日”数据比较设定,“小时”数据比较设定,“分”数据比较设定,“月”数据比较设定,“年”数据比较设定,“0”:比较有效;“1”:不比较,当前时刻数据通道S1S1+2,秒:0059(BCD),分:0059(BCD),小时:0023(BCD),日:0131(BCD),月:0112(BCD),年:0099(BCD),(1)数据比较指令是常用的指令,要牢记其格式、梯形图、操作数范围和使用方法。,使用数据比较指令影响标志位P_GT、P_EQ、P_LT在需要保存标志位状态时,要编写相应程序。注意触点P_GT、P_EQ、P_LT的使用方法。,(2)注意块比较和表比较指令执行结果的表示方法。,数据比较指令小结,(3)注意符号比较和时刻比较指令操作数格式,参与比较的比较数据的数据类型:二进制、带符号二进制、双字、时刻、双精度、浮点数、等。,3.8数据转换指令,BCD二进制转换,二进制BCD转换,416译码指令,164编码指令,七段译码指令,ASCII码转换指令,BCD/BCD与BIN/BIN指令类似,下面以BIN/BIN为例说明其使用方法。,S:源通道D:结果通道,功能:当执行条件为ON时,将S中的BCD码转换成二进制数,并将结果存入D中。,1.BCD码二进制数转换指令BIN/BIN,4321转换为二进制数是0001000011100001,LD0.00MOV(21)#4321W000BIN(23)W000D00000,源通道W000中为BCD数4321。,转换后结果通道内容,写出图示语程序的句表、并分析功能。,本例只在0.00OFFON时转换一次。,2.416译码指令MLPX/MLPX,S:源首通道C:控制数据D:结果首通道,C的含义,S中第一个要译码的数字位位号,固定为0,当执行条件为ON时,根据C的内容对S进行译码,并将结果存放中D中。,指令功能,译码方法,由C确定被译码的起始数字位及译码的位数;,将该位数字(十六进制)转换为015的十进制数;,再将结果通道中与该十进制数对应的位置为ON,其余位为OFF。,被译码的数字位不能大于4。,第1个,第2个,第3个,C=#0030,第4个,第1个,C=#0023,结果通道的存放顺序,被译码的数字位要连续,从0位开始译码,对4位数字译码,从3位开始译码,对3位数字译码,使用译码指令MLPX举例,LD0.00MOV(21)#78F5W000MLPX(76)W000#0013H000,写语句表、分析程序功能,C=#0013,从第三位数字开始译码,对2个数字译码,H000和H001,(第3位第0位),译2个数字,存放结果需要2个通道,W000:78F5,(续)译码的原理,源通道(78F5)第3位数字是0111十进制数7,则以7为位号,将结果首通道H000中的bit07置为1,源通道第0位数字是0101十进制数5,则以5为位号,将结果末通道H001的bit05置为1,对本例,如果C=#0023,即对3个数字译码,第3个被译码的是源通道的第1位数字。第3个译码结果存放在结果通道H002中。,执行一次指令,最多只能对4个数字译码。,例如设C=#0023时,结果首通道设为H510;设C=#0042等,都是错误的。,使用译码指令MLPX时需注意,结果通道不能超过其所在区域。,3.164编码指令DMPX/DMPX,S:源首通道C:控制数据D:结果通道,C的含义,D中接收编码的第一个数字位,固定为0,当执行条件为ON时,根据C的内容,对以S为首通道的几个通道进行编码,并将结果存放在D中。,指令功能,编码方法,由C确定被编码的通道数;,将被编码通道中为ON的最高位的位号编为一个十六进制数;,将该十六进制数送到D指定(由C指定)的数字位。,使用编码指令DMPX举例,LD0.00MOV(21)#0013220DMPX(77)H000D00000220,写语句表、分析程序功能,C=#0013,从D的数字位3开始存放结果,对2个通道进行编码,H000和H001,对两个通道编码,源通道应为,设源通道H000中内容为A8E7(1010100011100111),H000中为1的最高位的位号是15十六进制编码F,将编码F放在结果通道D00000的第3位数字位上。,设源通道H001中内容为01BF(0000000110111111),H001中为1的最高位的位号是8十六进制编码8,将编码8放在结果通道D00000的第0位数字位上。,(续)编码的原理,第1个,第2个,第3个,C=#0030,第4个,第1个,C=#0031,结果的存放顺序,存放编码结果的位号要连续,第4个,原通道与编码结果的对应关系,若C=#0023(对3个源通道编码),第3个被编码的源通道应是H002,第3个编码结果应放在D00000的数字位1上。,源通道不能超过其所在区域。,例如设C=#0023时,源首通道设为H510;设C=#0042等,都是错误的。,使用编码指令DMPX时需注意,源通道不能超过4个。,4.七段译码指令SDEC/SDEC,S:源通道(BCD)C:控制数据D:结果首通道,C的含义,S中第一个要译码的数字位,固定为0,从D的高8位还是低8位开始存放第一个结果0:低8位1;高8位,转换后结果存放顺序,C=#0030,从数字位0开始译码,译码4位数字,从D低8位开始存放,固定为0,C=#0133,从数字位3开始译码,译码4位数字,从D高8位开始存放,固定为0,注意:对4个数字译码占用了三个通道!,当执行条件为ON时,根据C的内容,对S进行译码,并将结果存放中D中。,指令SDEC的功能,译码方法,译码结果存放在以D为首的几个连续通道中(由C确定是从D的低8位还是高8位开始存放)。,D中的bit0006及bit0814分别对应数码管的a、b、c、d、e、f、g段。bit07和bit15不用。,bit0006及bit0814若为1,对应数码管的段发光。,根据被译码数字位的数值,确定bit0006及bit0814哪个位为1。,使用译码指令SDEC举例,LD0.00MOV(21)#1673HR00SDEC(78)HR00#0013HR01,写语句表、分析程序功能,C=#0013,D中第一个要译码的数字位,对2个数字位进行译码,从D的低8位开始存放结果,译码数字位30,需占用一个结果通道,H000:1673,设源通道H000中内容为1673(BCD),源通道中第3位数字是1对应b、c段应该是1;,(续)译码的原理,第一个译码结果要存放在结果通道的低8位,所以H001的低8位是00000110(bit7固定为0);,源通道中第0位数字是3对应a、b、c、d、g段是1;,第二个译码结果要存放在结果通道的高8位,所以H001的高8位是01001111(bit15固定为0)。,源通道数字与译码结果通道的对应关系如下页图。,(续)源通道数字与译码结果通道的对应关系,1673,本例中,若C=#0113时,也是对2个数字译码,若第一个结果从高8位开始存放,则需要两个结果通道。,第一个译码结果存在H001的高8位,第二个译码结果存在H002的低8位。,执行一次指令,最多只能对4个数字译码;,例如:设C=#0023时,结果首通道设为H510;设C=#0042等,都是错误的。,注意,结果通道不能超过其所在区域。,5.ASCII码转换指令ASC/ASC,S:源通道C:控制数据D:结果首通道,C的含义,S中第一个被转换的数字位,校验0:无校验1:偶校验2:奇校验,从D的高8位还是低8位开始存放第一个结果0:低8位1;高8位,当执行条件为ON时,根据C的内容,将S中指定的数字转换成ASCII码,并将结果存放在D中。,指令功能,关于校验位,若设置偶校验,则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土方开挖风险分析与控制对策
- 新教师教学工作总结模板与范文
- 2024年度企业招聘计划与执行方案
- 线上艺术课程教学效果评估报告
- 小学语文教学完整方案
- 2025航空空港行业市场深度调研及发展趋势与投资前景预测研究报告
- 2025航空液压系统部件行业市场供需特点分析及低温适应性技术应用规划
- 2025航空客运行业市场竞争分析发展需求评估投资评估规划研究报告
- 2025航空客舱舒适度空气调节旅客满意度调查
- 2025航空制造行业市场供需动态竞争焦点消费行为研究报告
- 广告设计及广告制作服务 投标方案(技术方案)
- 运输顺槽掘进作业规程
- GB/T 44373-2024智能网联汽车术语和定义
- 医院有害生物防治投标方案(技术标)
- DL∕ T 1178-2012 1000kV交流输电线路金具电晕及无线电干扰试验方法
- T-SHNA 0005-2023 成人住院患者肠外营养输注护理
- 白酒发酵工艺微生物
- 中华崛起演讲稿作文700字
- 酸枣种植知识讲座
- 五年级数学(小数四则混合运算)计算题及答案汇编
- 实体肿瘤疗效评估标准-RECIST1.1-简介
评论
0/150
提交评论