49
Date: 22/6/9 Page: 1 第第第 第第第第 第第第 第第第第 第第第第第第第第第 第第第第第第第第第 第第第 第第第第第第第第 第第第第第FNC00 FNC00 FNC09 FNC09 第第第 第第第第第第第 第第第 第第第第第第第 FNC10 FNC10 FNC19 FNC19 第第第 第第第第第第第第第第第第 第第第第第第第第第FNC20 FNC20 FNC29 FNC29 第第第 第第第第第第第第第 第第第第第第FNC30 FNC30 FNC39 FNC39 第第第 第第第第第第第第第 第第第第第第FNC40 FNC40 FNC49 FNC49 第第第 第第第第第第第第第 第第第第第第FNC50 FNC50 FNC59 FNC59

第九章 功能指令

Embed Size (px)

DESCRIPTION

第九章 功能指令. 第一节 功能指令的基本知识. 第二节 程序流控制( FNC00 ~ FNC09 ). 第三节 传送和比较指令( FNC10 ~ FNC19 ). 第四节 算术和逻辑运算指令( FNC20 ~ FNC29 ). 第五节 循环移位指令( FNC30 ~ FNC39 ). 第六节 数据处理指令( FNC40 ~ FNC49 ). 第七节 高速处理指令( FNC50 ~ FNC59 ). [ S ]. [ D ]. [ n ]. X0. MOV. D0. K3. D10. 第一节 功能指令的基本知识. 一、基本格式 梯形图格式. - PowerPoint PPT Presentation

Citation preview

Page 1: 第九章  功能指令

Date:

23/4/19 Page: 1

第九章 功能指令第九章 功能指令

第一节 功能指令的基本知识第一节 功能指令的基本知识第二节 程序流控制(第二节 程序流控制( FNC00FNC00 ~~ FNC09FNC09 ))第三节 传送和比较指令(第三节 传送和比较指令( FNC10FNC10 ~~ FNC19FNC19 ))第四节 算术和逻辑运算指令(第四节 算术和逻辑运算指令( FNC20FNC20 ~~ FNC29FNC29 ))第五节 循环移位指令(第五节 循环移位指令( FNC30FNC30 ~~ FNC39FNC39 ))第六节 数据处理指令(第六节 数据处理指令( FNC40FNC40 ~~ FNC49FNC49 ))第七节 高速处理指令(第七节 高速处理指令( FNC50FNC50 ~~ FNC59FNC59 ))

Page 2: 第九章  功能指令

Date:

23/4/19 Page: 2

第一节 功能指令的基本知识第一节 功能指令的基本知识一、基本格式梯形图格式

X0

MOV D0 D10 K3

[D][S] [n]

)10(3

)2()1()0(D

DDD

指令表格式步序 操作码 操作数 0 LD X0 1 MOV D0 D10 K3 8 。。。。

Page 3: 第九章  功能指令

Date:

23/4/19 Page: 3

一、基本格式一、基本格式 操作码与操作数

操作码(指令助记符):表示指令的功能 操作数:指明参与操作的对象

源操作数 S:执行指令后收据不变的操作数,两个或 两个以上时为 S1 、 S2 。目标操作数 D:执行指令后收据被刷新的操作数,两 个或两个以上时为 D1、 D2 。其它操作数 m、 n:补充注释的常数,用 K(十进制)

和 H(十六进制)表示,两个或 两个以上时为 m1 、 m2 、 n1 、 n2 。

Page 4: 第九章  功能指令

Date:

23/4/19 Page: 4

软元件位软元件:只处理开关( ON/OFF )信息的元件,如 X、 Y、 M、 D、 S

字软元件:处理数据的元件,如 D。位软元件的组合

位软元件组合表示数据: 4个位元件一组,代表 4位 BCD 码,也表示 1位十进制数;

用 KnMm表示, K为十进制, n 为十进制位数,也是位元件的组数, M 为位元件, m 为位元件的首地址,一般用 0结尾的元件。

二、软元件二、软元件

Page 5: 第九章  功能指令

Date:

23/4/19 Page: 5

数据长度16 位:参与运算的数据默认为 16位二进制数据32 位: 32 位数据时在操作码前面加 D( Double

三、数据长度及执行方式三、数据长度及执行方式

X0

MOV D0 D1

X1

DMOV D2 D4

(D0)→(D1)

(D3D2)→(D5D4)

Page 6: 第九章  功能指令

Date:

23/4/19 Page: 6

执行方式连续执行方式:每个扫描周期都重复执行一次脉冲执行方式:只在信号 OFF→ON 时执行一次,在指令后加 P( Pulse )。

X0

MOV D0 D1

X1

MOVP D2 D4

三、数据长度及执行方式三、数据长度及执行方式

Page 7: 第九章  功能指令

Date:

23/4/19 Page: 7

变址:改变操作数的地址变址寄存器的作用:存放改变地址的数据实际地址 =当前地址 +变址数据 32 位运算时 V和 Z组合使用, V为高 16位, Z为低 1

6位。X0

MOV K8 V

X1MOV K4 Z

MOV D0V D10ZX2

V=(8)

Z=(4)

(D8)→(D14)

四、变址寄存器四、变址寄存器 VV 、、 ZZ

Page 8: 第九章  功能指令

Date:

23/4/19 Page: 8

五、常用特殊辅助继电器五、常用特殊辅助继电器功能指令执行结果的标志

M8020 :零标志M8021 :借位标志M8022 :进位标志M8029 :执行完毕标志M8064 :参数出错标志M8065 :语法出错标志M8066 :电路出错标志M8067 :运算出错标志

Page 9: 第九章  功能指令

Date:

23/4/19 Page: 9

第二节 程序流控制第二节 程序流控制一、条件跳转指令 FNC00 CJ

二、子程序指令 FNC 01 CALL

FNC 02 SRET

三、中断指令 FNC 03 IRET

FNC 04 EI

FNC 05 DI

四、主程序结束指令 FNC 06 FEND

五、警戒时钟定时器指令 FNC 07 WDT

六、循环指令 FNC 08 FOX

FNC 09 NEXT

Page 10: 第九章  功能指令

Date:

23/4/19 Page: 10

一、条件跳转指令 一、条件跳转指令 FNC00 CJFNC00 CJ操作数:指针 P0 ~ P63梯形图

X10X10

X11X11

Y1Y1X12X12

P0

CJCJ P0P0

CJCJ P0P0

指令表步序 操作码 操作数 0 LD X10 1 CJ P0 。。。 10 LD X11 11 CJ P0 。。。。 20 P0 21 LD X12 22 OUT Y1

Page 11: 第九章  功能指令

Date:

23/4/19 Page: 11

说明 CJ 指令跳过部分程序,可以缩短程序的运算周期。 如果积算型定时器和计数器的 RST 指令在跳转程序之内,

即使跳转程序生效, RST 指令仍然有效。 该指令可以连续和脉冲执行方式。 被跳过去的程序中各元件的状态为

Y 、 M、 S保持跳转前状态不变。普通计数器停止计数并保持当前值,高速计数器继续计数。

未工作的定时器不动作,已动作的定时器保持当前值。T192 ~ T199 跳转时仍然计时。

一、比较指令 一、比较指令 FNC10 CMPFNC10 CMP

Page 12: 第九章  功能指令

Date:

23/4/19 Page: 12

二、子程序指令二、子程序指令子程序调用 FNC01 CALL 操作数:指针 P0~ P62 子程序返回 FND02 SRET 无操作数说明

子程序应该在主程序结束之后编程。CJ 指令的指针与 CALL 的指针不能重复。主程序允许嵌套,嵌套级别最多为 5级。子程序只能用 T192 ~ T199 和 T246 ~ T249 作定时器。

Page 13: 第九章  功能指令

Date:

23/4/19 Page: 13

梯形图 X1X1

FENDFEND

SRETSRET

P8

CALLCALL P8P8

Y1Y1

X12X12Y21Y21

X11X11Y30Y30

……

主程序

子程序

二、子程序指令二、子程序指令

Page 14: 第九章  功能指令

Date:

23/4/19 Page: 14

三、中断指令三、中断指令中断返回 FNC03 IRET 开中断 FNC04 EI 关中断 FNC05 DI均无操作数梯形图

开中断范围

X0

I100

X10FEND

IRET

EI

DI

IRET

I101中断子程序 2

中断子程序 1

Page 15: 第九章  功能指令

Date:

23/4/19 Page: 15

说明在执行某个中断子程序时,禁止其它中断请求。中断程序允许嵌套,嵌套级别为 2级。中断指针共有 15个:输入中断 6个,定时器中断 3个,计数器中断 6个。

中断程序用 T192 ~ T199 和 T246 ~ T249 作定时器。中断的优先级别

多个中断信号不同时产生时,按先后顺序中断。多个中断信号同时产生时,按指针大小中断。

三、中断指令三、中断指令

Page 16: 第九章  功能指令

Date:

23/4/19 Page: 16

无操作数梯形图

X1X1

FENDFEND

SRETSRET

P8

CALLCALL P8P8

Y1Y1

X12X12Y21Y21

X11X11Y30Y30

……

主程序

子程序

四、主程序结束指令 四、主程序结束指令 FNC06 FENDFNC06 FEND

Page 17: 第九章  功能指令

Date:

23/4/19 Page: 17

说明与 END 指令的功能一样,执行到该指令时程序返回到 0 步。

中断服务子程序和子程序应该写在 FEND 之后,并且用 IRET 和 SRET返回。

如果多次使用 FEND 指令,在最后的 FEND 和 END 之间编写子程序或中断子程序

四、主程序结束指令 四、主程序结束指令 FNC06 FENDFNC06 FEND

Page 18: 第九章  功能指令

Date:

23/4/19 Page: 18

无操作数警戒定时器是一个专用定时器,其设定值存放在特殊

的数据寄存器 D8000 中,并以 ms为计时单位。当 PLC 一上电,则对警戒定时器进行初始化,将 K100

(设定值为 100ms )装入 D8000 中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使 PLC 能正常运行。

当扫描周期大于 100ms 时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通, CPU立即停止执行用户程序,同时切断全部输出,并且报警显示。

五、警戒定时器指令 五、警戒定时器指令 FNC07 WDTFNC07 WDT

Page 19: 第九章  功能指令

Date:

23/4/19 Page: 19

如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入 WDT 指令,适时刷新警戒时钟,使程序能顺利执行。

也可以通过 MOV 指令修改警戒定时器的设定值( D8000的值)。

可以计算出程序扫描周期的最大值作为警戒时钟的设定值。

WDT 指令可用在 FOR-NEXT 之间。

五、警戒定时器指令 五、警戒定时器指令 FNC07 WDTFNC07 WDT

Page 20: 第九章  功能指令

Date:

23/4/19 Page: 20

循环开始 FNC08 FOR 操作数[S]: K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、

V,Z循环结束 FNC09 NEXT 无操作数说明

n 为循环次数,其范围为 1~ 32767 有效。如果指定为 -32768 ~ 0,则作 n=1 处理。

循环指令最多可以嵌套 5级。 程序中 FOR-NEXT 是成对出现的, FOR 在前, NEXT 在后

不可倒置,否则出错。编程时 NEXT应该在 FEND 或 END 之前,否则出错。

六、循环指令六、循环指令

Page 21: 第九章  功能指令

Date:

23/4/19 Page: 21

第三节 传送和比较指令第三节 传送和比较指令一、比较指令 FNC10 CMP

二、区间比较指令 FNC 11 ZCP

三、传送指令 FNC 12 MOV

四、移位传送指令 FNC 13 SMOV

五、取反传送指令 FNC 14 CML

六、块传送指令 FNC 15 BMOV

七、多点传送指令 FNC 16 FMOV

八、数据交换指令 FNC 17 XCH

九、变换指令 FNC 18 BCD

FNC 19 BIN

Page 22: 第九章  功能指令

Date:

23/4/19 Page: 22

操作数[S1]、 [S1] : K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、

C、 D、 V,Z[D]: Y、 M、 S梯形图

[S1]

K100<C10 的当前值时, M0 = ON

K100=C10 的当前值时, M1 = ON

K100>C10 的当前值时, M2 = ON

M0

M1

M2

X0 [S2] [D]

CMP K100 C10 M0

一、比较指令 一、比较指令 FNC10 CMPFNC10 CMP

Page 23: 第九章  功能指令

Date:

23/4/19 Page: 23

说明该指令是将源操作数 [S1]和 [S2]的中数据进行比较,结果送目标操作数 [D]中去。

[D] 由 3 个元件组成,指令中 [D] 给出首地址,其它两个为后面的相邻元件。

当 X0由 ON→OFF 时,不执行 CMP 指令, M0~ M2保持断开前的状态,用复位指令 RST才能清除比较结果。

CMP 是进行二进制代数比较。可以 32位二进制数比较和脉冲执行方式。如果指令中指定的操作数不全、元件超出范围、软元件地址不对时,程序出错。

一、比较指令 一、比较指令 FNC10 CMPFNC10 CMP

Page 24: 第九章  功能指令

Date:

23/4/19 Page: 24

操作数[S1]、 [S1] : K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、

C、 D、 V,Z[D]: Y、 M、 S梯形图

K100≤ C10 的当前值 < 120 时, M1 = ON

[S1]

K100 > C10 的当前值时, M0 = ON

K120 <C10 的当前值时, M2 = ON

M0

M1

M2

X0 [S2] [D]

ZCP K100 K120 C10 M0

[S]

二、区间比较指令 二、区间比较指令 FNC11 ZCPFNC11 ZCP

Page 25: 第九章  功能指令

Date:

23/4/19 Page: 25

说明ZCP 指令是将源操作数 [S]的数据和两个源操作数[S1]和 [S2]的数据进行比较,结果送到 [D]中,[D]为三个相邻元件的首地址。

ZCP 指令为二进制代数比较,并且 [S1] < [S2],如果 [S1] > [S2],则把 [S1] 视为 [S2]处理。

当 X0由 ON→OFF 时,不执行 ZCP 指令,比较结果保持不变,需要用复位指令才能清除。

该指令可以进行 16/32 位数据处理和连续 /脉冲执行方式。

二、区间比较指令 二、区间比较指令 FNC11 ZCPFNC11 ZCP

Page 26: 第九章  功能指令

Date:

23/4/19 Page: 26

操作数[S1]、 [S1] : K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、

C、 D、 V,Z[D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z

梯形图

X0

MOV K100 D10 K100→(D10)

三、传送指令 三、传送指令 FNC12 MOVFNC12 MOV

Page 27: 第九章  功能指令

Date:

23/4/19 Page: 27

说明该指令将源操作数 [S]中的数据传送到目标操作数[D]中去。

MOV 指令可以进行( D)和( P)操作。如果 [S]为十进制常数,执行该指令时自动转换成二进制数后进行数据传送。

当 X0断开时,不执行 MOV 指令,数据保持不变。

三、传送指令 三、传送指令 FNC12 MOVFNC12 MOV

Page 28: 第九章  功能指令

Date:

23/4/19 Page: 28

操作数[S1]、 [S1] : K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、

D、 V,Z[D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Zm1 、 m2 、 n : K 、 H 说明

该指令将源操作数 [S]的 16位二进制数自动转换成4 位 BCD 码,然后从右向左第 m1位开始向右数 m2位,传送到目标操作数( 4位 BCD 码)的从右向左第 n位开始向右数 m2位的位置上,最后这 4 位 BCD码自动转换成二进制数后送入目标操作数 [D]中去。

传送中 BCD 码数值超过 9999 时程序出错。

四、移位传送指令 四、移位传送指令 FNC13 SMOVFNC13 SMOV

Page 29: 第九章  功能指令

Date:

23/4/19 Page: 29

梯形图

[S]X0 m1 [D]m2

SMOV D1 K4 K2 D2 K3

n

310

010

110

210

310

010

110

210

D1

D2

b15

b15

b0

b0

自动转换

自动转换

4 位 BCD码

4 位 BCD码

保持 保持

D1

D2

二进制

二进制

从 D1 右起第四位 (m1 = K4) 开始的 2 位 (m2 = K2) 数,

移到 D2 的右起第 3 位 (n = K3) 和第 2 位 ,

D2 中的第 1 位和第 4 位保

持不变 ,

最后 D2 中的数自动变成二进制数 .

四、移位传送指令 四、移位传送指令 FNC13 SMOVFNC13 SMOV

Page 30: 第九章  功能指令

Date:

23/4/19 Page: 30

操作数[S]: K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z[D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z

说明

该指令把源操作数 [S]中的数据各位取反( 1→0,0→1)后传送到目标操作数 [D]中去。

该指令可以 16/32 位数据处理和连续 /脉冲执行方式

五、取反传送指令 五、取反传送指令 FNC14 CMLFNC14 CML

Page 31: 第九章  功能指令

Date:

23/4/19 Page: 31

梯形图

CML D0 K1Y0

X0 [D][S]

1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

1 0 1 0

符号位 取反传送

保持不变 Y0Y3

(D0) (K1Y0)

若源操作数中的数为十进制常数时 , 将自动转换成二进制 .

五、取反传送指令 五、取反传送指令 FNC14 CMLFNC14 CML

Page 32: 第九章  功能指令

Date:

23/4/19 Page: 32

操作数 [S]: K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、 V,

Z [D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z n : K 、 H 梯形图

[S]X0 D n

BMOV D5 D10 K3D7

D6

D5

D12

D11

D10

六、块传送指令 六、块传送指令 FNC15 BMOVFNC15 BMOV

Page 33: 第九章  功能指令

Date:

23/4/19 Page: 33

说明[S]为存放被传送的数据块的首地址; [D]为存放传送来的数据块的首地址; n为数据块的长度。

位元件进行传送时,源和目标操作数要有相同的位数。当传送地址号重叠时,为防止在传送过程中数据丢失(被覆盖),要先把重叠地址号中的内容送出,然后再送入数据。如图所示,采用①~③的顺序自动传送。

该指令可以连续 /脉冲执行方式。

六、块传送指令 六、块传送指令 FNC15 BMOVFNC15 BMOV

Page 34: 第九章  功能指令

Date:

23/4/19 Page: 34

X0

BMOV K1M0 K1Y0 K2

n = K2

M2

M1

M0

M3

Y2

Y1

Y0

Y3

M6

M5

M4

M7

Y6

Y5

Y4

Y7

D12

D11

D10

D11

D10

D9

D12

D11

D10

D13

D12

D11

X1

BMOV D10 D9 K3

X2

BMOV D10 D11 K3

六、块传送指令 六、块传送指令 FNC15 BMOVFNC15 BMOV

Page 35: 第九章  功能指令

Date:

23/4/19 Page: 35

操作数 [S]: K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、 V,

Z [D]: KnY 、 KnM 、 KnS 、 T、 C、 D n : K 、 H 梯形图

[S]X0 D nBMOV K10 D0 K10 把 K10 传送到 D0~D9 中

七、多点传送指令 七、多点传送指令 FNC16 FMOVFNC16 FMOV

Page 36: 第九章  功能指令

Date:

23/4/19 Page: 36

操作数 [D1]、 [D2]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z梯形图

[D1]

X0

XCH ( P ) D0 D1

[D2] (D0) (D1)

八、数据交换指令 八、数据交换指令 FNC17 XCHFNC17 XCH

注意 交换指令一般要在脉冲方式执行 , 否则不能正常工作。

Page 37: 第九章  功能指令

Date:

23/4/19 Page: 37

操作数 [S]: KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z [D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z梯形图

[S]X0

BCD D10 K2Y0

[D]

[S]X1

BIN K2Y0 D14

[D]

九、变换指令 九、变换指令 FNC18 BCDFNC18 BCD

FNC19 BINFNC19 BIN

Page 38: 第九章  功能指令

Date:

23/4/19 Page: 38

第四节 算术与逻辑运算指令第四节 算术与逻辑运算指令一、二进制加减运算指令 加法 FNC20 ADD 减法 FNC21 SUB操作数[S1]、 [S2]: K、 H、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、

D、 V,Z [D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z梯形图 [S1]X0

ADD D0 D2 D4

[D]

[S1]X1

DSUB D10 D12 D14

[D]

[S2]

[S2]

(D0)+ ( D2 ) ( D4 )

(D11D10)– ( D13D12 ) ( 1D5D14 )

Page 39: 第九章  功能指令

Date:

23/4/19 Page: 39

说明指令是代数加减运算,数据的最高位为符号位。进行 16位加减运算时,数据范围为- 32768 ~+ 32767 ; 32 位运算时,数据范围为- 2147483648 ~+2147483647 。

运算结果为 0时,零标志置位( M8020=1 );运算结果大于+ 32767 (或+ 2147483647 )时,进位标志置位( M8022=1 );运算结果小于- 32768 (或- 2147483648 )时,借位标志置位( M8021=1 )。

该指令可以进行连续 /脉冲执行方式。

一、二进制加减运算指令一、二进制加减运算指令

Page 40: 第九章  功能指令

Date:

23/4/19 Page: 40

乘法 FNC22 MUL 减法 FNC23 DIV操作数[S1]、 [S2]: K、 H、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、

V,Z [D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z梯形图

[S1]X0

MUL D0 D2 D4

[D]

[S1]X1

DDIV D10 D12 D14

[D]

[S2]

[S2]

(D0)× ( D2 ) ( D5D4 )

被乘数 乘数 积

(D11D10)÷ ( D13D12 ) ( 1D5D14 ) ··· ( D17D16 )

被除数 除数 商 余数

二、二进制乘除运算指令二、二进制乘除运算指令

Page 41: 第九章  功能指令

Date:

23/4/19 Page: 41

操作数指令进行二进制运算,数据最高位为符号位。可以进行 16/32 位乘除运算, 16位运算时,积为 32位数据,商和余数为 16位数据; 32位运算时,积为64位数据,商和余数为 32位数据。

0 作除数时程序出错。被除数和除数中有一个为负数时,商为负数;被除数为负数时,余数也为负数。

位元件作为 32位乘法运算的目标元件时,只能得到积的低 32位数据。

可以进行连续 /脉冲执行方式。

二、二进制乘除运算指令二、二进制乘除运算指令

Page 42: 第九章  功能指令

Date:

23/4/19 Page: 42

加 1 FNC24 INC 减 1 FNC25 DEC操作数[D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z梯形图

X0

INC ( P ) D10

[D]

X1

DEC ( P ) D12

[D]

(D10)+1 ( D10 )

(D12)–1 ( D12 )

三、二进制加三、二进制加 11 减减 11 指令指令

Page 43: 第九章  功能指令

Date:

23/4/19 Page: 43

说明上述指令可以连续 /脉冲执行方式,应用中要特别注意。

可以进行 16/32 位运算,并且为二进制运算。如果从 +32767 (或 +2147483647 )再加 1,则变成 -32768 (或 -2147483648 );如果从 -32768(或 -2147483648 )再减 1 ,则变成 +32767 (或 +2147483647 ),为循环计数。

以上变化时标志位不动作,也就是说这两条指令和零标志、借位标志、进位标志无关。

三、二进制加三、二进制加 11 减减 11 指令指令

Page 44: 第九章  功能指令

Date:

23/4/19 Page: 44

逻辑与 FNC26 WAND 逻辑或 FNC27 WOR 逻辑异或 FNC28 WXOR操作数[[S1]、 [S2]: K、 H、 KnX 、 KnY 、 KnM 、 KnS 、 T、

C、 D、 V,Z [D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z

四、逻辑运算指令四、逻辑运算指令

Page 45: 第九章  功能指令

Date:

23/4/19 Page: 45

( D0 )∧ ( D2 ) →( D4 )

( D10 )∨( D12 ) →( D14 )

( D20 ) ( D22 ) →( D24 )

[S1]X0

WAND D0 D2 D4

[D]

WOR D10 D12 D14

[S2]

WXOR D20 D22 D24

异或非运算的梯形图X0

WXOR D10 D12 D14

CML D14 D14 ( D14 ) →( D14 )

四、逻辑运算指令四、逻辑运算指令梯形图

( D10 ) ( D12 ) →( D14 )

Page 46: 第九章  功能指令

Date:

23/4/19 Page: 46

说明 各数据的对应位进行二进制与、或、异或运算。 32 位数据运算时,助记符为 DAND 、 DOR 、 DXOR 。 指令运算规则如下:

四、逻辑运算指令四、逻辑运算指令

逻辑与1 1= 1∧1 0= 0∧0 1= 0∧0 0= 0∧

逻辑或1 ∨ 1= 1

1 ∨ 0= 0

0 ∨ 1= 0

0 ∨ 0= 0

逻辑异或1 1= 0

1 0= 1

0 1= 1

0 0= 0

Page 47: 第九章  功能指令

Date:

23/4/19 Page: 47

操作数[D]: KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z

X0

NEG D10

[D]

( D10 ) + 1 → ( D10 )

说明求补指令是把二进制数各位取反再加 1后,送入目标操作数 [D]中。实际是绝对值不变的变号操作。

PLC 的负数以二进制的补码形式表示,其绝对值可以通过求补指令求得。

五、求补指令 五、求补指令 FNC19 NEGFNC19 NEG

Page 48: 第九章  功能指令

Date:

23/4/19 Page: 48

功能指令的格式—梯形图格式和指令表格式 功能指令的位长— 16 位和 32 位 功能指令的执行方式—连续和脉冲方式 4 个位元件组合的 BCD 码表示一位十进制数 变址寄存器 V 、 Z 的应用 功能指令的标志 M8020 、 M8021 、 M8022

功能指令的应用

小结小结

Page 49: 第九章  功能指令

Date:

23/4/19 Page: 49