16 PLC 功能应用MS300(高速机种) 结束指令 功能 操作数 执行速度 (us) 程序结束 无 0.2 脚本 END 操作数 执行速度 (us) 无 0.2 其他指令 功能 无 0.2 无动作 P 0.3 脚本 运算结果反相 NOP 指标 INV P 16-34
16 PLC 功能应用MS300(高速机种) 16-6-2 基本指令详细说明 指令 功能 LD 操作数 载入 A 接点 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 程式範例 - LD 指令用于左母线开始的 A 接点或一个接点回路块开始的 A 接点,它的作用是把当前 内容保存,同时把取来的接点状态存入累积缓存器内。 阶梯图: 脚本: 说明: X0 X1 LD X0 载入 X0 之 A 接点 Y1 AND X1 串联 X1 之 A 接点 OUT Y1 驱动 Y1 线圈 指令 功能 LDI 操作数 载入 B 接点 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 程式範例 - LDI 指令用于左母线开始的 B 接点或一个接点回路块开始的 B 接点,它的作用是把当前 内容保存,同时把取来的接点状态存入累积缓存器内。 阶梯图: 脚本: 说明: X0 X1 LDI X0 载入 X0 之 B 接点 Y1 AND X1 串联 X1 之 A 接点 OUT Y1 驱动 Y1 线圈 指令 功能 AND 操作数 串联 A 接点 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 - AND 指令用于 A 接点的串联连接,先读取目前所指定串联接点的状态再与接点之前逻 辑运算结果作 “及”(AND)的运算,并将结果存入累积缓存器内。 程式範例 阶梯图: 脚本: 说明: X1 X0 LDI X1 载入 X1 之 B 接点 Y1 AND X0 串联 X0 之 A 接点 OUT Y1 驱动 Y1 线圈 16-35
16 PLC 功能应用MS300(高速机种) 指令 功能 ANI 操作数 串联 B 接点 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 程式範例 - ANI 指令用于 B 接点的串联连接,它的作用是先读取目前所指定串联接点的状态再与接 点之前逻辑运算结果作 “及”(AND)的运算,并将结果存入累积缓存器内。 阶梯图: 脚本: 说明: X1 X0 LD X1 载入 X1 之 A 接点 Y1 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 Y1 LD X0 载入 X0 之 A 接点 OR X1 串联 X1 之 A 接点 X1 OUT Y1 驱动 Y1 线圈 指令 功能 ORI 操作数 并联 B 接点 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 程式範例 - ORI 指令用于 B 接点的并联连接,它的作用是先读取目前所指定串联接点的状态再与接 点之前逻辑运算结果作 “或”(OR)的运算,并将结果存入累积缓存器内。 阶梯图: 脚本: 说明: X0 LD X0 载入 X0 之 A 接点 X1 Y1 ORI X1 串联 X1 之 B 接点 OUT Y1 驱动 Y1 线圈 指令 串联回路方块 功能 ANB 无 操作数 指令說明 ANB 是将前一保存的逻辑结果与目前累积缓存器的内容作 “及” (AND)的运算。 程式範例 阶梯图: 脚本: 说明: X0 ANB 载入 X0 之 A 接点 X1 LD X0 并联 X2 之 B 接点 载入 X1 之 B 接点 Y1 ORI X2 并联 X3 之 A 接点 LDI X1 串联回路方块 X2 X3 OR X3 驱动 Y1 线圈 Block A Block B ANB Y1 OUT 16-36
16 PLC 功能应用MS300(高速机种) 指令 并联回路方块 功能 ORB 无 操作数 指令說明 ORB 是将前一保存的逻辑结果与目前累积缓存器的内容作 “或” (OR) 的运算。 程式範例 阶梯图: 脚本: 说明: X0 载入 X0 之 A 接点 X2 X1 Block A LD X0 并联 X1 之 B 接点 Y1 ANI X1 载入 X2 之 B 接点 LDI X2 并联 X3 之 A 接点 X3 AND X3 并联回路方块 ORB 驱动 Y1 线圈 ORB Block B OUT Y1 指令 存入堆栈 功能 MPS 无 操作数 指令說明 将目前累积缓存器的内容存入堆栈。(堆栈指针加一) 指令 读出堆栈(指针不动) 功能 MRD 无 操作数 指令說明 读取堆栈内容存入累积缓存器。(堆栈指针不动) 指令 读出堆栈 功能 MPP 无 操作数 指令說明 自堆栈取回前一保存的逻辑运算结果,存入累积缓存器。(堆栈指针减一) 程式範例 阶梯图: MPS 脚本: 说明: X0 LD X0 载入 X0 之 A 接点 X1 存入堆栈 MPS 串联 X1 之 A 接点 X2 Y1 AND X1 驱动 Y1 线圈 M0 OUT Y1 读出堆栈(指针不动) Y2 串联 X2 之 A 接点 MRD END MRD 驱动 M0 线圈 AND 读出堆栈 OUT X2 驱动 Y2 线圈 M0 程序结束 MPP MPP Y2 OUT END 16-37
16 PLC 功能应用MS300(高速机种) 指令 功能 OUT 操作数 驱动线圈 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 - - -- 将 OUT 指令之前的逻辑运算结果输出至指定的组件。 线圈接点动作: OUT 指 令 运算结果 接点 线圈 A 接点(常开) B 接点(常闭 FA SE Of 不通 导 TE 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。 阶梯图: 脚本: 说明: X0 Y0 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。 , C 目前计时或计数值会被设 0,且线圈及接点都会被设定为 O f。 D 内容值会被设为 0。 若 RST 指令没有被执行,其指定组件的状态保持不变。 阶梯图: 脚本: 说明: LD X0 载入 X0 之 A 接点 程式範例 接点或缓存器清除 X0 RST Y5 RST Y5 16-38
16 PLC 功能应用MS300(高速机种) 指令 功能 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 TMR T5 K1000 T5 定时器 设定值为 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 C2 计数器 CNT C2 K100 设定值为 K100 指令 功能 MC/MCR 共通串联接点之连结 / 解除 操作数 N0~N7 MC 为主控起始指令,当 MC 指令执行时,位于 MC 与 MCR 指令之间的指令照常执行。 指令說明 当 MC 指令 Off 时,位于 MC 与 MCR 指令之间的指令动作如下所示: 指令区分 说明 一 定时器 计时值归零,线圈失电,接点不动作 计数器 线圈失电,计数值及接点保持 前状态 OUT 指令驱动 线圈 全 不受电 SET,RST 令驱动的元 保 目前状态 应用指令 全部不动作 MCR 为主控结束指令,置于主控程序最后,在 MCR 指令之前不可有接点指令。 MC-MCR 主控程序指令支持巢状程序结构,最多可 8 层,使用时依 N0~N7 的顺序,请 参考如下程序所示: 16-39
16 PLC 功能应用MS300(高速机种) 程式範例 阶梯图: 脚本: 说明: 载入 X0 之 A 接点 X0 LD X0 N0 共通串联接点之连结 X1 载入 X1 之 A 接点 X2 MC N0 MC N0 驱动 Y0 线圈 X3 Y0 LD X1 MC N1 OUT Y0 载入 X2 之 A 接点 X10 Y1 N1 共通串联接点之连结 X 11 MCR N1 : 载入 X3 之 A 接点 MCR N0 LD X2 驱动 Y1 线圈 MC N0 Y10 MC N1 N1 共通串联接点之解除 MCR N0 LD X3 N0 共通串联接点之解除 OUT Y1 : 载入 X10 之 A 接点 N0 共通串联接点之连结 MCR N1 载入 X11 之 A 接点 : 驱动 Y10 线圈 MCR N0 N0 共通串联接点之解除 : X10 LD N0 X11 MC Y10 LD OUT : MCR N0 指令 功能 LDP 操作数 正缘检出动作开始 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 程式範例 - LDP 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的 接点上升缘检出状态存入累积缓存器内。 阶梯图: 脚本: 说明: X0 X1 X0 正缘检出动作开始 Y1 LDP X0 串联 X1 之 A 接点 AND X1 OUT Y1 驱动 Y1 线圈 指令 功能 LDF 操作数 负缘检出动作开始 指令說明 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 程式範例 - LDF 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的 接点下降缘检出状态存入累积缓存器内。 阶梯图: 脚本: 说明: X0 X1 X0 负缘检出动作开始 Y1 LDF X0 串联 X1 之 A 接点 AND X1 驱动 Y1 线圈 OUT Y1 16-40
指令 16 PLC 功能应用MS300(高速机种) ANDP 功能 操作数 正缘检出串联连接 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 - 指令說明 ANDP 指令用于接点上升缘检出的串联连接。 程式範例 阶梯图: 脚本: 说明: X0 X1 Y1 LD X0 载入 X0 之 A 接点 X1 正缘检出串联连接 ANDP X1 驱动 Y1 线圈 OUT Y1 指令 功能 ANDF 负缘检出串联连接 操作数 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 指令 功能 ORP 正缘检出并联连接 操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 - 指令說明 ORP 指令用于接点上升缘检出的并联连接。 阶梯图: 脚本: 说明: 程式範例 X0 Y1 LD X0 载入 X0 之 A 接点 X1 ORP X1 X1 正缘检出并联连接 OUT Y1 驱动 Y1 线圈 指令 功能 ORF 负缘检出并联连接 操作数 X0~X17 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 - 指令說明 ORF 指令用于接点下降缘检出的并联连接。 阶梯图: 脚本: 说明: 载入 X0 之 A 接点 程式範例 X0 Y1 LD X0 X1 负缘检出并联连接 X1 ORF X1 驱动 Y1 线圈 OUT Y1 16-41
16 PLC 功能应用MS300(高速机种) 指令 功能 PLS 上微分输出 Y0~Y17 M0~M799 T0~159 C0~C79 D0~D399 操作数 X0~X17 - - - - 指令說明 上微分输出指令。当 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) 时序图: X0 一次掃描時間 M0 Y0 指令 功能 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-42
16 PLC 功能应用MS300(高速机种) 指令 功能 NOP 无动作 操作数 无 指令說明 指令 NOP 在程序不做任何运算,因此执行后仍会保持原逻辑运算结果,使用时机如下: 程式範例 想要删除某一指令,而又不想改变程序长度,则可以 NOP 指令取代。 阶梯图: 脚本: 说明: LD X0 载入 X0 之 B 接点 NOP 无动作 OUT Y1 驱动 Y1 线圈 指令 运算结果反相 功能 INV 无 操作数 指令說明 将 INV 指令之前的逻辑运算结果反相存入累积缓存器内。 程式範例 阶梯图: 脚本: 说明: X0 LD X0 载入 X0 之 A 接点 Y1 INV 运算结果反相 OUT Y1 驱动 Y1 线圈 指令 功能 P 指标 操作数 P0~P255 指针 P 用于子程序呼叫指令 API 01 CALL 使用不须从编号 0 开始,但是编号不能重复 指令說明 使用,否则会发生不可预期的错误。 阶梯图: 脚本: 说明: 载入 X0 之 A 接点 程式範例 X0 LD X0 呼叫指令 CALL 到 P10 CALL P10 CALL P10 X1 Y1 : P10 P10 指标 P10 LD X1 载入 X1 之 A 接点 OUT Y1 驱动 Y1 线圈 16-43
16 PLC 功能应用MS300(高速机种) 16-6-3 应用指令一览表 分类 API 脚本 P 指令 功能 STEPS 16 bit 32 bit 16 位 32 位 3- 01 CALL - 呼叫子程序 1- 回路 02 SRET - - 子程序结束 1- 控制 06 FEND - - 主程序结束 7 13 9 17 传 10 CMP DCMP 比较设定输出 59 7– 送 11 ZCP DZCP 区域比较 7 13 7 13 比 12 MOV DMOV 数据移动 7 13 7 13 较 15 BMOV – 全部传送 35 35 四 20 ADD DADD BIN 加法 5– 5– 则 21 SUB DSUB BIN 减法 5- 逻 22 MUL DMUL BIN 乘法 -9 辑 23 DIV DDIV BIN 除法 7– 运 24 INC DINC BIN 加一 – 13 – 17 算 25 DEC DDEC BIN 减一 –9 –9 旋转 30 ROR DROR 右旋转 – 13 – 13 位移 31 ROL DROL 左旋转 – 13 – 13 资料 40 ZRST – 区域清除 –9 –9 处理 49 – DFLT BIN 整数→二进浮点数变换 –9 –9 通讯 150 MODRW – MODBUS 读写 –9 –9 110 – DECMP 二进浮点数比较 –9 –9 111 – DEZCP 二进浮点数区域比较 –9 –9 116 – DRAD 角度→径度 –9 –9 117 – DDEG 径度→角度 –9 59 120 – DEADD 二进浮点数加法 59 121 – DESUB 二进浮点数减法 122 – DEMUL 二进浮点数乘法 123 – DEDIV 二进浮点数除法 浮点 124 – DEXP 二进浮点数取指数 运算 125 – DLN 二进浮点数取自然对数 127 – DESQR 二进浮点数开平方根 129 – DINT 二进浮点数→BIN 整数变换 130 – DSIN 二进浮点数 SIN 运算 131 – DCOS 二进浮点数 COS 运算 132 – DTAN 二进浮点数 TAN 运算 133 – DASIN 二进浮点数 ASIN 运算 134 – DACOS 二进浮点数 ACOS 运算 135 – DATAN 二进浮点数 ATAN 运算 浮点 136 – DSINH 二进浮点数 SINH 运算 运算 137 138 – DCOSH 二进浮点数 COSH 运算 – DTANH 二进浮点数 TANH 运算 格雷码 170 GRY DGRY BIN→GRY 码变换 171 GBIN DGBIN GRY 码→BIN 变换 16-44
16 PLC 功能应用MS300(高速机种) 分类 API 脚本 P 指令 功能 STEPS 16 bit 32 bit 接点 16 位 32 位 型态 59 逻辑 215 LD\& DLD\& - 接点型态逻辑运算 LD# 59 运算 59 216 LD| DLD| - 接点型态逻辑运算 LD# 59 接点 59 型态 217 LD^ DLD^ - 接点型态逻辑运算 LD# 59 比较 59 指令 218 AND\& DAND\& - 接点型态逻辑运算 AND# 59 59 219 ANDl DANDl - 接点型态逻辑运算 AND# 59 59 220 AND^ DAND^ - 接点型态逻辑运算 AND# 59 59 221 OR\& DOR\& - 接点型态逻辑运算 OR# 59 59 222 OR| DOR| - 接点型态逻辑运算 OR# 59 59 223 OR^ DOR^ - 接点型态逻辑运算 OR# 59 59 224 LD= DLD= - 接点型态比较 LD※ 59 59 225 LD> DLD> - 接点型态比较 LD※ 59 59 226 LD< DLD< - 接点型态比较 LD※ 59 59 228 LD<> DLD<> - 接点型态比较 LD※ 59 59 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※ 244 OR<> DOR<> - 接点型态比较 OR※ 245 OR<= DOR<= - 接点型态比较 OR※ 246 OR>= DOR>= - 接点型态比较 OR※ 分类 API 脚本 P 指令 功能 STEPS 浮点 16bit 32bit 接点 275 16 位 32 位 - 浮点数接点型态比较 LD※ 型态 276 - 浮点数接点型态比较 LD※ -9 277 - FLD= - 浮点数接点型态比较 LD※ -9 比较 278 - 浮点数接点型态比较 LD※ -9 指令 279 - FLD> - 浮点数接点型态比较 LD※ -9 280 - 浮点数接点型态比较 LD※ -9 281 - FLD< - 浮点数接点型态比较 AND※ -9 282 - 浮点数接点型态比较 AND※ -9 283 - FLD<> - 浮点数接点型态比较 AND※ -9 284 - 浮点数接点型态比较 AND※ -9 285 - FLD<= - 浮点数接点型态比较 AND※ -9 286 - 浮点数接点型态比较 AND※ -9 287 - FLD>= - 浮点数接点型态比较 OR※ -9 288 - 浮点数接点型态比较 OR※ -9 289 - FAND= - 浮点数接点型态比较 OR※ -9 -9 - FAND> - FAND< - FAND<> - FAND<= - FAND>= - FOR= - FOR> - FOR< 16-45
16 PLC 功能应用MS300(高速机种) 分类 API 脚本 P 指令 功能 STEPS 16bit 32bit 变频器 290 16 位 32 位 - 浮点数接点型态比较 OR ※ 特殊 291 - 浮点数接点型态比较 OR ※ -9 指令 292 - FOR<> - 浮点数接点型态比较 OR ※ -9 139 变频器参数读取 -9 140 - FOR<= 变频器参数写入 5– 142 变频器运转控制 5– - FOR>= 7– RPR – WPR – FREQ – 16-46
16 PLC 功能应用MS300(高速机种) 16-6-4 应用指令详细说明 API CALL S 呼叫子程序 01 P 位装置 字符装置 16 位指令 (3 STEP) CALLP C D CALL 连续执行型 - X Y M K H KnX KnY KnM T 脉波执行型 - 操作数使用注意: 32 位指令 - S 操作数可指定 P - M300S 操作数可指定 P0~P63 旗标信号:无 指令說明 S:呼叫子程序之指针。 子程序请于 FEND 指令后编写。 子程序必须在 SRET 指令后结束。 指令详细功能请参考 FEND 指令说明及范例内容。 API - 子程序结束 02 SRET 字符装置 16 位指令 (1 STEP) 位装置 H KnX KnY KnM T CD SRET 连续执行型 - - - - X YMK 32 位指令 - - 操作数使用注意: 无操作数 旗标信号:无 不须接点驱动的指令 指令說明 不须接点驱动的指令。自动返回 CALL 指令的下一个指令 表示子程序结束。子程序执行结束由 SRET 返回主程序,执行原呼叫子程序 CALL 指令的下一个指令。 指令详细功能请参考 FEND 指令说明及范例内容。 16-47
16 PLC 功能应用MS300(高速机种) API - 主程序结束 - - - - 06 FEND 字符装置 16 位指令 (1 STEP) C D FEND 连续执 型 位装置 H KnX KnY KnM T X Y MK 操作数使用注意: 32 位指令 - 无操作数 - 不须接点驱动的指令 旗标信号:无 指令說明 此指令代表着主程序结束,当 PLC 执行至此指令时,与 END 指令相同。 CALL 指令的程序必须写在 FEND 指令后,并且在该子程序结束加上 SRET 指令。 当使用 FEND 指令,一个 END 指令也是必须的。但是,END 指令要放在最后, 在主程序和子程序之后。 CA LL指 令 動作流程 16-48
16 PLC 功能应用MS300(高速机种) API CMP S1 S2 D 比较设定输出 10 D P 16 位指令 (7 STEP) C D CMP 连续执行型 CMPP 位装置 字符装置 ** * * 32 位指令 (13 STEP) X Y M K H KnX KnY KnM T 脉波执行型 DCMP 连续执行型 DCMPP 脉波执行型 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 串并联即可取得。 X10 CMP K10 D10 Y0 Y0 K 1 0 > D 1 0現 在 值 時, Y 0為O N Y1 K 1 0 = D 1 0現 在 值 時, Y 1為O N Y2 K 1 0 < D 1 0現 在 值 時, Y 2為O N 若要清除其比较结果请使用 RST 或 ZRST 指令。 X10 X10 RST M0 ZRST M0 M2 RST M1 RST M2 16-49
16 PLC 功能应用MS300(高速机种) API S1 S2 S D 区域比较 11 D ZCP P 位装置 K 字符装置 C D 16 位指令 (9 STEP) ZCPP 脉波执行型 * * * ZCP 连续执行型 X YM H KnX KnY KnM T S1 ***** S2 * * * * * * * * 32 位指令 (17 STEP) S * * * * * * * * DZCP 连续执行型 DZCPP 脉波执行型 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 串并联即可取得。 X0 ZCP K10 K100 C10 M0 M0 K10>C10現在值時, M0為ON M1 K10<=C10現在值時 <=K100, M1為ON M2 C10現在值時>K100, M2為ON 若要清除其比较结果请使用 RST 或 ZRST 指令。 X0 X0 RST M0 ZRST M0 M2 RST M1 RST M2 16-50
16 PLC 功能应用MS300(高速机种) API MOV SD 数据移动 12 D P 16 位指令 (5 STEP) C D MOV 连续执行型 MOVP 位装置 字符装置 ** 脉波执行型 * * 32 位指令 (9 STEP) 脉波执行型 XYM K H KnX KnY KnM T S* ***** DMOV 连续执行型 DMOVP D *** 旗标信号: 操作数使用注意:无 指令說明 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-51
16 PLC 功能应用MS300(高速机种) API BMOV SDn 全部传送 15 P 位装置 字符装置 16 位指令 (7 STEP) X YM K H KnX KnY KnM T C D BMOV 连续执行型 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 之数目须相同。 16-52
16 PLC 功能应用MS300(高速机种) API S1 S2 D BIN 加法 20 D ADD P 位装置 字符装置 16 位指令 (7 STEP) X Y M K H KnX KnY KnM T C D ADD 连续执行型 ADDP 脉波执行型 S1 * * * * * * * * * * * * * * * * 32 位指令 (13 STEP) S2 * * * * * DADD 连续执行型 DADDP 脉波执行型 D 操作数使用注意:无 旗标信号:M1020 零旗号 Zero flag M1021 借位旗号 Borrow flag M1022 进位旗号 Carry flag 请参考下列补充说明 指令說明 S1 :被加数。 S2 :加数。 D :和。 将两个资料源: S1 及 S2 以 BIN 方式相加的结果存于 D 。 各数据的最高位位为符号位 0 表(正)1 表(负),因此可做代数加法运算。(例如: 3+(-9)=-6) 加法相关旗号变化。 16 位指令 : 1. 演算结果为 0 时,零旗号(Zero flag)M1020 为 On。 2. 演算结果小于 –32,768 时,借位旗号(Borrow flag)M1021 为 On。 3. 演算结果大于 32,767 时,进位旗号(Carry flag)M1022 为 On。 32 位指令 : 1. 演算结果为 0 时,零旗号(Zero flag)M1020 为 On。 2. 演算结果小于 –2,147,483,648 时,借位旗号(Borrow flag)M1021 为 On。 3. 演算结果大于 2,147,483,6477 时,进位旗号(Carry flag)M1022 为 On。 程式範例 16 位 BIN 加法:当 X0=On 时,被加数 D0 内容加上加数 D10 之内容将结果存在 D20 之内容当中。 X0 ADD D0 D10 D20 補充說明 旗号动作与数值的正负关系: 16-53
16 PLC 功能应用MS300(高速机种) API S1 S2 D BIN 减法 21 D SUB P 16 位指令 (7 STEP) C D SUB 连续执行型 SUBP 脉波执行型 位装置 字符装置 ** * * 32 位指令 (13 STEP) XYM K H KnX KnY KnM T * * DSUB 连续执行型 DSUBP 脉波执行型 S1 * ***** S2 * ***** 旗标信号:M1020 零旗号 Zero flag D M1021 借位旗号 Borrow flag 操作数使用注意:无 *** M1022 进位旗号 Carry flag 请参考下列补充说明 指令說明 S1 :被减数。 S2 :减数。 D :差。 将两个资料源: S1 及 S2 以 BIN 方式相减的结果存于 D 。 各数据的最高位位为符号位 0 表(正)1 表(负),因此可做代数减法运算。 减法相关旗号变化。 16 位指令 1. 演算结果为 0 时,零旗号(Zero flag)M1020 为 On。 2. 演算结果小于 –32,768 时,借位旗号(Borrow flag)M1021 为 On。 3. 演算结果大于 32,767 时,进位旗号(Carry flag)M1022 为 On。 32 位指令 1. 演算结果为 0 时,零旗号(Zero flag)M1020 为 On。 2. 演算结果小于–2,147,483,648 时,借位旗号(Borrow flag)M1021 为 On。 3. 演算结果大于 2,147,483,647 时,进位旗号(Carry flag)M1022 为 On。 程式範例 16 位 BIN 减法:当 X0=On 时,将 D0 内容减掉 D10 内容将差存在 D20 之内容中。 X0 SUB D0 D10 D20 16-54
16 PLC 功能应用MS300(高速机种) API S1 S2 D BIN 乘法 22 D MUL P 16 位指令 (7 STEP) C D MUL 连续执行型 位装置 字符装置 ** MULP * * 32 位指令 (13 STEP) DMULP X Y M K H KnX KnY KnM T * * DMUL 连续执行型 脉波执行型 * 脉波执行型 S1 * * * * * * 旗标信号:无 * S2 * * * * * D ** 操作数使用注意: 16 位指令 D 操作数会占用连续 2 点 指令說明 S1 :被乘数。 S2 :乘数。 D :积。 将两个资料源: S1 及 S2 以有号数二进制方式相乘后的积存于 D 。 16 位 BIN 乘法运算: D 为位装置时,可指定 K1~K4 构成 16 位,占用连续 2 组。 程式範例 16 位 D0 乘上 16 位 D10 其结果是 32 位之积,上 16 位存于 D21,下 16 位存于 D20 内,结果之正负由最左边位之 Off/On 来代表正或负值。 16-55
16 PLC 功能应用MS300(高速机种) API S1 S2 D BIN 除法 23 D DIV P 位装置 字符装置 16 位指令 (7 STEP) X Y M K H KnX KnY KnM T CD DIV 连续执行型 DIVP 脉波执行型 * DDIVP 脉波执行型 S1 * * * * * * ** * * * 32 位指令 (13 STEP) S2 * * * * * * * DDIV 连续执行型 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 来代表正或负值。 16-56
16 PLC 功能应用MS300(高速机种) API D BIN 加一 24 D INC P 位装置 字符装置 16 位指令 (3 STEP) XYM K H KnX KnY KnM T CD INC 连续执行型 INCP 脉波执行型 D *** DINCP 脉波执行型 操作数使用注意:无 ** 32 位指令 (5 STEP) DINC 连续执行型 旗标信号:无 指令說明 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-57
16 PLC 功能应用MS300(高速机种) API D BIN 减一 25 D DEC P 16 位指令 (3 STEP) C D DEC 连续执行型 位装置 字符装置 ** DECP 脉波执行型 DDECP 脉波执行型 XYM K H KnX KnY KnM T 32 位指令 (5 STEP) D *** DDEC 连续执行型 操作数使用注意:无 旗标信号:无 指令說明 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-58
16 PLC 功能应用MS300(高速机种) API ROR Dn 右旋转 30 D P 位装置 字符装置 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-59
16 PLC 功能应用MS300(高速机种) API Dn 左旋转 31 D ROL P 位装置 字符装置 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-60
16 PLC 功能应用MS300(高速机种) API ZRST D1 D2 区域清除 40 P 位装置 字符装置 16 位指令 (5 STEP) X Y M 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 ~ C79 全部清除。(写入 0,并将接点及线圈清除 成 Off)。 当 X10 为 On 时,定时器 T0 ~ T127 全部清除。(写入 0,并将接点及线圈清除成 Off)。 当 X3 为 On 时,数据缓存器 D0 ~ D100 数据被清除为 0。 16-61
16 PLC 功能应用MS300(高速机种) API BIN 整数→2 进小数点变换 49 D FLT P 位装置 字符装置 16 位指令 - X Y M K H KnX KnY KnM T C D - - - DFLTP 脉波执行型 S *** 32 位指令 (9 STEP) DFLT 连续执行型 D *** 操作数使用注意:各装置使用范围请參考各系列机种功能规格表 D 操作数会占用連续 2 点 旗标信号:无 指令說明 S:变换来源装置。D:存放变换结果之装置。 将 BIN 整数变换成浮点数。 程式範例 当 X11 为 On 时,把 D0 和 D1 所对应的整数值转换为浮点数表示法并放入到 D20 和 D21。 16-62
16 PLC 功能应用MS300(高速机种) API ECMP 二进浮点数比较 110 DP 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S1 * * * * 32 位指令(13 STEP) S2 * * DECMP 连续执行型 DECMPP 脉波执行型 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 指令。 16-63
16 PLC 功能应用MS300(高速机种) API 二进浮点数区域比较 111 D EZCP P 位装置 字符装置 16 位指令 - X Y M K H KnX KnY KnM T C D - - - * S1 * * S2 * * * 32 位指令(17 STEP) S ** * DEZCP 连续执行型 DEZCPP 脉波执行型 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 指令。 16-64
16 PLC 功能应用MS300(高速机种) API 角度→径度 116 D RAD P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DRADP 脉波执行型 DRAD 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:数据源(角度)。 D:变换之结果(径度)。 使用下列公式将角度转换成径度。 径度=角度 × (π/180) 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之角度值,将角度转换成径度值后存于 (D11,D10) 当中,内容为二进浮点数。 X0 DRAD D0 D10 D 1 D 0 径度值 2进 制 浮 点 数 D 11 D 10 RAD值 (径度值X / 180) 2进 制 浮 点 数 16-65
16 PLC 功能应用MS300(高速机种) API 径度→角度 117 D DEG P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令 (9 STEP) D DDEGP 脉波执行型 DDEG 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:数据源(径度)。 D:变换之结果(角度)。 使用下列公式将径度转换成角度。 角度=径度 × (180/π) 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之角度值,将径度值转换成角度后存于 (D11,D10) 当中,内容为二进浮点数。 X0 DDEG D0 D10 D 1 D 0 径度值 2进制 浮点 数 D 11 D 10 角 度值 (径 度值X 180/) 2进制 浮点 数 16-66
16 PLC 功能应用MS300(高速机种) API EADD 二进浮点数加算 120 D P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S1 * * * * 32 位指令 (9 STEP) S2 * * * DEADD 连续执行型 DEADDP 脉波执行型 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-67
16 PLC 功能应用MS300(高速机种) API 二进浮点数减算 121 D ESUB P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S1 * * * * 32 位指令 (13 STEP) S2 * * * DESUB 连续执行型 DESUBP 脉波执行型 D 操作数使用注意: 旗标信号:无 各装置使用范围请参考各系列机种功能规格表 指令說明 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-68
16 PLC 功能应用MS300(高速机种) API EMUL 二进浮点数乘算 122 D P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S1 * * * * 32 位指令(13 STEP) S2 * * * DEMUL 连续执行型 DEMULP 脉波执行型 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-69
16 PLC 功能应用MS300(高速机种) API 二进浮点数除算 123 D EDIV P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S1 * * * * 32 位指令(13 STEP) S2 * * * DEDIV 连续执行型 DEDIVP 脉波执行型 D 操作数使用注意: 旗标信号:无 各装置使用范围请参考各系列机种功能规格表 指令說明 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-70
16 PLC 功能应用MS300(高速机种) API 二进浮点数取指数 124 D EXP P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D 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-71
16 PLC 功能应用MS300(高速机种) API 二进浮点数取自然对数 125 D LN P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - DLNP 脉波执行型 S ** * * 32 位指令(9 STEP) D 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)为指数做 LN 运算,其值为二进浮点数并存放 于(D21,D20)缓存器中。 M0 DFLT D0 D10 M1 DLN D10 D20 16-72
16 PLC 功能应用MS300(高速机种) API ESQR 二进浮点数开平方根 127 DP 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DESQR 脉波执行型 DESQR 连续执行型 P 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:欲开平方根来源装置。 D:开平方根之结果。 S 所指定的缓存器内容被开平方,所得的结果暂存于 D 所指定的缓存器内 容,开平方的动作全部以二进浮点数型态进行。 S 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点 数来作运算。 程式範例 当 X0=On 时,将二进浮点数(D1,D0)取开平方根,将结果存放至(D11,D10)所 指定的缓存器当中。 X0 DESQR D0 D10 (D1,D0) (D11,D10) 2 進小數點 2 進小數點 当 X2=On 时,将 K1,234(自动变换为二进浮点数) 取开平方根,结果存放在(D11, D10)中。 X2 DESQR K1234 D10 16-73
16 PLC 功能应用MS300(高速机种) API 二进浮点数→BIN 整数变换 129 D INT P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - 脉波执行型 S * * 32 位指令 (9 STEP) D DINTP DINT 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:欲变换之来源装置。 D:变换之结果。 S 所指定的缓存器内容以二进浮点数型态被变换成 BIN 整数存于 D 所指定 的缓存器当中,原二进浮点数的小数位数值会被舍弃。。 本指令的动作与 API 49(FLT)指令刚好相反。 程式範例 当 X0=On 时,将二进浮点数(D1,D0) 变换成 BIN 整数将结果存放至(D10)当中, 原二进浮点数的小数位数值会被舍弃。 X0 DINT D0 D10 16-74
16 PLC 功能应用MS300(高速机种) API SIN 二进浮点数 SIN 运算 130 DP 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - DSINP 脉波执行型 S ** * * 32 位指令(9 STEP) D DSIN 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源值(径度)。 D:取 SIN 值结果。 S 所指定的来源固定为径度。 径度(RAD)值等于(角度 ×π/180)。 将 S 所指定的来源值,求取 SIN 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之径度(RAD)值求取 SIN 值后存于 (D11, D10) 当中,内容为二进浮点数。 X0 DSIN D0 D10 16-75
16 PLC 功能应用MS300(高速机种) API 二进浮点数 COS 运算 131 D COS P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DCOSP 脉波执行型 DCOS 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源值(径度)。 D:取 COS 值结果。 将 S 所指定的来源值,求取 COS 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之径度值求取 COS 值后存于 (D11,D10) 当中,内容为二进浮点数。 X0 DCOS D0 D10 16-76
16 PLC 功能应用MS300(高速机种) API 二进浮点数 TAN 运算 132 D TAN P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DTANP 脉波执行型 DTAN 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源值(径度)。 D:取 TAN 值结果。 将 S 所指定的来源值,求取 TAN 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: R S: 弧 角(弧 度)资 料 R: 结果 ( TAN值) 1 -2 - 3 -2 -2 02 3 2 S 2 2 -1 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之径度(RAD)值求取 TAN 值后存于 (D11, D10) 当中,内容为二进浮点数。 X0 DTAN D0 D10 16-77
16 PLC 功能应用MS300(高速机种) API 二进浮点数 ASIN 运算 133 D ASIN P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DASIN 连续执行型 DASINP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 ASIN 值结果。 ASIN 值=sin-1 下图显示输入数据与结果的关系: 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 ASIN 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DASIN D0 D10 16-78
16 PLC 功能应用MS300(高速机种) API ACOS 二进浮点数 ACOS 运算 134 DP 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DACOS 脉波执行型 DACOS 连续执行型 P 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 ACOS 值结果。 ACOS 值=cos-1 下图显示输入数据与结果的关系: 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 ACOS 值后存于(D11,D10) 当中, 内容为二进浮点数。 X0 DACOS D0 D10 16-79
16 PLC 功能应用MS300(高速机种) API ATAN 二进浮点数 ATAN 运算 135 D P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DATAN 连续执行型 DATANP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 ATAN 值结果。 ATAN 值=tan-1 下图显示输入数据与结果的关系: 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 TAN 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DATAN D0 D10 16-80
16 PLC 功能应用MS300(高速机种) API 二进浮点数 SINH 运算 136 D SINH P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DSINH 连续执行型 DSINHP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 SINH 值结果。 SINH 值=(es-e-s)/2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 SINH 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DSINH D0 D10 16-81
16 PLC 功能应用MS300(高速机种) API COSH 二进浮点数 COSH 运算 137 D P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DCOSH 连续执行型 DCOSHP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 COSH 值结果。 COSH 值=(es+e-s)/2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 COSH 值后存于(D11,D10) 当中, 内容为二进浮点数。 X0 DCOSH D0 D10 16-82
16 PLC 功能应用MS300(高速机种) API 二进浮点数 TANH 运算 138 D TANH P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DTANH 连续执行型 DTANHP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 TANH 值结果。 TANH 值=(es-e-s)/(es+e-s) 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 TANH 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DTANH D0 D10 16-83




