您好,欢迎访问三七文档
FX2N系列可编程控制器功能指令4.5.1概述定义可编程控制器的基本指令——基于继电器、定时器、计数器类软元件,主要用于逻辑处理的指令。功能指令(应用程序)——用于数据的传送、运算、变换及程序控制等功能。3概述功能指令的特点功能强大指令处理的数据多数据在存储单元中流转的过程复杂4数据类软元件及存储器组织一、数据类软元件的类型及使用1.数据寄存器(D)数据寄存器是用于存储数值数据的软元件,FX2N系列机中为16位(最高位为符号位,可处理数值范围为-32,767~+32,767),如将2个相邻数据寄存器组合,可存储32位(最高位为符号位,可处理数值范围为-2,147,483,647~+2,147,483,647)的数值数据。5数据类软元件及存储器组织图6-116/32位二进制数据各位权值6数据类软元件及存储器组织常用数据寄存器有以下几类:通用数据寄存器(D0~D199共200点)断电保持数据寄存器(D200~D511共312点)特殊数据寄存器(D8000~D8255共256点)7数据类软元件及存储器组织举例在D8000中,存有监视定时器的时间设定值。它的初始值由系统只读存储器在通电时写入。要改变时可利用传送指令(FNC12MOV)写入未定义的特殊数据寄存器不要使用!图6-2特殊数据寄存器数据的写入FNC12MOVK250D800FNC07WDTM8002将监视定时器设为250ms监视定时器刷新8数据类软元件及存储器组织变址寄存器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数据类软元件及存储器组织举例软元件的变址FNC12MOVD5V0D10Z0X000如:当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数据类软元件及存储器组织注意!变址寄存器不能修改V与Z本身或位数指定用的Kn参数。例如K4M0Z有效,而K0ZM0无效。11数据类软元件及存储器组织二、数据类软元件的结构形式(1)基本形式FX2N系列PLC数据类元件的基本结构为16位存储单元。具有符号位和字元件。(2)双字元件其中低位元件存储32位数据的低位部分,高位元件存储32位数据的高位部分。最高位(第32位)为符号位。在指令中使用双字元件时,一般只用其低位地址表示这个元件,其高位同时被指令使用。虽然取奇数或偶数地址作为双字元件的低位是任意的,但为了减少元件安排上的错误,建议用偶数作为双字元件的元件号。18数据类软元件及存储器组织(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功能指令的表达形式、使用要素及分类一、功能指令的表达形式及使用要素1.功能指令的表达形式功能指令不含表达梯形图符号间相互关系的成分,而是直接表达本指令要做什么。FNC12MOVK123D500X8002图6-6功能指令的梯形图形式24功能指令的表达形式、使用要素及分类指令名称助记符指令代码操作数范围程序步[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功能指令的表达形式、使用要素及分类功能指令的使用要素功能指令编号助记符数据长度执行形式操作数⑤.某些指令如INC,DEC在用连续执行方式时应特别注意,每个扫描周期都要执行一次。警示标示。264.5.2程序流向控制指令FNC00—FNC09目录条件跳转指令及应用子程序调用指令及应用中断指令及应用循环指令程序结构1内容提要2条件跳转指令、子程序指令、中断指令及程序循环指令,统称为程序控制类指令。程序控制指令用于程序执行流程的控制。对一个扫描周期而言,跳转指令可以使程序出现跨越或跳跃以实现程序段的选择。子程序指令可调用某段子程序。循环指令可多次重复执行特定的程序段。中断指令则用于中断信号引起的子程序调用。程序控制类指令可以影响程序执行的流向及内容。对合理安排程序的结构,有效提高程序的功能,对实现某些技巧性运算,都有重要的意义。1、条件跳转指令及应用一、条件跳转指令的要素和含义指令名称助记符指令代码位数操作数程序步[D·]条件跳转CJCJ(P)FNC00(16)P0~P63P63即ENDCJ和CJ(P)~3步标号P~1步表8-1条件跳转指令要素含义在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针PΔ间的程序,即跳到以指针PΔ为入口的程序段中执行。直到跳转的条件不再满足,跳转停止进行。3条件跳转指令及应用条件跳转指令使用说明4条件跳转指令及应用二、条件跳转指令的使用说明1.使用条件跳转指令的几点注意①由于跳转指令具有选择程序段的功能。在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。②可以有多条跳转指令使用同一标号。图8-2二条跳转指令使用同一标号7条件跳转指令及应用③标号可以设在相关的跳转指令之后或之前。④使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅助继电器M8000作为跳转指令的工作条件,跳转就成为无条件跳转。⑤跳转可用来执行程序初始化工作。⑥在编写跳转程序的指令表时,标号需占一行。条件跳转指令用于程序初始化8条件跳转指令及应用三、条件跳转指令的应用实例FNC00CJP8X010手动程序FNC00CJP9自动程序ENDX010P8P9LDX010P8CJP8自动程序手动程序P9LDIX010ENDCJP9图8-5手动/自动转换程序102、子程序调用指令及应用一、子程序调用指令的使用要素及梯形图表示指令名称助记符指令代码位数操作数程序步[D·]子程序调用CALLCALL(P)FNC01(16)指针P0~P62嵌套5级3步(指令标号)1步子程序返回SRETFNC02无1步子程序调用指令要素11子程序调用指令及应用子程序是为一些特定的控制要求编制的相对独立的程序。子程序调用指令在梯形图中使用的情况如图8-6所示。图8-6子程序的使用12子程序调用指令及应用子程序可以实现多级嵌套。图8-8子程序的嵌套14子程序调用指令及应用二、子程序应用实例例:报警电路,要求启动后,灯在闪,亮0.5S,灭0.5S,蜂鸣器在响。灯闪烁30次后灭,蜂鸣器停,间歇5S。如此反复三次,自动熄灭。试用调用子程序方法编写程序。15灭0.5S亮0.5S闪烁30次注:FX系列PLC缺点往往在子程序返回之后,子程序某些线圈仍得电。补救方法:用RST、ZRST或使用RET(输入输出刷新指令)让其线圈失电。课堂练习:试用调用子程序方法编写三台电动机Y0、Y1、Y2每隔10S顺序启动的控制程序。参考答案:3、中断指令一、中断指令说明及其梯形图表示指令名称助记符指令代码操作数程序步中断返回指令允许中断指令禁止中断指令IRETEIDIFNC03FNC04FNC05无无无1步1步1步中断指令要素18中断指令中断是计算机所特有的一种工作方式。中断子程序是为某些特定的控制功能而设定的。特定的控制功能的共同特点:要求响应时间小于机器的扫描周期。三类中断:输入中断定时器中断计数器中断19指针I输入中断用指针。输入中断用指针I00□~I50□,共6点。6个输入中断仅接收对应于输入口X000~X005的信号触发。这些输入口无论是硬件设置还是软件管理上都与一般的输入口不同,可以处理比扫描周期短的输入中断信号。上升沿或下降沿指对输入信号类别的选择。I□□00:下降沿中断1:上升沿中断输入号位0~5,每个输入只能用一次指针的格式例如:I001为输入X000从OFF→ON变化时,执行由该指针作为标号后面的中断程序,并在执行IRET指令时返回。15中断指令地址号·号称动作·功能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中断指令中断指令的执行过程及应用实例外部中断子程序图8-11外部输入中断子程序示例外部中断常用来引入发生频率高于机器扫描频率的外控制信号,或用于处理那些需快速响应的信号。22说明:图中一开始为允许中断,当X1从OFF至ON且保持ON,程序跳到指针I101处执行中断,即执行第13行,将K100送到D1,然后返回主程序,对定时器T0计时,当计时达到D12当前值K100时,T0触点闭合,Y0得电。例:4、监视定时器指令(P113)注:可通过修改D8000的数据改写警戒时钟。如图:5、循环指令一、循环指令的要素及梯形图表示指令名称助记符指令代码操作数程序步[S·]循环指令FORFNC09(16)K,H,KnX,KnY,KnM,KnS,T,C,D,V,Z3步(嵌套5层)循环结束指令NEXTFNC09无1步表8-6程序循环指令要素26循环指令循环指令由FOR及NEXT二条指令构成,它们成对出现。图8-14循环指令使用说明多层循环间的关系是循环次数相乘的关系。274.5.3传送比较类指令(FNC10—FNC19)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比较指令的要素4FNC10CMPK100C20M0MOM1M2K100C20当前值,M0=ONK100=C20当前值,M1=ONK100C20当前值,M2=ON[S1·][S2·][D·]X000CMP指令使用说明5说明:当指定M0为目标元件时,则M0、M1、M2被自动占用;当X0断开,不执行CMP指令,M0开始的三位连续元件(M0—M2)保持其断电前状态。如要清除比较结果,要用复位指令。如要清除比较结果,要采用RST或ZRST复位指令。RSTM0RSTM1RSTM2X000FNC10ZRSTM0M2X000或比较结果复位6例:下图为CMP指令应用的例子。接通X0及X2,问当按X1为3次、10次、15次时,灯Y0、Y1、Y2哪个亮?思考题:下图中,按X10,D1的当前值为100。之后D1每秒加1,但程序不会停止。试改写程序,使D
本文标题:三菱PLC功能指令
链接地址:https://www.777doc.com/doc-3833105 .html