第四章 功能指令说明及应用.docx

上传人:b****6 文档编号:5764548 上传时间:2023-01-01 格式:DOCX 页数:56 大小:117.09KB
下载 相关 举报
第四章 功能指令说明及应用.docx_第1页
第1页 / 共56页
第四章 功能指令说明及应用.docx_第2页
第2页 / 共56页
第四章 功能指令说明及应用.docx_第3页
第3页 / 共56页
第四章 功能指令说明及应用.docx_第4页
第4页 / 共56页
第四章 功能指令说明及应用.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

第四章 功能指令说明及应用.docx

《第四章 功能指令说明及应用.docx》由会员分享,可在线阅读,更多相关《第四章 功能指令说明及应用.docx(56页珍藏版)》请在冰豆网上搜索。

第四章 功能指令说明及应用.docx

第四章功能指令说明及应用

第四章功能指令说明及应用

4.1功能指令一览表

 

分类

指令助记符

功能

页码

CJ

条件跳转

CALL

子程序调用

SRET

子程序返回

FEND

主程序结束

FOR

循环范围开始

NEXT

循环范围结束

CMP

比较

ZCP

区域比较

MOV

传送

CML

反向传送

BCD

BCD转换

BIN

BIN转换

 

ADD

BIN加法

SUB

BIN减法

MUL

BIN乘法

DIV

BIN除法

INC

BIN加1

DEC

BIN减1

WAND

逻辑字与

WOR

逻辑字或

WXOR

逻辑字异或

NEG

求补码

SQR

BIN开方

ROR

循环右移

ROL

循环左移

RCR

带进位循环右移

RCL

带进位循环左移

基本功能指令一览表(续)

 

分类

指令助记符

功能

页码

 

ECMP

2进制浮点数比较

EZCP

2进制浮点数区域比较

EBCD

2进制浮点数转10进制浮点数

EBIN

10进制浮点数转2进制浮点数

EADD

2进制浮点数加法

ESUB

2进制浮点数减法

EMUL

2进制浮点数乘法

EDIV

2进制浮点数除法

ESQR

2进制浮点数开方

INT

2进制浮点数转BIN整数

FLT

BIN整数转2进制浮点数

 

LD=

(S1)=(S2)

LD>

(S1)>(S2)

LD<

(S1)<(S2)

LD<>

(S1)<>(S2)

LD≦

(S1)≦(S2)

LD≧

(S1)≧(S2)

AND=

(S1)=(S2)

AND>

(S1)>(S2)

AND<

(S1)<(S2)

AND<>

(S1)<>(S2)

AND≦

(S1)≦(S2)

AND≧

(S1)≧(S2)

OR=

(S1)=(S2)

OR>

(S1)>(S2)

OR<

(S1)<(S2)

OR<>

(S1)<>(S2)

OR≦

(S1)≦(S2)

OR≧

(S1)≧(S2)

4.2程序流程

4.2.1条件跳转[CJ]

CJ

P

16位指令CJ(连续执行型)

3步CJP(脉冲执行型)

适用软元件

指针(P)可以指定下列编号

·P0~P127

·指针编号可作变址修改

功能和动作

作为执行序列的一部分的指令,有CJ、CJP指令,可以缩短运算周期。

在上图示例中,如果X000“ON”,则从0步跳到23步(标记P0的后一步)。

X000“OFF”时,不进行跳转,顺序执行。

当X000“ON”时,进行跳转,跳转中的线圈动作如下:

●Y、M、S保持以前动作;

●T在跳转前若没有触发,跳转后即使触发,定时器也不动作。

若被触发,时钟继续运行,但触点不动作,当X000“OFF”时,触点立即动作;

●C在跳转前若没有触发,跳转后即使触发,计数器不动作。

若被触发,计数中断,当X000“OFF”时继续计数;

●功能指令跳转后不动作;

●定时器及计数器的复位指令在跳转外时,计时线圈及跳转的计数线圈复位(接点复位及当前值的清除)有效;

●对END步跳转,需标明标号(P0~P127都可以),线圈动作如上。

●主控制指令和跳转指令的关系及动作如下,

CJP0·从MC外向MC内跳转时,与

MC的动作无关,即使M100

MCN0M100处于“OFF”状态下,P0以下

M100视为“ON”;

P0

CJP1

P1·从MC内向MC内跳转时,M100

处于“OFF”时,不能跳转;

CJP3

MCRN0·从MC内向MC外跳转时,M100

处于“OFF”时,不能跳转,

P3当M0“ON”时,可跳转,但

MCR无效

4.2.2子程序调用[CALL]

CALL

P

16位指令CALL(连续执行型)

3步CALLP(脉冲执行型)

 

4.2.3子程序返回[SRET]

SRET

P

单独指令SRET

1步不需要触点驱动的指令

 

适用软元件

子程序调用的指针(P)可以指定下列编号

·P0~P127;

·指针编号可作变址修改;

·嵌套最多可为5层;

·对子程序返回无适用软元件。

 

功能和动作

●若X001“ON”,则执行调用指令跳转到标记P11步,执行完通过执行SRET指令返回原来的步,再往下执行;

●在FEND指令后对标记(子程序)编程;

●CJ指令的标记和子程序的标记不能重复编号;

●在子程序内最多可以允许有四层嵌套,如上例,还可增加2层,整体而言可做5层;

●指针编号可作变址修改,如P0Z(0+12=12),如果变址得出的编号没有,嵌入式PLC停止工作。

4.2.4主程序结束[FEND]

FEND

单独指令FEND

1步不需要触点驱动的指令

 

功能和动作

●当程序使用多个FEND指令时,子程序请在最后的FEND指令与END指令之间编写。

4.2.5循环范围开始[FOR]

FOR

 

16位指令FOR(连续执行型)

3步

 

适用软元件

·字软元件K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z,

·可作变址修改。

 

4.2.6循环范围结束[NEXT]

NEXT

单一指令NEXT

1步不需要触点驱动的指令。

 

功能和动作

只在FOR~NEXT指令之间的处理(利用源数据指定的次数),执行完后,才处理NEXT指令以后的程序。

●上图是通电时对保持用辅助继电器复位的程序;

●从4步至25步之间的程序执行了16次,执行完后Z的值为512;

●FOR~NEXT嵌套最多5层;

●循环次数多时扫描周期会延长,请务必注意;

●NEXT指令在FOR指令之前,或无NEXT指令,或在FEND、END指令以后有NEXT指令,或FOR指令与NEXT指令个数不相等,都会出错;

●若不想执行FOR~NEXT之间的程序时,利用CJ指令,使之跳转。

如在上图所例,在25步前插入LDIM0CJP50则Z的值为32,即只执行了一次。

4.3传送与比较

4.3.1比较指令[CMP]

CMP

D

P

 

16位指令CMP(连续执行型)32位指令DCMP(连续执行型)

7步CMPP(脉冲执行型)13步DCMPP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·位软元件(D·)Y、M、S

 

功能和动作

●上图示例是D0的内容与常数100进行比较,大小比较是按代数形式进行的(-8<0);

●所有数据都以2进制值处理;

●当D0>100,M0“ON”,当D0=100,M1“ON”,当D0<100,M2“ON”;

●目标地址指定M0,则M1、M2被自动占用;

●当X001“OFF”时,M0、M1、M2仍保持以前状态。

如当D0的内容为50,则50<100,M2“ON”,M0、M1都“OFF”,X001“OFF”时,M2仍“ON”。

指令不执行时,想要清除比较结果,可使用复位指令。

4.3.2区域比较[ZCP]

ZCP

D

P

16位指令ZCP(连续执行型)32位指令DZCP(连续执行型)

7步ZCPP(脉冲执行型)13步DZCPP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·、S·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·位软元件(D·)Y、M、S

 

功能和动作

●如上例,D3的内容与D1、D2的内容进行比较;

●D1的内容应小于等于D2的内容,若D1=100,D2=80,比较时D2的内容为100;

●按代数形式进行比较(-8<0);

●当D1>D3,则M3“ON”;当D1≦D3≦D2,则M4“ON”,当D2

4.3.3传送指令[MOV]

MOV

D

P

 

16位指令MOV(连续执行型)32位指令DMOV(连续执行型)

7步MOVP(脉冲执行型)13步DMOVP(脉冲执行型)

 

适用软元件

·字软元件(S·)K、H、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作使数据原样传送的指令。

●将源(S·)的内容向目标(D·)传送,X003“OFF”时,目标(D·)的内容不变化;

●常数K100被自动转换成BIN码。

《定时、计数器的当前值读出示例》

●将T0当前值传送给D20。

《定时、计数器设定值的间接指定示例》

●T20定时时间为5秒。

《位软元件的传送》

●上图示例可用下面的MOV指令来实现,

《32位数据的传送》

运算结果是32位的应用指令(MUL等)、32位数值、32位软元件或32位计数器等32位数据的传送,必须使用DMOV指令。

●上例将(D11、D10)的内容传送给(D21、D20),

(C235的当前值)传送给(D31、D30)。

4.3.4反向传送[CML]

CML

D

P

16位指令CML(连续执行型)32位指令DCML(连续执行型)

5步CMLP(脉冲执行型)13步DCMLP(脉冲执行型)

 

适用软元件

·字软元件(S·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作将数据反向传送的指令

●将D0的内容每位取反(0取反为1,1取反为0)后,传送到目标地址,常数K被自动转换成2进制。

如:

D10

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

 

符号位(0=正数,1=负数)

0

1

0

1

0

1

0

1

Y17Y16Y15Y14Y13Y12Y11Y10Y7Y6Y5Y4Y3Y2Y1Y0

无变化反向数据被传送

上例可用CML指令来实现。

4.3.5BCD转换[BCD]

BCD

D

P

16位指令BCD(连续执行型)32位指令DBCD(连续执行型)

5步BCDP(脉冲执行型)9步DBCDP(脉冲执行型)

 

适用软元件

·字软元件(S·)KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作将源(BIN)转换为目标(BCD)的指令。

●使用BCD、BCDP指令,转换结果不能超出0~9999,使用DBCD、DBCDP指令,转换结果不能超出0~99999999;

●将PLC内的2进制数变为七段显示等的BCD码向外部输出时使用。

4.3.6BIN转换[BIN]

BIN

D

P

 

16位指令BIN(连续执行型)32位指令DBIN(连续执行型)

5步BINP(脉冲执行型)9步DBINP(脉冲执行型)

 

适用软元件

·字软元件(S·)KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

功能和动作将源(BCD)转换为目标(BIN)的指令。

●使用BIN、BINP指令,源数据(S·)不能超出0~9999,使用DIND、DBINP指令,源数据(S·)不能超出0~99999999;

●常数K能自动转成2进制。

4.4四则逻辑运算

4.4.1BIN加法运算[ADD]

ADD

D

P

 

16位指令ADD(连续执行型)32位指令DADD(连续执行型)

7步ADDP(脉冲执行型)13步DADDP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

标志位

M8020

借位

M8021

进位

M8022

功能和动作

●两个源数据进行加法后传送到目标处,各数据的最高位是符号位(正数为0,负数为1),数据以代数形式进行加法运算(8+(-8)=0)。

●运算结果为0时,0标志位M8020动作;运算结果超出32767(16位运算)或2147483647(32位运算)时,进位标志位M8022动作;运算结果小于-32768(16位运算)或-2147483648(32位运算)时,借位标志位M8021动作;

●进行32位运算时,字软元件的低16位侧的软元件被指定,紧接着上述软元件编号后的软元件作为高位,为了防止编号重复,建议将软元件指定为偶数编号。

●对于脉冲型指令,每出现一次OFF到ON的变化,操作数做一次运算。

●可以将源(S·)和目标(D·)指定为相同的软元件编号。

这种情况下,如使用连续执行型指令(ADD、DADD),则每个扫描周期加一次,请务必注意。

4.4.2BIN减法运算[SUB]

SUB

D

P

 

16位指令SUB(连续执行型)32位指令DSUB(连续执行型)

7步SUBP(脉冲执行型)13步DSUBP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

标志位

M8020

借位

M8021

进位

M8022

 

功能和动作

●(S1·)指定的内容和(S2·)指定的内容相减,结果存入(D·)指定的软元件中。

(8-(-8)=16)。

●各种标志位的动作,32位运算软元件的指定方法,连续型和脉冲型的差异等都跟ADD指令相同。

4.4.3BIN乘法运算[MUL]

MUL

D

P

 

16位指令MUL(连续执行型)32位指令DMUL(连续执行型)

7步MULP(脉冲执行型)13步DMULP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z仅限16位计算)

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作

 

《16位运算》

BINBINBIN

(D0)×(D2)(D5,D4)

16位16位32位

●各源指定的软元件内容的乘积,以32位数据形式存入目标地址指定的软元件(低位)和紧接其后的软元件(高位)中,如(D0)=125,(D2)=8,则(D5,D4)=1000;

●结果的最高位是符号位,0为正,1为负;

●(D·)是位元件时,可以进行K1∽K8的位指定。

指定为K4时,只能求得乘积运算的低16位。

《32位运算》

BINBINBIN

(D1,D0)×(D3,D2)(D7,D6,D5,D4)

32位32位64位

●在32位运算中,目标地址使用位软元件,只能得到低32位的结果,最好先向字元件传送一次后再进行运算;

●即使使用字元件,也不能一下子监视64位数据的运算结果,此种情况下建议进行浮点数运算;

●不能指定Z作为(D·)。

4.4.4BIN除法运算[DIV]

DIV

D

P

 

16位指令DIV(连续执行型)32位指令DDIV(连续执行型)

7步DIVP(脉冲执行型)13步DDIVP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z仅限16位计算)

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

功能和动作

《16位运算》

被除数除数商余数

BINBINBINBIN

(D0)÷(D2)(D4)···(D5)

16位16位16位16位

《32位运算》

被除数除数商余数

BINBINBINBIN

(D1,D0)÷(D3,D2)(D5,D4)···(D7,D6)

32位32位32位32位

●32位运算不能指定Z作为(D·);

●除数为0时,如果被除数为正数,商为32767(16位)或2147483647(32位);如果被除数为0,商为0;如果被除数为负数,商为-32768(16位)或-2147483648(32位);

●商和余数的最高位为符号位,0为正,1为负,当被除数或除数中的一方为负数时,商为负,当被除数为负时,余数则为负。

4.4.5BIN增1[INC]

INC

D

P

 

16位指令INC(连续执行型)32位指令DINC(连续执行型)

3步INCP(脉冲执行型)5步DINCP(脉冲执行型)

适用软元件

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作

(D0)+1(D0)

●X000每置“ON”一次,D0的内容增1,在连续执行指令中,每个扫描周期执行加1运算,所以务必引起注意;

●16位运算时,如果32767加1变为-32768,标志位不动作,32位运算时,如果2147483647加1变为-2147483648,标志位不动作;

 

4.4.6BIN减1[DEC]

DEC

D

P

16位指令DEC(连续执行型)32位指令DDEC(连续执行型)

3步DECP(脉冲执行型)5步DDECP(脉冲执行型)

 

适用软元件

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作

(D0)—1(D0)

●X001每置“ON”一次,D0的内容减1,在连续执行指令中,每个扫描周期执行减1运算,所以务必引起注意;

●–32768或-2147483648减1变为32767或2147483647,标志位不动作

 

4.4.7逻辑与[WAND]

WAND

D

P

16位指令WAND(连续执行型)32位指令DWAND(连续执行型)

7步WANDP(脉冲执行型)13步DWANDP(脉冲执行型)

 

功能和动作

《逻辑与》

(D0)∧(D2)(D4)

●对各位进行逻辑与运算。

1∧1=10∧1=0

1∧0=00∧0=0

 

4.4.8逻辑或[WOR]

WOR

D

P

 

16位指令WOR(连续执行型)32位指令DWOR(连续执行型)

7步WORP(脉冲执行型)13步DWORP(脉冲执行型)

 

功能和动作

《逻辑或》

(D0)∨(D2)(D4)

●对各位进行逻辑或运算。

1∨1=10∨1=1

1∨0=10∨0=0

4.4.9逻辑异或[WXOR]

 

16位指令WXOR(连续执行型)32位指令DWXOR(连续执行型)

7步WXORP(脉冲执行型)13步DWXORP(脉冲执行型)

 

适用软元件

·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作

《逻辑异或》

(D0)((D2)(D4)

●对各位进行逻辑异或运算;

1(1=00(1=1

1(0=10(0=0

●如果将这个指令与CML组合使用,将进行异或非运算。

4.4.10求补[NEG]

NEG

D

P

 

16位指令NEG(连续执行型)32位指令DNEG(连续执行型)

3步NEGP(脉冲执行型)5步DNEGP(脉冲执行型)

 

适用软元件

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

 

 

功能和动作

(D10)+1(D10)

●将(D·)指定的软元件内容中各位先取反(0变1,1变0),然后再加1,将其结果存入原先的软元件中;

●使用连续执行指令则在每一个扫描周期执行一次,务必引起注意。

4.4.11BIN开方运算[SQR]

SQR

D

P

 

16位指令SQR(连续执行型)32位指令DSQR(连续执行型)

5步SQRP(脉冲执行型)9步DSQRP(脉冲执行型)

 

适用软元件

·字软元件(S·)K、H、D

·字软元件(D·)D

 

功能和动作

 

●进行开方运算的指令;

●仅在(S·)≧0时有效,如果(S·)<0,结果为0;

●运算结果舍去小数取整数;

●无标志位。

4.5循环与移位

4.5.1循环右移[ROR]

ROR

D

P

 

16位指令ROR(连续执行型)32位指令DROR(连续执行型)

5步RORP(脉冲执行型)9步DRORP(脉冲执行型)

 

适用软元件

·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z

·字软元件(n)K、H

回转量:

n≦16(16位

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1