第6章 应用指令-1_第1页
第6章 应用指令-1_第2页
第6章 应用指令-1_第3页
第6章 应用指令-1_第4页
第6章 应用指令-1_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

《PLC原理及应用》多媒体教案邵阳学院电气工程系罗庆跃主讲第6章FX系列PLC的应用指令电话-mail:luo610718@163.com

第6章FX系列PLC的应用指令〖重点内容〗

1、PLC应用指令的组成

2、变址寄存器的应用

3、FX系列PLC的常用应用指令

〖授课时数〗

5—6课时6.1应用指令概述

由操作码和操作数两部分组成,在梯形图中与右母线相联。但有少量应用指令没有操作数。一、应用指令的一般组成

1、操作码(只占一个程序步)

决定该应用指令执行何种操作或运算。(1)在操作码前加“D”,可进行32位运算。(2)在操作码后加“P”,表示脉冲执行(可缩短处理时间),否则,为连续执行。举例如下:2、操作数(每个16位操作数占2个程序步)

1)按功能分(有三种类型)

在执行该功能指令之后,其数据被刷新的操作数,称为目的操作数,用符号“[D]”表示。如目的操作数允许变址寻址(V、Z),则用符号“[D●]”表示。如目的操作数超过1个,则分别用“[D1]、[D2]”表示。

(1)源操作数

在执行该功能指令之后,其数据不变的操作数,称为源操作数,用符号“[S]”表示。如源操作数允许变址寻址(V、Z,FX2N系列有16点),则用符号“[S●]”表示。如源操作数超过1个,则分别用“[S1]、[S2]”表示。

(2)目的操作数

用十进制(K)或十六进制(H)表示的操作数,如K100、H5A5D等。用字母“n”或“m”表示。如常数超过1个,则分别用“n1、n2”或“m1、m2”表示。

2)按使用设备分(有二种类型)

(1)字软设备操作数:包括D、T、C、V、Z等。

(3)常数

(2)位软设备操作数:包括X、Y、M、S等。这些位软设备还可用来表示数据,每4位一组,其数据表达形式为:KnP其中,P表示位软设备的起始地址;

表示位软设备,可以取X、Y、M、S等;

n表示该数据由n组(即4×n位,n=1--8)位软设备组成。

例6-3:分析下列三组位软设备所表示的数K1X0:表示X03—X00的4位数据,X0是最低位。

K4M10:表示M25—M10的16位数据,M10是最低位。

K8M100:表示M131—M100的32位数据,M100是最低位。

K1X0、K4M10、K8M100二、变址寄存器V、Z的使用

V、Z(FX2N系列有V0—V7、Z0—Z7共16点)是16位数据寄存器,主要用于改变软元件的地址号。相当于变址寻址

当某操作数的寄存器与变址寄存器一起使用时,则表示该操作数的实际寄存器地址为:现地址+变址寄存器内存放的数。例6-3:分析下列5组位软设备所表示的数K2X0Z=K1Y0Z=D5Z=C7Z=C11K100Z=

设Z中的值为4三、应用指令的学习方法(见书P101)

FX系列PLC的应用指令多达100多条,对于初学者不必对应用指令逐条深入学习,首先浏览一下应用指令的分类、名称和基本功能,知道有哪些应用指令可用。学习时,重点了解指令的基本功能和有关的基本概念。

FX系列PLC的中文编程手册可从下列网站下载:

6.2程序流向控制指令(FNC00—FNC09)

1、条件跳转指令----CJ(代码:FNC00)说明:(见图6-1)

1)当X00=1时,程序跳转到P0处去执行,程序B不执行。

2)目标元件P(指针),其范围为P0—P63(FX0N系列),FX2N系列有128点。

注:一个标号只能出现一次,否则,会出错。

2、中断指令EI(代码:FNC04):允许中断指令;

DI(代码:FNC05):禁止中断指令;

IRET(代码:FNC03):中断服务程序返回指令。

这三条指令都不需要控制线路,直接与左母线相联,且无目标元件。

说明:(见图4-2)

1)平时处于禁止中断状态。2)如果在EI—DI区域扫描过程中有中断请求时,则执行中断服务程序(从中断标号到IRET之间的程序)。执行完后,返回到原来的调用处。

3)在允许中断范围内,若M8050—M8053=1,则I00—I30中断不执行。FX0N系列

4)在禁止中断范围内发生中断请求时,则存贮这个请求信号,然后在EI指令执行完后才被执行。

5)若有多个依次发出的中断信号,则优先级按发生的先后时间为序;若同时发生多个中断信号,则标号小的优先级高。

7)在中断服务期间,不响应其它中断(其它中断为等待状态)。8)中断服务程序必须以IRET指令结束。3、主程序结束指令----FEND(代码:FNC06)

FEND指令表示一个主程序结束,无操作数。执行FEND与执行END一样,即执行输入、输出处理和警戒定时器刷新后,程序送回到0步程序。

END应放在整个程序的结束处,中断程序应放在最后的FEND指令与END指令之间。举例见书P104例6.3

0--3:对应输入X0—X3(FX0N系列)6)I01:上升沿中断;0:下降沿中断

注:对于FX2N系列,输入中断有6点,定时器中断有3点,计数器中断有6点。4、警戒定时器指令----WDT(代码:FNC07)

当扫描周期超过WDT设定值(D8000的初始值:200ms)时,警戒定时器逻辑线圈被接通,CPU立即停止扫描用户程序,同时切断所有输出,并报警显示。若扫描周期可能超过WDT设定值,可在程序中使用WDT指令,刷新警戒定时器的计时值,以避免可能出现的“超时报警”。

是在控制程序中刷新警戒定时器的指令,无目标元件。如图6-3所示

5、循环指令

FOR(代码:FNC08)指令和NEXT(代码:FNC09)是一组循环指令,必须成对使用。它们均不需要控制线路,直接与左母线相联(见图6-4)FOR—NEXT指令内可以嵌套,但最多只能嵌套5层。

说明:举例见书P107例6.6

6.3

比较、传送与数据变换指令(FNC10—FNC19)

一、比较指令(FNC10,FNC11)

包括CMP和ZCP指令,比较结果用目标元件的状态来表示。待比较的源操作数可取任意的数据格式,目标操作数可取Y、M、S,用于存放比较的结果,共用3个点(比较的结果有三种情况)。

1、比较指令--CMP(代码:FNC10)当100>C10([S1]>[S2])的当前值,M0=1当100=C10([S1]=[S2])的当前值,M1=1当100<C10([S1]<[S2])的当前值,M2=1

说明:在CMP前加“D”可进行32位运算(见图6-5)。2、区间比较指令--ZCP(代码:FNC11)当100>C10([S]<[S1])的当前值,M0=1当100≤C10的当前值≤120

([S1]≤[S]≤[S2]),M1=1当120<C10([S]>[S2])的当前值,M2=1

说明(见图6-6):在ZCP前加“D”可进行32位运算,[S2]必须大于或等于[S1]。二、传送指令(FNC12—FNC17)

1、数据传送指令--MOV(代码:FNC12)

在MOV前加“D”可进行32位运算(见图6-7)。目的操作数只能是数据寄存器。

说明:

2、块传送指令--BMOV(代码:FNC15)

见图6-8。

将源操作数指定的元件开始的n个数据组成的数据块传送至指定的目标。注:传送顺序是自动完成的,以防止原数据块与目标数据块重叠时,源数据在传送过程中被改写。

分析图6-9数据传送过程。图6-9答案三、数据变换指令(FNC18,FNC19)

1、二进制码变换成BCD码指令--BCD(代码:FNC18)

说明(见图6-11):

1)若是16位,其结果范围是0—9999。

2)在BCD前加“D”可进行32位BCD码转换,其结果范围是0—99999999。(4位二进制数转换1位十进制数)

2、BCD码变换成二进制码指令--BIN(代码:FNC19

)说明(见图6-12):

1)在BIN前加“D”可进行32位BIN码转换。2)[S]中数据一定要是BCD码,否则出错。

6.4算术运算与逻辑运算指令(FNC20—FNC29)

一、算术运算

1、二进制加法指令--ADD(代码:FNC20)

说明:在ADD前加“D”可进行32位运算(见图6-13)。

2、二进制减法指令--SUB(代码:FNC21)说明:在SUB前加“D”可进行32位运算(见图6-14)。

注:加法和减法指令影响标志位

3、二进制乘法指令--MUL(代码:FNC22)

说明:在MUL前加“D”可进行32位运算(见图6-15),但只能得到乘积的低32位。4、二进制除法指令--DIV(代码:FNC23)说明:在DIV前加“D”可进行32位运算。

(见图6-16)

二、加1减1指令1、二进制加1指令--INC(代码:FNC24)

说明:在INC前加“D”可进行32位运算(见图6-17)。

2、二进制减1指令--DEC(代码:FNC25)

说明:在DEC前加“D”可进行32位运算(见图6-18)。

注:加1减1指令不影响标志位。

三、字逻辑运算指令(FNC26——FNC29)

1、逻辑与运算指令--WAND(代码:FNC26)

说明:按对应位相“与”。在WAND前加“D”可进行32位运算(见图6-19)。2、逻辑或运算指令--WOR(代码:FNC27)

说明:按对应位相“或”。在WOR前加“D”可进行32位运算(见图6-20)

3、逻辑异或运算指令--WXOR(代码:FNC28)

说明:按对应位相“异或”。在WXOR前加“D”可进行32位运算(见图6-21)。

6.5循环移位与移位指令(FNC30—FNC39)

FX0N系列只有位右移(SFTR,代码:FNC34)和位左移(SFTL,代码:FNC35)两条指令。

移位指令使用说明(见图6-22)

1)[S]:只能是位软元件X、Y、M、S,[D]只能是Y、M、S2)n1:目的操作数的长度,n2≤n1≤512。3)n2:每次移位的位数,也是源操作数的长度。

移位过程说明

6.6数据处理指令(FNC40—FNC49)FX0N系列只有3条指令。

1、区间复位指令---ZRST(代码:FNC40)

1)D100—D199一起复位(即清“0”)。

2)[D1]、[D2]必须是同类元件,且[D1]的地址号必须小于[D2]的地址号。

说明(见图6-24):2、译码指令---DECO(代码:FNC41)

1)n决定[S]的位数,如图n=3,即由X02—X00组成源操作数,其十进制值决定[D]中对应位置“1”,其它均为“0”。如源操作数全零,则[D]中第0位置“1”。如图示。

2)[D]的位数=2n。

3)n=0时,不处理。

说明(见图6-25):3、编码指令---ENCO(代码:FNC42)

说明(见图6-26):1)n表示[S]中共有2n个位,[D]中共有n个位。2)编码规则:[S]中若某一位为“1”,则该位的序号(0—2n-1)就是[D]中的数;[S]中若有多个“1”,则下位无效;[S]中若全为“0”,则运算出错。即把[S]中为“1”的十进制序号变成[D]中的二进制数。

6.7高速处理指令(FNC50—FNC59)1、I/O立即刷新指令---REF(代码:FNC50)

目标元件[D]:只能是X、Y,如X00、X10、Y00、Y10等

n:K(或H),只能是8的倍数。

作用:提高I/O响应速度(在程序执行阶段处理)。

FX系列PLC使用I/O采用批处理方法,即输入信号在程序处理之前成批的读入到输入映像寄存器,而输出数据是在执行EN

温馨提示

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

评论

0/150

提交评论