电器与可编程控制器应用技术第9章功能指令

上传人:夏** 文档编号:569349596 上传时间:2024-07-28 格式:PPT 页数:130 大小:3.95MB
返回 下载 相关 举报
电器与可编程控制器应用技术第9章功能指令_第1页
第1页 / 共130页
电器与可编程控制器应用技术第9章功能指令_第2页
第2页 / 共130页
电器与可编程控制器应用技术第9章功能指令_第3页
第3页 / 共130页
电器与可编程控制器应用技术第9章功能指令_第4页
第4页 / 共130页
电器与可编程控制器应用技术第9章功能指令_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《电器与可编程控制器应用技术第9章功能指令》由会员分享,可在线阅读,更多相关《电器与可编程控制器应用技术第9章功能指令(130页珍藏版)》请在金锄头文库上搜索。

1、电器与可编程控制器应用技术第9章功能指令Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望第第9 9章功章功 能能 指指 令令 本章难点: 功能指令的编程应用 功能指令是PLC数据处理能力的重要标志,远比基本逻辑处理指令复杂,本章从功能指令的类型、表示形式和使用要素入手,介绍FX系列PLC常用功能指令的使用方法,并以实例的形式讨论其编程应用。 本章要点:功能指令的基本形式功能指令简介功能指令的编程应用2第第9 9章功章功 能能 指指 令令 在FX系列PLC中,功能指令是按功能号(FNC

2、00FNC250)编排的,每条功能指令都有助记符,功能指令的表示格式如图9.1所示。 图9.1功能指令示意图 9.1功能指令的基本形式功能指令的基本形式 9.1.19.1.1功能指令的基本格式功能指令的基本格式 0LDX101SFTR(P)35X0M0K16K2103第第9 9章功章功 能能 指指 令令 大多数功能指令有1 4个操作数,有的功能指令没有操作数; S表示源操作数,D表示目标操作数;如果可使用变址功能,用S和D表示。 用n和m表示其他操作数,它们常用来表示常数K和H,或作为源和目标操作数的补充说明。 上图含义为:当X10由OFFON时,D内(M0M15)各位数据连同S内(X0X1)

3、2位数据向左移2位,(X0X1)2位数据从D低位端移入,(M14M15)2位数据从D高位端移出(溢出)。9.1功能指令的基本形式功能指令的基本形式 9.1.19.1.1功能指令的基本格式功能指令的基本格式 4第第9 9章功章功 能能 指指 令令 处理32位数据的指令是在助记符前加“D”标志,无此标志即为处理16位数据的指令。 注意32位计数器(C200C255)的一个软元件为32位,不可作为处理16位数据指令的操作数使用。在使用32位数据时建议使用首编号为偶数的操作数。 9.1功能指令的基本形式功能指令的基本形式 9.1.29.1.2数据长度数据长度 上面传送指令的含义为:当X0由OFFON时

4、,将D11和D10的数据传送到D13和D12中(处理32位数据)。 5第第9 9章功章功 能能 指指 令令 9.1.2节例中“P”表示脉冲执行型,即该指令仅在X0由OFFON时,执行一次。 而没有“P”则表示连续执行型,即在X0接通时的每一个扫描周期MOV指令都被重复执行。 9.1功能指令的基本形式功能指令的基本形式 9.1.39.1.3指令类型指令类型 6第第9 9章功章功 能能 指指 令令 1位元件与字元件 只处理ON/OFF信息的软元件称为位元件,如X、Y、M和S;可处理数值的软元件则称为字元件,如T、C、D等。 但位元件也可以组合成字元件进行数据处理,4个位元件为一个单元,通用表示方法

5、是由Kn加起始的软元件号组成,n为单元数。例如K2M0表示M0M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位。 9.1功能指令的基本形式功能指令的基本形式 9.1.49.1.4操作数的形式操作数的形式 7第第9 9章功章功 能能 指指 令令 2数据格式 在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。 二进制补码的最高位为符号位,正数符号位为0,负数符号位为1。 为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算。9.1功能指令的基本形式功能指令的基本形式 9.1.49.1.4操作数

6、的形式操作数的形式 8第第9 9章功章功 能能 指指 令令 变址寄存器在传送、比较等指令中用来修改操作元件的地址,其操作方式与普通数据寄存器一样。下面来看一个传送指令的例子: 9.1功能指令的基本形式功能指令的基本形式 9.1.59.1.5变址寄存器变址寄存器(V(V,Z)Z)的应用的应用 上面传送指令的例子中,当Z0=5时,(D10Z0)(D12)=(D15)(D12) 9第第9 9章功章功 能能 指指 令令 FX系列不同型号的PLC,其功能指令的范围各不相同,表9.1列出了FX全系列使用的功能指令,具体某个型号的PLC哪些功能指令可用、哪些不可用,也可据此表查出。 9.2功能指令一览表功能

7、指令一览表 表9.1功能指令简表 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 程序流程00CJ条件跳转01CALL子程序调用02SRET子程序返回10第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 程序流程03IRET中断返回04EI开中断05DI关中断06FEND主程序结束07WDT监视定时器刷新08FOR循环范围开始09NEXT循环范围结束

8、11第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 传送与比较 10CMP比较11ZCP区域比较12MOV传送13SMOV移位传送14CML取反传送15BMOV块传送16FMOV多点传送12第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 传送与比较

9、17XCH交换18BCDBINBCD转换19BINBCDBIN转换算术与逻辑运算 20ADD二进制加法21SUB二进制减法22MUL二进制乘法23DIV二进制除法13第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 算术与逻辑运算 24INC二进制加一25DEC二进制减一26WAND逻辑字与27WOR逻辑字或28WXOR逻辑字异或29NEG求补码14第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表

10、9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 循环与位移 30ROR循环右移31ROL循环左移32RCR带进位右移33RCL带进位左移34SFTR位右移35SFTL位左移36WSFR字右移15第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 循环与位移37WSFL字左移38SFWR移位写入39SFRD移位读出数据处理 4

11、0ZRST区间复位41DECO解码42ENCO编码43SUM统计ON位数16第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 数据处理 44BONON位判断45MEAN求平均值46ANS信号报警器置位47ANR信号报警器复位48SQRBIN开方运算49FLTBIN整数转换为浮点数17第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明

12、对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 高速处理 50REF输入输出刷新51REFF输入滤波时间调整52MTR矩阵输入53HSCS比较置位(高速计数器)54HSCR比较复位(高速计数器)55HSZ区间比较(高速计数器)56SPD脉冲密度18第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 高速处理 57PLSY指定频率脉冲输出58PWM脉宽调制输出59PLSR带加减速脉冲输出方便指

13、令 60IST状态初始化61SER数据查找62ABSD凸轮控制(绝对式)63INCD凸轮控制(增量式)19第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 方便指令 64TTMR示教定时器65STMR特殊定时器66ALT交替输出67RAMP斜波输出68ROTC旋转工作台控制69SORT列表数据排序20第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令

14、助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 外部I/O设备 70TKY10键输入71HKY16键输入72DSWBCD数字开关输入73SEGD七段码译码74SEGL七段码分时显示75ARWS方向开关76ASCASCII码转换21第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 外部I/O设备 77PRASCII码打印输出78FROMBFM读出79TOBFM写入80RS串

15、行数据传送81PRUN八进制位传送82ASCI16进制数转换成ASCII码83HEXASCI码转换成16进制数22第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 外部I/O设备 84CCD校验码85VRRD电位器读出86VRSC电位器刻度8788PIDPID运算8923第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号

16、的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 浮点数运算 110ECMP二进制浮点数比较111EZCP二进制浮点数区间比较118EBCD二进制浮点数十进制浮点数119EBIN十进制浮点数二进制浮点数120EADD二进制浮点数加法24第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 浮点数运算 121ESUB二进制浮点数减法122EMUL二进制浮点数乘法123EDIV二进制浮点数除法127ESQR二进

17、制浮点数开平方128INT二进制浮点数二进制整数129SIN二进制浮点数sin运算25第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 浮点数运算 130COS二进制浮点数cos运算131TAN二进制浮点数tan运算定位 147SWAP高低字节交换155ABSABS当前值读出156ZRN原点复位157PLSV可变速的脉冲输出26第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续

18、表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 定位158DRVI相对位置控制159DRVA绝对位置控制时钟运算 160TCMP时钟数据比较161TZCP时钟数据区间比较162TADD时钟数据加法163TSUB时钟数据减法166TRD时钟数据读出27第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 时钟运算 167TWR时钟数据写入169HOU

19、R长时间检测外围设备 170GRY二进制数格雷码171GBIN格雷码二进制数176RD3A模拟量模块(FX0N-3A)读出177WR3A模拟量模块(FX0N-3A)写入28第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 触点比较 224LD=(S1)=(S2)时起始触点接通225LD(S1)(S2)时起始触点接通226LD(S1)(S2)时起始触点接通228LD(S1)(S2)时起始触点接通229LD(S1)(S2)时起

20、始触点接通230LD(S1)(S2)时起始触点接通29第第9 9章功章功 能能 指指 令令9.2功能指令一览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 触点比较 232AND=(S1)=(S2)时串联触点接通233AND(S1)(S2)时串联触点接通234AND(S1)(S2)时串联触点接通236AND(S1)(S2)时串联触点接通237AND(S1)(S2)时串联触点接通238AND(S1)(S2)时串联触点接通30第第9 9章功章功 能能 指指 令令9.2功能指令一

21、览表功能指令一览表 表9.1功能指令简表(续表) 分类 FNCNO 指令助记符 功能说明 对应不同型号的PLC FX0S FX0N FX1S FX1N FX2NFX2NC 触点比较 240OR=(S1)=(S2)时并联触点接通241OR(S1)(S2)时并联触点接通242OR(S1)(S2)时并联触点接通244OR(S1)(S2)时并联触点接通245OR(S1)(S2)时并联触点接通246OR(S1)(S2)时并联触点接通31第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 程序流向控制类指令(FNC00FN09),用于程序执行流程的控制。对一个扫描周期而言,跳转

22、指令可以使程序出现跨越或跳跃以实现程序段的选择。子程序指令可调用某段子程序。循环指令可多次重复执行特定的程序段。中断指令则用于中断信号引起的中断子程序调用。 程序控制类指令可以影响程序执行的流向及内容。对合理安排程序的结构、有效提高程序的功能、实现某些技巧性运算,都有重要的意义。 32第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 1CJ指令简介 该指令的助记符、指令代码、操作数、程序步如表9.2所示。 9.3.19.3.1条件跳转指令条件跳转指令 表9.2条件跳转指令要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 条件跳转 CJCJ(P) FNC

23、00(16) P0P127P63即END,无需标记指针标号允许用变址寄存器修改 CJ和CJ (P)3步标号 P1步 33第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 条件跳转指令在梯形图中使用的情况如图9.2所示。图中跳转指针P5对应CJ P5跳转指令。 跳转指令执行的意义为在满足跳转条件之后的各个扫描周期中,PLC将不再扫描执行跳转指令与跳转指针P间的程序,即跳到以指针P为入口的程序段中执行。直到跳转的条件不再满足,跳转停止进行。在图9.2中,当 X0为ON时,跳转指令CJ P5执行条件满足,程序将从CJ P5指令处跳至标号 P5处,接着往下执行程序。 9.

24、3.19.3.1条件跳转指令条件跳转指令 34第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 2CJ指令的使用说明 (1) 由于跳转指令具有选择程序段的功能。在同一程序且位于因跳转而不会被同时执行程序段中的同一线圈不被视为双线圈。 (2) 可以有多条跳转指令使用同一标号。在图9.3中,如X0接通,第一条跳转指令有效,从这一步跳到标号P5处。如果X0断开,而X10接通,则第二条跳转指令生效,程序从第二条跳转指令处跳到 P5处。但不允许一个跳转指令对应两个标号的情况,即在同一程序中不允许存在两个相同的标号,否则将出错。 (3) 标号一般设在相关的跳转指令之后,也可以

25、设在跳转指令之前。但要注意从程序执行顺序来看,如果由于标号在前造成该程序的执行时间超过了警戒时钟设定值,则程序就会出错。9.3.19.3.1条件跳转指令条件跳转指令 35第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 (4) CJ(P)指令表示为脉冲执行方式,使用CJ(P)指令时,跳转只执行一个扫描周期,但若用辅助继电器M8000作为CJ指令的工作条件,跳转就成为无条件跳转。 (5) 即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态。 9.3.19.3.1条件跳转指令条件跳转指令 图9.2CJ指令应用 图9.3两条CJ指令使用同一标号 36第第

26、9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 (6) 在跳转执行期间定时器和计数器将停止工作,到跳转条件不满足后又继续工作。但对于正在以中断方式工作的定时器和计数器,如定时器T192T199和高速计数器C235C255不管有无跳转仍连续工作。 (7) 若积分定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。 3CJ指令的编程应用 【例9-1】利用跳转指令来执行程序初始化工作。 【解】如图9.4 所示,在PLC运行的第一个扫描周期中,跳转CJ P5不执行,程序执行初始化程序后执行工作程序。而从第二个扫描周期开始,初始化程序则

27、被跨过,不再执行。 9.3.19.3.1条件跳转指令条件跳转指令 37第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 【例9-2】利用跳转指令实现手动/自动程序的切换。 【解】如图9.5所示为一段手动/自动程序切换的梯形图程序。当X1为ON时,程序跳过自动程序区域,由标号P0执行手动工作方式;当X1为OFF时,则执行自动工作方式。9.3.19.3.1条件跳转指令条件跳转指令 图9.4 CJ指令用于程序初始化 图9.5手动/自动切换程序 38第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 该指令的助记符、指令代码、操作数、程序步如表

28、9.3所示。 9.3.29.3.2子程序调用与子程序返回指令子程序调用与子程序返回指令 表9.3子程序指令要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 子程序调用CALLCALL(P) FNC01(16) P0P62,P64P127嵌套5级指针标号允许用变址寄存器修改 3 步指令标号1步 子程序返回SRET FNC02 无 1 步 39第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 子程序是为了一些特定的控制目的编制的相对独立的程序。为了区别于主程序,规定在程序编排时,将主程序排在前边,子程序排在后边,并以主程序结束指令FEND(FNC06)将这

29、两部分分隔开。 子程序指令在梯形图中使用的情况如图9.6所示。图中,子程序调用指令CALL安排在主程序段中,X0是子程序执行的条件,当X0为ON时,标号为P20的子程序得以执行。子程序P20安排在主程序结束指令FEND之后,标号P20和子程序返回指令SRET间的程序构成了P20子程序的内容。当主程序带有多个子程序时,子程序可依次列在主程序结束之后。并以不同的标号相区别。9.3.29.3.2子程序调用与子程序返回指令子程序调用与子程序返回指令 40第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 注意:(1) 转移标号不能重复,也不可与跳转指令的标号重复。 (2)

30、子程序可以嵌套调用,最多可5级嵌套。 9.3.29.3.2子程序调用与子程序返回指令子程序调用与子程序返回指令 图9.6子程序指令应用 图9.7中断指令应用 41第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 该类指令的助记符、指令代码、操作数、程序步如表9.4所示。 中断指令的梯形图表示如图9.7所示。从图中可以看出,中断程序作为一种子程序安排在主程序结束指令FEND之后。主程序中允许中断指令EI及不允许中断指令DI之间的区间表示可以开放中断的程序段。主程序带多个中断子程序时,中断标号和距其最近的一处中断返回指令构成一个中断子程序。 9.3.39.3.3与中断

31、有关的指令与中断有关的指令 42第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.39.3.3与中断有关的指令与中断有关的指令 表9.4中断指令要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 中断返回指令IRETFNC03无1 步允许中断指令EIFNC04无1 步禁止中断指令DIFNC05无1 步43第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.39.3.3与中断有关的指令与中断有关的指令 注意: (1)如果多个中断依次发生,则以发生先后为序,如果多个中断源同时发出信号,则中断指针号越小优先级越高。(

32、2)当M8050M8058为ON时,禁止执行相应I0 I8的中断,M8059为ON时则禁止所有计数器中断。 (3)无需中断禁止时,可只用EI指令,不必用DI指令。 (4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其他中断。 44第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.49.3.4主程序结束指令主程序结束指令 该指令的助记符、指令代码、操作数、程序步如表9.5所示。 表9.5主程序结束指令要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 主程序结束指令 FEND FNC06 无 1 步 FEN

33、D表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回起始步。 注意:(1) 子程序和中断服务程序应放在FEND之后。 (2) 子程序和中断服务程序必须写在FEND和END之 间,否则出错。 45第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.59.3.5监视定时器指令监视定时器指令 该指令的助记符、指令代码、操作数、程序步如表9.6所示。 表 9.6监视定时器指令要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 监视定时器指令 WDTWDT(P) FNC07 无 1 步 WDT指令是对PLC的监视定时器进

34、行刷新,FX系列PLC的监视定时器默认值为200 ms(可用D8000来设定)。当PLC的扫描周期(0END或FEND指令执行时间)超过200 ms时,PLC的CPU-E指示灯亮、PLC停机,因此需在程序的中途插入WDT指令,使PLC的监视定时器刷新,如图9.8所示。 46第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.59.3.5监视定时器指令监视定时器指令 图9.8WDT指令应用 (1)如果在后续的FOR-NEXT循环中,执行时间可能超过监视定时器的定时时间,可将WDT插入循环程序中。 (2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序

35、往回跳)就有可能连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,可在CJ指令与对应标号之间插入WDT指令。 注意:47第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.69.3.6循环指令循环指令 表9.7循环指令要素该指令的助记符、指令代码、操作数、程序步如表9.7所示 指令名称 助记符 指令代码位数 操作数范围 程序步 S 循环开始指令FORFNC08(16) K、HKnX、KnY、KnM、KnST、C、D、V、Z嵌套:5级 3步 循环结束指令NEXTFNC09 无 1步 48第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程

36、序控制指令及应用 9.3.69.3.6循环指令循环指令 表9.7循环指令要素 FOR和NEXT指令是成对出现的,如图9.9所示的梯形图中各有两条FOR和NEXT指令,构成二层循环。循环次数由FOR指令后的n值指定,n=132767,若n= -327670之间,则当作n=1处理。运行时,位于FORNEXT间的程序反复执行n次后再继续执行后续程序。 49第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用 9.3.69.3.6循环指令循环指令 注意:(1) FOR和NEXT必须成对使用。 (2) FX2N系列PLC可循环嵌套5层。 (3) 在循环中可利用CJ指令在循环没结

37、束时 跳出循环体。 (4) FOR应 放 在 NEXT之 前 , NEXT应 在 FEND和 END之 前 , 否则出错。 循环指令用于某些需反复操作的场合,如对某一采样数据做一定次数的加权运算等。 50第第9 9章功章功 能能 指指 令令9.3程序控制指令及应用程序控制指令及应用9.3.69.3.6循环指令循环指令 注意:(1) FOR和NEXT必须成对使用。 (2) FX2N系列PLC可循环嵌套5层。 (3) 在循环中可利用CJ指令在循环没结束时 跳出循环体。 (4) FOR应 放 在 NEXT之 前 , NEXT应 在 FEND和 END之 前 , 否则出错。 循环指令用于某些需反复操作

38、的场合,如对某一采样数据做一定次数的加权运算等。 51第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.1比较指令比较指令 FX1N系列PLC有6条传送与比较指令,能实现单一数据或批数据的传送、数制变换与比较,下面择要介绍。 该指令的助记符、指令代码、操作数范围、程序步如表9.8所示。 表9.8比较指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 比较 CMPCMP(P) FNC10(16/32) K、HKnX、KnY、KnM、KnST、C、D、V、Z YMS CMP、CMPP7步DCMP、DCMPP13步 52第第9 9章功章功 能

39、能 指指 令令9.4传送与比较指令传送与比较指令 9.4.1比较指令比较指令 比较指令CMP是将源操作数S1和源操作数S2的数据进行比较,比较结果用目标元件D的状态来表示,如图9.10所示。图9.10CMP指令应用 在X1断开,即不执行CMP指令时,M0M2保持X1断开前的状态。 数据比较是进行代数值大小比较(即带符号比较)。所有的源数据均按二进制处理。当比较指令的操作数不完整(若只指定一个或两个操作数),或者指定的操作数不符合要求(例如把X、D、T、C指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,比较指令就会出错。53第第9 9章功章功 能能 指指 令令9.4传送与比较指

40、令传送与比较指令 9.4.2区间比较指令区间比较指令 该指令的助记符、指令代码、操作数范围、程序步如表9.9所示。表9.9区间比较指令的要素指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 S D 区间比较 ZCPZCP(P) FNC11(16/32) K、HKnX、KnY、KnM、KnST、C、D、V、Z YMS ZCP、ZCPP9步DZCP、DZCPP17步 54第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.2区间比较指令区间比较指令 区间比较指令执行时,是将源操作数S与S1和S2的内容进行比较,并将比较的结果用目标操作数D 的状态来表示,如

41、图9.11所示。图9.11ZCP指令应用 55第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.2区间比较指令区间比较指令 在X0断开,即不执行ZCP指令时,M10M12保持X0断开前的状态。 注意:(1) 使用ZCP时,S2的数值不能小于S1。 (2) 所有的源数据都被看成二进制值处理。 (3) 在不执行指令时,可用复位指令清除比较结果。56第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.3传送指令传送指令 该指令的助记符、指令代码、操作数范围、程序步如表9.10所示。 表9.10传送指令的要素 指令名称 助记符 指令代码位数 操

42、作数范围 程序步 S D 传送 MOVMOV(P) FNC12(16/32) K、HKnX、KnY、KnM、KnST、C、D、V、Z KnY、KnM、KnST、C、D、V、Z MOV、MOVP5步DMOV、DMOVP9步 57第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.3传送指令传送指令 MOV指令是将源操作数内的数据传送到指定的目标操作数内,即SD,如图9.12所示。 图9.12MOV指令应用 当X0=ON时,源操作数S中的常数K150传送到目标操作元件D20中。当指令执行时,常数K150自动转换成二进制数。 当 X0 断开时,指令不执行,数据保持不变。

43、58第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.4块传送指令 该指令的助记符、指令代码、操作数范围、程序步如表9.11所示。 表9.11移位传送指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 S Dn 块传送 BMOVBMOV(P) FNC15(16) KnX、KnY、KnM、KnS、 T、 C、D KnY、KnM、 KnS、T、C、 D、V、Z K、H512 BMOV、BMOVP7步 59第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.4块传送指令 BMOV指令的功能是将源操作数指定元件开始的n个数据组成数据

44、块传送到指定的目标,如图9.13所示。图9.13BMOV指令应用 注意:如果元件号超出允许范围,数据则仅传送到允许范围内的元件。 60第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 该类指令的助记符、指令代码、操作数范围、程序步如表9.12所示。 表9.12数据变换指令的要素指令名称 助记符 指令代码位数 操作数范围 程序步 S DBCD变换 BCDBCD(P)FNC18(16/32) KnX、KnY、KnM、KnS、 T、 C、D V、Z KnY、KnM、 KnS、T、C、 D、V、Z BCD、BCDP5步DBCD、DBCDP9步 BIN

45、交换 BINBIN(P) FNC19(16/32) KnX、KnY、KnM、KnS、 T、 C、D V、Z KnY、KnM、 KnS、T、C、 D、V、ZBIN、BINP5步DBIN、DBINP9步 61第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 BCD变换指令是将源元件中的二进制数转换成BCD码送到目标元件中。BIN变换指令是BCD变换指令的逆变换,是将源元件中的BCD码转换成二进制数据送到目标元件中,如图9.14所示。图9.14BCD/BIN指令应用 如果指令进行16位操作时,执行结果超出09999范围将会出错;当指令进行32位操作

46、时,执行结果超过099999999范围也将出错。 传送与比较指令在PLC控制程序中起如下用途。 62第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 1) 用以获得程序的初始工作数据 一个控制程序总是需要初始数据的。这些数据既可以从输入端口上连接的外部器件获得,运用传送指令读取这些器件上的数据并送到内部单元;也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通过初始化程序送到工作单元。 2) 机内数据的存取管理 在数据运算过程中,机内的数据传送是不可缺少的。运算可能要涉及不同的工作单元,数据需在

47、它们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这就要找地方把这些数据存储妥当。总之,对一个涉及数据运算的程序,数据管理是很重要的。此外,63第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 二进制和BCD码的转换在数据管理中也是很重要的。 3) 运算处理结果向输出端口传送 运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。对于输出口连接的离散执行器件,可成组处理后看做是整体的数据单元,按各端口的目标状态送入一定的数据,即可实现对这些器件的控

48、制。 4) 比较指令用于建立控制点 控制现场常有将某个物理量的量值或变化区间作为控制点的情况。如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。作为一个控制“阀门”,比较指令常出现在工业控制程序中。64第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 【例9-3】 PLC在送料车方向自动控制上的应用。 控制要求如下。 某车间有8个工作台,送料车往返于工作台之间送料,动作示意图如图9.15所示。每个工作台设有一个到位开关(SQ)和一个呼叫按钮(SB),送料车开始应能停留在8个工作台中任意一个到位开关的位置上,系统受启停开关QS的控制

49、。具体控制要求如下。 (1) 当料车所在暂停位置的SQ号码大于呼叫的SB号码时,料车往左行,到呼叫的SB位置后停止。 (2) 当料车所在暂停位置的SQ号码小于呼叫的SB号码时,料车往右行,到呼叫的SB位置后停止。试用传送与比较指令编程实现送料车的控制要求。65第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 图9.15送料车工作示意图66第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 【解】设送料车现暂停于m号工作台(SQm为ON)处,这时n号工作台呼叫(SBn为ON),则根据题意可知:

50、(1) 当料车所在暂停位置的SQ号码大于呼叫的SB号码时,料车往左行,到呼叫的SB位置后停止。即mn,送料车左行,直至 SQn动作,到位停车。 (2) 当料车所在暂停位置的SQ号码小于呼叫的SB号码时,料车往右行,到呼叫的SB位置后停止。即mn,送料车右行,直至SQn动作,到位停车。 (3) 送料车所停位置SQ的号码与呼叫按钮SB的号码相同时,送料车不动。即m=n,送料车原位不动。67第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 5) I/O地址分配及硬件连接 由控制要求可知,系统的I/O地址分配如表9.13所示,硬件连接如图9.16所示

51、。 表9.13送料车系统的I/O地址分配表输入 功能说明 输入 功能说明 输出 功能说明 SQ0 X0 限位0 SB0 X10 呼叫0 KM1 Y0 电动机M正转,料车右行 SQ1 X1 限位 1SB1 X11 呼叫1 KM2 Y2 电动机M反转,料车左行 SQ2 X2 限位 2SB2 X12 呼叫2 SQ3 X3 限位3 SB3 X13 呼叫3 SQ4 X4 限位 4SB4 X14 呼叫4 68第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 表9.13送料车系统的I/O地址分配表(续表)输入 功能说明 输入 功能说明 输出 功能说明 SQ

52、5 X5 限位5 SB5 X15 呼叫5 KM1 Y0 电动机M正转,料车右行 SQ6 X6 限位6SB6 X16 呼叫6 KM2 Y2 电动机M反转,料车左行 SQ7 X7 限位 7SB7 X17 呼叫7QS X20 启停开关 69第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 图9.16送料车系统硬件连接图70第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 6) PLC软件的实现 用传送与比较指令编程实现送料车控制的梯形图程序如图9.17所示。71第第9 9章功章功 能能 指指 令令

53、9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 图9.17送料车系统梯形图程序72第第9 9章功章功 能能 指指 令令9.4传送与比较指令传送与比较指令 9.4.5BCD/BIN指令 图中将送料车当前位置送到数据寄存器D128中,将呼叫工作台号送到数据寄存器D129中,然后通过D128与D129中数据的比较,决定送料车的运行方向和到达的目标位置,D128、D129都是断电保持型数据寄存器,因此送料车系统重新启动后,能自动恢复断电前的状态。 73第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 四则运算及逻辑运算指令是基本运算指令。可完成四

54、则运算或逻辑运算,可通过运算实现数据的传送、变位及其他控制功能。 PLC中有两种四则运算,即整数四则运算和实数四则运算。前者指令较简单,参加运算的数据只能是整数。非整数参加运算需先取整,除法运算的结果分为商和余数。整数四则运算进行较高准确度要求的计算时,需将小数点前后的数值分别计算再将数据组合起来,除法运算时要对余数再做多次运算才能形成最后的商。这就使程序的设计非常烦琐。而实数运算是浮点运算,是一种高准确度的运算。 FX1N系列PLC仅有整数运算指令,FX2N系列PLC具有实数运算指令。 74第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 该指令的助记符

55、、指令代码、操作数、程序步如表9.14所示。 9.5.1加法指令加法指令表9.14加法指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 加法 ADDADD(P) FNC20(16/32) K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、C、D、V、Z ADD、ADDP7步DADD、 DADDP13步 ADD加法指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去,如图9.18所示。75第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 当执行条件X0由OFFON时,D0+D1

56、D2。运算是代数运算,如2+(-3)= -1。 如果运算结果为0,则零标志M8020置1;如果运算结果超过32767(16位)或2147483647(32位),则进位标志M8022置1;如果运算结果小于-32767(16位)或 -2147483647(32位),则借位标志M8021置1。 在32位运算中,被指定的字元件是低16位元件,而下一个元件为高16位元件。 9.5.1加法指令加法指令图9.18ADD指令应用76第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 源和目标可以用相同的元件号。若源和目标元件号相同而采用连续执行的 ADD、 (D)ADD指令

57、时,加法的结果在每个扫描周期都会改变。 9.5.1加法指令加法指令77第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 该指令的助记符、指令代码、操作数、程序步如表9.15所示。 9.5.2减法指令减法指令 表9.15减法指令的要素指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 减法 SUBSUB(P) FNC21(16/32) K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、C、D、V、Z SUB、SUBP7步DSUB、DSUBP13步 78第第9 9章功章功 能能 指指 令令9.5四则运算与逻

58、辑运算指令四则运算与逻辑运算指令 SUB减法指令是将指定的源元件中的二进制数相减,结果送到指定的目标元件中去,如图9.19所示。9.5.2减法指令减法指令 图9.19SUB指令应用 各种标志的动作、32位运算中软元件的指定方法、连续执行型和脉冲执行型的差异均与上述加法指令相同。 79第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 该指令的助记符、指令代码、操作数、程序步如表9.16所示。 9.5.3乘法指令乘法指令 表9.16乘法指令的要素指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 乘法 MULMUL(P) FNC22(16/32

59、) K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、C、D、Z (限于16位运算) MUL、MULP7步DMUL、DMULP13 步 MUL乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去。如图9.20所示,它分16位和32位两种运算。80第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 图9.20(a)为16位运算,执行条件X1由OFFON 时,D0D1 D3,D2中。源操作数是16位,目标操作数是32位。当D0=10,D1= -10时,D3,D2= -100。最高位为符号位,0为正值,1为负值

60、。 9.5.3乘法指令乘法指令 图9.20MUL指令应用81第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 图9.20(b)为32位运算,执行条件X2由OFF ON时,D1、D0D3、D2D7、D6、D5、D4中。源操作数是32位,目标操作数是64位。当 D1、D0=200,D3、D2=500时,D7、D6、D5、D4=100 000,最高位为符号位,0为正值,1为负值。 如将位组合元件用于目标操作数时,限于K的取值,只能得到低32位的结果,不能得到高32位的结果。这时,应将数据移入字元件再进行计算。 用字元件时,也不可能监视64位数据,只能通过监视高3

61、2位和低32位。32位运算时,Z不能用于D目标元件。 9.5.3乘法指令乘法指令 82第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 该指令的助记符、指令代码、操作数、程序步如表9.17所示。 9.5.4除法指令除法指令 表9.17除法指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 除法 DIVDIV(P) FNC23(16/32) K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、C、D、Z (限于16位运算) DIV、DIVP7步DDIV、DDIVP13 步 83第第9 9章功章功

62、 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 DIV除法指令是将指定的源元件中的二进制数相除,S1为被除数,S2为除数,商送到指定的目标元件D中去,余数送到D的下一个目标元件。如图9.21所示,它分16位和32位两种运算。9.5.4除法指令除法指令 图9.21DIV指令应用 84第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 图9.21(a)为16位运算。执行条件X1由OFFON 时,D0/D1D2。当D0=23, D1=4时,D2=5,D3=3。 图9.21(b)为32位运算。执行条件X2由OFFON时,D1、D0/D3、D2。

63、商在D5、D4,余数在D7、D6中。Z不能用于D。 除数为0时,有运算错误,不执行指令。若D指定位元件,得不到余数。商和余数的最高位是符号位。被除数或除数中有一个为负数,商为负数;被除数为负数时,余数为负数。 9.5.4除法指令除法指令 85第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 该类指令的助记符、指令代码、操作数、程序步如表9.18所示。 9.5.5加加1/减减1指令指令 表9.18加1/减1指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 加1 INCINC (P) FNC24 (16/32) KnY、KnM、KnST、C、

64、D、V、 ZINC、INCP3步DINC、DINCP5步 减1 DECDEC (P) FNC25 (16/32) KnY、KnM、KnST、C、D、V、 ZDEC、DECP3步DDEC、DDECP5步 86第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 该类指令的助记符、指令代码、操作数、程序步如表9.18所示。 9.5.5加加1/减减1指令指令 表9.18加1/减1指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 D 加1 INCINC (P) FNC24(16/32) KnY、KnM、KnST、C、D、V、 ZINC、INCP3步DIN

65、C、DINCP5步 减1 DECDEC (P) FNC25(16/32) KnY、KnM、KnST、C、D、V、 ZDEC、DECP3步DDEC、DDECP5步 表示连续执行时,各扫描周期的目标内容都有变化,因此使用时应引起注意。87第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 INC/DEC的应用如图9.22所示。9.5.5加加1/减减1指令指令 图9.22INC/DEC指令应用 88第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 图9.22(a)中,当X0由OFFON变化时,由D指定的元件D0中的二进制数加1

66、。 若用连续指令时,每个扫描周期都加1。16位运算时,+32767再加1就变为 -32768,但标志不置位。同样,在32位运算时,+2147483647再加1就变为 -2147483648,标志也不置位。 图9.22(b)中,当X1由OFFON变化时,由D指定的元件D10中的二进制数减1。若用连续指令时,每个扫描周期都减1。16位运算时,-32768再减1就变为+32767,但标志不置位。同样,在32位运算时,-2147483648再减1就变为+2147483647,标志也不置位。9.5.5加加1/减减1指令指令 89第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻

67、辑运算指令 该类指令的助记符、指令代码、操作数、程序步如表9.19所示。 9.5.6逻辑运算指令逻辑运算指令 表9.19逻辑运算指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 逻辑字与 ANDAND(P) FNC26(16/32) K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、 C、D、V、ZWAND、WANDP7步 DANDC、DANDP13 步 90第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 表9.19逻辑运算指令的要素 (续表)指令名称

68、 助记符 指令代码位数 操作数范围 程序步 S1 S2 D 逻辑字或 OROR(P) FNC26(16/32)K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、 C、D、V、ZWOR、WORP7步DORC、DORP13步 逻辑字异或XORXOR(P) FNC26(16/32)K、HKnX、KnY、KnM、KnS、 T、 C、D、V、Z KnY、KnM、KnST、 C、D、V、ZWXOR、WXORP7步DXORC、DXORP13步 91第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令

69、【例9-4】自动售货机的PLC控制。 (1) 控制要求: 此自动售货机可投入1元、5元或10元硬币,投完币后,确认,投币显示灯灭。 当投入的硬币总值等于或超过12元时,食品指示灯亮;当投入的硬币总值超过15元时,食品、饮料指示灯都亮。 当食品指示灯亮时,按食品按钮选择要购买的食品,按购买键确认后,食品指示灯灭,出货口指示灯亮,显示正出物品,一会熄灭。 92第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 当饮料指示灯亮时,按饮料按钮选择要购买的饮料,按购买键确认后,饮料指示灯灭,出货口指示灯亮,显示正出物品,一会熄灭。

70、若投入硬币总值超过购物所需钱数时,则退币处的指示灯亮,显示正在进行退币工作,退完币后,退币指示灯熄灭,等待下一次售货。 93第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 (2) I/O地址分配如表9.20所示。表9.20自动售货机的I/O地址分配表输入 输出 1元输入(c) X 0退币输出(k) Y 05元输入(d) X 1 出货输出(j) Y 110元输入(e) X 2食品指示灯(a) Y 2食品选择(h) X 3饮料指示灯(b) Y 3饮料选择(g) X 4购买输入(i) X 5确认输入(f) X 6试编制PLC

71、控制程序实现其控制要求。94第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 【解】根据题意,可编写其梯形图程序如图9.23所示。 图9.23自动售货机的梯形图程序 95第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 图9.23自动售货机的梯形图程序 (续)96第第9 9章功章功 能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 图9.23自动售货机的梯形图程序 (续)97第第9 9章功章功

72、能能 指指 令令9.5四则运算与逻辑运算指令四则运算与逻辑运算指令 9.5.6逻辑运算指令逻辑运算指令 图9.23自动售货机的梯形图程序 (续)98第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 FX系列PLC循环与移位指令有移位、循环移位、字移位及先入先出FIFO指令等数种,其中循环移位分为带进位位循环及不带进位位循环;移位有左移和右移之分;FIFO分为写入和读出。 从指令的功能来说,循环移位是指数据在本字节或双字内的移位,是一种环形移动。而非循环移位是线形的移位,数据移出部分会丢失,移入部分从其他数据获得。移位指令可用于数据的2倍乘处理,形成新数据,或形成某种控制开

73、关。字移位和位移位不同,它可用于字数据在存储空间中的位置调整等功能。先入先出FIFO指令可用于数据的管理。FX1N系列PLC只有SFTR、SFTL和SFWR、SFRD四条循环与移位指令,现择要介绍如下。99第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.1位右移位右移/位左移指令位左移指令 该类指令的助记符、指令代码、操作数、程序步如表9.21所示。 表9.21位右移/位左移指令的要素 指令名称 助记符 指令代码位数 操作数范围 程序步 S Dn1n2位右移SFTRSFTR(P) FNC34 (16) X、Y、M、S Y、M、S K、H SFTR、SFTRP9步

74、 位左移SFTLSFTL(P) FNC35 (16) X、Y、M、S Y、M、S K、H SFTL、SFTRL9步 位右移/位左移指令是对n1位(移位寄存器的长度)的位元件进行n2位的位右移或位左移的指令,如图9.24所示。 100第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.1位右移位右移/位左移指令位左移指令 图9.24SFTR/SFTL指令应用 101第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.1位右移位右移/位左移指令位左移指令 图9.24SFTR/SFTL指令应用 (续)102第第9 9章功章功 能能 指指 令令9

75、.6循环与移位指令循环与移位指令 9.6.1位右移位右移/位左移指令位左移指令 图9.24(a)中,当X10由OFFON时,D内(M0M7)各位数据连同S内(X0X1)2位数据向右移2位,(X0X1)2位数据从D高位端移入,(M0M1)2位数据从D低位端移出(溢出)。当X10再次从OFFON时,(X0X1)2位数据再次从D高位端移入,当前(M0M1)2位数据从D低位端溢出,依此类推。 图9.24(b)中,当X10由OFFON时,D内(M0M7)各位数据连同S内(X0X1)2位数据向左移2位,(X0X1)2位数据从D低位端移入,(M6M7)2位数据从D高位端移出(溢出)。当X10再次从OFFON

76、时,(X0X1)2位数据再次从D低位端移入,当前(M6M7)2位数据从D低位端溢出,依此类推。 103第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.1位右移位右移/位左移指令位左移指令 用脉冲执行型指令时,指令执行取决于X10由OFFON变化;而用连续指令执行时,移位操作是每个扫描周期执行一次,使用指令时必须注意。 104第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 该类指令的助记符、指令代码、操作数、程序步如表9.22所示。 表9.22FIFO写入/读出指令的要素 指令名称 助记符 指令

77、代码位数 操作数范围 程序步 S Dn1n2先进先出写入 SFWRSFWR(P) FNC38(16) K、HKnX、 KnY、 KnM、KnST、C、D、V、Z KnY、KnM、KnST、C、D K、H2n512 SFWRSFWRP7步 先进先出读出 SFRDSFRD(P) FNC39(16) KnY、KnM、KnST、C、D KnY、KnM、KnST、C、D、V、Z K、H2n512 SFRDSFRDP7步 105第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 SFWR是先进先出控制的数据写入指令,如图9.25所示。图9.

78、25SFWR指令应用 106第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 当X1由OFFON变化时,则将D10的内容存储在D1内,D0的内容变为1。在改变D10的内容之后,若使X1再次由OFFON,则将D10内容存储在D2内,D0的内容变为2。以后同样按顺序由右端填入,用指针D0的内容表示数据的存储点数。若D0的内容超过n 1,则变成无处理,进位标志M8022动作。 在采用SFWR指令时,则在各扫描周期按顺序存储。 SFRD是先进先出控制的数据读出指令,如图9.26所示。 107第第9 9章功章功 能能 指指 令令9.6循

79、环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 当X2由OFFON变化时,则将D1的内容送到D20中,同时指针D0的内容减1,D2到D7的数据向右移一字。若采用连续指令SFRD时,则每个扫描周期数据右移一字,数据总是从D1读出。指针D0的内容为0时,不再执行上述操作,零标志M8020置1。图9.26SFRD指令应用 108第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 【例9-5】艺术彩灯造型的PLC控制。 (1) 艺术彩灯造型实验板结构简介 该板的结构如图9.27所示,图中a、b、c、d、e、f、

80、g、h分别为八路LED发光二极管,模拟彩灯显示。上面八路形成一个环形,下面八路形成一字形,上下同时控制,形成交辉相映的效果。 (2) 艺术彩灯造型的控制要求 艺术彩灯受一个开关控制,启动开关后,(a) 快速顺序点亮,然后顺序熄灭;(b) 快速逆序点亮,然后全部熄灭;(c) 慢速顺序点亮,然后逆序熄灭;(d) 快速闪烁;(e) 慢速闪烁;(f) 要求系统能够自动循环。开关断开后全部熄灭并复位。109第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 【解】(1) 控制原理分析。分析控制要求,结合我们刚学过的循环移位、传送与比较等功

81、能指令,可以得出,由左移位指令(SFTL)就可实现依次点亮、依次熄灭;由右移位指令(SFTR)就可实现逆序点亮、逆序熄灭;由传送指令(MOV)就可实现闪烁;然后把每一类动作作为一种状态,以单流程的形式实现循环,由批复位指令(ZRST)实现所有状态的复位等。 (2) 分配I/O地址,并画出外部接线图如图9.28所示。 输入地址:X0为控制开关(K1)。 输出地址:Y0(a),Y1(b),Y2(c),Y3(d),Y4(e),Y5(f),Y6(g),Y7(h)。110第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 图9.27艺术彩

82、灯造型实验板 图9.28艺术彩灯系统的参考接线图 111第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 图9.29艺术彩灯造型PLC控制的流程图和SFC图 (3) 由以上分析即可设计出实现艺术彩灯控制要求的流程图,如图9.29(a)所示,SFC图如图9.29(b)所示,梯形图程序如图9.30所示。 112第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 图9.29艺术彩灯造型PLC控制的流程图和SFC图 (续)113第第9 9章功章功 能能 指指 令令9.6

83、循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 图9.29艺术彩灯造型PLC控制的流程图和SFC图 (续)114第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 图9.30艺术彩灯造型PLC控制的梯形图程序 115第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指令 图9.30艺术彩灯造型PLC控制的梯形图程序 (续)116第第9 9章功章功 能能 指指 令令9.6循环与移位指令循环与移位指令 9.6.2FIFO写入写入/读出指令读出指

84、令 图9.30艺术彩灯造型PLC控制的梯形图程序 (续)117第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.1区间复位指令区间复位指令 表9.23区间复位指令的要素表 数据处理指令含批复位指令,编、译码指令及平均值计算等指令。其中批复位指令可用于数据区的初始化,编、译码指令可用于字元件中某一置1位的位码的编译。现择要介绍如下。 该类指令的助记符、指令代码、操作数、程序步如表9.23所示。 指令名称 助记符 指令代码位数 操作数范围 程序步 D1 D2 区间复位 ZRSTZRST(P) FNC40 (16) Y、M、S、T、C、D(D1 地址号 D2地址号) ZRS

85、T、ZRSTP5步 118第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.1区间复位指令区间复位指令 图9.31ZRST指令应用 区间复位指令也称为成批复位指令,如图9.31所示。当PLC由OFFON 时,区间复位指令执行。位元件Y0Y7成批复位、字元件D0D100成批复位、状态元件S0S127成批复位。 119第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.1区间复位指令区间复位指令 目标操作数D1和D2指定的元件应为同类元件,D1指定的元件号应小于或等于D2指定的元件号。若D1的元件号大于D2的元件号,则只有D1指定的元件被复位。 该

86、指令为16位处理,但是可在D1、 D2中指定32位计数器。不过不能混合指定,即不能在D1中指定16位计数器,在D2中指定32位计数器。 120第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.2解码指令解码指令 该类指令的助记符、指令代码、操作数、程序步如表9.24所示。 表9.24解码指令的要素表 指令名称 助记符 指令代码位数 操作数范围 程序步 S D n解码 DECODECO(P) FNC41(16) K、HX、Y、M、ST、C、D、V、Z Y、M、ST、C、D K、H1n8 DECO、DECOP7步 121第第9 9章功章功 能能 指指 令令9.7数据处理指

87、令数据处理指令 9.7.2解码指令解码指令 (1) 当D是位元件时,设以源S为首地址的n位连续的位元件所表示的十进制码值为Q,则DECO指令把以D为首地址目标元件的第Q位(不含目标元件位本身)置1,其他位置0。如图9.32(a)所示,源数据Q = 20 + 22 =5,因此从M0开始的第5位M5为1。当源数据Q为0,则第0位(即M0)为1。 (a) D为位元件时 122第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.2解码指令解码指令 图9.32解码指令应用 (b) D为字元件时 若n=0时,程序不执行; n=08以外时,出现运算错误。若n=8 时,D位数为 28=

88、256。驱动输入OFF 时,不执行指令,上一次解码输出置1的位保持不变。123第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.2解码指令解码指令 必须注意,若指令是连续执行型,则在各个扫描周期都执行。 (2) 当D是字元件时,以源S所指定字元件的低n位所表示的十进制码Q, DECO 指令把以D所指定目标字元件的第Q位(不含最低位)置1,其他位置0。如图9.32(b)所示,源数据Q=20+21=3,因此D1的第3位为1。当源数据为0时,第0位为1。 若n=0时,程序不执行;n=04以外时,出现运算错误。若 n=4 时, D 位数为 24=16。驱动输入OFF 时,不执

89、行指令,上一次解码输出置 1 的位保持不变。 124第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.3编码指令编码指令 该类指令的助记符、指令代码、操作数、程序步如表9.25所示。 表9.25编码指令的要素表 指令名称 助记符 指令代码位数 操作数范围 程序步 S D n编码 ENCOENCO(P) FNC42(16) X、Y、M、ST、C、D、V、Z T、 C、 D、V、Z K、H1n8 ENCO、ENCOP7步 125第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.3编码指令编码指令 (1) 当S是位元件时,以源S为首地址、长度为2n

90、的位元件中,最高置1的位置被存放到目标D所指定的元件中去,D中数值的范围由n确定。如图9.33(a)所示,源元件的长度为2n=23=8位(M0M7),其最高置1位是M5即第5位。将“5”位置数(二进制)存放到D0的低3位中。 当源操作数的第一个(即第0位)位元件为1,则D中存放0。当源操作数中无1时,则出现运算错误。 若n=0时,程序不执行;n=18以外时,出现运算错误。若n=8时,S位数为28=256。驱动输入OFF时,不执行指令,上一次编码输出保持不变。 若指令是连续执行型,则在各个扫描周期都执行,必须注意。 126第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7

91、.3编码指令编码指令 (2) 当S是字元件时,在其可读长度为2n位中,最高置1的位被存放到目标D所指定的元件中去,D中的数值的范围由n确定。说明如图9.33(b)所示,源字元件的可读长度为2n=23=8位,其最高置1位是第6位。将“6”位置数(二进制)存放到D0的低3位中。 当源操作数的第一个(即第 0 位)位元件为 1 ,则D中存放0。当源数中无1,出现运算错误。 若n=0时,程序不执行; n=14以外时,出现运算错误。若n=4时, S位数为24=16。驱动输入OFF时,不执行指令,上一次编码输出保持不变。 若指令是连续执行型,则在各个扫描周期都执行,必须注意。127第第9 9章功章功 能能

92、 指指 令令9.7数据处理指令数据处理指令 9.7.3编码指令编码指令 图9.33编码指令应用 128第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.3编码指令编码指令 【例9-6】试用编、译码指令编程实现例9-3送料车的控制要求。 【解】运用编码指令ENCO编程取代图9.17梯形图中的传送指令MOV编程,从而大大省化程序,如图9.34所示。图9.34用编码指令编程实现的送料车系统梯形图程序 129第第9 9章功章功 能能 指指 令令9.7数据处理指令数据处理指令 9.7.3编码指令编码指令 读/写特殊功能模块FROM/TO、PID运算、串行通信RS等功能指令,我们将在第11章中学习。其他功能指令由于篇幅所限,读者可查找相关手册学习。 130

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号