15 PLC 功能应用MPD
443
指令 功能
AND 串联 A 接点
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 AND 指令用于 A 接点的串联连接,先读取目前所指定串联接点的状态再与接点之前逻辑运
算结果作「及 (AND)」的运算,并将结果存入累积缓存器内。
程序范例
阶梯图:
X1 X0
Y1
指令码 说明
LDI X1 载入 X1 之 B 接点
AND X0 串联 X0 之 A 接点
OUT Y1 驱动 Y1 线圈
指令 功能
ANI 串联 B 接点
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 ANI 指令用于 B 接点的串联连接,它的作用是先读取目前所指定串联接点的状态再与接点
之前逻辑运算结果作「及 (AND)」的运算,并将结果存入累积缓存器内。
程序范例
阶梯图:
X1 X0
Y1
指令码 说明
LD X1 载入 X1 之 A 接点
ANI X0 串联 X0 之 B 接点
OUT Y1 驱动 Y1 线圈
指令 功能
OR 并联 A 接点
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 OR 指令用于 A 接点的并联连接,它的作用是先读取目前所指定串联接点的状态再与接点
之前逻辑运算结果作「或 (OR)」的运算,并将结果存入累积缓存器内。
程序范例
阶梯图:
X0
X1
Y1
指令码 说明
LD X0 载入 X0 之 A 接点
OR X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
15 PLC 功能应用MPD
444
指令 功能
ORI 并联 B 接点
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 ORI 指令用于 B 接点的并联连接,它的作用是先读取目前所指定串联接点的状态再与接点
之前逻辑运算结果作「或 (OR)」的运算,并将结果存入累积缓存器内。
程序范例
阶梯图:
X0
X1
Y1
指令码 说明
LD X0 载入 X0 之 A 接点
ORI X1 串联 X1 之 B 接点
OUT Y1 驱动 Y1 线圈
指令 功能
ANB 串联回路方块
操作数 无
指令说明 ANB 是将前一保存的逻辑结果与目前累积缓存器的内容作「及 (AND)」的运算。
程序范例
阶梯图:
X1
X3
Y1
X0
X2
ANB
Block A Block B
指令码 说明
LD X0 载入 X0 之 A 接点
ORI X2 并联 X2 之 B 接点
LDI X1 载入 X1 之 B 接点
OR X3 并联 X3 之 A 接点
ANB 串联回路方块
OUT Y1 驱动 Y1 线圈
指令 功能
ORB 并联回路方块
操作数 无
指令说明 ORB 是将前一保存的逻辑结果与目前累积缓存器的内容作「或 (OR)」的运算。
程序范例
阶梯图:
X1
X3
Y1
X0
X2
ORB
Block A
Block B
指令码 说明
LD X0 载入 X0 之 A 接点
ANI X1 并联 X1 之 B 接点
LDI X2 载入 X2 之 B 接点
AND X3 并联 X3 之 A 接点
ORB 并联回路方块
OUT Y1 驱动 Y1 线圈
15 PLC 功能应用MPD
445
指令 功能
MPS 存入堆栈
操作数 无
指令说明 将目前累积缓存器的内容存入堆栈。(堆栈指针加一)
指令 功能
MRD 读出堆栈 (指针不动)
操作数 无
指令说明 读取堆栈内容存入累积缓存器。(堆栈指针不动)
指令 功能
MPP 读出堆栈
操作数 无
指令说明 自堆栈取回前一保存的逻辑运算结果,存入累积缓存器。(堆栈指针减一)
程序范例
阶梯图:
X0
Y1
X1
M0
X2
Y2
END
MPP
MRD
MPS
指令码 说明
LD X0 载入 X0 之 A 接点
MPS 存入堆栈
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
MRD 读出堆栈 (指针不动)
AND X2 串联 X2 之 A 接点
OUT M0 驱动 M0 线圈
MPP 读出堆栈
OUT Y2 驱动 Y2 线圈
END 程序结束
指令 功能
OUT 驱动线圈
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
指令说明
将 OUT 指令之前的逻辑运算结果输出至指定的组件。
线圈接点动作:
运算结果
OUT 指令
线圈 接点
A 接点 (常开) B 接点 (常闭)
FALSE OFF 不导通 导通
TRUE ON 导通 不导通
程序范例
阶梯图:
X0 X1
Y1
指令码 说明
LDI X0 载入 X0 之 B 接点
AND X1 并联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
15 PLC 功能应用MPD
446
指令 功能
SET 动作保持 (ON)
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
指令说明 当 SET 指令被驱动,其指定的组件被设定为 ON,且被设定的组件会维持 ON,不管 SET
指令是否仍被驱动。可利用 RST 指令将该组件设为 OFF。
程序范例
阶梯图:
X0 Y0
SET Y1
指令码 说明
LD X0 载入 X0 之 A 接点
ANI Y0 并联 Y0 之 B 接点
SET Y1 动作保持 (ON)
指令 功能
RST 接点或缓存器清除
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明
当 RST 指令被驱动,其指定的组件的动作如下:
组件 状态
Y, M 线圈及接点都会被设定为 OFF。
T, C 目前计时或计数值会被设为 0,且线圈及接点都会被设定为 OFF。
D 内容值会被设为 0。
若 RST 指令没有被执行,其指定组件的状态保持不变。
程序范例
阶梯图:
X0
RST Y5
指令码 说明
LD X0 载入 X0 之 A 接点
RST Y5 接点或缓存器清除
指令 功能
TMR 16 位定时器
操作数
T-K T0~T159,K0~K32,767
T-D T0~T159,D0~D399
指令说明
当 TMR 指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定
时值 (计时值 设定值),其接点动作如下:
NO (Normally Open) 接点 闭合
NC (Normally Close) 接点 开路
若 RST 指令没有被执行,其指定组件的状态保持不变。
程序范例
阶梯图:
X0
TMR T5 K1000
指令码 说明
LD X0 载入 X0 之 A 接点
TMR T5 K1000
T5 定时器
设定值为 K1000
15 PLC 功能应用MPD
447
指令 功能
CNT 16 位计数器
操作数
C-K C0~C79,K0~K32,767
C-D C0~C79,D0~D399
指令说明
当 CNT 指令由 OFFON 执行,表示所指定的计数器线圈由失电受电,则该计数器计数
值加 1,当计数到达所指定的定数值 (计数值 = 设定值),其接点动作如下:
NO (Normally Open) 接点 闭合
NC (Normally Close) 接点 开路
当计数到达之后,若再有计数脉波输入,其接点及计数值均保持不变,若要重新计数或作
清除的动作,请利用 RST 指令。
程序范例
阶梯图:
X0
CNT K100 C2
指令码 说明
LD X0 载入 X0 之 A 接点
CNT C2 K100
C2 计数器
设定值为 K100
指令 功能
MC / MCR 共通串联接点之连结 / 解除
操作数 N0~N7
指令说明
MC 为主控起始指令,当 MC 指令执行时,位于 MC 与 MCR 指令之间的指令照常执行。当
MC 指令 OFF 时,位于 MC 与 MCR 指令之间的指令动作如下所示:
指令区分 说明
一般定时器 计时值归零,线圈失电,接点不动作
计数器 线圈失电,计数值及接点保持目前状态
OUT 指令驱动的线圈 全部不受电
SET、RST 指令驱动的组件 保持目前状态
应用指令 全部不动作
MCR 为主控结束指令,置于主控程序最后,在 MCR 指令之前不可有接点指令。
MC-MCR 主控程序指令支持巢状程序结构,最多可 8 层,使用时依 N0~N7 的顺序,请参
考如下程序范例。
程序范例
阶梯图:
X0
MC N0
X1
Y0
X2
MC N1
X3
Y1
MCR N1
MCR N0
X10
MC N0
X11
Y10
MCR N0
指令码 说明
LD X0 载入 X0 之 A 接点
MC N0 N0 共通串联接点之连结
LD X1 载入 X1 之 A 接点
OUT Y0 驱动 Y0 线圈
⁞
LD X2 载入 X2 之 A 接点
MC N1 N1 共通串联接点之连结
LD X3 载入 X3 之 A 接点
OUT Y1 驱动 Y1 线圈
⁞
MCR N1 N1 共通串联接点之解除
15 PLC 功能应用MPD
448
⁞
MCR N0 N0 共通串联接点之解除
⁞
LD X10 载入 X10 之 A 接点
MC N0 N0 共通串联接点之连结
LD X11 载入 X11 之 A 接点
OUT Y10 驱动 Y10 线圈
⁞
MCR N0 N0 共通串联接点之解除
指令 功能
LDP 正缘检出动作开始
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 LDP 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的接
点上升缘检出状态存入累积缓存器内。
程序范例
阶梯图:
X1
Y1
X0
指令码 说明
LDP X0 X0 正缘检出动作开始
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
补充说明
各操作数使用范围请参考各系列机种功能规格表。
若 PLC 电源开启前,指定上升缘接点的状态为 ON,则电源开启后该上升缘接点为
TRUE。
指令 功能
LDF 负缘检出动作开始
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 LDP 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的接
点下降缘检出状态存入累积缓存器内。
程序范例
阶梯图:
X1
Y1
X0
指令码 说明
LDF X0 X0 负缘检出动作开始
AND X1 串联 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
15 PLC 功能应用MPD
449
指令 功能
ANDP 正缘检出串联连接
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 ANDP 指令用于接点上升缘检出的串联连接。
程序范例
阶梯图:
X1
Y1
X0
指令码 说明
LD X0 载入 X0 之 A 接点
ANDP X1 X1 正缘检出串联连接
OUT Y1 驱动 Y1 线圈
指令 功能
ANDF 负缘检出串联连接
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 ANDP 指令用于接点上升缘检出的串联连接。
程序范例
阶梯图:
X1
Y1
X0
指令码 说明
LD X0 载入 X0 之 A 接点
ANDF X1 X1 负缘检出串联连接
OUT Y1 驱动 Y1 线圈
指令 功能
ORP 正缘检出并联连接
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 ORP 指令用于接点上升缘检出的并联连接。
程序范例
阶梯图:
X0
X1
Y1
指令码 说明
LD X0 载入 X0 之 A 接点
ORP X1 X1 正缘检出并联连接
OUT Y1 驱动 Y1 线圈
指令 功能
ORF 负缘检出并联连接
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
-
指令说明 ORF 指令用于接点下降缘检出的并联连接。
程序范例
阶梯图:
X0
X1
Y1
指令码 说明
LD X0 载入 X0 之 A 接点
ORF X1 X1 负缘检出并联连接
OUT Y1 驱动 Y1 线圈
15 PLC 功能应用MPD
450
指令 功能
PLS 上微分输出
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
指令说明 上微分输出指令。当 X0 = OFFON (正缘触发) 时 PLS 指令被执行,M0 送出一次脉波,
脉波长度为一次扫描时间。
程序范例
阶梯图:
X0
PLS M0
M0
SET Y0
时序图:
指令码 说明
LD X0 载入 X0 之 A 接点
PLS M0 M0 上微分输出
LD M0 载入 M0 之 A 接点
SET Y0 Y0 动作保持 (ON)
指令 功能
PLF 下微分输出
操作数
X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399
- - - -
指令说明 下微分输出指令。当 X0 = ONOFF (负缘触发) 时 PLF 指令被执行,M0 送出一次脉波,
脉波长度为一次扫描时间。
程序范例
阶梯图:
X0
PLF M0
M0
SET Y0
时序图:
指令码 说明
LD X0 载入 X0 之 A 接点
PLF M0 M0 下微分输出
LD M0 载入 M0 之 A 接点
SET Y0 Y0 动作保持 (ON)
指令 功能
END 程序结束
操作数 无
指令说明 在阶梯图程序或指令程序最后必须加入 END 指令。PLC 由地址 0 扫描到 END 指令,执行
之后,返回到地址 0 重新作扫描执行。
15 PLC 功能应用MPD
451
指令 功能
NOP 无动作
操作数 无
指令说明 指令 NOP 在程序不做任何运算,因此执行后仍会保持原逻辑运算结果,使用时机如下:
想要删除某一指令,而又不想改变程序长度,则可以 NOP 指令取代。
程序范例
阶梯图: 指令码 说明
LD X0 载入 X0 之 B 接点
NOP 无动作
OUT Y1 驱动 Y1 线圈
指令 功能
INV 运算结果反相
操作数 无
指令说明 将 INV 指令之前的逻辑运算结果反相存入累积缓存器内。
程序范例
阶梯图:
X0
Y1
指令码 说明
LD X0 载入 X0 之 B 接点
INV 运算结果反相
OUT Y1 驱动 Y1 线圈
指令 功能
P 指标
操作数 P0~P255
指令说明 指针 P 用于子程序呼叫指令 API 01 CALL 使用不须从编号 0 开始,但是编号不能重复使
用,否则会发生不可预期的错误。
程序范例
阶梯图:
X0
Y1
CALL P10
X1
P10
指令码 说明
LD X0 载入 X0 之 A 接点
CALL P10 呼叫指令 CALL 到 P10
⁞
P10 指标 P10
LD X1 载入 X1 之 A 接点
OUT Y1 驱动 Y1 线圈
15 PLC 功能应用MPD
452
15-6-3 应用指令一览表
分类 API 指令码
P 指令 功能
STEPS
16 位 32 位 16 位 32 位
回路
控制
01 CALL - 呼叫子程序 3 -
02 SRET - - 子程序结束 1 -
06 FEND - - 主程序结束 1 -
传送
比较
10 CMP DCMP 比较设定输出 7 13
11 ZCP DZCP 区域比较 9 17
12 MOV DMOV 数据移动 5 9
13 SMOV DSMOV 位数移动 11 21
15 BMOV – 全部传送 7 –
四则
逻辑
运算
18 BCD DBCD BIN 到 BCD 变换 5 9
19 BIN DBIN BCD 到 BIN 变换 5 9
20 ADD DADD BIN 加法 7 13
21 SUB DSUB BIN 减法 7 13
22 MUL DMUL BIN 乘法 7 13
23 DIV DDIV BIN 除法 7 13
24 INC DINC BIN 加一 3 5
25 DEC DDEC BIN 减一 3 5
旋转
位移
30 ROR DROR 右旋转 5 –
31 ROL DROL 左旋转 5 –
资料
处理
40 ZRST – 区域清除 5 -
41 DECO DDECO 译码器 7 13
42 ENCO DENCO 编码器 7 13
43 SUM DSUM On 位数量 5 9
44 BON DBON On 位判定 7 13
49 FLT DFLT BIN 整数二进浮点数变换 5 9
浮点
运算
110 – DECMP 二进浮点数比较 – 13
111 – DEZCP 二进浮点数区域比较 – 17
116 – DRAD 角度径度 – 9
117 – DDEG 径度角度 – 9
120 – DEADD 二进浮点数加法 – 13
121 – DESUB 二进浮点数减法 – 13
122 – DEMUL 二进浮点数乘法 – 13
123 – DEDIV 二进浮点数除法 – 13
124 – DEXP 二进浮点数取指数 – 9
125 – DLN 二进浮点数取自然对数 – 9
127 – DESQR 二进浮点数开平方根 – 9
129 INT DINT 二进浮点数BIN 整数变换 5 9
130 – DSIN 二进浮点数 SIN 运算 – 9
131 – DCOS 二进浮点数 COS 运算 – 9
132 – DTAN 二进浮点数 TAN 运算 – 9
15 PLC 功能应用MPD
453
分类 API 指令码
P 指令 功能
STEPS
16 位 32 位 16 位 32 位
133 – DASIN 二进浮点数 ASIN 运算 – 9
134 – DACOS 二进浮点数 ACOS 运算 – 9
135 – DATAN 二进浮点数 ATAN 运算 – 9
136 – DSINH 二进浮点数 SINH 运算 – 9
137 – DCOSH 二进浮点数 COSH 运算 – 9
138 – DTANH 二进浮点数 TANH 运算 – 9
其他 147 SWAP DSWAP 上下 8 位互换 3 5
通讯 150 MODRW – Modbus 读写 7 –
万年历
160 TCMP – 万年历数据比较 11 –
161 TZCP – 万年历数据区域比较 9 –
162 TADD – 万年历资料加算 7 –
163 TSUB – 万年历资料减算 7 –
166 TRD – 万年历资料读出 3 –
格雷码
170 GRY DGRY BINGRY 码变换 5 9
171 GBIN DGBIN GRY 码BIN 变换 5 9
接点
型态
逻辑
运算
215 LD& DLD& - 接点型态逻辑运算 LD# 5 9
216 LD| DLD| - 接点型态逻辑运算 LD# 5 9
217 LD^ DLD^ - 接点型态逻辑运算 LD# 5 9
218 AND& DAND& - 接点型态逻辑运算 AND# 5 9
219 ANDl DANDl - 接点型态逻辑运算 AND# 5 9
220 AND^ DAND^ - 接点型态逻辑运算 AND# 5 9
221 OR& DOR& - 接点型态逻辑运算 OR# 5 9
222 OR| DOR| - 接点型态逻辑运算 OR# 5 9
223 OR^ DOR^ - 接点型态逻辑运算 OR# 5 9
接点
型态
比较
指令
224 LD= DLD= - 接点型态比较 LD※ 5 9
225 LD> DLD> - 接点型态比较 LD※ 5 9
226 LD< DLD< - 接点型态比较 LD※ 5 9
228 LD<> DLD<> - 接点型态比较 LD※ 5 9
229 LD<= DLD<= - 接点型态比较 LD※ 5 9
230 LD>= DLD>= - 接点型态比较 LD※ 5 9
232 AND= DAND= - 接点型态比较 AND※ 5 9
233 AND> DAND> - 接点型态比较 AND※ 5 9
234 AND< DAND< - 接点型态比较 AND※ 5 9
236 AND<> DAND<> - 接点型态比较 AND※ 5 9
237 AND<= DAND<= - 接点型态比较 AND※ 5 9
238 AND>= DAND>= - 接点型态比较 AND※ 5 9
240 OR= DOR= - 接点型态比较 OR※ 5 9
241 OR> DOR> - 接点型态比较 OR※ 5 9
242 OR< DOR< - 接点型态比较 OR※ 5 9
244 OR<> DOR<> - 接点型态比较 OR※ 5 9
15 PLC 功能应用MPD
454
分类 API 指令码
P 指令 功能
STEPS
16 位 32 位 16 位 32 位
245 OR<= DOR<= - 接点型态比较 OR※ 5 9
246 OR>= DOR>= - 接点型态比较 OR※ 5 9
浮点
接点
型态
275 - FLD= - 浮点数接点型态比较 LD※ - 9
276 - FLD> - 浮点数接点型态比较 LD※ - 9
277 - FLD< - 浮点数接点型态比较 LD※ - 9
比较
指令
278 - FLD<> - 浮点数接点型态比较 LD※ - 9
279 - FLD<= - 浮点数接点型态比较 LD※ - 9
280 - FLD>= - 浮点数接点型态比较 LD※ - 9
281 - FAND= - 浮点数接点型态比较 AND※ - 9
282 - FAND> - 浮点数接点型态比较 AND※ - 9
283 - FAND< - 浮点数接点型态比较 AND※ - 9
284 - FAND<> - 浮点数接点型态比较 AND※ - 9
285 - FAND<= - 浮点数接点型态比较 AND※ - 9
286 - FAND>= - 浮点数接点型态比较 AND※ - 9
287 - FOR= - 浮点数接点型态比较 OR※ - 9
288 - FOR> - 浮点数接点型态比较 OR※ - 9
289 - FOR< - 浮点数接点型态比较 OR※ - 9
290 - FOR<> - 浮点数接点型态比较 OR※ - 9
291 - FOR<= - 浮点数接点型态比较 OR※ - 9
292 - FOR>= - 浮点数接点型态比较 OR※ - 9
变频器
特殊
指令
139 RPR – 变频器参数读取 5 –
140 WPR – 变频器参数写入 5 –
141 FPID – 变频器 PID 控制 9 –
142 FREQ – 变频器器运转控制 7 –
323 WPRA – - 变频器参数写入 RAM 5 -
15 PLC 功能应用MPD
455
15-6-4 应用指令详细说明
指令码为 16 位,若有支持 32 位,会在指令码前加 D;若有脉波执行的指令,则会在指令码后加 P。
API 指令码 操作数 功能
01 CALL P S 呼叫子程序
类型
操作数
位装置 字符装置 16 位指令 (3 STEPS)
CALL 连续
执行型 CALLP 脉波
执行型
32 位指令
- - - -
旗标信号:无
X Y M K H KnX KnY KnM T C D
操作数使用注意:
S 操作数可指定 P
MP300 的 S 操作数可指定 P0~P63
指令说明
S:呼叫子程序之指针。
子程序请于 FEND 指令后编写。
子程序必须在 SRET 指令后结束。
指令详细功能请参考 FEND 指令说明及范例内容。
API 指令码 操作数 功能
02 SRET - 子程序结束
类型
操作数
位装置 字符装置 16 位指令 (1 STEP)
SRET 连续
执行型 - -
32 位指令
- - - -
旗标信号:无
X Y M K H KnX KnY KnM T C D
操作数使用注意:
无操作数
不须接点驱动的指令
指令说明
不须接点驱动的指令。自动返回 CALL 指令的下一个指令
表示子程序结束。子程序执行结束由 SRET 返回主程序,执行原呼叫子程序 CALL 指令的下一个
指令。
指令详细功能请参考 FEND 指令说明及范例内容。
15 PLC 功能应用MPD
456
API 指令码 操作数 功能
06 FEND - 主程序结束
类型
操作数
位装置 字符装置 16 位指令 (1 STEP)
FEND 连续
执行型 - -
32 位指令
- - - -
旗标信号:无
X Y M K H KnX KnY KnM T C D
操作数使用注意:
无操作数
不须接点驱动的指令
指令说明
此指令代表着主程序结束,当 PLC 执行至此指令时,与 END 指令相同。
CALL 指令的程序必须写在 FEND 指令后,并且在该子程序结束加上 SRET 指令。
当使用 FEND 指令,一个 END 指令也是必须的。但是 END 指令要放在最后,在主程序和子程
序之后。
CALL 指令
动作流程
15 PLC 功能应用MPD
457
API 指令码 操作数 功能
10 D CMP P S1,S2,D 比较设定输出
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
CMP 连续
执行型 CMPP 脉波
执行型
32 位指令 (13 STEPS)
DCMP 连续
执行型
DCMP
P
脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
D 操作数会占用连续 3 点
指令说明
S1:比较值 1
S2:比较值 2
D:比较结果
将操作数 S1和 S2的内容作大小比较,其比较结果在 D 作表示。
大小比较是以代数来进行,全部的数据是以有号数二进制数值来作比较。因此 16 位指令,b15
为 1 时,表示为负数。
程序范例
指定装置为 Y0,则自动占有 Y0,Y1 及 Y2。
当 X10 = ON 时,CMP 指令执行,Y0、Y1 及 Y2 其中之一会 ON,当 X10 = OFF 时,CMP 指令
不执行,Y0、Y1 及 Y2 状态保持在 X10 = OFF 之前的状态。
若需要得到 ≥、≤、≠ 之结果时,可将 Y0~Y2 串并联即可取得。
若要清除其比较结果请使用 RST 或 ZRST 指令。
X10
RST M0
RST M1
RST M2
X10
ZRST M0 M2
15 PLC 功能应用MPD
458
API 指令码 操作数 功能
11 D ZCP P S1,S2,S,D 区域比较
类型
操作数
位装置 字符装置 16 位指令 (9 STEPS)
ZCP 连续
执行型 ZCPP 脉波
执行型
32 位指令 (17 STEPS)
DZCP 连续
执行型 DZCPP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
S
D
操作数使用注意:
S1操作数内容值需小于 S2操作数内容值
D 操作数会占用连续 3 点
指令说明
S1:区域比较之下限值
S2:区域比较之上限值
S:比较值
D:比较结果
比较值 S 与下限 S1及上限 S2作比较,其比较结果在 D 作表示。
当下限 S1 >上限 S2时,则指令以下限 S1作为上下限进行比较。
大小比较是以代数来进行,全部的数据是以有号数二进制数值来作比较。因此 16 位指令,b15
为 1 时,表示为负数。
程序范例
指定装置为 M0,则自动占有 M0、M1 及 M2。
当 X0 = ON 时,ZCP 指令执行,M0、M1 及 M2 其中之一会 ON,当 X0 = OFF 时,ZCP 指令不
执行,M0、M1 及 M2 状态保持在 X0 = OFF 之前的状态。
若需要得到 ≥、≤、≠ 之结果时,可将 M0~M2 串并联即可取得。
若要清除其比较结果请使用 RST 或 ZRST 指令。
X0
RST M0
RST M1
RST M2
X0
ZRST M0 M2
15 PLC 功能应用MPD
459
API 指令码 操作数 功能
12 D MOV P S,D 数据移动
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
MOV 连续
执行型 MOVP 脉波
执行型
32 位指令 (9 STEPS)
DMOV 连续
执行型 DMOVP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:无
指令说明
S:资料之来源
D:数据之搬移目的地
当该指令执行时,将 S 的内容直接搬移至 D 内。当指令不执行时,D 内容不会变化。
程序范例
当 X0 = OFF 时,D10 内容没有变化,若 X0 = ON 时,将数值 K10 传送至 D10 数据缓存器内。
当 X1 = OFF 时,D10 内容没有变化,若 X1 = ON 时,将 T0 现在值传送至 D10 数据缓存器内。
X0
MOV D0 K10
X1
MOV D10 T0
15 PLC 功能应用MPD
460
API 指令码 操作数 功能
13 SMOV P S,m1,m2,D,n 位数移动
类型
操作数
位装置 字符装置 16 位指令 (11 STEPS)
SMOV 连续
执行型 SMOVP 脉波
执行型
32 位指令 (21 STEPS)
DSMOV 连续
执行型 DSMOVP 脉波
执行型
旗标信号:M1168
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:无
指令说明
S:资料源
m1:数据源传送起始位数
m2:数据源传送位数的个数
D:传送的目的地装置
n:传送的目的地起始位数
BCD 模式 (M1168 = OFF):
此模式下 SMOV 致能操作 BCD 数,与 SMOV 操作十进制数字类似。也就是说,此指令复制操
作数 S (S 是 4 位 BCD 数) 的指定位数并传送至操作数 D (D 同样也是 4 位 BCD 数)。
BIN 模式 (M1168 = ON):
此指令复制操作数 S (S 是 4 位十进制数字) 的指定位数并传送至操作数 D (D 同样也是 4 位十进
制数字)。目标缓存器的现有数据被覆盖。
m1的范围:1~4
m2的范围:1~m1 (不能大于 m1)
n 的范围:m2 ~4 (不能小于 m2)
程序范例
范例 1
当 M1168 = OFF 时 (BCD 模式),X0 = ON,指定 D10 的 10 进制数值的第 4 位数 (意即千位数)
开始往低位计算的 2 位数内容传送至 D20 的 10 进制数值的第 3 位数 (意即百位数) 开始往低位计
算的 2 位数中。而 D20 的 103及 100于本指令被执行后内容没有变化。
15 PLC 功能应用MPD
461
范例 2
当 M1168 = ON (BIN 模式) 时,使用 SMOV 指令的话,D10、D20 并不会作 BCD 变换,而是以
BIN 型态 4 个位为一个单位作传送。
15 PLC 功能应用MPD
462
API 指令码 操作数 功能
15 BMOV P S,D,n 全部传送
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
BMOV 连续
执行型 BMOVP 脉波
执行型
32 位指令
- - - -
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
n
操作数使用注意:
N 操作数范围 n = 1~512
指令说明
S:来源装置起始
D:目的地装置起始
n:传送区块长度
S 所指定的装置起始号码开始算 n 个缓存器的内容被传送至 D 所指定的装置起始号码开始算 n 个
缓存器当中,如果 n 所指定点数超过该装置的使用范围时,只有有效范围被传送。
程序范例
范例 1
当 X10 = ON 时,D0~D3 的 4 个缓存器内容被传送至 D20~D23 的 4 个缓存器内。
范例 2
如果指定位装置 KnX、KnY、KnM、作传送时,S 及 D 的位数必须相同,即 n 之数目须相同。
范例 3
为了防止两个操作数所指定传送的号码重迭时,所造成的混乱,请注意两个操作数所指定号码大
小的安排,如下所示:
当 S > D 时,以的顺序传送。
X10
BMOV D20 D19 K3 D20
D21
D22
D19
D20
D21
1
2
3
当 S < D 时,以的顺序传送。
D10
D11
D12
D11
D12
D13 1
2
3
X11
BMOV D10 D11 K3
15 PLC 功能应用MPD
463
API 指令码 操作数 功能
18 D BCD P S,D BIN→BCD 变换
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
BCD 连续
执行型 BCDP 脉波
执行型
32 位指令 (9 STEPS)
DBCD 连续
执行型 DBCDP 脉波
执行型
旗标信号:
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:无
指令说明
S:资料之来源
D:数据之搬移目的地
数据源 S 的内容 (BIN 值,范围 0~9999) 作 BCD 的转换,存于 D。
S、D 操作数使用 F 装置,仅可使用 16 位指令。
程序范例
当 X0 = ON 时,D10 的 BIN 值被转换成 BCD 值后,将结果的个位数存于 K1Y0 (Y0~Y3) 四个 bit
组件。
BCD D10 K1Y0
X0
若 D10 = 001E (Hex) = 0030 (十进制),则执行结果 Y0~Y3 = 0000 (BIN)。
API 指令码 操作数 功能
19 D BIN P S,D BCD→BIN 变换
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
BIN 连续
执行型 BINP 脉波
执行型
32 位指令 (9 STEPS)
DBIN 连续
执行型 DBINP 脉波
执行型
旗标信号:
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:无
指令说明
S:数据源
D:变换的结果
数据源 S 的内容 (BCD:0~9,999) 作 BIN 的转换,存于 D。
数据源 S 的内容有效数值范围:BCD (0~9,999),DBCD (0~99,999,999)。
程序范例
当 X0 = ON,K1X20 的 BCD 值被转换成 BIN 值后,将结果存于 D10 中。
X0
BIN K1X20 D10
补充说明
当 PLC 要从外界读取一个 BCD 型态指拨开关时,就必须使用 BIN 指令先将读取到的数据转换成
BIN 值再储存在 PLC 内。
15 PLC 功能应用MPD
464
API 指令码 操作数 功能
20 D ADD P S1,S2,D BIN 加法
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
ADD 连续
执行型 ADDP 脉波
执行型
32 位指令 (13 STEPS)
DADD 连续
执行型 DADDP 脉波
执行型
旗标信号:
M1020 零旗号 (Zero flag)
M1021 借位旗号 (Borrow flag)
M1022 进位旗号 (Carry flag)
请参考下列补充说明
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:无
指令说明
S1:被加数
S2:加数
D:和
将两个资料源:S1及 S2以 BIN 方式相加的结果存于 D。
各数据的最高位位为符号位 0 表 ( 正 ) , 1 表 ( 负 ) ,因此可做代数加法运算。
例如:3 + (-9) = -6
加法相关旗号变化:
1. 演算结果为 0 时,零旗号 (Zero flag) M1020 为 ON。
2. 演算结果小于 –32,768 时,借位旗号 (Borrow flag) M1021 为 ON。
3. 演算结果大于 32,767 时,进位旗号 (Carry flag) M1022 为 ON。
程序范例
16 位 BIN 加法:当 X0 = ON 时,被加数 D0 内容加上加数 D10 之内容将结果存在 D20 之内容当
中。
X0
ADD D0 D10 D20
补充说明
旗号动作与数值的正负关系:
15 PLC 功能应用MPD
465
API 指令码 操作数 功能
21 D SUB P S1,S2,D BIN 减法
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
SUB 连续
执行型 SUBP 脉波
执行型
32 位指令 (13 STEPS)
DSUB 连续
执行型 DSUBP 脉波
执行型
旗标信号:
M1020 零旗号 (Zero flag)
M1021 借位旗号 (Borrow flag)
M1022 进位旗号 (Carry flag)
请参考下列补充说明
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:无
指令说明
S1:被减数
S2:减数
D:差
将两个资料源:S1 及 S2 以 BIN 方式相减的结果存于 D。
各数据的最高位位为符号位 0 表 (正),1 表 (负),因此可做代数减法运算。
减法相关旗号变化:
1. 演算结果为 0 时,零旗号 (Zero flag) M1020 为 ON。
2. 演算结果小于 –32,768 时,借位旗号 (Borrow flag) M1021 为 ON。
3. 演算结果大于 32,767 时,进位旗号 (Carry flag) M1022 为 ON。
程序范例
16 位 BIN 减法:当 X0 = ON 时,将 D0 内容减掉 D10 内容将差存在 D20 之内容中。
X0
SUB D0 D10 D20
15 PLC 功能应用MPD
466
API 指令码 操作数 功能
22 D MUL P S1,S2,D BIN 乘法
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
MUL 连续
执行型 MULP 脉波
执行型
32 位指令 (13 STEPS)
DMUL 连续
执行型 DMULP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
16 位指令 D 操作数会占用连续 2 点
指令说明
S1:被乘数
S2:乘数
D:积
将两个资料源:S1 及 S2 以有号数二进制方式相乘后的积存于 D。
16 位 BIN 乘法运算:
D 为位装置时,可指定 K1~K4 构成 16 位,占用连续 2 组。
程序范例
16 位 DO 乘上 16 位 D10 其结果是 32 位之积,上 16 位存于 D21,下 16 位存于 D20 内,结果之
正负由最左边位之 OFF / ON 来代表正或负值。
X0
MUL D0 D10 D20
MUL D0 D10 K8M0
15 PLC 功能应用MPD
467
API 指令码 操作数 功能
23 D DIV P S1,S2,D BIN 除法
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
DIV 连续
执行型 DIVP 脉波
执行型
32 位指令 (13 STEPS)
DDIV 连续
执行型 DDIVP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
16 位指令 D 操作数会占用连续 2 点
指令说明
S1:被除数
S2:除数
D:商及余数
将两个资料源:S1 及 S2 以有号数二进制方式相除后的商及余数存于 D。必须注意 16 位运算
时,S1、S2 及 D 的符号位。
16 位 BIN 除法运算:
D 为位装置时,可指定 K1~K4 构成 16 位,占用连续 2 组得到商及余数。
程序范例
当 X0 = ON 时,被除数 D0 除以除数 D10 而结果商被指定放于 D20,余数指定放于 D21 内。所
得结果之正负由最高位位之 OFF / ON 来代表正或负值。
X0
DIV D0 D10 D20
DIV D0 D10 K4Y0
15 PLC 功能应用MPD
468
API 指令码 操作数 功能
24 D INC P D BIN 加一
类型
操作数
位装置 字符装置 16 位指令 (3 STEPS)
INC 连续
执行型 INCP 脉波
执行型
32 位指令 (5 STEPS)
DINC 连续
执行型 DINCP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
D
操作数使用注意:无
指令说明
D:目的地装置
若指令不是脉波执行型,则当指令执行时,程序每次扫描周期被指定的装置 D 内容都会加 1。
本指令一般都是使用脉波执行型指令 (INCP)。
16 位运算时,32,767 再加 1 则变为 -32,768。32 位运算时,2,147,483,647 再加 1 则变为 -
2,147,483,648。
程序范例
当 X0 = OFFON 时,D0 内容自动加 1。
X0
INCP D0
API 指令码 操作数 功能
25 D DEC P D BIN 减一
类型
操作数
位装置 字符装置 16 位指令 (3 STEPS)
DEC 连续
执行型 DECP 脉波
执行型
32 位指令 (5 STEPS)
DECC 连续
执行型 DDECP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
D
操作数使用注意:无
指令说明
D:目的地装置
若指令不是脉波执行型,则当指令执行时,程序每次扫描周期被指定的装置 D 内容都会减 1。
本指令一般都是使用脉波执行型指令 (DECP)。
16 位运算时,-32,768 再减 1 则变为 32,767。32 位运算时,-2,147,483,648 再减 1 则变为
2,147,483,647。
程序范例
当 X0 = OFFON 时,D0 内容自动减 1。
X0
DECP D0
15 PLC 功能应用MPD
469
API 指令码 操作数 功能
30 D ROR P D,n 右旋转
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
ROR 连续
执行型 RORP 脉波
执行型
32 位指令 (9 STEPS)
DROR 连续
执行型 DRORP 脉波
执行型
旗标信号:M1022 进位旗号 (Carry flag)
X Y M K H KnX KnY KnM T C D
D
n
操作数使用注意:
D 操作数若指定为 KnY、KnM 时,只有 K4 (16 位) 有效
n 操作数 n = K1~K16 (16 位)
指令说明
D:欲旋转之装置
n:一次旋转之位数
将 D 所指定的装置内容一次向右旋转 n 个位。
本指令一般都是使用脉波执行型指令 (RORP)。
程序范例
当 X0 = OFFON 变化时,D10 的 16 个位以 4 个位为一组往右旋转,如下图所示标明 ※ 的位
内容被传送至进位旗号信号 M1022 内。
15 PLC 功能应用MPD
470
API 指令码 操作数 功能
31 D ROL P D,n 左旋转
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
ROL 连续
执行型 ROLP 脉波
执行型
32 位指令 (9 STEPS)
DROL 连续
执行型 DROLP 脉波
执行型
旗标信号:M1022 进位旗号 (Carry flag)
X Y M K H KnX KnY KnM T C D
D
n
操作数使用注意:
D 操作数若指定为 KnY、KnM 时,只有 K4 (16 位) 有效
n 操作数 n = K1~K16 (16 位)
指令说明
D:欲旋转之装置
n:一次旋转之位数
将 D 所指定的装置内容一次向左旋转 n 个位。
本指令一般都是使用脉波执行型指令 (ROLP)。
程序范例
当 X0 = OFFON 变化时,D10 的 16 个位以 4 个位为一组往左旋转,如下图所示标明 ※ 的位
内容被传送至进位旗号信号 M1022 内。
15 PLC 功能应用MPD
471
API 指令码 操作数 功能
40 ZRST P D1,D2 区域清除
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
ZRST 连续
执行型 ZRSTP 脉波
执行型
32 位指令
- - - -
旗标信号:无
X Y M K H KnX KnY KnM T C D
D1
D2
操作数使用注意:
D1操作数编号 D2操作数编号
D1、D2操作数必须指定相同类型装置
各装置使用范围请参考各系列机种功能规格表
指令说明
D1:区域清除起始装置
D2:区域清除结束装置
当 D1 操作数编号 > D2 操作数编号时,只有 D2 指定之操作数被清除。
程序范例
当 X0 为 ON 时,辅助继电器 M300~M399 被清除成 OFF。
当 X1 为 ON 时,16 位计数器 C0~C127 全部清除。
(写入 0,并将接点及线圈清除成 OFF)。
当 X10 为 ON 时,定时器 T0~T127 全部清除。
(写入 0,并将接点及线圈清除成 OFF)。
当 X3 为 ON 时,数据缓存器 D0~D100 数据被清除为 0。
ZRST M300 M399
ZRST C0 C127
ZRST T0 T127
ZRST D0 D100
X0
X1
X10
X3
补充说明
装置可以单独使用清除指令 (RST),如位装置 Y、M 和字符装置 T、C、D。
RST M0
X0
RST T0
RST Y0
15 PLC 功能应用MPD
472
API 指令码 操作数 功能
41 DECO P S,D,n 译码器
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
DECO 连续
执行型 DECOP 脉波
执行型
32 位指令 (13 STEPS)
DDECO 连续
执行型 DDECOP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
n
操作数使用注意:无
指令说明
S:译码来源装置
D:存放译码结果之装置
n:译码位长度
来源装置 S 的下位「n」位作译码,并将其「2n」位长度存于 D。
本指令一般都是使用脉波执行型指令 (DECOP)。
当 D 为位装置时,n = 1~8,当 D 为字符装置时,n = 1~4
程序范例
范例 1
1. 当 D 是位装置时,n 有效范围:0 < n 8。但是如果 n = 0 或 n > 8,会发生错误。
2. 当 n = 8 时,可做最大解碼 28 = 256 点。
3. 当 M200 从 OFFON 时,指令将 X0~X2 内容值译码到 M100~M107。
4. 如果 S = 3,M103 (从 M100 开始算第 3 个位) = ON。
5. 当指令执行后,M200 变为 OFF。已经做解碼输出者照常动作。
X2 X1 X0
M107 M106 M105 M104 M103 M102 M101 M100
011
0000 000 1
76 54 21 0 3
4 2 1
3
范例 2
1. 当 D 为字符装置时,n 有效范围:0 < n 4,如果 n = 0 或 n > 4,会发生错误。
2. 当 n = 4 时,可做最大解碼 24 = 16 点。
3. 当 M200 从 OFFON 时,指令将 D10 中 (b2~ b0) 的内容值解碼到 D20 的 (b7~b0)。D20 中
未被使用的位 (b15~ b8) 全部变为 0。
4. D10 的下位 3 位作译码存放于 D20 的下位 8 位,上 8 位皆为 0。
5. 当指令执行后,M200 变为 OFF 后,已经做解碼输出者照常动作。
DECOP X0 K3 M100
M200
DECOP D10 K3 D20
M200
15 PLC 功能应用MPD
473
15 PLC 功能应用MPD
474
API 指令码 操作数 功能
42 ENCO P S,D,n 译码器
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
ENCO 连续
执行型 ENCOP 脉波
执行型
32 位指令 (13 STEPS)
DENCO 连续
执行型 DENCOP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
n
操作数使用注意:无
指令说明
S:译码来源装置
D:存放译码结果之装置
n:译码位长度
来源装置 S 的下位「2n」位长度的数据作译码,并将结果存于 D。
如果数据源装置 S 有多数位为 1 时,则处理由高位往低位的第 1 个为 1 的位。
本指令一般都是使用脉波执行型指令 (ENCOP)。
S 为位装置时,n = 1~8,当 S 为字符装置时,n = 1~4。
程序范例
范例 1
1. 当 S 为位装置时,n 有效范围:0 < n 8。如果 n = 0 或者 n > 8,会发生错误。
2. 当 n = 8 时,可做最大编码 28 = 256 点。
3. 当 X0 从 OFFON 时,指令将 23位数据 (M0~M7) 编码存放于 D0 的下位 3 位 (b2~b0) 内。
D0 中未被使用的位 (b15~b3) 全部变为 0。
4. 指令执行后,X0 变为 OFF 后,D 内资料不变。
ENCOP M0 K3 D0
X0
范例 2
1. 当 S 为字符装置时,n 有效范围:0 < n 4。如果 n = 0 或者 n > 4 时,会发生错误。
2. 当 n = 4 时,可做 24 = 16 点编码。.
3. 当 X0 从 OFFON 时,D10 内 23位数据 (b0~b7) 编码存放于 D20 之下位 3 位 (b2~b0) 内,
D20 中未被使用之位 (b15~b3) 全部变为 0。(D10 内 b8~b15 为无效数据)。
4. 当指令执行后,X0 变为 OFF,D 内资料不变。
ENCOP D10 K3 D20
X0
15 PLC 功能应用MPD
475
15 PLC 功能应用MPD
476
API 指令码 操作数 功能
43 D SUM P S,D ON 位数量
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
SUM 连续
执行型 SUMP 脉波
执行型
32 位指令 (9 STEPS)
DSUM 连续
执行型 DSUMP 脉波
执行型
旗标信号:M1020
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:无
指令说明
S:来源装置
D:存放计数值的目的地装置
在 S 中,所有位内容为「1」的总数将被储存于 D。
当使用 32 位指令的时候,D 会占用两个缓存器。
S、D 操作数使用 F 装置,仅可使用 16 位指令。
如果没有位 ON,零旗标信号 M1020 = ON。
程序范例
当 X0 = OFFON 变化时,D10 的 16 个位以 4 个位为一组往左旋转,如下图所示标明 ※ 的位
内容被传送至进位旗号信号 M1022 内。
当 M200 = ON 时,D0 的 16 个位中,内容为「1」的位总数被存于 D2 当中。
0 0 00 0 0 0 0 0 11 1 0 0 00 3
D0 D2
M200
SUM D0 D2
15 PLC 功能应用MPD
477
API 指令码 操作数 功能
44 D BON P S,D,n ON 位判定
类型
操作数
位装置 字符装置 16 位指令 (7 STEPS)
BON 连续
执行型 BONP 脉波
执行型
32 位指令 (9 STEPS)
DBON 连续
执行型 DBONP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
n
操作数使用注意:无
指令说明
S:来源装置
D:存放判定结果的装置
n:指定判定的位 (自 0 开始编号)
来源装置 S 的特定位状态,会表示在目标位置 D。
S 操作数使用 F 装置,仅可使用 16 位指令。
操作数 n 的有效范围:n = 0~15 (16 位),n = 0~31 (32 位)
程序范例
当 X0 = ON 时,若是 D0 的第 15 个位为「1」时,M0 = ON,为「0」时,M0 = OFF。
X0 变成 OFF,M0 仍保持之前的状态。
X0
BON D0 M0 K15
0 0 00 0 0 0 0 0 11 1 0 0 00
D0
b0
M0=Off
b15
1 0 00 0 0 0 0 0 11 1 0 0 00
D0
b0
M0=On
b15
15 PLC 功能应用MPD
478
API 指令码 操作数 功能
49 D FLT P S,D BIN 整数→二进小数点变换
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
FLT 连续
执行型 FLTP 脉波
执行型
32 位指令 (9 STEPS)
DFLT 连续
执行型 DFLTP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
D 操作数会占用連续 2 点
各装置使用范围请參考各系列机种功能规格表
指令说明
S:变换来源装置
D:存放变换结果之装置
将 BIN 整数变换成二进小数点值。
程序范例
当 M200 为 ON 时,把 D0 和 D1 所对应的整数值转换为浮点数表示法并放入到 D20 和 D21。
M200
DFLT D0 D20
15 PLC 功能应用MPD
479
API 指令码 操作数 功能
110 D ECMP P S1,S2,D 二进浮点数比较
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (13 STEPS)
DECMP 连续
执行型 DECMPP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
D 操作数会占用連续 3 点
各装置使用范围请參考各系列机种功能规格表
指令说明
S1:二进浮点数比较值 1
S2:二进浮点数比较值 2
D:比较结果,占用连续 3 点。
二进浮点数 1 与二进浮点数比较值 2 作比较,比较的结果 ( >、=、< )在 D 作表示。
S1 或 S2来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作比较。
程序范例
指定装置为 M10,则自动占有 M10~M12。
当 X0 = ON 时,DECMP 指令执行,M10~M12 其中之一会 ON,当 X0 = OFF 时,DECMP 指令
不执行,M10~M12 状态保持在 X0 = OFF 之前的状态。
若需要得到 、、≠ 之结果时,可将 M10~M12 串并联即可取得。
若要清除其结果请使用 RST 或 ZRST 指令。
15 PLC 功能应用MPD
480
API 指令码 操作数 功能
111 D EZCP P S1,S2,S,D 二进浮点数区域比较
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (17 STEPS)
DEZCP 连续
执行型 DEZCPP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
S
D
操作数使用注意:
D 操作数会占用連续 3 点
各装置使用范围请參考各系列机种功能规格表
指令说明
S1:区域比较之二进浮点数下限值
S2:区域比较之二进浮点数上限值
S:二进浮点数比较值
D:比较结果,占用连续 3 点
二进浮点数比较值 S 与二进浮点数下限值 S1 及二进浮点数上限值 S2 作比较,其比较结果在 D
作表示。
S1 或 S2 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作比较。
当二进浮点数下限值 S1 大于二进浮点数上限值 S2 时,则指令以二进浮点数下限值 S1 作为上下
限值进行比较。
程序范例
指定装置为 M0,则自动占有 M0~ M2。
当 X0 = ON 时,DEZCP 指令执行,M0~M2 其中之一会 ON,当 X0 = OFF 时,EZCP 指令不执
行,M0~M2 状态保持在 X0 = OFF 之前的状态。
若要清除其结果请使用 RST 或 ZRST 指令。
15 PLC 功能应用MPD
481
API 指令码 操作数 功能
116 D RAD P S,D 角度→径度
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DRAD 连续
执行型 DRADP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:数据源 (角度)
D:变换之结果 (径度)
使用下列公式将角度转换成径度。
径度 = 角度 × (π / 180)
程序范例
当 X0 = ON 时,指定二进浮点数 (D1,D0) 之角度值,将角度转换成径度值后存于 (D11,D10)
当中,内容为二进浮点数。
X0
DRAD D0 D10
15 PLC 功能应用MPD
482
API 指令码 操作数 功能
117 D DEG P S,D 径度→角度
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DDEG 连续
执行型 DDEGP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:数据源 (径度)
D:变换之结果 (角度)
使用下列公式将径度转换成角度。
角度 = 径度 × (180 / π)
程序范例
当 X0 = ON 时,指定二进浮点数 (D1,D0) 之角度值,将径度值转换成角度后存于 (D11,D10)
当中,内容为二进浮点数。
X0
DDEG D0 D10
15 PLC 功能应用MPD
483
API 指令码 操作数 功能
120 D EADD P S1,S2,D 二进浮点数加算
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (13 STEPS)
DEADD 连续
执行型 DEADDP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S1:被加数
S2:加数
D:和
S1 所指定的缓存器内容加上 S2 所指定的缓存器内容,和被存放至 D 所指定的缓存器当中,加算
的动作全部以二进浮点数型态进行。
S1 或 S2 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作加算。
S1 及 S2 可指定相同的缓存器编号,此种情况下若是使用「连续执行」型态的指令时,在条件接
点 ON 的期间,该缓存器于每一次扫描时,均会被加算一次,一般的情况下都是使用脉波执行型
指令 (DEADDP)。
程序范例
范例 1
当 X0 = ON 时,将二进浮点数 (D1,D0) + 二进浮点数 (D3,D2),结果存放在 (D11,D10) 中。
X0
DEADD D0 D2 D10
范例 2
当 X2 = ON 时,将二进浮点数 (D11,D10) + K1234 (自动变换为二进浮点数),结果存放在
(D21,D20) 中。
X2
DEADD D10 K1234 D20
15 PLC 功能应用MPD
484
API 指令码 操作数 功能
121 D ESUB P S1,S2,D 二进浮点数减算
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (13 STEPS)
DESUB 连续
执行型 DESUBP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S1:被减数
S2:减数
D:差
S1 所指定的缓存器内容减掉 S2 所指定的缓存器内容,差被存放至 D 所指定的缓存器当中,减算
的动作全部以二进浮点数型态进行。
S1 或 S2 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作减算。
S1 及 S2 可指定相同的缓存器编号,此种情况下若是使用「连续执行」型态的指令时,在条件接
点 ON 的期间,该缓存器于每一次扫描时,均会被减算一次,一般的情况下都是使用脉波执行型
指令 (DESUBP)。
程序范例
范例 1
当 X0 = ON 时,将二进浮点数 (D1,D0) - 二进浮点数 (D3,D2),结果存放在 (D11,D10) 中。
X0
DESUB D0 D2 D10
范例 2
当 X2 = ON 时,将 K1234 (自动变换为二进浮点数) - 二进浮点数 (D1,D0),结果存放在 (D11,
D10) 中。
X2
DESUB K1234 D10 D0
15 PLC 功能应用MPD
485
API 指令码 操作数 功能
122 D EMUL P S1,S2,D 二进浮点数乘算
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (13 STEPS)
DEMUL 连续
执行型 DEMULP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S1:被乘数
S2:乘数
D:积
S1 所指定的缓存器内容乘上 S2 所指定的缓存器内容,积被存放至 D 所指定的缓存器当中,乘算
的动作全部以二进浮点数型态进行。
S1 或 S2 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作乘算。
S1 及 S2 可指定相同的缓存器编号,此种情况下若是使用「连续执行」型态的指令时,在条件接
点 ON 的期间,该缓存器于每一次扫描时,均会被乘算一次,一般的情况下都是使用使用脉波执
行型指令 (DEMULP)。
程序范例
范例 1
当 X1 = ON 时,将二进浮点数 (D1,D0) 乘上二进浮点数 (D11,D10),将积存放至 (D21,D20)
所指定的缓存器当中。
X1
DEMUL D0 D10 D20
范例 2
当 X2 = ON 时,将 K1234 (自动变换为二进浮点数) × 二进浮点数 (D1,D0),结果存放在 (D11,
D10) 中。
X2
DEMUL D0 K1234 D10
15 PLC 功能应用MPD
486
API 指令码 操作数 功能
123 D EDIV P S1,S2,D 二进浮点数除算
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (13 STEPS)
DEDIV 连续
执行型 DEDIVP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S1
S2
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S1:被除数
S2:除数
D:商及余数
S1 所指定的缓存器内容除以 S2 所指定的缓存器内容,商被存放至 D 所指定的缓存器当中,除算
的动作全部以二进浮点数型态进行。
S1 或 S2 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作除算。
程序范例
范例 1
当 X1 = ON 时,将二进浮点数 (D1,D0) 除以二进浮点数 (D11,D10) 将商存放至 (D21,D20)
所指定的缓存器当中。
X1
DEDIV D0 D10 D20
范例 2
当 X2 = ON 时,将二进浮点数 (D1,D0) ÷ K1,234 (自动变换为二进浮点数),结果存放在 (D11,
D10) 中。
X2
DEDIV D0 K1234 D10
15 PLC 功能应用MPD
487
API 指令码 操作数 功能
124 D EXP P S,D 二进浮点数取指数
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DEXP 连续
执行型 DEXPP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:运算来源装置
D:运算结果装置
以 e = 2.71828 为底数,S 为指数做 EXP 运算。
[ D + 1, D ] = e [ S + 1, S ]
S 内容正负数都有效,指定 D 缓存器时必须使用 32 位数据格式,运算时均以浮点数方式执行,
故 S 需转换为浮点数。
D 操作数内容值 = e S;e = 2.71828,S 为指定的源数据。
程序范例
当 M0 为 ON 时,将 (D1,D0) 值转成二进浮点数存于 (D11,D10) 缓存器中。
当 M1 为 ON 时,(D11,D10) 为指数做 EXP 运算,其值为二进浮点数并存放于 (D21,D20) 缓
存器中。
M0
M1
DFLT D0 D10
DEXP D10 D20
15 PLC 功能应用MPD
488
API 指令码 操作数 功能
125 D LN P S,D 二进浮点数取自然对数
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DLN 连续
执行型 DLNP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:运算来源装置
D:运算结果装置
以 e = 2.71828 为底数,S 为指数做 LN 运算。
[ D + 1, D ] = ln[S+1, S]
S 内容正负数都有效,指定 D 缓存器时必须使用 32 位数据格式,运算时均以浮点数方式执行,
故 S 需转换为浮点数。
D 操作数内容值 = ln S = loge S;e = 2.71828,S 为指定的源数据。
程序范例
当 M0 为 ON 时,将 (D1,D0) 值转成二进浮点数存于 (D11,D10) 缓存器中。
当 M1 为 ON 时,(D11,D10) 为指数做 LN 运算,其值为二进浮点数并存放于 (D21,D20) 缓存
器中。
15 PLC 功能应用MPD
489
API 指令码 操作数 功能
127 D ESQR P S,D 二进浮点数开平方根
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DESQR 连续
执行型 DESQRP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:欲开平方根来源装置
D:开平方根之结果
S 所指定的缓存器内容被开平方,所得的结果暂存于 D 所指定的缓存器内容,开平方的动作全部
以二进浮点数型态进行。
S 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点数来作运算。
程序范例
范例 1
当 X0 = ON 时,将二进浮点数 (D1,D0) 取开平方根,将结果存放至 (D11,D10)所指定的缓存
器当中。
X0
DESQR D0 D10
范例 2
当 X2 = ON 时,将 K1,234 (自动变换为二进浮点数) 取开平方根,结果存放在 (D11,D10) 中。
X2
DESQR K1234 D10
15 PLC 功能应用MPD
490
API 指令码 操作数 功能
129 D INT P S,D 二进浮点数→BIN 整数变换
类型
操作数
位装置 字符装置 16 位指令 (5 STEPS)
INT 连续
执行型
INTP 脉波
执行型
32 位指令 (9 STEPS)
DINT 连续
执行型 DINTP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:欲变换之来源装置
D:变换之结果
S 所指定的缓存器内容以二进浮点数型态被变换成 BIN 整数暂存于 D 所指定的缓存器当中,BIN
整数浮点数被舍弃。
本指令的动作与 API 49 (FLT) 指令刚好相反。
程序范例
当 X0 = ON 时,将二进浮点数 (D1,D0) 变换成 BIN 整数将结果存放至 (D10) 当中,BIN 整数浮
点数被舍弃。
X0
DINT D0 D10
15 PLC 功能应用MPD
491
API 指令码 操作数 功能
130 D SIN P S,D 二进浮点数 SIN 运算
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DSIN 连续
执行型 DSINP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:指定的来源值
D:取 SIN 值结果。
S 所指定的来源固定为径度。
径度 (RAD) 值等于 (角度 × π / 180)。
将 S 所指定的来源值,求取 SIN 值后存于 D 所指定的缓存器当中。
下图显示弧角与结果的关系:
程序范例
当 X0 = ON 时,指定二进浮点数 (D1,D0) 之径度 (RAD) 值求取 SIN 值后存于 (D11,D10) 当
中,内容为二进浮点数。
X0
DSIN D0 D10
15 PLC 功能应用MPD
492
API 指令码 操作数 功能
131 D COS P S,D 二进浮点数 COS 运算
类型
操作数
位装置 字符装置 16 位指令
- - - -
32 位指令 (9 STEPS)
DCOS 连续
执行型 DCOSP 脉波
执行型
旗标信号:无
X Y M K H KnX KnY KnM T C D
S
D
操作数使用注意:
各装置使用范围请參考各系列机种功能规格表
指令说明
S:指定的来源值
D:取 COS 值结果
S 所指定的来源可指定为径度或角度,由旗标 M1018 决定。
当 M1018 = OFF 时,指定为径度模式,径度 (RAD) 值等于 (角度 × π / 180)。
当 M1018 = ON 时,指定为角度模式,角度范围:0° 角度值 < 360°。
当计算结果若为 0 时,M1020 = ON。
将 S 所指定的来源值,求取 COS 值后存于 D 所指定的缓存器当中。
下图显示弧角与结果的关系:
程序范例
当 X0 = ON 时,指定二进浮点数 (D1,D0) 之径度 (RAD) 值求取 SIN 值后存于 (D11,D10) 当
中,内容为二进浮点数。
X0
DSIN D0 D10




