28
15 15 第第第第第第 第第第第第第 第第第第 一、 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

第 15 讲 传送和比较指令

  • Upload
    bevan

  • View
    198

  • Download
    0

Embed Size (px)

DESCRIPTION

第 15 讲 传送和比较指令. 一、比较指令 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. 4.3.1 单值比较指令和区间比较指令. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 15 讲  传送和比较指令

第第 1515 讲 传送和比较指令讲 传送和比较指令

一、比较指令 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 2: 第 15 讲  传送和比较指令

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

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

4.3.1 4.3.1 单值比较指令和区间比较指令单值比较指令和区间比较指令

1. 1. 单值比较指令单值比较指令 FNC10 CMPFNC10 CMP (( DCMPDCMP 、、 CMPPCMPP ))

Page 3: 第 15 讲  传送和比较指令

K200>(D0) 的当前值时, M100 = ON

K200= (D0) 的当前值时, M101 = ON

K200<(D0) 的当前值时, M102 = ON

[S1]

M100

M101

M102

X000 [S2] [D]

CMP K200 D0 M100

Y000

Y001

Y002X001

RST M100

RST M101

RST M102

X000 断开后, M100 、 M101 、 M102 保持 X000 断开前的状态, M100 、 M101 和 M102 的状态只能用 RST 指令或 ZRST 指令清除

图 4.13 单值比较指令

Page 4: 第 15 讲  传送和比较指令

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

22 、区间比较指令 、区间比较指令 FNC11 ZCP FNC11 ZCP (( DZCPDZCP 、 ZCPPZCPP ))

Page 5: 第 15 讲  传送和比较指令

M100

M101

M102

X000

Y000

Y001

Y002X001

RST M100

RST M101

RST M102

ZCP K200 M100D1 D0

(D0) < K200 的当前值时, M100 = ON

K200≤(D0) ≤(D1) 的当前值时, M101 = ON

(D1) <(D0) 的当前值时, M102 = ON

X000 接通时进行比较, X000 断开后比较结果仍保留,只有用 RST 指令或 ZRST 才能清除比较结果。

图 4.14 区间比较指令

Page 6: 第 15 讲  传送和比较指令

说 明

ZCP 指令是将源操作数 [S] 的数据和两个源操作数 [S1]

和 [S2] 的数据进行比较,结果送到 [D] 中, [D] 为三个

相邻元件的首地址。

ZCP 指令为二进制代数比较,并且 [S1] < [S2] ,如果

[S1] > [S2] ,则把 [S1] 视为 [S2] 处理。

X0 由 ON→OFF 时,不执行 ZCP 指令,比较结果保持不变,

需要用复位指令才能清除。

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

式。

Page 7: 第 15 讲  传送和比较指令

操作数[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)

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

4.3.2 4.3.2 传送指令传送指令

Page 8: 第 15 讲  传送和比较指令

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

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

制数后进行数据传送。 当 X0断开时,不执行 MOV 指令,数据保持不变。

Page 9: 第 15 讲  传送和比较指令

D20 1 0 1 1 1 1 11 10 0 01 1 1 1

高位 低位

D21 0 0 1 0 0 0 00 10 0 01 1 1 1

K2M0 10 0 01 1 1 1

保持原位 长数据送到短单元

短数据送到长单元全为 0

长度不同的数据之间的传送

Page 10: 第 15 讲  传送和比较指令

MOV 指令的应用

T50D11

X000

X000

FNC 12

MOV T60 D10

FNC 12

MOV K100 D11

FNC 12

DMOV D20 D22

FNC 12

MOV K2X000 K2Y000

Page 11: 第 15 讲  传送和比较指令

操作数[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 时程序出错。

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

Page 12: 第 15 讲  传送和比较指令

梯形图

[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 中的数自动变成二进制数。

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

Page 13: 第 15 讲  传送和比较指令

X17X16X15X14X13X12X11X10X7X6

X3

X5X4

X2

X1X0

0V

2

5

5

( a) I/O 连接图

M8000FNC 19

BIN K1X000 D20

FNC 19BIN

K2X010 D10

FNC 13SMOV

D10 K2 K2 D20 K3

( b)梯形图

(c) SMOV 指令的执行

D10 0 0 0 0 0 0 00 00 0 01 1 0 1BCD

D20 0 0 0 0 0 0 00 11 1 11 1 1 1

D10 0 0 0 0 0 0 00 00 1 10 0 0 1

BIN

BCD

D20 0 0 0 0 0 0 01 10 0 11 0 0 1

BIN原值原值

SMOV 指令的应用

Page 14: 第 15 讲  传送和比较指令

SMOV 指令直接传送数

X010

FNC 13SMOV

D10 K2 K2 D20 K3

M8168

X010M8168

Page 15: 第 15 讲  传送和比较指令

操作数

[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 位数据处理和连续 /脉冲执行方式

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

Page 16: 第 15 讲  传送和比较指令

梯形图

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)

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

Page 17: 第 15 讲  传送和比较指令

操作数 [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 K3

D7

D6

D5

D12

D11

D10

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

Page 18: 第 15 讲  传送和比较指令

说 明

[S] 为存放被传送的数据块的首地址; [D] 为存放传送

来的数据块的首地址; n为数据块的长度。

位元件进行传送时,源和目标操作数要有相同的位数。

当传送地址号重叠时,为防止在传送过程中数据丢失

(被覆盖),要先把重叠地址号中的内容送出,然后再

送入数据。如图所示,采用①~③的顺序自动传送。

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

Page 19: 第 15 讲  传送和比较指令

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

块传送指令的应用块传送指令的应用

Page 20: 第 15 讲  传送和比较指令

操作数 [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 中

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

Page 21: 第 15 讲  传送和比较指令

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

[D1]

X0

XCH ( P ) D0 D1

[D2]

(D0) (D1)

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

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

Page 22: 第 15 讲  传送和比较指令

操作数 [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]

4.3.3 4.3.3 变换指令 变换指令 FNC18 BCDFNC18 BCD 和 和 FNC19 BINFNC19 BIN

Page 23: 第 15 讲  传送和比较指令

案例:货料小车控制 • 一、控制要求

某车间有 6 个工作台,送料车往返于工作台之间送料,每个工作台设有一个到位开关( SQ )和一个呼吸按扭( SB )。具体控制要求如下: ( 1 )送料车开始应能停留在 6 个工作台中任意一个到位开关的位置上。 ( 2 )设送料车现暂停于 m 号工作台( SQ m

为 ON )处,这时 n 号工作台呼叫( SQ n 为 ON ),若:

Page 24: 第 15 讲  传送和比较指令

• ( a ) m>n ,送料车左行,直至 SQ n 动作,到位停车。即送料车所停位置 SQ 的编号大于呼叫按扭 SB 的编号时,送料车往左行运行至呼叫位置后停止。 ( b ) m<n ,送料车右行,直至 SQ n 动作,到位停车。即送料车所停位置 SQ 的编号小于呼叫按扭 SB 的编号时,送料车往右运行至呼叫位置后停止。 ( c ) m=n ,送料车原位不动。即送料车所停位置 SQ 的编号与呼叫按扭 SB 的编号相同时,送料车不动。

Page 25: 第 15 讲  传送和比较指令

二、 PLC 硬件的实现 1 、 I/O 的分配表

Page 26: 第 15 讲  传送和比较指令

2 、 I/O 的外部接线

Page 27: 第 15 讲  传送和比较指令

三、 PLC 软件的实现

Page 28: 第 15 讲  传送和比较指令

图中将送料车当前位置送到数据寄存器 D0 中,将呼叫工作台号送到数据寄存器 D1 中,然后通过 D0 与 D1

中数据的比较,决定送料车的运行方向和到达的目标位置。 作业: 1 、利用计数与比较指令,设计 24h 可设定定时时间的住宅控制器的控制程序(每 15min 为一个设定单位,即 24h 共有 96 个时间单位),要求实现如下控制:①早上 6:30 ,闹钟每秒响一次, 10 秒后自动停止。②9:00~17:00 ,启动住宅报警系统。③ 晚上 6 点打开住宅照明。④ 晚上 10:00 关闭住宅照明。(提示:可以设 X0 为启停开关; X1 为 15min 快速调整与试验开关;X2 为格数设定的快速调整与试验开关。使用时,早 0:00 时启动定时器。C0 为 15min 计数器,当按下 X0 时, C0 当前值每过 1S 加 1 ,当 C0当前值等于设定值 K900 时,即为 15min 。 C1 为 96 格计数器,它的当前值每 15min 加 1 ,当 C1 当前值等于设定值 K96 时,即为 24h 。另外, K26 、 K36 、 K68 、 K72 、 K88 分别为 6:30 、 9:00 、 17:00 、 18:00 和 22:00 的时间点。)2 、 P238 第 3 题