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




