三菱PLC功能指令_第1页
三菱PLC功能指令_第2页
三菱PLC功能指令_第3页
三菱PLC功能指令_第4页
三菱PLC功能指令_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.5.1概述定义可编程控制器的基本指令——基于继电器、定时器、计数器类软元件,主要用于逻辑处理的指令。功能指令(应用程序)——用于数据的传送、运算、变换及程序控制等功能。3第一页,共156页。概述功能指令的特点功能强大指令处理的数据多数据在存储单元中流转的过程复杂4第二页,共156页。数据类软元件及存储器组织一、数据类软元件的类型及使用1.数据寄存器(D)数据寄存器是用于存储数值数据的软元件,FX2N系列机中为16位(最高位为符号位,可处理数值范围为-32,767~+32,767),如将2个相邻数据寄存器组合,可存储32位(最高位为符号位,可处理数值范围为-2,147,483,647~+2,147,483,647)的数值数据。5第三页,共156页。数据类软元件及存储器组织图6-116/32位二进制数据各位权值6第四页,共156页。数据类软元件及存储器组织常用数据寄存器有以下几类:通用数据寄存器(D0~D199共200点)断电保持数据寄存器(D200~D511共312点)特殊数据寄存器(D8000~D8255共256点)7第五页,共156页。数据类软元件及存储器组织举例在D8000中,存有监视定时器的时间设定值。它的初始值由系统只读存储器在通电时写入。要改变时可利用传送指令(FNC12MOV)写入未定义的特殊数据寄存器不要使用!图6-2特殊数据寄存器数据的写入FNC12MOVK250

D800FNC07WDTM8002将监视定时器设为250ms监视定时器刷新8第六页,共156页。数据类软元件及存储器组织变址寄存器V、Z和通用数据寄存器一样,是进行数值数据读、写的16位数据寄存器。主要用于运算操作数地址的修改。进行32位数据运算时,将V0~V7,Z0~Z7对号结合使用,如指定Z0为低位,则V0为高位,组合成为:(V0,Z0)。变址寄存器V、Z的组合如图6-3所示。2.变址寄存器(V0~V7,Z0~Z7共16点)V0Z0V0Z016位32位16位高位低位变址寄存器V、Z的组合9第七页,共156页。数据类软元件及存储器组织举例软元件的变址FNC12MOVD5V0

D10Z0X000如:当V0=8,Z0=14时,D(5+8)=D(13);D(10+14)=D(24)则(D13)→(D24)当V0=9,D(5+9)=D(14),则(D14)→(D24)图6-4变址寄存器的使用说明可以用变址寄存器进行变址的软元件是:X、Y、M、S、P、T、C、D、K、H、KnX、KnY、KnM、KnS。10第八页,共156页。数据类软元件及存储器组织注意!变址寄存器不能修改V与Z本身或位数指定用的Kn参数。例如K4M0Z有效,而K0ZM0无效。11第九页,共156页。数据类软元件及存储器组织二、数据类软元件的结构形式

(1)基本形式FX2N系列PLC数据类元件的基本结构为16位存储单元。具有符号位和字元件。

(2)双字元件其中低位元件存储32位数据的低位部分,高位元件存储32位数据的高位部分。最高位(第32位)为符号位。在指令中使用双字元件时,一般只用其低位地址表示这个元件,其高位同时被指令使用。虽然取奇数或偶数地址作为双字元件的低位是任意的,但为了减少元件安排上的错误,建议用偶数作为双字元件的元件号。18第十页,共156页。数据类软元件及存储器组织

(3)位组合元件FX2N系列PLC中使用4位BCD码,产生了位组合元件。位组合元件常用输入继电器X、输出继电器Y、辅助继电器M及状态继电器S组成,元件表达为KnX、KnY、KnM、KnS等形式,式中Kn指有n组这样的数据。KnX000表示位组合元件是由从X000开始的n组位元件组合。若n为1,则K1X0指由X000、X001、X002、X003四位输入继电器的组合;而n为2,则K2X0是指X000~X007八位输入继电器的二组组合。除此之外,位组合元件还可以变址使用,如KnXZ、KnYZ、KnMZ、KnSZ等,这给编程带来很大的灵活性。举例19第十一页,共156页。功能指令的表达形式、使用要素及分类一、功能指令的表达形式及使用要素1.功能指令的表达形式功能指令不含表达梯形图符号间相互关系的成分,而是直接表达本指令要做什么。FNC12MOVK123

D500X8002图6-6功能指令的梯形图形式24第十二页,共156页。功能指令的表达形式、使用要素及分类指令名称助记符指令代码操作数范围程序步[S1·][S2·][D·]加法ADDADD(P)FNC20(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZADD、ADDP…7步DADD、DADDP…13步2.功能指令的使用要素表6-2加法指令要素图6-7功能指令的格式及要素25第十三页,共156页。功能指令的表达形式、使用要素及分类功能指令的使用要素功能指令编号助记符数据长度执行形式操作数⑤.某些指令如INC,DEC在用连续执行方式时应特别注意,每个扫描周期都要执行一次。警示标示。26第十四页,共156页。4.5.2程序流向控制指令FNC00—FNC09第十五页,共156页。目录条件跳转指令及应用子程序调用指令及应用

中断指令及应用循环指令程序结构1第十六页,共156页。内容提要2条件跳转指令、子程序指令、中断指令及程序循环指令,统称为程序控制类指令。程序控制指令用于程序执行流程的控制。对一个扫描周期而言,跳转指令可以使程序出现跨越或跳跃以实现程序段的选择。子程序指令可调用某段子程序。循环指令可多次重复执行特定的程序段。中断指令则用于中断信号引起的子程序调用。程序控制类指令可以影响程序执行的流向及内容。对合理安排程序的结构,有效提高程序的功能,对实现某些技巧性运算,都有重要的意义。第十七页,共156页。1、条件跳转指令及应用一、条件跳转指令的要素和含义指令名称助记符指令代码位数操作数程序步[D·]条件跳转CJCJ(P)FNC00(16)P0~P63P63即ENDCJ和CJ(P)~3步标号P~1步表8-1条件跳转指令要素含义在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针PΔ间的程序,即跳到以指针PΔ为入口的程序段中执行。直到跳转的条件不再满足,跳转停止进行。3第十八页,共156页。条件跳转指令及应用条件跳转指令使用说明4第十九页,共156页。条件跳转指令及应用二、条件跳转指令的使用说明1.使用条件跳转指令的几点注意①由于跳转指令具有选择程序段的功能。在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。②可以有多条跳转指令使用同一标号。图8-2二条跳转指令使用同一标号7第二十页,共156页。条件跳转指令及应用

③标号可以设在相关的跳转指令之后或之前。④使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅助继电器M8000作为跳转指令的工作条件,跳转就成为无条件跳转。⑤跳转可用来执行程序初始化工作。⑥在编写跳转程序的指令表时,标号需占一行。条件跳转指令用于程序初始化8第二十一页,共156页。条件跳转指令及应用三、条件跳转指令的应用实例FNC00CJP8X010手动程序FNC00CJP9自动程序ENDX010P8P9LDX010P8CJP8自动程序手动程序P9LDIX010ENDCJP9图8-5手动/自动转换程序10第二十二页,共156页。2、子程序调用指令及应用一、子程序调用指令的使用要素及梯形图表示指令名称助记符指令代码位数操作数程序步[D·]子程序调用CALLCALL(P)FNC01(16)指针P0~P62嵌套5级3步(指令标号)1步子程序返回SRETFNC02无1步子程序调用指令要素11第二十三页,共156页。子程序调用指令及应用子程序是为一些特定的控制要求编制的相对独立的程序。子程序调用指令在梯形图中使用的情况如图8-6所示。图8-6子程序的使用12第二十四页,共156页。子程序调用指令及应用

子程序可以实现多级嵌套。图8-8子程序的嵌套14第二十五页,共156页。子程序调用指令及应用二、子程序应用实例例:报警电路,要求启动后,灯在闪,亮0.5S,灭0.5S,蜂鸣器在响。灯闪烁30次后灭,蜂鸣器停,间歇5S。如此反复三次,自动熄灭。试用调用子程序方法编写程序。15第二十六页,共156页。灭0.5S亮0.5S闪烁30次第二十七页,共156页。注:FX系列PLC缺点往往在子程序返回之后,子程序某些线圈仍得电。补救方法:用RST、ZRST或使用RET(输入输出刷新指令)让其线圈失电。课堂练习:试用调用子程序方法编写三台电动机Y0、Y1、Y2每隔10S顺序启动的控制程序。第二十八页,共156页。参考答案:第二十九页,共156页。第三十页,共156页。3、中断指令一、中断指令说明及其梯形图表示指令名称助记符指令代码操作数程序步中断返回指令允许中断指令禁止中断指令IRETEIDIFNC03FNC04FNC05无无无1步1步1步中断指令要素18第三十一页,共156页。中断指令中断是计算机所特有的一种工作方式。中断子程序是为某些特定的控制功能而设定的。特定的控制功能的共同特点:要求响应时间小于机器的扫描周期。

三类中断:输入中断定时器中断计数器中断19第三十二页,共156页。指针I

输入中断用指针。输入中断用指针I00□~I50□,共6点。6个输入中断仅接收对应于输入口X000~X005的信号触发。这些输入口无论是硬件设置还是软件管理上都与一般的输入口不同,可以处理比扫描周期短的输入中断信号。上升沿或下降沿指对输入信号类别的选择。I□□00:下降沿中断1:上升沿中断输入号位0~5,每个输入只能用一次指针的格式例如:I001为输入X000从OFF→ON变化时,执行由该指针作为标号后面的中断程序,并在执行IRET指令时返回。15第三十三页,共156页。中断指令地址号·号称动作·功能M8050(输入中断)I00□禁止FNC04(EI)指令执行后,即使允许中断,可使用特殊辅助继电器M禁止个别中断动作。例如M8050为ON时,输入中断I00□中断禁止M8051(输入中断)I10□禁止M8052(输入中断)I20□禁止M8053(输入中断)I30□禁止M8054(输入中断)I40□禁止M8055(输入中断)I50□禁止M8056(定时中断)I6□□禁止M8057(定时中断)I7□□禁止M8058(定时中断)I8□□禁止M8059计数器中断禁止I010~I060的中断禁止表8-5特殊辅助继电器与中断对应关系20第三十四页,共156页。中断指令中断指令的执行过程及应用实例外部中断子程序图8-11外部输入中断子程序示例外部中断常用来引入发生频率高于机器扫描频率的外控制信号,或用于处理那些需快速响应的信号。22第三十五页,共156页。说明:图中一开始为允许中断,当X1从OFF至ON且保持ON,程序跳到指针I101处执行中断,即执行第13行,将K100送到D1,然后返回主程序,对定时器T0计时,当计时达到D12当前值K100时,T0触点闭合,Y0得电。例:第三十六页,共156页。4、监视定时器指令(P113)第三十七页,共156页。注:可通过修改D8000的数据改写警戒时钟。如图:第三十八页,共156页。5、循环指令一、循环指令的要素及梯形图表示指令名称助记符指令代码操作数程序步[S·]循环指令FORFNC09(16)K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z3步(嵌套5层)循环结束指令NEXTFNC09无1步表8-6程序循环指令要素26第三十九页,共156页。循环指令

循环指令由FOR及NEXT二条指令构成,它们成对出现。图8-14循环指令使用说明多层循环间的关系是循环次数相乘的关系。

27第四十页,共156页。4.5.3传送比较类指令(FNC10—FNC19)第四十一页,共156页。1.比较指令指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]比较CMPCMP(P)FNC10(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZY、M、SCMP、CMPP…7步DCMP、CMPP…13步表7-1比较指令的要素4第四十二页,共156页。FNC10CMPK100C20M0MOM1M2K100>C20当前值,M0=ONK100=C20当前值,M1=ONK100<C20当前值,M2=ON[S1·][S2·][D·]X000CMP指令使用说明5说明:当指定M0为目标元件时,则M0、M1、M2被自动占用;当X0断开,不执行CMP指令,M0开始的三位连续元件(M0—M2)保持其断电前状态。如要清除比较结果,要用复位指令。第四十三页,共156页。如要清除比较结果,要采用RST或ZRST复位指令。RSTM0RSTM1RSTM2X000FNC10ZRSTM0M2X000或比较结果复位6第四十四页,共156页。例:下图为CMP指令应用的例子。接通X0及X2,问当按X1为3次、10次、15次时,灯Y0、Y1、Y2哪个亮?第四十五页,共156页。思考题:下图中,按X10,D1的当前值为100。之后D1每秒加1,但程序不会停止。试改写程序,使D1大于200时,程序停止加1运算。第四十六页,共156页。参考答案:第四十七页,共156页。2.区间比较指令指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][S·][D·]区间比较ZCPZCP(P)FNC11(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZY、M、SZCP、ZCPP…9步DZCP、DZCPP…17步区间比较指令的要素7第四十八页,共156页。FNC11ZCPK100K120M3M3M4M5K100>C30当前值,M3接通K100≤C30当前值≤K120时,M4接通K120<C30当前值,M5接通[S1·][S2·][D·]X000C30[S·]ZCP指令使用说明8说明:当指定M3为目标元件时,则M3、M4、M5被自动占用;当X0断开,不执行ZCP指令,M3开始的三位连续元件(M3—M5)保持其断电前状态。如要清除比较结果,要用复位指令。第四十九页,共156页。例:试说明下面程序运行时,Y1、Y2、Y3分别在何时得电?第五十页,共156页。触点形比较指令是使用触点符号进行数据[S1·]、[S2·]比较的指令,根据比较结果确定触点是否允许能流通过。3.触点形比较指令分类按照依触点在梯形图中的位置

LD类AND类OR类9第五十一页,共156页。FNCNo16位助记符(5步)32位助记符(9步)操作数导通条件非导通条件[S1·][S2·]224LD=(D)LD=K、H、KnX、KnY、KnM、KnS、T、CD、V、Z[S1·]=[S2·][S1·]≠[S2·]225LD>(D)LD>[S1·]>[S2·][S1·]≤[S2·]226LD<(D)LD<[S1·]<[S2·][S1·]≥[S2·]228LD<>(D)LD<>[S1·]≠[S2·][S1·]=[S2·]229LD≤(D)LD≤[S1·]≤[S2·][S1·]>[S2·]239LD≥(D)LD≥[S1·]≥[S2·][S1·]<[S2·]从母线取用触点比较指令要素10第五十二页,共156页。FNCNo16位助记符(5步)32位助记符(9步)操作数导通条件非导通条件[S1·][S2·]232AND=(D)AND=K、H、KnX、KnY、KnM、KnS、T、CD、V、Z[S1·]=[S2·][S1·]≠[S2·]233AND>(D)AND>[S1·]>[S2·][S1·]≤[S2·]234AND<(D)AND<[S1·]<[S2·][S1·]≥[S2·]236AND<>(D)AND<>[S1·]≠[S2·][S1·]=[S2·]237AND≤(D)AND≤[S1·]≤[S2·][S1·]>[S2·]238AND≥(D)AND≥[S1·]≥[S2·][S1·]<[S2·]串联形触点比较指令要素11第五十三页,共156页。FNCNo16位助记符(5步)32位助记符(9步)操作数导通条件非导通条件[S1·][S2·]240OR=(D)OR=K、H、KnX、KnY、KnM、KnS、T、CD、V、Z[S1·]=[S2·][S1·]≠[S2·]241OR>(D)OR>[S1·]>[S2·][S1·]≤[S2·]242OR<(D)OR<[S1·]<[S2·][S1·]≥[S2·]244OR<>(D)OR<>[S1·]≠[S2·][S1·]=[S2·]245OR≤(D)OR≤[S1·]≤[S2·][S1·]>[S2·]246OR≥(D)OR≥[S1·]≥[S2·][S1·]<[S2·]并联形触点比较指令要素12第五十四页,共156页。从母线取用触点比较指令应用说明(一)13第五十五页,共156页。程序:C10的当前值=K200时,Y010驱动LD=K200SPC10OUTY010D200的内容在-29以上、X001为ON时,Y011置1LD>D200SPK-30ANDX001SETY011C200的内容比678493小时,或M3为ON,则M50被驱动(D)LD>K678493SPC200ORM3OUTM50从母线取用触点比较指令应用说明(二)14第五十六页,共156页。程序:当X000=ON,C10的当前值=K200,Y010驱动LDX000AND=K200SPC10OUTY010LDIX001X001为OFF,D0的内容不等于-10时,Y011置位AND〈〉D0SPK-10SETY011当X002=ON,D10、D11的内容小于678493时,或M3为ON,则M50被驱动LDX002(D)AND>K678493SPD10(D11)ORM3OUTM50串联形触点比较指令应用说明15第五十七页,共156页。程序:当X001=ON,或C10的当前值=K200时,Y010驱动LD=X001OR=K200SPC10OUTY010当X002与M30都为ON,或D101,D100的内容比100000大时,M40为ONLDX002ANDM30(D)OR≥D100SPK100000OUTM40并联形触点比较指令应用说明16第五十八页,共156页。指令名称助记符指令代码位数操作数范围程序步[S·][D·]传送MOVMOV(P)FNC12(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZMOV、MOVP…5步DMOV、DMOVP…9步传送指令的要素4.传送指令17第五十九页,共156页。[S·][D·]FNC12MOVK100D10X000传送指令使用说明18第六十页,共156页。举例①定时器、计数器当前值读出FNC12MOVT0D20X001传送指令应用例一19第六十一页,共156页。②定时器、计数器设定值的间接指定FNC12MOVK200D12X002M0T20D20传送指令应用例二20第六十二页,共156页。二、传送比较类指令应用实例【例1】用程序构成一个闪光信号灯,改变输入口所接置数开关可改变闪光频率。设定开关4个,分别接于X000~X003,X010为起停开关;信号灯接于Y000。梯形图如图7-10所示。图中第一行为变址寄存器清零,上电时完成。第二行从输入口读入设定开关数据,变址综合后送到定时器T0的设定值寄存器D0,并和第三行中的定时器T1配合产生D0时间间隔的脉冲。21第六十三页,共156页。频率可变的闪光信号灯梯形图及说明22第六十四页,共156页。【例2】电动机的Y/△启动控制设置启动按钮为X000,停止按钮为X001;电路主(电源)接触器KM1接于输出口Y000,电动机Y接法接触器KM2接于输出口Y001,电动机△接法接触器KM3接于输出口Y002。依电机Y/△启动控制要求,通电时,Y000、Y001为ON(传送常数为1+2=3),电动机Y形启动;23第六十五页,共156页。当转速上升到一定程度,断开Y000、Y001,接通Y002(传送常数为4)。然后接通Y000、Y002(传送常数为1+4=5),电动机△形运行。停止时,应传送常数为0。另外,启动过程中的每个状态间应有时间间隔。本例使用向输出端口送数的方式实现控制。梯形图如图7-11所示。24第六十六页,共156页。启动,Y000,Y001为ON,M为Y启动启动过程延时考虑接触器换接所需息弧时间,停电换接。换接延时时间应根据具体情况调整,或接触器间互锁M为△运行停止电动机Y/△启动控制梯形图及说明25第六十七页,共156页。【例3】彩灯的交替点亮控制有一组灯L1~L8。要求隔灯显示,每2s变换一次,反复进行。用一个开关实现启停控制。设置启停开关接于X000,L1~L8接于Y000~Y007。梯形图如图7-12所示。这又是一个以向输出口送数的方式实现控制要求的例子。26第六十八页,共156页。4s时钟发生器将控制常数送Y000~Y007,实现隔灯显示将控制常数送Y000~Y007,Y000~Y007状态取反,实现显示轮换图7-12彩灯交替点亮控制梯形图及说明27第六十九页,共156页。【例4】密码锁用比较器构成密码锁系统。密码锁有12个按钮,分别接入X000~X013,其中X000~X003代表第一个十六进制数;X004~X007代表第二个十六进制数;X010~X013代表第三个十六进制数。根据设计,每次同时按四个键,分别代表三个十六进制数,共按4次,如与密码锁设定值都相符合,3s后,锁可开启。且10s后,重新锁定。28第七十页,共156页。密码锁的密码由程序设定。假定为H2A4、H01E、H151、H18A,从K3X000上送入的数据应分别和它们相等,这可以用比较指令实现判断,梯形图如图7-13所示。如上用十二键排列组合设计的密码锁,具有较高的保密性。29第七十一页,共156页。H2A4代表十六进制数2A4。其中“4”应按X2键,“A”应按X5X7键,“2”应按X11键。其他数值表示含义同上述4次按键成功,3s后开锁10s后重新锁定启动门锁门锁复位密码锁的梯形图及说明30第七十二页,共156页。【例5】简易定时报时器应用计数器与比较指令,构成24h可设定定时时间的控制器,每15min为一设定单位,共96个时间单位。现将此控制器作如下控制:早上6点半,电铃(Y000)每秒响一次,六次后自动停止;9∶00~17∶00,启动住宅报警系统(Y001);晚上6点开园内照明(Y002);晚上10点关园内照明(Y002)。31第七十三页,共156页。又设:X000为起停开关;X001为15分钟快速调整与试验开关;X002为快速试验开关;时间设定值为钟点数×4。使用时,在0∶00时启动定时器。梯形图如7-14所示。32第七十四页,共156页。图7-14定时控制器梯形图及说明33第七十五页,共156页。【例6】外置数计数器可编程控制器中有许多计数器。但是机内计数器的设定值是由程序设定的,在一些工业控制场合,希望计数器能在程序外由普通操作人员根据工艺要求临时设定,这就需要一种外置数计数器,图7-15就是这样一种计数器的梯形图程序。34第七十六页,共156页。图7-15外置数计数器的梯形图及说明35第七十七页,共156页。在图7-15中,二位拨码开关接于X000~X007,通过它可以自由设定数值在0~99之间的整数计数值;X010为计数器件;X011为起停开关。C5计数值是否与外部拨码开关设定值一致,是借助比较指令实现的。拨码开关送入的值为BCD码,要用二进制转换指令进行数制的变换。因为比较操作只对二进制数有效。注意36第七十八页,共156页。5块传送指令该指令的助记符、指令代码、操作数范围、程序步如表9.11所示。表9.11移位传送指令的要素指令名称助记符指令代码位数操作数范围程序步[S•]

[D•]n

块传送BMOVBMOV(P)FNC15(16)KnX、KnY、KnM、KnS、T、C、DKnY、KnM、KnS、T、C、D、V、ZK、H≤512BMOV、BMOVP…7步第七十九页,共156页。BMOV指令的功能是将源操作数指定元件开始的n个数据组成数据块传送到指定的目标,如图9.13所示。图9.13BMOV指令应用

注意:如果元件号超出允许范围,数据则仅传送到允许范围内的元件。

第八十页,共156页。6BCD/BIN指令

该类指令的助记符、指令代码、操作数范围、程序步如表9.12所示。表9.12数据变换指令的要素指令名称助记符指令代码位数操作数范围程序步[S•]

[D•]BCD变换

BCDBCD(P)FNC18(16/32)KnX、KnY、KnM、KnS、T、C、DV、ZKnY、KnM、KnS、T、C、D、V、ZBCD、BCDP…5步DBCD、DBCDP…9步BIN交换

BINBIN(P)FNC19(16/32)KnX、KnY、KnM、KnS、T、C、DV、ZKnY、KnM、KnS、T、C、D、V、ZBIN、BINP…5步DBIN、DBINP…9步第八十一页,共156页。BCD变换指令是将源元件中的二进制数转换成BCD码送到目标元件中。BIN变换指令是BCD变换指令的逆变换,是将源元件中的BCD码转换成二进制数据送到目标元件中,如图9.14所示。图9.14BCD/BIN指令应用如果指令进行16位操作时,执行结果超出0~9999范围将会出错;当指令进行32位操作时,执行结果超过0~99999999范围也将出错。传送与比较指令在PLC控制程序中起如下用途。第八十二页,共156页。1)用以获得程序的初始工作数据一个控制程序总是需要初始数据的。这些数据既可以从输入端口上连接的外部器件获得,运用传送指令读取这些器件上的数据并送到内部单元;也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通过初始化程序送到工作单元。2)机内数据的存取管理在数据运算过程中,机内的数据传送是不可缺少的。运算可能要涉及不同的工作单元,数据需在它们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这就要找地方把这些数据存储妥当。总之,对一个涉及数据运算的程序,数据管理是很重要的。此外,第八十三页,共156页。二进制和BCD码的转换在数据管理中也是很重要的。3)运算处理结果向输出端口传送运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。对于输出口连接的离散执行器件,可成组处理后看做是整体的数据单元,按各端口的目标状态送入一定的数据,即可实现对这些器件的控制。4)比较指令用于建立控制点控制现场常有将某个物理量的量值或变化区间作为控制点的情况。如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。作为一个控制“阀门”,比较指令常出现在工业控制程序中。第八十四页,共156页。【例9-3】PLC在送料车方向自动控制上的应用。控制要求如下。某车间有8个工作台,送料车往返于工作台之间送料,动作示意图如图9.15所示。每个工作台设有一个到位开关(SQ)和一个呼叫按钮(SB),送料车开始应能停留在8个工作台中任意一个到位开关的位置上,系统受启停开关QS的控制。具体控制要求如下。(1)当料车所在暂停位置的SQ号码大于呼叫的SB号码时,料车往左行,到呼叫的SB位置后停止。(2)当料车所在暂停位置的SQ号码小于呼叫的SB号码时,料车往右行,到呼叫的SB位置后停止。试用传送与比较指令编程实现送料车的控制要求。第八十五页,共156页。图9.15送料车工作示意图第八十六页,共156页。【解】设送料车现暂停于m号工作台(SQm为ON)处,这时n号工作台呼叫(SBn为ON),则根据题意可知:(1)当料车所在暂停位置的SQ号码大于呼叫的SB号码时,料车往左行,到呼叫的SB位置后停止。即m>n,送料车左行,直至SQn动作,到位停车。(2)当料车所在暂停位置的SQ号码小于呼叫的SB号码时,料车往右行,到呼叫的SB位置后停止。即m<n,送料车右行,直至SQn动作,到位停车。(3)送料车所停位置SQ的号码与呼叫按钮SB的号码相同时,送料车不动。即m=n,送料车原位不动。第八十七页,共156页。5)I/O地址分配及硬件连接由控制要求可知,系统的I/O地址分配如表9.13所示,硬件连接如图9.16所示。表9.13送料车系统的I/O地址分配表输入功能说明输入功能说明输出功能说明SQ0X0限位0SB0X10呼叫0KM1Y0电动机M正转,料车右行SQ1X1限位1SB1X11呼叫1KM2Y2电动机M反转,料车左行SQ2X2限位2SB2X12呼叫2SQ3X3限位3SB3X13呼叫3SQ4X4限位4SB4X14呼叫4第八十八页,共156页。表9.13送料车系统的I/O地址分配表(续表)输入功能说明输入功能说明输出功能说明SQ5X5限位5SB5X15呼叫5KM1Y0电动机M正转,料车右行SQ6X6限位6SB6X16呼叫6KM2Y2电动机M反转,料车左行SQ7X7限位7SB7X17呼叫7QSX20启停开关第八十九页,共156页。图9.16送料车系统硬件连接图第九十页,共156页。6)PLC软件的实现用传送与比较指令编程实现送料车控制的梯形图程序如图9.17所示。第九十一页,共156页。图9.17送料车系统梯形图程序第九十二页,共156页。图中将送料车当前位置送到数据寄存器D128中,将呼叫工作台号送到数据寄存器D129中,然后通过D128与D129中数据的比较,决定送料车的运行方向和到达的目标位置,D128、D129都是断电保持型数据寄存器,因此送料车系统重新启动后,能自动恢复断电前的状态。第九十三页,共156页。4.5.4四则及逻辑运算类指令及应用第九十四页,共156页。一、四则运算及逻辑运算指令说明四则及逻辑运算指令可完成四则运算或逻辑运算,可通过运算实现数据的传送、变位及其他控制功能。FX2N系列可编程控制器中有两种四则运算,即整数四则运算和实数四则运算。37第九十五页,共156页。1.加法指令指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]加法ADDADD(P)FNC20(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZADD、ADDP…7步DADD、DADDP…13步表7-7加法指令的要素38第九十六页,共156页。ADD加法指令是将指定的源元件中的二进制数相加,结果送到目标元件中去。FNC20ADDD10D12[S1·][S2·][D·]X000D14图7-16加法指令使用说明一当执行条件X000由OFF→ON时,[D10]+[D12]→[D14]。39第九十七页,共156页。ADD加法指令有3个常用标志。M8020为零标志,M8021为借位标志,M8022为进位标志。源和目标可以用相同的元件号。若源和目标元件号相同而采用连续执行的ADD、(D)ADD指令时,加法的结果在每个扫描周期都会改变。40第九十八页,共156页。若指令采用脉冲执行型时,如图7-17所示。FNC20ADD(P)D0K1[S1·][S2·][D·]X001D0图7-17加法指令使用说明二当X001每从OFF→ON变化时,D0的数据加1。41第九十九页,共156页。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]减法SUBSUB(P)FNC21(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZSUB、SUBP…7步DSUB、DSUBP…13步表7-8减法指令的要素2.减法指令42第一百页,共156页。

SUB减法指令是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去。FNC21SUBD10D12[S1·][S2·][D·]X000D14图7-18减法指令使用说明当执行条件X000由OFF→ON时,[D10]-[D12]→[D14]。

43第一百零一页,共156页。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]乘法MULMUL(P)FNC22(16/32)K、HKnX、KnY、KnM、KnST、C、D、ZKnY、KnM、KnST、C、DMUL、MULP…7步DMUL、DMULP…13步表7-9乘法指令的要素3.乘法指令44第一百零二页,共156页。

MUL乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。FNC22MULD0D2[S1·][S2·][D·]X000D4图7-19乘法指令使用说明它分16位和32位两种情况......45第一百零三页,共156页。指令名称助记符指令代码位数操作数范围程序步[S1·][S1·][D·]除法DIVDIV(P)FNC23(16/32)K、HKnX、KnY、KnM、KnST、C、D、ZKnY、KnM、KnST、C、DDIV、DIVP…7步DDIV、DDIVP…13步表7-10除法指令的要素4.除法指令46第一百零四页,共156页。DIV除法指令是将指定的源元件中的二进制数相除,[S1·]为被除数,[S2·]为除数,商送到指定的目标元件[D·]中去,余数送到[D·]的下一个目标元件。FNC23DIVD0D2[S1·][S2·][D·]X000D4图7-20除法指令使用说明它分16位和32位两种情况......47第一百零五页,共156页。指令名称助记符指令代码位数操作数范围程序步[D·]加1INCINC(P)FNC24◥(16/32)KnY、KnM、KnST、C、D、V、ZINC、INCP…3步DINC、DINCP…5步表7-11加1指令的要素5.加1指令48第一百零六页,共156页。当X000由OFF→ON变化时,由[D·]指定的元件D10中的二进制数加1。若用连续指令时,每个扫描周期加1。FNC24INC(P)D10[D·]X000图7-21加1指令使用说明49第一百零七页,共156页。指令名称助记符指令代码位数操作数范围程序步[D·]减1DECDEC(P)FNC25◥(16/32)KnY、KnM、KnST、C、D、V、ZDEC、DECP…3步DDEC、DDECP…5步表7-12减1指令的要素6.减1指令50第一百零八页,共156页。当X001由OFF→ON变化时,由[D·]指定的元件D10中的二进制数减1。若用连续指令时,每个扫描周期减1。FNC25DEC(P)D10[D·]X001图7-22减1指令使用说明51第一百零九页,共156页。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]逻辑字与WANDWAND(P)FNC26(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZWAND、WANDP…7步DANDC、DANDP…13步表7-13逻辑字与指令的要素7.逻辑字与指令52应为WAND第一百一十页,共156页。图7-23(a)逻辑字与指令使用说明FNC26WANDD10D12[S1·][S2·][D·]X000D14

(D10)∧(D12)→(D14)按各位对应,进行逻辑字与运算1∧1=10∧1=01∧0=00∧0=053第一百一十一页,共156页。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]逻辑字或WORWOR(P)FNC27(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZWOR、WORP…7步DORC、DORP…13步表7-14逻辑字或指令的要素8.逻辑字或指令54第一百一十二页,共156页。FNC27WORD10D12[S1·][S2·][D·]X001D14

(D10)∨(D12)→(D14)按各位对应,进行逻辑字或运算1∨1=10∨1=01∨0=10∨0=0图7-23(b)逻辑字或指令使用说明55第一百一十三页,共156页。指令名称助记符指令代码位数操作数范围程序步[S1·][S2·][D·]逻辑字异或XORXOR(P)FNC28(16/32)K、HKnX、KnY、KnM、KnST、C、D、V、ZKnY、KnM、KnST、C、D、V、ZWXOR、WXORP…7步DXORC、DXORP…13步表7-15逻辑字异或指令的要素9.逻辑字异或指令56第一百一十四页,共156页。FNC28WXORD10D12[S1·][S2·][D·]X002D14

(D10)(D12)→(D14)按各位对应,进行逻辑字与运算11=001=110=100=0≮≮≮≮≮图7-23(b)逻辑字或指令使用说明57第一百一十五页,共156页。二、四则与逻辑运算类指令应用实例1.四则运算式的实现某控制程序中要进行以下算式的运算:38X/255+2。式中“X”代表输入端口K2X000送入的二进制数,运算结果需送输出口K2Y000;X020为起停开关。其梯形图如7-24所示。58第一百一十六页,共156页。图7-24四则运算应用举例一的梯形图59第一百一十七页,共156页。用乘除法指令实现灯组的移位点亮循环。有一组灯15个,接于Y000~Y016。要求:当X000为ON时,灯正序每隔1s单个移位,并循环;当X001为OFF时,灯反序每隔1s单个移位,至Y000为ON,停止。2.使用乘除运算实现灯移位点亮控制60第一百一十八页,共156页。置初值1×2=2;2×2=4;4×2=8;……形成正序移位……;8÷2=4;4÷2=2;2÷2=1形成反序移位图7-25灯组移位控制梯形图61第一百一十九页,共156页。彩灯12盏,接于Y000~Y013用加1、减1指令及变址寄存器实现正序亮至全亮、反序熄至全熄再循环控制,彩灯状态变化的时间单位为1s,用秒脉冲M8013实现。

3.彩灯正序亮至全亮、反序熄至全熄再循环控制62第一百二十页,共156页。图7-26彩灯控制梯形图63第一百二十一页,共156页。01111011110111014.指示灯的测试电路1000010000100010Y000Y000Y015Y015开灯字(K31709)关灯字(K33826)

(a)指示灯在K4Y000的分布图图7-27应用举例四梯形图64第一百二十二页,共156页。FNC12MOVK4Y000K4M0X8000FNC27WOR(P)K31709K4M0X000FNC26WAND(P)K33826K4M0X001K4Y000K4Y000END上电时传送灯状态到K4MO

X000置1时,开所有的灯

X001置1时,关所有的灯(b)指示灯测试电路梯形图图7-27应用举例四梯形图65第一百二十三页,共156页。4.5.5移位控制类指令及应用第一百二十四页,共156页。移位指令先入先出FIFO指令……字移位指令循环移位指令移位控制指令66第一百二十五页,共156页。一、移位控制类指令说明1.循环右移及循环左移指令名称助记符指令代码位数操作数范围程序步[D·]n循环右移RORROR(P)FNC30◥(16/32)KnY、KnM、KnST、C、D、V、ZK、H移位量n≤16(16位)n≤32(32位)ROR、RORP…5步DROR、DRORP…9步表7-16循环右移指令的要素67第一百二十六页,共156页。循环右移指令可以使16位数据、32位数据向右循环移位。图7-28循环右移指令使用说明68第一百二十七页,共156页。2.位右移及位左移指令指令名称助记符指令代码位数操作数范围程序步[S·][D·]n1n2位右移SFTRSFTR(P)FNC34◥(16)X、Y、M、SY、M、SK、HSFTR、SFTRP…9步表7-17位右移指令的要素69第一百二十八页,共156页。执行一次后:(M3~M0)→溢出:(M7~M4)→(M3~M0):(M11~M8)→(M7~M4)(M15~M12)→(M11~M8):(X003~X000)→(M15~M12)图7-29位右移指令使用说明70第一百二十九页,共156页。注意

用脉冲执行型指令时,指令执行取决于X010由OFF→ON变化;而用连续指令执行时,移位操作是每个扫描周期执行一次,使用指令时必须注意。71第一百三十页,共156页。3.字右移及字左移指令(不讲)指令名称助记符指令代码位数操作数范围程序步[S·][D·]n1n2字右移WSFRWSFR(P)FNC36◥(16)KnX、KnY、KnM、KnST、C、DKnY、KnM、KnST、C、DK、Hn2≤n1≤512WSFR、WSFRP…9步表7-18字右移指令的要素72第一百三十一页,共156页。执行一次后:(D13~D10)→溢出:(D17~D14)→(D13~D10):(D21~D18)→(D17~D14):(D25~D22)→(D21~D18):(D3~D0)→(D25~D22)图7-30字右移指令使用说明73第一百三十二页,共156页。二、移位控制类指令的应用实例【例1】流水灯光控制

某灯光招牌有L1~L88个灯接于K2Y000,要求当X000为ON时,灯先以正序每隔1s轮流点亮,当Y007亮后,停2s;然后以反序每隔1s轮流点亮,当Y000再亮后,停2s,重复上述过程。当X001为ON时,停止工作。梯形图如图7-31所示。分析见梯形图边文字。74第一百三十三页,共156页。图7-31灯组移位控制梯形图75第一百三十四页,共156页。【例2】步进电机控制以位移指令实现步进电机正反转和调速控制。以三相三拍电机为例,脉冲列由Y010~Y012(晶体管输出)送出,作为步进电机驱动电源功放电路的输入。程序中采用积算定时器T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论