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
第第 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
操作数[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 ))
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 单值比较指令
操作数[S1] 、 [S1] : K,H 、 KnX 、 KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z[D] : Y、 M、 S梯形图
22 、区间比较指令 、区间比较指令 FNC11 ZCP FNC11 ZCP (( DZCPDZCP 、 ZCPPZCPP ))
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 区间比较指令
说 明
ZCP 指令是将源操作数 [S] 的数据和两个源操作数 [S1]
和 [S2] 的数据进行比较,结果送到 [D] 中, [D] 为三个
相邻元件的首地址。
ZCP 指令为二进制代数比较,并且 [S1] < [S2] ,如果
[S1] > [S2] ,则把 [S1] 视为 [S2] 处理。
X0 由 ON→OFF 时,不执行 ZCP 指令,比较结果保持不变,
需要用复位指令才能清除。
该指令可以进行 16/32 位数据处理和连续 /脉冲执行方
式。
操作数[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 传送指令传送指令
说 明 该指令将源操作数 [S] 中的数据传送到目标操作数 [D]
中去。 MOV 指令可以进行( D)和( P)操作。 如果 [S] 为十进制常数,执行该指令时自动转换成二进
制数后进行数据传送。 当 X0断开时,不执行 MOV 指令,数据保持不变。
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
长度不同的数据之间的传送
MOV 指令的应用
T50D11
X000
X000
FNC 12
MOV T60 D10
FNC 12
MOV K100 D11
FNC 12
DMOV D20 D22
FNC 12
MOV K2X000 K2Y000
操作数[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
梯形图
[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
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 指令的应用
SMOV 指令直接传送数
X010
FNC 13SMOV
D10 K2 K2 D20 K3
M8168
X010M8168
操作数
[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
梯形图
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)
若源操作数中的数为十进制常数时 ,将自动转换成二进制 .
操作数 [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
说 明
[S] 为存放被传送的数据块的首地址; [D] 为存放传送
来的数据块的首地址; n为数据块的长度。
位元件进行传送时,源和目标操作数要有相同的位数。
当传送地址号重叠时,为防止在传送过程中数据丢失
(被覆盖),要先把重叠地址号中的内容送出,然后再
送入数据。如图所示,采用①~③的顺序自动传送。
该指令可以连续 /脉冲执行方式。
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
①
③
块传送指令的应用块传送指令的应用
②
③
②
①
操作数 [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
操作数 [D1] 、 [D2] : KnY 、 KnM 、 KnS 、 T、 C、 D、 V,Z梯形图
[D1]
X0
XCH ( P ) D0 D1
[D2]
(D0) (D1)
66 、数据交换指令 、数据交换指令 FNC17 XCHFNC17 XCH
注意 交换指令一般要在脉冲方式执行 ,否则不能正常工作。
操作数 [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
案例:货料小车控制 • 一、控制要求
某车间有 6 个工作台,送料车往返于工作台之间送料,每个工作台设有一个到位开关( SQ )和一个呼吸按扭( SB )。具体控制要求如下: ( 1 )送料车开始应能停留在 6 个工作台中任意一个到位开关的位置上。 ( 2 )设送料车现暂停于 m 号工作台( SQ m
为 ON )处,这时 n 号工作台呼叫( SQ n 为 ON ),若:
• ( a ) m>n ,送料车左行,直至 SQ n 动作,到位停车。即送料车所停位置 SQ 的编号大于呼叫按扭 SB 的编号时,送料车往左行运行至呼叫位置后停止。 ( b ) m<n ,送料车右行,直至 SQ n 动作,到位停车。即送料车所停位置 SQ 的编号小于呼叫按扭 SB 的编号时,送料车往右运行至呼叫位置后停止。 ( c ) m=n ,送料车原位不动。即送料车所停位置 SQ 的编号与呼叫按扭 SB 的编号相同时,送料车不动。
二、 PLC 硬件的实现 1 、 I/O 的分配表
2 、 I/O 的外部接线
三、 PLC 软件的实现
图中将送料车当前位置送到数据寄存器 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 题