应用指令基本规则_第1页
应用指令基本规则_第2页
应用指令基本规则_第3页
应用指令基本规则_第4页
应用指令基本规则_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1、第一节 的基本规则应用指令的表示与执行形式 指令与操作数 FX2N系列PLC的应用指令由功能编号FNC00FNC246指定,各指令有表示其内容的助记符符号。应用指令多数情况下将功能编号与操作数组合在一起使用。应用指令的操作数包括源操作数、目的操作数以及辅助操作数 操作数可用软元件 位软元件:X、Y、M、S等。 字软元件:T、C、D等。处理ON/OFF信息处理数值FX2N系列PLC的数据寄存器D为16位,在处理32位数据时使用一对数据寄存器的组合。定时器TC的当前值寄存器可作为一般寄存器处理,但是,C200C255的1点是32位计数器,可直接处理32位数,不能作为16位指令的操作数使用。又称功能

2、指令,用于数据的传送、运算、变换及程序控制等功能。具有128种298条指令的形态与执行形式 分类:根据处理数值的位数,应用指令可分为16位指令和32位指令。 根据指令的执行形式,应用指令可分为连续执行型与脉冲执行型。标志的处理 标志动作:零标志(M8020);借位标志(M8021);进位标志(M8022); 执行结束(M8029)等。 如果在应用指令的结构、可用软元件及其编号范围等方面有错误时,在运算执行过 程中会出现,下列标志位会动作同时会记录出错信息: (1) M8067、D8067、D8069 若出现运算错误,M8067保持动作,运算错误代码编号 存储在D8067中,错误发生的步号存储在

3、D8069中。若在其他步发生新错误时, 其指令的出错代码和步号将被依次更新。 (2) M8068、D8068 若出现运算错误,M8068保持动作,错误发生的步号存储在 D8068中。即使其他指令中发生新错误也不更新内容,在强制复位或电源断开前 动作一直保持。 对于32位应用指令,其助记符在16位指令助记符上添加符号D。 脉冲执行型指令的助记符用添加符号P来表示。其指令只在驱动条件从 OFFON变化时执行一次,其他时刻不执行。 连续执行型应用指令在各扫描周期都执行的指令,操作数的内容每个扫 描周期都变化。 指令使用次数与同时驱动的限制 有些应用指令只能在指定次数内进行编程,禁止多次重复使用。但是

4、可 以采用变址寄存器来改变指令内的软元件编号与数值,与采用多次控 制同样的效果。 有些应用指令即使能多次编程,也有同时动作点数的限制。例如: FNC53(D HSCH)、FNC54(D HSCR)与FNC55(D HSZ)指令同 时动作点数在6点以下;FNC80(RS)指令动作点数只能有1点。浮点运算的数值处理 功能:更精确地进行乘、除和开方等运算。 浮点数运算都是采用二进制浮点数。二进制浮点数采用连续编号的一对数据寄存器,按一定规则表示。 如图所示: 以(D11,D10)为例 正负号由b31决定 不按补码处理 二进制浮点数表示方法 将二进制浮点数变为十进制浮点数。如图8-2所示: D0、D1

5、的最高位为符号位, 按2的补码处理,十进制浮点数的最小绝对值117510-41, 最大绝对值为34021035。 十进制浮点数表示方法应用指令说明 使用应用指令需注意指令的要素。加法指令的形式及要素。 加法指令的使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D加法FNC20(16/32)ADD(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZADD,ADDP:7步DADD,DADDP:13步应用指令的使用要素说明如下:(1)指令编号 每条应用指令都有一个的编号,上表中FNC20就是加法指令的编号。 (2)指令名称 说明

6、应用指令的功能。(3)助记符 应用指令的助记符一般都是该指令的英文缩写词。如加法指令 ADDITION简写为ADD。采用这种形式容易了解指令的应用。(4)数据长度 应用指令依处理数据的长度分为16位指令和32位指令,在表 中用(16/32)说明。32位指令采用助记符前加D表示,助记符前无D的指令 为16位指令。(5)执行形式 应用指令有脉冲执行型和连续执行型。脉冲执行型应用指令 采用助记符后加P表示,助记符后无P的指令为连续执行型。(6)操作数 应用指令的操作数分为源操作数S、目的操作数D和辅助操作数 m、n。源操作数、目的操作数和辅助操作数多于1个时分别用S1、S2, D1、D2以及m1、m

7、2,n1、n2表示。(7)指令步数 指令步数为执行该指令所需的程序步数。应用指令的指令编 号和指令助记符占一个程序步,每个操作数占2个或4个程序步(16位操作 数和32位操作数分别占2个和4个程序步)。因此,一般16位指令为7个程 序步,32位指令为13个程序步。 第二节 三菱FX2N系列PLC程序流程控制应用指令 三菱FX2N系列PLC程序流程控制应用指令共有十条,指令编号为FNC00FNC09。它们在程序中的条件执行与优先处理,与顺控程序的控制流程有关 条件跳转指令 条件跳转指令CJ(Conditional Jump,FNC00):用于跳过顺序程序中的某一部分,以控制程序的流程。指针P(P

8、oint)用于指示分支和跳步程序,在梯形图中,指针放在左侧母线的左边。使用要素说明见表。 条件跳转指令的使用要素指令名称指令编号助记符操作数指令步数D条件跳转FNC00(16)CJ(P)P0P127P63即是END所在步,不需标记CJ,CJP:3步标号P:1步 使用跳转指令可以缩短扫描周期。 一个指针只能出现一次。如图, X000为ON时,程序跳到指针P8处。 X000为OFF时,不执行跳转,程序按原顺序执行。 如果用M8000的常开触点驱动CJ指令,相当于无条 件跳转指令,因为运行时特殊辅助寄存器M8000总 是ON。 若输出继电器Y、辅助继电器M、状态S被OUT、 SET、RST指令驱动,

9、跳转期间即使驱动Y、M、S的电路状态改变了,它们仍保持跳转前的状态。 条件跳转指令及说明 定时器T和计数器C如果被CJ指令跳过,跳转期间它们的当前值将被保 存。如果在跳转开始时定时器和计数器正在工作,在跳转期间它们将停 止定时和计数。 T192T199和高速计数器C235C255如果在驱动后跳转,则继续工作, 输出触点也会动作。 如果从主令控制区的外部跳入其内部,不管它的主控触点是否接通,都 把它当成接通来执行主令控制区内的程序。如果跳转指令和标号都在同 一主控区内,主控触点没有接通时不执行跳转。 子程序调用与返回指令 子程序调用指令CALL(Sub-Routine Call,FNC01)。

10、子程序返回指令SRET(Sub-Routine Return,FNC02)。 子程序调用与返回指令的使用要素指令名称指令编号助记符操作数指令步数D子程序调用FNC01(16)CALL(P)指针P0P62,P64P127嵌套5级CALL,CALLP:3步标号P:1步子程序返回FNC02SRET无1步在指令CALL中: 各子程序用指针P0P62及P64P127表示。 同一指针只能出现一次。 CJ指令中用过的指针不能再用。 不同位置的CALL指令可以调用同一指针的子程序。在指令SRET中无操作数。 图中, X001是子程序执行的条件,当X001置1时,调用指 针标号为P10的子程序一次,即程序将跳到

11、指针 P10处执行。 在子程序中调用子程序称为嵌套调用,最多可以嵌 套5级。 在执行子程序1时,如果X030为ON,CALL P11指 令被执行,程序跳到P11处,嵌套执行子程序2。 执行第二条SRET指令后,返回子程序1中CALL P11 指令的下一条指令,执行第一条SRET指令后 返回主程序中CALLP P10指令的下一条指令。 因为子程序是间歇使用的,在子程序中使用的定时 器应在T192T199和T246T249之间选择。 子程序的调用与返回中断指令 中断事件:输入中断、定时中断和高速计数器中断。 中断指令:中断返回IRET(Interruption Return)。 允许中断EI(In

12、terruption Enable)。 禁止中断DI(Interruption Disable)。中断指令的使用要素指令名称指令编号助记符操作数指令步数D中断返回FNC03IRET无1步中断允许FNC04EI无1步中断禁止FNC05DI无1步 用于中断的指针用来指明某一中断源的中断程序的入口, 执行到IRET(中断返回)指令时返回中断事件出现时正在执行的程序。 中断指针应在FEND指令之后使用。输入中断用来接收特定的输入地址号的输入信号,输入中断指针I0。 最高位与X000X005的元件号相对应,单元的输入号为05(从X000 X005输入)。最低位为0时表示下降沿中断,反之为上升沿中断。 定

13、时器中断指针为I6I8,低两位是以ms为单位定时时间(1 99ms)。M8056M5058为ON时,将分别禁止定时中断02。计数器中断指针为I00(16)。计数器中断与HSCS(高速计数器比 较置位)指令配合使用,根据高速计数器的计数当前值与计数设定值的关 系来确定是否执行相应的中断服务程序。 中断指令在梯形图中的表示如图所示。 PLC通常处于禁止中断的状态,指令EI和DI之间的 程序段为允许中断的区间,若程序执行到中断子 程序中IRET指令时,返回原断点,继续执行原来 的程序。 中断程序从它惟一的中断指针开始,到第一条IRET 指令结束。 中断程序应放在FEND指令之后,IRET指令只能在中

14、 断程序中使用。 特殊辅助继电器M805为ON时(=08),禁止执行 相应的中断I(是与中断有关的数字)。 M8059ON时,关闭所有的计数器中断。 如果有多个中断信号依次发出,则优先级按发生的 先后为序,发生越早的优先级越高。中断指令在梯形图中的表示 若同时发生多个中断信号,则中断指针号小的优先。 执行一个中断子程序时,其他中断被禁止,在中断子程序中编入EI和DI, 可以实现双重中断,只允许两级中断嵌套。 如果中断信号在禁止中断区间出现,该中断信号被储存,并在EI指令之后 响应该中断。不需要关中断时,只使用EI指令,可以不使用DI指令。 主程序结束指令 主程序结束指令FEND(First E

15、nd,FNC06):表示主程序的结束和子程 序的开始,使用要素说明见表。 主程序结束指令的使用要素指令名称指令编号助记符操作数指令步数D主程序结束FNC06FEND无1步主程序结束指令的应用举例。 当X010为OFF时,不执行跳转指令,仅执行主程序; 当X010为ON时,执行跳转指令,跳到指针标号P20 处,执行第二个主程序。 在第二个主程序中,若X011为OFF,仅执行第二个主 程序,若X011为ON,调用指针标号为P21的程序。 结束后,通过SRET指令返回原断点,继续执行第二 个主程序。 主程序结束指令的应用注意事项: 执行到FEND指令时PLC进行输入输出处理、监控定时器刷新,完成后返

16、回 第0步。 子程序(包括中断子程序)应放在FEND指令之后。 CALL指令调用的子程序必须用SRET指令结束。 中断子程序必须以IRET指令结束。 若FEND指令在CALL指令执行之后和SRET指令执行之前出现,则程序出错。 另一个类似的错误是FEND指令出现在FORNEXT循环中。 使用多条FEND指令时,中断程序应放在最后的FEND指令和END指令之间。 监控定时器指令 监控定时器指令的使用要素指令名称指令编号助记符操作数指令步数D监控定时器FNC07WDT(P)无1步监控定时器指令WDT(WATCHDOG TIMER) 图示是通过顺序程序改变其值。监控定时器时间更新应在WDT指令不编入

17、程序的情况下,END处理时,D8000值才有效。 监控定时器指令的应用 程序循环指令 程序循环指令由FOR 及NEXT两条指令构成。使用要素说明见表。 程序循环指令的使用要素指令名称指令编号助记符操作数指令步数S循环开始FNC08(16)FORK,HKnX,KnY,KnM,KnST,C,D,V,Z3步循环结束FNC09NEXT无1步图中,外层循环程序A嵌套了内层循环B,循环A执行5次,每执行一次循环A,就要执行10次循环B,因此循环B一共要执行50次。利用循环中的CJ指令可以跳出FORNEXT之间的循环区。 FOR 指令表示循环区的起点,NEXT表示循环区终 点,FOR与NEXT之间的程序被反

18、复执行,执行完 后,执行NEXT后面的指令。执行次数N(N1 32767)由FOR指令的源操作数设定。如果N为负数, 当作N1处理。FOR与NEXT循环可以嵌套5层。FOR与NEXT指令总是成对使用循环指令使用说明第三节 三菱FX2N系列PLC传送与比较应用指令 FX2N系列PLC 的数据传送、比较类指令共10条,指令功能编号为FNC10FNC19。 比较指令:比较CMP(Compare) 区间比较ZCP(Zone Compare)使用要素说明见表。 程序循环指令 比较指令的使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D比较FNC10(16/32)CMP(P)K,H

19、KnX,KnY,KnM,KnST,C,D,V,ZY, M, SCMP, CMPP:7步DCMP,DCMPP:13步指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)S(可变址)D区间比较FNC11(16/32)ZCP(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZY, M, SZCP, ZCPP:9步DZCP,DZCPP:17步图a中的比较指令将十进制常数100与计数器C10的当前值比较,比较结果送到M0M2。 X000为OFF时不进行比较,M0M2的状态保持不变。 X000为ON时进行比较,比较的结果对M0M2的影响如图8-9a所示。 S1S2 时,仅M0为ON;若

20、S1S2,仅M1为ON;若S1S2,仅M2为ON。 所有的源数据都被视为二进制数进行处理。 图b中: X002为ON时,执行ZCP指令,将T3的当前值与常数100和150相比较,比较 结果送到M3M5,源数据S1不能大于源数据S2。 X002断开时,ZCP指令不执行,M3M5保持X002断开前的状态。 比较指令使用说明传送指令 传送MOV(Move) BCD码移位送SMOV(Shift Move) 取反传送CML(Complement Move) 传送、移位传送、取反传送指令指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)传送FNC12(16/32)MOV(P)K,HKnX,KnY

21、,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZMOV, MOVP:5步DMOV,DMOVP:9步取反传送FNC14(16/32)CML(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZCML、CMLP:5步DCML、DCMLP:9步指令名称指令编号助记符操作数指令步数S(可变址)m1m2D(可变址)n移位传送FNC13(16)SMOV(P)KnX,KnY,KnM,KnST,C,D,V,ZK,H=14K,H=14KnY,KnM,KnST,C,D,V,ZK,H=14SMOV, SMOVP:11步 数据块传送BMOV(Bl

22、ock Move) 多点传送FMOV(Fill Move) 数据交换XCH(Exchange)传送指令:传送、移位传送、取反传送指令的使用要素 传送指令MOV将源数据传送到指定目的。 取反传送指令CML将源元件中的数据逐位取反(10,01),并传送到 指定目的。 移位传送指令SMOV是进行数据分配与合成的指令,将4位BCD十进制源数据 S中指定位数的数据传送到4位十进制目的操作数D中指定的位置。图中: MOV指令:X001为ON时,源操作数中的常数100被传送到目的操作数软元 件D10中,并自动转换为二进制数;当X000断开,指令不执行时,D10中 的数据保持不变。 CML指令:将D0的低4位

23、取反后传送到Y003Y000中。 SMOV指令:X000为ON时,将D1中转换后的BCD码右起第4位(m1=4)开始的2位(m2=2)移到目的操作数D2的右起第3位(n=3)和第2位,然后D2中的BCD码自动转换为二进制码,D2中的BCD码的第1位和第4位不受移位传送指令的影响。 传送、移位传送与取反指令数据块传送、多点传送、数据交换指令 数据块传送、多点传送、数据交换指令的使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)n块传送FNC15(16)BMOV(P)KnX,KnY,KnM,KnST,C,DKnY,KnM,KnST,C,DK,H512BMOV, BMOVP:7步多

24、点传送FNC16(16/32)FMOV(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,DK,H512FMOV, FMOVP:7步DFMOV, DFMOVP:13步指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)数据交换FNC17(16/32)XCH(P)KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZXCH, XCHP:5步DXCH、DXCHP:9步如图所示: BMOV指令:源文件与目标文件的类型相同时的传送顺序。 FMOV指令:X002为ON时将常数0送到D5D14这10个(n=10)数据寄存器中。 XCH

25、指令:数据在指定的目的元件D1和D2之间交换,交换指令一般采用脉冲 执行方式。 数据块传送、多点传送、数据交换指令数据变换指令 数据变换指令: 二进制数转换成BCD码并传送BCD(Binary Code to Decimal) BCD码转换为二进制数并传送BIN(Binary)指令。 数据变换指令的使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)BCD转换FNC18(16/32)BCD(P)KnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZBCD, BCDP:5步DBCD、DBCDP:9步BIN转换FNC19(16/32)BIN(P)K

26、nX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZBIN, BINP:5步DBIN、DBINP:9步如图所示,当X000为ON时,源元件D12中的二进制数转换成BCD码送到目标元件D11中。 第四节 三菱FX2N系列PLC算术及逻辑运算应用指令算术运算指令 算术运算:二进制加ADD(Addition)、减SUB(Subtraction)、 乘MUL(Multiplication)、除DIV(Division)。 算术运算指令的使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D(可变址)加法FNC20(16/32)ADD(P)K,HKn

27、X,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZADD, ADDP:7步DADD,DADDP:13步减法FNC21(16/32)SUB(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZSUB, SUBP:7步DSUB,DSUBP:13步乘法FNC22(16/32)MUL(P)K,HKnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,DV,Z(限16位)MUL, MULP:7步DMUL,DMULP:13步除法FNC23(16/32)DIV(P)K,HKnX,KnY,KnM,KnST,C

28、,D,V,ZKnY,KnM,KnST,C,DV,Z(限16位)DIV, DIVP:7步DDIV,DDIVP:13步实现数据的传送、变位及其他控制功能 如图所示: X000为ON时,执行(D10)(D12)(D14)。 X001由OFF变为ON时,执行(D0)22 (D0) X002为ON时,执行(D0)(D2)(D5、D4),乘积 的低位字送到D4,高位字送到D5。 X003为ON时,执行32位除法运算,(D7、D6)/(D9、D8),商送到(D3、D2),余数送到(D5、 D4)。如果除数只有一个字(假设放在D8中), 32位除法运算之前应先将除数的高位字D9清零。 算术运算指令说明二进制数

29、加1、减1指令 二进制数加1指令INC(Increment)和减1指令DEC(Decrement) 二进制数加1、减1指令指令的使用要素指令名称指令编号助记符操作数指令步数D(可变址)加1FNC24(16/32)INC(P)KnY,KnM,KnST,C,D,V,ZINC、INCP:3步DINC、DINCP:5步减1FNC25(16/32)DEC(P)KnY,KnM,KnST,C,D,V,ZDEC、DECPP:3步DDEC、DDECP:5步图中 X004每次由OFF变为ON时,由D指定的元件中的数加1。 X001每次由OFF变为ON时,由D指定的元件中的数减1。 这两条指令都不影响零标志、借位标

30、志和进位标志。 二进制数加1、减1指令说明字逻辑运算指令 字逻辑运算指令:字逻辑与WAND(Word AND) 字逻辑或WOR(Word OR) 字逻辑异或WXOR(Word Exclusive OR) 求补NEG(Negation) 如图所示, 当X000为ON时,D10与D12中的数据按各位对 应进行逻辑字与运算,结果存放在元件D14中。 当X001为ON时,D20与D24中的数据按各位对应 进行逻辑字或运算,结果存放在元件D24中。 当X002为ON时,D30与D32中的数据按各位对应 进行逻辑字异或运算,结果存放在元件D34中。 当X004为ON时,D50中的二进制负数按位取反 后加1

31、,求得的补码存入原来的D50中。 字逻辑运算指令说明第五节 三菱FX2N系列PLC循环与移位应用指令使位数据或字数据向指定方向循环、位移的指令 循环移位指令 左、右循环移位指令 循环右移ROR(Rotation Right) 循环左移ROL(Rotation Left) 左、右循环移位指令的使用要素指令名称指令编号助记符操作数指令步数D(可变址)n循环右移FNC30(16/32)ROR(P)KnY,KnM,KnST,C,D,V,ZK,Hn16(32)ROR, RORP:5步DROR、DRORP:9步循环左移FNC31(16/32)ROL(P)KnY,KnM,KnST,C,D,V,ZK,Hn16

32、(32)ROL, ROLP:5步DROL、DROLP:9步执行这两条指令时,各位的数据向右(或向左)循环移动n位(n为常数),16位指令和32位指令中n应分别小于16和32,每次移出来的那一位同时存入进位标志M8022中。带进位左、右循环移位指令 带进位循环右移RCR(Rotation Right with Carry) 带进位循环左移RCL(Rotation Left with Carry)功能编号分别为FNC32和FNC33 执行这两条指令时,各位的数据与进位位M8022一起(16位指令时一共17位)向右(或向左)循环移动n位(见图)。 循环位移指令使用说明移位指令 位右移和位左移指令 实

33、现位元件中的状态成组地向右或向左移动 位右移和位左移指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)n1n2位右移FNC34(16)SFTR(P)X,Y,M,SY,M,SK,Hn2n11024SFTR, SFTRP:9步位左移FNC35(16)SFTL(P)SFTL, SFTLP:9步图中X010由OFF变为ON时,位右移指令(3位1组)按以下顺序移位:M2M0中的数溢出,M5M3M2M0,M8M6M5M3,X002X0000M8M6。图8-17b中的X010由OFF变为ON时,位左移指令按图中所示的顺序移位。 位右移SFTR(Shift Right) 位左移SFTL(

34、Shift Left) 指令使用说明位移位字右移和字左移指令 字右移WSFR(Word Shift Right)、字左移WSFL(Word Shift Left) 字右移和字左移指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)n1n2字右移FNC36(16)WSFR(P)KnX,KnY,KnM,KnST,C,DKnY,KnM,KnST,C,DK,Hn2n1512WSFR,WSFRP:9步字左移FNC37(16)WSFL(P)WSFL, WSFLP:9步图a中的X000由OFF变为ON时,字右移指令按图中所示的顺序移位。图b中的X010由OFF变为ON时,字左移指令按图中

35、所示的顺序移位。字移位指令使用说明移位寄存器写入与读出指令 移位寄存器又称为先入先出FIFO(First in First out)堆栈,堆栈的长度范围为2512个字。 写入指令SFWR(Shift Register Write) 移位寄存器读出指令SFRD(Shift Register Read)用于FIFO堆栈的读写,先写入的数据先读出。 FIFO指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)n1n2FIFO写入FNC38(16)SFWR(P)K,H,KnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,DK,Hn2n1512SFWR,SF

36、WRP:7步FIFO读出FNC39(16)SFRD(P)KnX,KnY,KnM,KnS,T,C,DKnY,KnM,KnST,C,DSFRD, SFRDP:7步图a中: 目标元件D1是FIFO堆栈的首地址,也是堆栈的指针,移位寄存器未装入 数据时应将D1清0。 在X000由OFF变为ON时,指针的值加1后写入数据。第一次写入时,源操 作数D0中的数据写入D2。 如果X000再次由OFF变为ON,D1中的数变为2,D0中的数据写入D3。依此 类推,源操作数D0中的数据依次写入堆栈。 当D1中的数据等于n-1(n为堆栈的长度)时,不再执行上述处理,进位标 志M8022置1。图b中 X000由OFF变

37、为ON时,D2中的数据送到D20,同时指针D1的值减1,D3到 D9的数据向右移一个字。 数据总是从D2读出,指针D1为0时,FIFO堆栈被读空,不再执行上述处 理,零标志M8020为ON。 执行本指令的过程中,D9的数据保持不变。FIFO指令使用说明第六节 三菱FX2N系列PLC数据处理应用指令区间复位指令 区间复位指令ZRST(Zone Reset)将D1D2指定的元件号范围内的 同类元件成批复位。 如果D1的元件号大于D2的元件号,则只有D1指定的元件被复位。 单个位元件和字元件可以用RST指令复位。 区间复位指令使用要素指令名称指令编号助记符操作数指令步数D1(可变址)D2(可变址)区

38、间复位FNC40(16)ZRST(P)Y,M,S,T,C,DD1元件号D2元件号ZRST, ZRSTP:5步如图中: 当M8002由OFFON 时,执行区间复位指令。 位元件M500M599成批复位,字元件C235 C255成批复位,状态元件S0S127成批复位。 虽然ZRST指令是16位指令,D1和D2也可以指定 32位计数器。区间复位指令 解码与编码指令 解码(译码)指令DECO(Decode) 编码指令ENCO(Encode)解码与编码指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)n解码FNC41(16)DECO(P)K,H,X,Y,M,ST,C,D,V,ZY,

39、M,S,T,C,DK,H1n8DECO,DECOP:7步编码FNC42(16)ENCO(P)X,Y,M,ST,C,D,V,ZT,C,D,V,ZENCO, ENCOP:7步 图a中:X002X000组成的3位(n3)二进制数为011,相当于十进制数3,由目标操作数M7M0组成的8位二进制数的第3位(M0为第0位)M3被置1,其余各位为0。如源数据全零,则M0置1。 图b中:n=3,编码指令将源元件M7M0中为“1”的M3的位数3编码为二进制数011,并送到目标元件D10的低3位。编码与解码指令使用说明解码/编码指令在n=0时不作处理。当执行条件OFF时,指令不执行,输出保持不变。求置ON位总和与

40、ON位判别指令 位元件的值为1时称为ON,求置ON位总和指令SUM统计源操作数中为ON 的位的个数,并将它送入目标操作数。 求置ON位总和指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)求置ON位总和FNC43(16/32)SUM(P)K,H,KnX,KnY,KnM,KnST,C,D,V,ZKnY,KnM,KnST,C,D,V,ZSUM, SUMP:5步DSUM, DSUMP:9步ON位判别指令BON(Bit ON Check)用来检测指定元件中的指定位是否 为ON,若为ON,则位目标操作数变为ON,目标元件是源操作数中指定 位的状态的镜像。 ON位判别指令使用要素指令

41、名称指令编号助记符操作数指令步数S(可变址)D(可变址)nON位判别FNC44(16/32)BON(P)K,H,KnX,KnY,KnM,KnS,T,C,D,V,ZY,M,SK,Hn=115(31)BON,BONP:7步DBON,DBONP:13步如图所示, 当X000为ON时,将D0中置1的总和存入目标元 件D2中,若D0为0,则0标志M8020动作。 当X003为ON时,判别D10中第15位,若为1, 则M0为ON,反之为OFF。 X000变为OFF时,M0状态不变化。图求ON位总和与ON位判别指令平均值指令 平均值指令MEAN是将S中指定的n个源操作数据的平均值存入目标操作 数D中,舍去余

42、数。 平均值指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)n平均值FNC45(16/32)MEAN(P)KnX,KnY,KnM,KnS,T,C,DKnY,KnM,KnST,C,D,V,ZK,Hn=164MEAN, MEANP:7步DMEAN,DMEANP:13步如图所示: 如n超出元件规定地址号范围 时,n值自动减小。 n在164以外时,会发生错误。 平均值指令使用说明报警器置位复位指令 报警器置位指令ANS(Annunciator Set)。 报警器复位指令ANR(Annunciator Reset),无操作数。 报警器置位复位指令使用要素指令名称指令编号助记符操作

43、数指令步数S(可变址)n D(可变址)报警器置位FNC46(16)ANS(P)T0T199n=132 767(100ms单位)S900S999ANS, ANSP:7步报警器复位FNC47(16)ANR(P)无ANR, ANRP:1步图中: M8000的常开触点一直接通,使M8049的线圈通电, 特殊数据寄存器D8049的监视功能有效,D8049用来 存放S900S999中处于活动状态且元件号最小的状 态继电器的元件号。 Y000变为ON后,100ms定时器T0开始定时,如果 X000在10s内未动作(n=100),S900变为ON。 X003为ON后,100ms定时器T1开始定时,如果在20s

44、 内X004未动作,S901将会动作。 故障复位按钮X005和ANR指令将用于故障诊断的状 态继电器复位。报警器置位复位指令其他数据处理指令 二进制平方根指令SQR(Square Root) 浮点数转换指令FLT(Floating Piont) 高低字节交换指令SWAT 二进制平方根指令、浮点数转换指令、高低字节交换指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)二进制平方根FNC48(16/32)SQR(P)K,H,DDSQR, SQRP:5步DSQR, DSQRP:9步浮点数转换FNC49(16/32)FLT(P)DDFLT, FLTP:5步DFLT, DFLTP:

45、9步指令名称指令编号助记符操作数指令步数S(可变址)高低字节交换FNC147(16/32)SWAP(P)KnY,KnM,KnST,C,D,V,ZSWAP, SWAPP:5步DSWAP, DSWAPP:9步图中: X002为ON时,将存放在D45中的数开方,结 果存放在D123内。计算结果舍去小数,只取 整数。M8023为ON将对32位浮点数开方,结 果为浮点数。 X003为ON,且M8023(浮点数标志)为OFF 时,该指令将存放在源操作数D10中的数据转 换为浮点数,并将结果存放在目的寄存器D13 和D12中。 M8023为ON时,将把浮点数转换为整数。用于存放浮点数的目的操作 数应为双整数

46、,源操作数可以是整数或双整数。 X004为ON时,16位指令将D10中的高8位与低8位字节交换 二进制平方根指令、浮点数转换指令、高低字节交换指令第七节 三菱FX2N系列PLC高速处理应用指令与输入输出有关的指令 输入输出刷新指令 输入输出刷新指令REF(Refresh)可用于对指定的输入输出口立即刷新。 输入输出刷新指令使用要素指令名称指令编号助记符操作数指令步数D(可变址)n输入输出刷新FNC50(16)REF(P)X,YK,Hn为8的倍数REF, REFP:7步图中: 当X000为ON时,X010X017这8点输入(n=8) 被立即刷新。 当X001为ON时,Y000Y027共24点输(

47、n=24) 被立即刷新。 输入输出刷新、滤波时间调整指令刷新和滤波时间常数调整指令 刷新和滤波时间常数调整指令REFF(Refresh and Filter Adjust)用来刷新输入口X000X017,并指定它们的输入滤波时间常数n。 刷新和滤波时间常数调整指令使用要素指令名称指令编号助记符操作数指令步数n刷新和滤波时间常数调整FNC51(16)REFF(P)K,HN=060msREFF, REFFP:7步图中当X010为ON时,X000X017的输入映像寄存器被刷新,它们的输入滤波时间常数被设定为1ms(n=1)。矩阵输入指令 可以将8点输入与n点输出构成8行n列的输入矩阵,从输入端快速、

48、批 量接收数据。 矩阵输入占用由S指定的输入号开始的8个输入点,并占用由D1指定的 输出号开始的n个晶体管输出点。 矩阵输入指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D1(可变址)D2(可变址)n矩阵输入FNC52(16)MTRXYY,M,SK,Hn=28MTR:9步如图所示: n3,是一个8点输入、3点输出,可 以存储24点输入的矩阵电路。 3个输出点(Y020Y022)依次反复 顺序接通。 Y020为ON时读入第一行输入的状态, 存于M30M37, Y021为ON时读入第二行输入的状态, 存于M40M47, 余类推,如此反复执行。矩阵输入指令使用说明高速计数器指令 高速计

49、数器比较置位HSCS(Set by High Speed Counter)高速计数器比较复位HSCR(Reset by High Speed Counter)高速计数器区间比较HSZ(Zone compare for High Speed Counter)它们均为32位指令。 高速计数器指令使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D(可变址)比较置位FNC53(32)HSCSK,H,KnX,KnY,KnM,KnS,T,C,D,V,ZCC235C255Y,M,SI010I060HSCS:13步比较复位FNC54(32)HSCRY,M,SHSCR:13步指令名称指令

50、编号助记符操作数指令步数S1(可变址)S2(可变址)S(可变址)D(可变址)区间比较FNC55(32)HSZK,H,KnX,KnY,KnM,KnS,T,C,D,V,ZS1S2CC235C255Y,M,SHSZ:17步 高速计数器区间比较指令有三种工作模式:标准模式、多段比较模式 和频率控制模式。 若在同一程序中多处使用高速计数器控制指令,其被控对象输出继电 器的编号的高2位应相同,以便在同一中断处理过程中完成控制。 例如:使用Y000时,应为Y000Y007。使用Y010时,应为Y010Y017。图中: C255的设定值为100(S1=100),其当前值由99 变位100或由101变为100时

51、,Y010立即置1,不 受扫描时间的影响。 C254的设定值为200(S1=200),其当前值由 199变为200或由201变为200时,Y020立即复位。 C251的当前值小于1000时,Y010置1;大于1000 小于1200时,Y011置1;大于1200时,Y012置1。 高速计数器指令使用说明脉冲密度与输出指令 脉冲密度速度检测指令 脉冲密度速度检测指令SPD(Speed Detect)用来检测给定时间内从编码器输入的脉冲个数,并计算出速度。 脉冲密度指令使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D(可变址)脉冲密度FNC56(16)SPDX000X005

52、K,H,KnX,KnY,KnM,KnS,T,C,D,V,ZT,C,D,V,ZSPD:7步图中:用D1对X000输入的脉冲个数计数,100ms后计数结果送到D0、D1中的当前值复位,重新开始对脉冲计数。计数结束后D2用来测量剩余时间。脉冲密度速度检测指令 转速n用下式表示:式中,n为转速,(D0)为D0中的数;t为S2指定的计数时间(ms);n0 为每转的脉冲数。脉冲输出与脉宽调制指令 脉冲输出指令PLSY(Pulse Output)用于产生指定数量和频率的脉冲。 脉宽调制指令PWM(Pulse Width Modulation)用于产生指定脉冲宽度 和周期的脉冲串。 脉冲输出与脉宽调制指令使用

53、要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D(可变址)脉冲输出FNC57(16/32)PLSYK,H,KnX,KnY,KnM,KnS,T,C,D,V,Z晶体管输出型Y000或Y001PLSY:7步DPLSY:13步脉宽调制FNC58(16)PWMK,H,KnX,KnY,KnM,KnS,T,C,D,V,Z晶体管输出型Y000或Y001PWM:7步图: X010由ON变为OFF时,M8029复位,脉 冲输出停止。 X010重新变为ON时,重新开始输出脉冲。 在发生脉冲期间X010若变为OFF,Y000也 变为OFF。 D10的值从050变化时,Y001输出的脉冲 的占空比

54、从01变化。 X011变为OFF时,Y001也OFF。脉冲输出与脉宽调制指令使用说明 可调速脉冲输出指令 可调速脉冲输出指令PLSR(Pulse R)的源操作数和目的操作数的类型与PLSY的指令相同。 可调速脉冲输出指令使用要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)S3(可变址)D(可变址)可调速脉冲输出FNC59(16/32)PLSRK,H,KnX,KnY,KnM,KnS,T,C,D,V,Z晶体管输出型Y000或Y001PLSR:9步DPLSR:17步图中:X010为OFF时,输出中断,又变为ON时,从初始值开始输出。输出频率范围为220kHz,最高速度、加减速时的

55、速度超过此范围时,将自动调到允许值内。可调速脉冲输出指令第八节 三菱FX2N系列PLC方便指令状态初始化指令 状态初始化指令IST(Initial State)与步进梯形STL指令一起使用,用于自动 设置多种工作方式的控制系统的初始状态,以及设置有关的特殊辅助继电器的 状态。指令中S指定运行模式的初始输入。 状态初始化指令使用要素指令名称指令编号助记符操作数指令步数S(可变址)D1(可变址)D2(可变址)状态初始化FNC60(16)ISTX,Y,MS20S899D1S2时,目的操作数D接通; S1=S2时,D+1接通;S1S时,D接通;S1SS2时,D+1接通;SS2时,D+2接通。常数K,H

56、被指 定为源数据时,自动转换成二进制浮点值。当设置S1S2时,将S2当作和S1相同 进行比较。 二进制浮点比较与区间比较指令的要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D(可变址)二进制浮点比较FNC110(32)ECMP(P)K,H,DK,H,DY,M,SDECMP,DECMPP:13步指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)S(可变址)D(可变址)二进制浮点区间比较FNC111(32)EZCP(P)K,H,DK,H,DK,H,DY,M,SDEZCP,DEZCPP:17步二进制浮点数与十进制浮点数转换指令 二进制浮点数转换为十进制浮点数EBC

57、D指令:将源操作数S指定元件 内的二进制浮点数值转换为十进制浮点数值,存入目的操作数D指定的 元件内。十进制浮点数转换为二进制浮点数EBIN指令:将源操作数S指定元件内 的十进制浮点数值转换为二进制浮点数值,存入目的操作数D指定的元 件内。 二进制浮点数与十进制浮点数转换指令的要素指令名称指令编号助记符操作数指令步数S(可变址)D(可变址)二十进制浮点转换FNC118(32)EBCD(P)DDDEBCD,DEBCDP:9步十二进制浮点转换FNC119(32)EBIN(P)DDDEBIN,DEBINP:9步二进制浮点数四则运算指令 二进制浮点数加EADD指令将两个源操作数S1和S2内的二进制浮点

58、值 相加后,作为二进制浮点值存入目的操作数D中。 二进制浮点数减ESUB指令将源操作数S1指定元件内的二进制浮点值减去 源操作数S2指定的元件内的二进制浮点值,并将结果作为二进制浮点值存 入目的操作数D中。二进制浮点数乘EMUL指令将两个源操作数S1和S2内的二进制浮点值相 乘后,作为二进制浮点值存入目的操作数D中。二进制浮点数除EDIV指令将源操作数S1指定元件内的二进制浮点值除以 源操作数S2指定的元件内的二进制浮点值,并将结果作为二进制浮点值存 入目的操作数D中。 二进制浮点四则运算指令的要素指令名称指令编号助记符操作数指令步数S1(可变址)S2(可变址)D(可变址)二进制浮点加FNC120(32)EADD(P)K,H,DK,H,DY,M,SDEADD,DEADDP:13步二进制浮点减FNC121(32)ESUB(P)K,H,DK,H,DY,M,SDESUB,DESUBP:13步二进制浮点乘FNC122(32)EMUL(P)K,H,DK,H,DY,

温馨提示

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

评论

0/150

提交评论