PLC培训 DVP-ES2 EX2 SS2 SA2 SX2 SE TP 操作手册程序篇


    DVP-ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 程序篇 版本修订一览表 版本 变更内容 发行日期 第一版 第一版发行 2010/08/04 第二版 1. 第 2.8 章 M 继电器:新增 M1037、 M1119、 M1182、 M1308、 M1346、 M1356 及更新 M1055~M1057、 M1183 功能说明 2. 第 2.13 章特殊数据缓存器:新增 D1037、 D1312、 D1354、 D1900~D1931 及更正 D1062、 D1114 、 D1115、 D1118 的停电保持功能属性 3. 第 2.16 章特殊 M,继电器及 D 缓存器群组应用说明: 更新万年历时钟 RTC 功能说明;新增 M1037、D1037 (启动 SPD 功能), M1119(启动 DDRVI 两段速输 出功能),M1308 及 D1312( DZRN 到定位后可再输 出指定脉冲个数或寻找 Z 相讯号), M1346( ZRN 输 出清除脉冲功能);将 Easy PLC Link 改为 PLC Link 并增加内容说明 4. 第 3.1 章基本指令(没有 API 编号)一览表,第 3.2 章基本指令说明:新增 NP 及 PN 指令及新增第 3.7 章 API 指令一览表(依字母排列) 5. 第 3.6 章 API 指令一览表及第 3.8 章 API 指令详细说 明:增加 DSPA 指令说明及新增浮点接点型态比较指 令 FLD=, FLD>, FLD<, FLD<>, FLD<=, FLD>=, FAND=, FAND>, FAND<, FAND<>, FAND<=, FAND>=, FOR=, FOR>, FOR<, FOR<>, FOR<=, FOR>=;增加 PLSR 指令之补充说明与 DTM 指令模 式 K11~K19 说明;更新 API166 指令说明 2011/09/20 第三版 1. 第 2.16 章:D1062 的默认值修正为 K10 2. CH3 0-19 API 15: 删除程序范例 3 中 , S<D 内容 3. CH3 增加 API148, 149 4. 增加 SE 机种相关数据 5. 增加 DVP32ES-C 机种相关数据 6. 在目录增加各系列详细机种说明 7. 增加第 7 章 DVP-ES2-C 系列操作说明及附录 A 2012/05/22版本 变更内容 发行日期 第四版 1. 第 2.13 节更新特 D(D1480-1911)功能说明 2. 增加 API113 指令说明 3. 更新 API150 指令内容 4. 更新第 7 章 DVP-ES2-C 系列操作说明内容 2012/09/01 第五版 1. 第 2 章新增 M1148, M1182, M1183, M1580, M1581, M1584, M1585 2. 第 3 章更新及新增指令:API53, API59, API69, API88, API143, API150, API155, API156, API178, API258, API296-313 3. 第 7.1.2 节增加 ES2-C 为从站时,输入输出映射区说明 4. 删除 SE 的存储区里的 C232, C249, C250 5. 新增附录 B 介绍 PLC Ethernet 型主机/模块设定与使 用信息 6. 新增附录 C 2013/2/20 i DVP-ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 程序篇 目录 1 PLC 梯形图的基本原理 1.1 PLC 扫描方法..............................................................................................................1-2 1.2 信号流向.......................................................................................................................1-3 1.3 常开, 常闭节点.............................................................................................................1-3 1.4 PLC 继电器和寄存器....................................................................................................1-3 1.5 梯形图符号...................................................................................................................1-5 1.5.1 创建一个 PLC 梯形图程序................................................................................1-6 1.5.2 LD / LDI (常开或者常闭节点的载入) .................................................................1-7 1.5.3 LDP / LDF (上升沿或者下降沿指令的载入).......................................................1-7 1.5.4 AND / ANI (常开节点或常闭节点的串接)...........................................................1-7 1.5.5 ANDP / ANDF (上升沿或下降沿节点的串接) ....................................................1-7 1.5.6 OR / ORI (常开节点或常闭节点的并接) ............................................................1-8 1.5.7 ORP / ORF (上升沿或下降沿节点的并接).........................................................1-8 1.5.8 ANB (区块串接).................................................................................................1-8 1.5.9 ORB (区块串接) ................................................................................................1-8 1.5.10 MPS / MRD / MPP (Branch instructions 分支指令) ..........................................1-9 1.5.11 STL (步进梯形程序) ........................................................................................1-10 1.5.12 RET (返回) ......................................................................................................1-10 1.6 梯形图和指令的转换................................................................................................... 1-11 1.7 梯形图的化简 .............................................................................................................1-15 1.8 常用基本程序设计范例...............................................................................................1-18 2 程序概念 2.1 ES2/EX2 记忆区...........................................................................................................2-2 2.2 SS2 记忆区...................................................................................................................2-5 2.3 SA2/SX2 记忆区...........................................................................................................2-7 2.4 SE 记忆区...................................................................................................................2-10 2.5 停电保持记忆方式 ......................................................................................................2-13 2.6 PLC 的位,半字节,字节,字 ...................................................................................2-14 ii 2.7 二进制, 八进位, 十进制, BCD, 十六进制 ................................................................. 2-14 2.8 M 继电器.................................................................................................................... 2-17 2.9 步进继电器 S ............................................................................................................. 2-29 2.10 定时器 T..................................................................................................................... 2-29 2.11 计数器 C .................................................................................................................... 2-30 2.12 高速计数器 ................................................................................................................ 2-32 2.13 特殊数据寄存器 ......................................................................................................... 2-37 2.14 E,F 变址寄存器 ...................................................................................................... 2-48 2.15 指针[N],指针[P],中断指针[I] .................................................................................. 2-49 2.16 特殊 M 继电器及 D 寄存器群组应用说明................................................................... 2-52 3 指令集 3.1 基本指令 (没有 API 编号) 一览表............................................................................... 3-2 3.2 基本指令 (没有 API 编号) 说明................................................................................... 3-3 3.3 指针 ........................................................................................................................... 3-13 3.4 中断指针.................................................................................................................... 3-13 3.5 API 应用指令组成说明............................................................................................... 3-15 3.6 API 指令一览表(依指令功能排列).............................................................................. 3-24 3.7 API 指令一览表(依指令字母排列).............................................................................. 3-34 3.8 API 指令详细说明 ...................................................................................................... 3-40 4 通讯 4.1 通讯口.......................................................................................................................... 4-2 4.2 ASCII 模式通讯协议.................................................................................................... 4-3 4.2.1 ADR (通讯地址)................................................................................................ 4-3 4.2.2 命令码及数据.................................................................................................... 4-4 4.2.3 LRC 校验 (校验和)........................................................................................... 4-5 4.3 RTU 模式通讯协议...................................................................................................... 4-7 4.3.1 地址 (通讯地址) ............................................................................................... 4-7 4.3.2 命令码及数据.................................................................................................... 4-7 4.3.3 CRC 校验 (校验和) .......................................................................................... 4-9 4.4 PLC 装置地址 .............................................................................................................4-11 4.5 功能码........................................................................................................................ 4-13 4.5.1 功能码: 01, 读接点状态 (不可读输入接点状态)............................................. 4-13 4.5.2 功能码: 02, 读接点状态 (可读输入接点状态) ................................................ 4-14 4.5.3 功能码: 03, 读出寄存器内容值....................................................................... 4-15 iii 4.5.4 功能码: 05, 强制单独节点状态 .......................................................................4-16 4.5.5 功能码: 06, 预设单独寄存器的值....................................................................4-17 4.5.6 功能码: 15, 强制多个接点 ..............................................................................4-17 4.5.7 功能码: 16, 预设多个寄存器的值....................................................................4-19 5 顺序功能图 SFC 5.1 步进梯形指令 [STL], [RET]..........................................................................................5-2 5.2 顺序功能图 (SFC)........................................................................................................5-3 5.3 步进梯形指令动作说明.................................................................................................5-5 5.4 步进梯形设计程序须知............................................................................................... 5-11 5.5 流程种类.....................................................................................................................5-13 5.6 IST 指令 .....................................................................................................................5-24 6 故障诊断 6.1 常见错误及处理方法.....................................................................................................6-2 6.2 D1004 缓存器错误码表 (错误码为 16 进制编码) .........................................................6-4 6.3 演算错误旗标 ...............................................................................................................6-7 7 CANopen 功能及操作说明 7.1 CANopen 简介 .............................................................................................................7-2 7.1.1 CANopen 功能说明...........................................................................................7-2 7.1.2 输入输出映射区说明 .........................................................................................7-4 7.2 安装及网络拓扑............................................................................................................7-5 7.2.1 外观尺寸 ...........................................................................................................7-5 7.2.2 各部名称 ...........................................................................................................7-5 7.2.3 CAN 接口及网络拓扑........................................................................................7-6 7.3 CANopen 协议说明....................................................................................................7-10 7.3.1 关于 CANopen 协议........................................................................................7-10 7.3.2 CANopen 通讯对象........................................................................................7-11 7.3.3 预定义连接设定...............................................................................................7-17 7.4 梯形图发送 SDO、NMT 及读取 Emergency 信息......................................................7-19 7.4.1 SDO 请求信息的数据结构...............................................................................7-19 7.4.2 NMT 信息的数据结构......................................................................................7-22 7.4.3 EMERGENCY 请求信息的数据结构 ..............................................................7-24 7.4.4 梯形图发送 SDO 范例.....................................................................................7-26 7.5 指示灯及故障排除 ......................................................................................................7-29 iv 7.5.1 指示灯说明 ..................................................................................................... 7-29 7.5.2 CANopen 网络节点状态显示 ......................................................................... 7-30 7.6 应用范例 .................................................................................................................... 7-34 7.7 对象字典.................................................................................................................... 7-42 附录 A A.1 安装 USB 驱动程序......................................................................................................A-2 附录 B B.1 Ethernet 型主机/模块规格列表..................................................................... B-2 B.2 Ethernet 控制缓存器(CR)列表 ..................................................................... B-2 B.2.1 DVP-SE 主机系列 (Ethernet 主机)....................................................................B-2 B.2.2 DVPEN01-SL (Ethernet 左侧通讯模块).............................................................B-4 B.2.3 DVP-FEN01 (EH3 系列 Ethernet 通讯卡)..........................................................B-6 B.3 Ethernet 主机搜寻 .................................................................................... B-6 B.3.1 通讯设定 ............................................................................................................B-7 B.3.2 广播搜寻 ............................................................................................................B-8 B.3.3 指定机种搜寻.....................................................................................................B-9 B.3.4 指定 IP 搜寻.....................................................................................................B-10 B.4 数据交换功能 .........................................................................................B-11 B.5 EtherNet/IP 列表 .....................................................................................B-12 B.5.1 DVP-SE 系列支持 EtherNet/IP 信息................................................................B-12 B.5.2 DVP-SE 系列支持 EtherNet/IP 对象名称内容 .................................................B-13 附录 C C.1 TP04P 记忆区.......................................................................................... C-2 C.2 特殊数据缓存器........................................................................................ C-4 C.3 特殊辅助继电器...................................................................................... C-12 C.4 适用于 TP04P 机种之指令........................................................................ C-21 C.4.1 基本指令一览表 ...............................................................................................C-21 C.4.2 API 指令一览表................................................................................................C-22 C.4.3 高速指令补充说明............................................................................................C-26 v 此手册内容中所述之各系列详细机种如下表所列: 系列 机种名称 DVP-ES2 DVP16ES200R, DVP16ES200T, DVP24ES200R, DVP24ES200T, DVP32ES200R, DVP32ES200T, DVP32ES211T, DVP40ES200R, DVP40ES200T, DVP60ES200R, DVP60ES200T, DVP32ES200RC, DVP32ES200TC DVP-ES2-C DVP32ES200RC, DVP32ES200TC DVP-EX2 DVP20EX200R, DVP20EX200T, DVP30EX200R, DVP30EX200T DVP-SS2 DVP14SS211R, DVP14SS211T DVP-SA2 DVP12SA211R, DVP12SA211T DVP-SX2 DVP20SX211R, DVP20SX211S, DVP20SX211T DVP-SE DVP12SE11R, DVP12SE11T TP04P TP04P-16TP1R, TP04P-32TP1R vi 1-1 PLC梯形图基本原理 说明梯形图的基本原理。梯形图是被广泛采用的 PLC 编程语言,对于熟悉 PLC 原理的用户可跳到下一章了解更多的编程原理;对于不熟悉 PLC 工作 原理的用户请参考这一章以使用户对 PLC 原理获得全面的理解。 目录 U1.1U UPLC 扫描方法U .......................................................................................................................1-2 U1.2U U信号流向U ...............................................................................................................................1-3 1.3 U常开,常闭节点U ....................................................................................................................1-3 1.4 UPLC继电器和寄存器U .............................................................................................................1-3 1.5 U梯形图符号U ............................................................................................................................1-5 U1.5.1U U创建一个PLC 梯形图程序U ........................................................................................1-6 U1.5.2 LD / LDI (常开或者常闭节点的载入) ........................................................................1-7 U1.5.3 LDP / LDF (上升沿或者下降沿指令的载入) .............................................................1-7 U1.5.4 AND / ANI (常开节点或常闭节点的串接) .................................................................1-7 U1.5.5 ANDP / ANDF (上升沿或下降沿节点的串接) ...........................................................1-7 U1.5.6 OR / ORI (常开节点或常闭节点的并接) ...................................................................1-8 U1.5.7 ORP / ORF (上升沿或下降沿节点的并接) ...............................................................1-8 U1.5.8 ANB (区块串接) .......................................................................................................1-8 U1.5.9 ORB (区块串接) .......................................................................................................1-8 U1.5.10 MPS / MRD / MPP (Branch instructions分支指令) ..................................................1-9 U1.5.11 STL (步进梯形程序) ...............................................................................................1-10 UU1.5.12 RET (返回).............................................................................................................1-10 1.6 梯形图和指令的转换 ...........................................................................................................1-11 1.7 梯形图的化简 ......................................................................................................................1-15 1.8 常用基本程序设计范例........................................................................................................1-18 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-2 1.1 0BPLC 扫描方法 当评估用户的程序时,PLC 会利用一个标准的扫描方法对用户程序进行扫描。 扫描过程: 扫描输入状态 读外部信号状态并将其状态存储于内部存储器内。 演算用户程序 用存储于内部存储器内的数据对用户程序进行演算。程序从上至 下,从左至右进行扫描,扫描到 END 指令时表示一次扫描结束。 刷新输出 把演算的数据写至外部输出。 X0 Y0 Y0 M0 X输入 输入端 读入存储区 输入映象区 从存储区内读取 的状态X0 写入 状态 Y0 读出存储区内 状态Y0 输出再生 程序处理 输入信号再生 输出 Y输出 输出端 输出映像区 写入 状态 M0 装 置 映 像 区 输入信号再生: 1. PLC 在执行用户程序前会将外部输入信号的 On/OF 状态一次读入至输入映像区内。 2. 在程序执行过程中若输入信号发生 On/Off 变 化,但输入映像区内的状态不会改变,直到下一 次扫描开始时再读入输入信号的 On/Off 状态。 程序执行: PLC 读取输入映像区内各输入信号的 On/Off 状态 后开始从地址 0 处按照从上至下,从左至右的顺序 执行程序中的每一指令,其输出结果即各输出线圈 的 On/Off 状态也逐次存入各装置的映像区内。 输出信号再生: 当程序执行到 END 指令时表示程序执行完毕。程 序执行完毕后会将装置映像区内 Y 的 On/Off 状态 送到输出映像区锁存,而此映像区就是实际上输出 继电器的线圈。 扫描周期: 整个扫描期间(读,演算,写)的持续时间叫做“扫描周期”。随着 I/O 点的增多或者程序增长时, 扫描周期也会随着变长。 读扫描周期 PLC 会测量自己的扫描周期并把此周期((以 0.1ms 为单位)存储于寄存器 D1010 内。D1011 为最小扫描周期寄存器,D1012 为最大扫描周期寄存器。 测量扫描周期 扫描周期也可以通过每个扫描周期触发输出进行测量,触发脉冲的输出宽带即 为扫描周期。 1. PLC 梯形图基本原理 1-3 估算扫描周期 扫描周期可通过每个指令的执行时间(预先知道)进行估算,对于基本指令的 执行速度请参考此手册的第 3 章。估算扫描周期为用户程序中每个指令执行时 间的总和。 PLC 控制器可以处理比扫描周期快的某些项目,如中断项目等。当 PLC 接收中断时,PLC 将会暂停 主程序而去处理中断。 用户程序在 ”演算” 期间,直接的输入/输出指令 REF,允许 PLC 马上去访问 I/O 而不必等到下一个 扫描周期到来再去访问 I/O。 1.2 1B信号流向 梯形图逻辑按照从左至右的原理,如下图所示的例子,信号的流通是从 X0 或者 X3 开始。 X0 Y0 X1 X2 Y0 X3 X4 信号回流 当一个信号的流向从右至左时,信号回流会产生,当编译程序时将会被检测到错误。下图所示的例 子说明了信号回流。 X6 X0 Y0 X1 X2 Y0 X3 X4 X5a b 1.3 2B常开,常闭节点 常开节点 通常打开的节点:A 节点 常闭节点 通常关闭的节点:B 节点 1.4 3BPLC继电器和寄存器 PLC 基本的内部装置介绍 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-4 输入继电器 (Input Relay) 输入继电器表示物理输入点并接收外部输入信号。  装置表示:装置符号以 X 表示,顺序以 8 进制编号。例如: X0~X7, X10~X17 …, X377。 输出继电器 (Output Relay) 输出继电器表示外部输出点,PLC 会将内部存储器的状态刷新至外部输出点。  装置表示:装置符号以 Y 表示,顺序以 8 进制编号。例如: Y0~Y7, Y10~Y17, …, Y377。 内部辅助继电器 (Internal Relay) 内部辅助继电器与外部没有直接联系,它是 PLC 内部的一种辅助继电器,其功 能和电器控制电路中的辅助继电器一样。每个辅助继电器的节点对应内存的一 基本单元,它可由输入继电器节点、输出继电器节点及其它内部装置的节点驱 动,它自己的节点可以无限制地使用。内部辅助继电器无对外输出,要输出时 请透过输出点。  装置表示:装置符号以 M 表示,顺序以 10 进制编号。例如: M0, M1,…,M4095. 步进点 (Step) 步进点提供一种属于步进动作的控制程序输入方式, 利用指令 STL 控制步进点 S 的转移, 便可很容易写出控制程序。如果程序中没有用到步进指令时, 步进点 S 可被当成内部继电器 M 及警报点使用。  装置表示:装置符号以 S 表示,顺序以 10 进制编号。例如 S0, S1, S2,…,S1023. 定时器 (Timer) 定时器用来完成定时控制。定时器含有线圈、节点及寄存器。当定时器的激励 线圈得电,等定时器达到事先给定的设定值后,该定时器的关联节点将会被激 励(常开节点闭合,常闭节点断开)。每种定时器都有规定的时钟周期(定时 单位:1ms/10ms/100ms)。  装置表示:装置符号以 T 表示,顺序以 10 进制编号。例如:T0, T1, …,T255。 计数器 (Counter) 计数器用来实现计数操作。计数器含有线圈、节点及寄存器。使用计数器要事 先给定计数器的设定值(即要计数的脉冲);当线圈由 Off 到 On 变化时,即 被视为该计数器有一脉冲输入,该计数器计数值加 1;当计数器达到其预设值 时,与此计数器相关联的计数器节点将会被激励为 On。另外有 16 位及 32 位 计数器供使用者选用。  装置表示:装置符号以 C 表示,顺序以 10 进制编号。例如: C0, C1,…,C255。 数据寄存器 (Data register) PLC 在进行各类顺序控制及定时值与计数值有关控制时, 常要作数据处理和数 值运算, 数据寄存器用于存储数据或各类参数。每个寄存器可以存储一个 word 的数值(16 位二进制数值)。双字将占用编号相邻的两个数据寄存器。  装置表示:装置符号以 D 表示,顺序以 10 进制编号。例如: D0,D1, D2,…,D4999,…。 变址寄存器 (Index register) 变址寄存器可通过定义一个偏移量给指定装置(字装置、位装置及常量)做变址 用,变址寄存器不用做变址时可做普通寄存器使用。  装置表示:装置符号以 E,F 表示,顺序以 10 进制编号。例如: E0~E7、 F0~F7。 1. PLC 梯形图基本原理 1-5 1.5 4B梯形图符号 下表所示为梯形图的组成图形及说明: 20B梯形图形结构 21B指令说明 22B指令 23B可用装置 常开开关,A 节点 LD X, Y, M, S, T, C 常开开关,B 节点 LDI X, Y, M, S, T, C 串接常开节点 AND X, Y, M, S, T, C 串接常闭节点 ANI X, Y, M, S, T, C 并接常开节点 OR X, Y, M, S, T, C 并接常闭节点 ORI X, Y, M, S, T, C 上升沿触发开关 LDP X, Y, M, S, T, C 下降沿触发开关 LDF X, Y, M, S, T, C 串接上升沿触发开关 ANDP X, Y, M, S, T, C 串接下降沿触发开关 ANDF X, Y, M, S, T, C 并接上升沿触发开关 ORP X, Y, M, S, T, C 并接下降沿触发开关 ORF X, Y, M, S, T, C 区块串接 ANB 无 区块并接 ORB 无 多重输出 MPS MRD MPP 无 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-6 20B梯形图形结构 21B指令说明 22B指令 23B可用装置 线圈输出 OUT Y, M, S S 步进梯形 STL S 基本、应用指令 - 基本和应用指令请参考第 3 章 的指令设置 反向逻辑 INV 无 1.5.1 8B创建一个PLC 梯形图程序 PLC 梯形图程序的编辑方式是从左母线开始至右母线(WPLSoft 编辑时省略右母线)结束,一行编 完后再换下一行,一行的节点个数最多有 11 个;如果一行的节点超过 11 个,一个“0”连续标志会在 下行自动产生,第 12 个节点被放置在下一行开始的地方。相同的输入点可重复使用,如下图所示。 Y10 0 X0 X1 X2 X3 X4 X5 X6 X7 X10 C0 C1 X11 X12 X13 当评估用户的程序时,PLC 会将梯形图按照从左到右,从上到下进行的方式进行扫描,一直扫 描到 END 指令。输出线圈和基本及应用指令属于输出处理,放在梯形图中的最右边。如下图 所示,下图解释了梯形图的执行顺序,黑圆圈里的编号表示梯形图的执行顺序。 X0 X1 Y1 X4 M0 X3 M1 T0 M3 Y1 TMR T0 K10 范例程序执行顺序: A○1E LD X0 A○2E OR M0 A○3E AND X1 A○4E LD X3 AND M1 ORB 1. PLC 梯形图基本原理 1-7 A○5E LD Y1 AND X4 A○6E LD T0 AND M3 ORB A○7E ANB A○8E OUT Y1 A○9E TMR T0 K10 1.5.2 9BLD / LDI (常开或者常闭节点的载入) 一行或者一区块的开始使用 LD 或者 LDI 指令 AND 区块 OR区块 LD指令 LD 指令 1.5.3 10BLDP / LDF (上升沿或者下降沿指令的载入) LDP 及 LDF 指令的结构和 LD 指令一样,不过 LDP 及 LDF 在动作时是在节点导通的上升沿或下降 沿时才动作。如下图所示: X0 OFF ON OFF 时间 上升沿 时间 X0 OFF ON OFF 下降沿 1.5.4 11BAND / ANI (常开节点或常闭节点的串接) AND (ANI)指令用于将常开(常闭)节点与某一装置或某一区块的串接。 AND 指令 AND 指令 1.5.5 12BANDP / ANDF (上升沿或下降沿节点的串接) ANDP / ANDF 指令的结构和 AND / ANI 指令一样,用于将上升沿或者下降沿与某一装置或某一区块 的串接。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-8 1.5.6 13BOR / ORI (常开节点或常闭节点的并接) OR (ORI)指令用于将常开(常闭)节点与某一装置或某一区块的并接。 OR 指令 OR 指令 OR 指令 1.5.7 14BORP / ORF (上升沿或下降沿节点的并接) ORP (ORF)指令结构和 OR(ORI)一样,用于将上升沿或者下降沿与某一装置或某一区块的并接。 1.5.8 15BANB (区块串接) ANB 指令: 一区块与一装置或一区块的串接组合。 ANB 指令 1.5.9 16BORB (区块串接) ORB 指令: 一区块与一装置或与一区块并接的组合。 ORB 指令 1. PLC 梯形图基本原理 1-9 1.5.10 MPS / MRD / MPP (分支指令) MPS、MRD、MPP 指令: 多重输出的分歧点记忆, 这样可以产生多个并且具有变化的不同输出。 分支指令 分支符号 分支描述 MPS ┬ MPS 指令是分支点的开始,它会将程序的当前处理结果存储 起来。MPS 指令最多可连续使用 8 次。 MRD ├ MRD 指令用于分支点的记忆读取。 MPP └ MPP 表示分支的结束,它用于将最上层开始的状态读出并把 它自堆栈中读出。 注意:当用 WPLSoft 编译梯形图时,MPS,MRD 及 MPP 指令在指令格式下会被自动添加到编译结 果中。然而,如果分支指令没有必要要,这种分支指令会被 WPLSoft 忽略。用户在用指令编辑程序 时可根据需要进入分支指令。 MPS、 MRD 及 MPP:的连接点如下图所示 注意: 当用 ISPSoft 编译梯形图时, 不支持 MPS, MRD 及 MPP 指令。须将其拆解成多个网络。 WPLSoft ISPSoft MPS MRD MPP MPP MPSES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-10 1.5.11 18BSTL (步进梯形程序) 如下面左图所示,STL 程序可以使用步进点,如步进点 S0,S21 及 S22。此种指令可以让用户编辑 程序时以像画流程图一样明白易懂的方式编辑程序。STL 程序只有上一步完成后程序才去执行下一 步,因此它形成了类似于 SFC(Sequential Function Chart)模式的顺序控制过程。STL 序列可以转换 成 PLC 的梯形图,我们称之为步进梯形图。步进梯形图如下面右图所示。 e S0 S21 S22 M1002 M1002 SET S0 SET S21S S0 SET S22S S21 S S22 S0 RET 1.5.12 19BRET (返回) RET 指令务必要放在步进梯形图的最后,它表明步进流程的结束。 eS S20 RET eS S20 RET 注意:如上图所示,RET 指令务必要放在最后一个步进点的后面,否则可能会产生程序错误。 1. PLC 梯形图基本原理 1-11 1.6 梯形图和指令的转换 梯形图 X0 X2 X1 X1 M1 C0 Y0 SET S0 M2 Y0 M0 X10 Y10 SET S10 S0 S X11 Y11 SET S11 S10 S SET S12 SET S13 X12 Y12 SET S20 S11 S X13 S0 RET S20 S S12 S S13 S X0 CNT C0 K10 X1 M0 C0 X1 M2 RST C0 M1 M2 END 指令 LD X0 OR X1 LD X2 OR M0 ORI M1 ANB LD M2 AND Y0 ORB AN I X1 OUT Y0 AND C0 SET S0 STL S0 LD X10 OUT Y10 SET S10 STL S10 LD X11 OUT Y11 SET S11 SET S12 SET S13 STL S11 LD X12 OUT Y12 SET S20 STL S20 STL S12 STL S13 LD X13 OUT S0 RET LD X0 CNT C0 K10 LD C0 MPS AND X1 OUT M0 MRD AN I X1 OUT M1 MPP AN I M2 OUT M2 END 区块OR ANI 多项输出 RST C0 步进梯形开始 Y10 输出及步进点转移 S10 状态读出 S10 X11 与运算 Y11 输出及步进点转移 S11状态读取 S11 X12 与运算 Y12 输出及步进点转移 分支合流 步进梯形结束 X13 状态读取及步进点转移 步进动作返回 读取C0 多重输出 程序结束 状态 与 运算S0 X10 区块OR 串接区块 AND区块 并接区块 输出的状态依据 的状态继续往后处理 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-12 模糊语法结构 一般地梯形图的解析过程应该是根据从上至下,从左至右的原则。然而,一些编程方法不遵守这个 原则仍可以得到相同的执行结果。下面为对这种“模糊语法”的一些例子的解释。 例 1: 24B理想的方法 25B不理想的方法 LD X0 LD X0 OR X1 OR X1 LD X2 LD X2 OR X3 OR X3 ANB LD X4 LD X4 OR X5 OR X5 ANB X0 X2 X4 X5X3X1 ANB ANB 两种指令程序能转换成相同的梯形图。两种指令程序的不同在于 PLC 主机对 ANB 指令的解析操作 上。ANB 指令在程序中连续使用不能超过 8 次,如果超过 8 次,程序将会产生错误。所以在区块后 用 ANB 指令是防止错误发生的比较理想的方法(因为 ANB 指令不会被连续使用);另外,这种编 程方法对用户来说也是更符合逻辑。 例 2: 26B理想的方法 27B不理想的方法 LD X0 LD X0 OR X1 LD X1 OR X2 LD X2 OR X3 LD X3 ORB ORB X0 X1 X2 X3 ORB 上图所示的两种程序编辑方法的不同很明显, 不理想的程序编辑方法不但增加了程序代码, 而且也增 加了主机的运算和记忆。总而言之, 从理论上和应用上来讲, 理想的程序编辑方法不仅可以防止编辑 程序时出现错误而且可以提高程序的执行速度。 1. PLC 梯形图基本原理 1-13 常见的梯形图错误 PLC 处理梯形图程序的原则是从上至下,从左至右,所以用户在编辑梯形图时也要遵守这样原则, 否则 WPLSoft 会检测到出现的错误。 在编译用户的程序时,下表所示为长见的梯形图错误: 不可往上做 OR 运算 信号回流 输入起始至输出的讯号回路有 “回流” 存在 输出应该先放在回路的右上角 要做合并或编辑应由左上往右下, 虚线括处的区块 应往上移 不可与空装置做并接运算 空装置也不可以与别的装置做运算 中间的区块没有装置 串联装置与区块串接时须水平方向对齐 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-14 P0 的标签位置要放在完整网络的第一行 区块串接要与串并左边区块的最上段水平线接齐 1. PLC 梯形图基本原理 1-15 1.7 6B梯形图的化简 例 1: 单一装置与并联区块串接时将单一装置放在前面可省略 ANB 指令,并且化简程序可以提高处理速 度。 指令表 LD X0 LD X1 OR X2 X0 X1 X2 ANB  指令表 LD X1 OR X2 X0X1 X2 AND X0 例 2:单一装置与区块并接,区块放在上面可以省略 ORB 指令。 指令表 LD T0 LD X1 AND X2 T0 X1 X2 ORB  指令表 LD X1 AND X2 T0 X1 X2 OR T0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-16 例 3: 阶梯图(a)中, 上面的区块比下面的区块短, 可以把上下的区块调换达到同样的逻辑结果, 因为图(a)是 不合法的, 因为有 “讯号回流” 回路。 指令表 LD X0 OR X1 AND X2 LD X3 AND X4 X0 X1 X2 X3 X4 (a) ORB  指令表 LD X3 AND X4 LD X1 OR X0 AND X2 X0 X1 X2 X3 X4 (b) ORB 例 4: 相同垂直线的多重条件输出时,没有输入装置及运算的输出放在上面可以省略 MPS 和 MPP 指令。 指令表 MPS AND X0 OUT Y1 MPP X0 Y1 Y0 OUT Y0  指令表 OUT Y0 AND X0 Y0 Y1 X0 OUT Y1 1. PLC 梯形图基本原理 1-17 例 5: 左边的图是有误的, 其中存在不合法之”讯号回流”路径, 如图所示。并修正如右图, 如此可完成使用者 要的电路动作。 X0 X3 X6 X1 X4 X7 X2 X5 X10 信号回流 LOOP1  X0 X1 X2 X3 X4 X5 X10 X6 X7 X5 X10 LOOP1 例 6: 左边的图是有误的, 其中存在不合法之”讯号回流”路径, 如图所示。并修正如右图, 如此可完成使用者 要的电路动作。 X0 X3 X6 X1 X4 X7 X2 X5 X10 信号回流 LOOP1 信号回流 X0 X3 X6 X1 X4 X7 X2 X5 X10 LOOP2  LOOP1 X0 X1 X2 X3 X4 X5 X6 X3 X7 X10 X6 X0 X1 X7 X10 LOOP2 X4 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-18 1.8 7B常用基本程序设计范例 例 1:停止优先的自保回路 当启动常开节点 X1 = On,停止常闭节点 X2 = Off 时, Y1=On,此时如果 X2=On,Y1=Off。因为停止按钮比启动按钮 有控制权,所以这是一个停止优先的电路。 X2 Y1 X1 Y1 启动 停止 例 2:启动优先的自保回路 当启动常开节点 X1 = On,停止常闭节点 X2 = Off 时,Y1 将得 电并且自保,此时如果 X2=On,Y1 仍然自保。因为启动按钮比 停止按钮有控制权,所以这是一个启动优先的电路。 X2 Y1 X1 Y1 启动 停止 例 3:置位、复位的自保回路 Y1 X1 SET X2 Y1RST 停止优先 右图是利用 RST 及 SET 指令组合而成的自保回路。 RST 指令设置在 SET 指令之后, 为停止优先。由于 PLC 执行程 序时, 是由上而下, 因此会以程序最后, Y1 的状态作为 Y1 的线圈 是否受电。所以当 X1 与 X2 同时动作时, Y1 将失电, 因此为停止 优先。 SET 指令设置在 RST 指令之后, 为启动优先。当 X1 与 X2 同时 动作时, Y1 将受电, 因此为启动优先。 Y1 X1 SET X2 Y1RST 启动优先 例 4:停电保持回路 辅助继电器 M512 是一个停电保持的继电器。一旦 X1=On,Y1 将得电并自保。当 PLC 停电后再加电,Y1 仍可保持停电前的自 保状态。 X2 M512 X1 SET RST M512 Y1 M5121. PLC 梯形图基本原理 1-19 例 5:条件控制 X3 Y1 X1 Y1 X4 Y2 X2 Y2 Y1 X1 X3 X2 X4 Y1 Y2 X1、X3 分别启动/停止 Y1, X2、X4 分别启动/停止 Y2, 而且均有自保回路。因为 Y1 的常开节点 和 Y2 的输出回路相串联,所以 Y1 的常开节点变成 Y2 使能输出的一个条件。如上图所示,如果 Y2 要变成 On,则 Y1 的常开节点必须 On。 例 6:互锁控制 X3 Y1 X1 Y1 X4 Y2 X2 Y2 Y1 Y2 X1 X3 X2 X4 Y1 Y2 上图为互锁控制回路, 启动接点 X1、X2 那一个先有效, 对应的输出 Y1、Y2 将先动作, 而且其中一 个动作了, 另一个就不会动作, 也就是说 Y1、Y2 不会同时动作 (互锁作用) 。即使 X1, X2 同时有 效, 由于阶梯图程序是自上而下扫描, Y1、Y2 也不可能同时动作。本阶梯图形只有让 Y1 优先。 例 7:顺序控制 X3 Y1 X1 Y1 X4 Y2 X2 Y2 Y1 Y2 若把例 5 “条件控制” 中 Y2 的常闭接点串入到 Y1 的电路中, 作为 Y1 动作的一个 AND 条件 (如 左图所示) , 则这个电路不仅 Y1 作为 Y2 动作的 条件, 而且当 Y2 动作后还能停止 Y1 的动作, 这 样就使 Y1 及 Y2 确实执行顺序动作的程序。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-20 例 8:震荡电路 周期为ΔT(On)+ΔT(Off)的震荡电路 Y1 Y1 Y1 T T 第一次扫描时,Y1 的常闭节点为 On,则 Y1 输出线圈得电;在下次扫描时,由于 Y1 的存储状态为 On,所以 Y1 的常闭节点 Off, 则 Y1 输出线圈失电。Y1 的输出状态会在每次扫描时改变,这样就形 成了输出周期为ΔT(On)+ΔT(Off)的震荡电路。 例 9:用定时器组成的震荡电路 震荡周期为 nT+ΔT 的震荡电路 T0 X0 TMR Y1 Y1 T0 Kn Y1 TTn X0 当 X0=On 时,T0 开始计时。一旦定时器计时到其设定值,T0 常开节点为 On,则 Y0 的输出线圈 为 On;在下次扫描时,由于 Y1 输出线圈得电,其常闭节点失电,则定时器 T0 复位,T0 的常开 节点为 Off,Y1 输出线圈为 Off。当再次扫描时,T0 又重新开始计时,如此循环,这样就形成了 输出周期为 nT+ΔT 的震荡电路。 例 10:闪烁电路 下图所示的梯形图用两个定时器组成的一个震荡电路,此电路可实现闪烁指示或者蜂鸣器报警。n1 和 n2 为 T1,T2 的十进制设定值,T 为定时器的时钟周期。 T2TMR Kn2 T1 X0 TMR Y1 T2 T1 Kn1 X0 T1 Y1 Tn1 X0 Tn2 1. PLC 梯形图基本原理 1-21 例 11:触发电路 在下图中, X0 的上升沿微分指令使线圈 M0 产生 ΔT (一个扫描周期时间) 的单脉冲, 在这个扫描周期 内线圈 Y1 也受电。下个扫描周期线圈 M0 失电, 其常闭接点 M0 与常闭接点 Y1 都闭合着, 进而使线 圈 Y1 继续保持受电状态, 直到输入 X0 又来了一个上升缘, 再次使线圈 M0 受电一个扫描周期, 同时导 致线圈 Y1 失电…。其动作时序如下图。这种电路常用于靠一个输入使两个动作交替执行。另外由下 时序图形可看出, 当输入 X0 是一个周期为 T 的方波信号时, 线圈 Y1 输出便是一个周期为 2T 的方波 信号。 Y1 M0 X0 Y1 Y1 M0 M0 X0 M0 Y1 T 例 12:延迟电路 如果 X0=On,则定时器 T10 处于失电状态,定时器 T10 对应的常闭节点为 On,所以 Y1 输出线圈得 电。当 X0=Off 时,定时器 T10 有效。100s(K1000 × 0.1 秒= 100 秒)后,T10 的常闭节点由 On 变为 Off,则 Y1 变为 Off。Y1 变为 Off 通过此延时电路被延时 100 s. T10 X0 TMR Y1 T10 K1000 定时器的时钟周期为 0.1 秒 X0 Y1 100 秒 例 13:输出延迟电路 下图所示的输出延时电路是由两个定时器组成的电路,定时器 T5,T6 执行延时动作。当输入点 X0 为 On 或者 Off 时,Y4 的输出都会产生延时。 T5 T5 TMR Y4 T6 X0 K50 Y4 T6 Y4 TMR X0 K30 3 秒 5 秒 T5 T6 T ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-22 例 14: 延长计时电路 . T12TMR Kn2 T11 X0 TMR Y1 T11 Kn1 T12 定时器 T11,T12,时钟周期为 T 在左图所示的梯形图中,从输入 X0 闭合到输出 Y1 得电的总延迟时间=(n1+n2)* T,其中 T 为时钟 周期。 X0 Y1 T11 T12 n1* n2* T T (n1+n2)* T 例 15:扩大计数范围的计数电路 C6CNT Kn2 C5 X13 CNT RST C5 Kn1 X14 C5RST Y1 C6 C6 16 位的计数器, 计数范围为 0~32,767, 如左图 所示, 用两个计数器, 可使计数数值扩大到 n1*n2。当计数器 C5 计数到达 n1 时, 将使计数 器 C6 计数一次, 同时将自己复位(Reset), 以接 着对来自 X13 的脉冲计数。当计数器 C6 计数 到达 n2 时, 则自 X13 输入的脉冲正好是 n1*n2 次。 例 16:交通灯控制(使用步进梯形指令) 交通灯控制 28B红灯 29B黄灯 30B绿灯 31B绿灯闪烁 垂直方向信号灯 Y0 Y1 Y2 Y2 水平方向信号灯 Y20 Y21 Y22 Y22 灯号时间 35 Sec 5 Sec 25 Sec 5 Sec 1. PLC 梯形图基本原理 1-23 垂直方向灯 水平方向灯 时序图: 红灯(Y0) 垂直方向信号灯 5 秒 25 秒 黄灯(Y1) 绿灯(Y2) 水平方向信号灯 红灯(Y20) 黄灯(Y21) 绿灯(Y22) 25 秒 5 秒 5 秒 5 秒 SFC 图: S0 S20 S21 S22 S0 M1002 T0 T1 T13 Y0 S23 T2 TMR T0 K350 Y2 TMR T1 K250 Y2 TMR T2 K50 M1013 Y1 S30 S31 S32 T10 T11 S33 T12 Y22 TMR T10 K250 Y21 TMR T12 K50 Y22 TMR T11 K50 M1013 Y20 TMR T13 K350 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-24 梯形图: M1002 ZRST S0 S127 SET S0 SET S20 Y2 END S0 S S21 S Y1 S23 S Y22 S30 S T13S23 S S33 S SET S30 S20 S TMR T0 SET S21 T0 Y0 K350 TMR T1 SET S22 T1 K250 Y2 S22 S TMR T2 SET S23 T2 K50 M1013 TMR T10 SET S31 T10 K250 Y22 S31 S TMR T11 SET S32 T11 K50 M1013 Y21 S32 S TMR T12 SET S33 T12 K50 Y20 S33 S TMR T13 K350 S0 RET 1. PLC 梯形图基本原理 1-25 用 WPLSoft SFC 编辑器编程(SFC 模式下) 32BSFC 图 33B内部梯形图 LAD-0 S0ZRST S127 M1002 S0SET 转移条件 1 TRANS* T0 S22 Y2 T2TMR K50 M1013 转移条件 4 TRANS* T13 TRANS* T13 TRANS* T13 TRANS* T13 TRANS* T13 TRANS* T13 TRANS* T13 0 2 3 4 5 6 7 1 LAD-0 S0 S20 S21 S22 S23 S30 S31 S32 S33 S0 转移条件 7 TRANS* T12 TRANS* T12 TRANS* T12 TRANS* T12 TRANS* T12 TRANS* T12 TRANS* T12 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1-26 MEMO 2-1 程序概念 ES2/EX2/SS2/SA2/SX2/SE PLC 是一种可编程控制器,它的 I/O 范围是 10- 256 点(SS2/SA2/SX2/SE 为 512 点)。PLC 能控制很多种类的设备,来解决 你的自动化需求。通过用户程序,PLC 可以监视输入并修改输出。用户程序 提供类似于布尔逻辑、计数器、计时器、复杂的四则运算与其它通讯产品通 讯等功能。 目录 2.1 ES2/EX2 记忆区 ...................................................................................................................2-2 2.2 SS2 记忆区 ...........................................................................................................................2-5 2.3 SA2/SX2 记忆区 ...................................................................................................................2-7 2.4 SE记忆区 ............................................................................................................................2-10 2.5 停电保持记忆方式...............................................................................................................2-13 2.6 PLC的位,半字节,字节,字….........................................................................................2-14 2.7 二进制,八进制,十进制,BCD,十六进制 ......................................................................2-14 2.8 M继电器..............................................................................................................................2-17 2.9 步进继电器S .......................................................................................................................2-29 2.10 定时器T...............................................................................................................................2-29 2.11 计数器C ..............................................................................................................................2-30 2.12 高速计数器..........................................................................................................................2-32 2.13 特殊数据寄存器 ..................................................................................................................2-37 2.14 E,F 变址寄存器 ................................................................................................................2-48 2.15 指针[N],指针[P],中断指针[I] ..........................................................................................2-49 2.16 特殊M继电器及D寄存器群组应用说明................................................................................2-52 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-2 2.1 ES2/EX2 记忆区 项目 范 围 演算控制方式 内存程序, 往返式来回扫描方式 输入/输出处理方式 结束再生方式 (当执行至 END 指令) 执行速度 LD 指令 - 0.54μs, MOV 指令 - 3.4μs 程序语言 指令+梯形图+SFC 程序容量 15872 步数 X 外部输入继电器 X0~X377,八进制编码,256 点(*4) Y 外部输出继电器 Y0~Y377,八进制编码,256 点(*4) 总共 256+16 点 一般用 M0~M511,512 点 (*1) M768~M999,232 点 (*1) M2000~M2047,48 点 (*1) 停电保持用 M512~M767,256 点 (*2) M2048~M4095,2048 点 (*2) M 辅助继电器 特殊用 M1000~M1999,1000 点,部分为停电保持 总共 4096 点 T0~T126,127 点 (*1) T128~T183,56 点 (*1) T184~T199 (子程序用),16 点 (*1) 100ms (M1028=On, T64~T126 为 10ms) T250~T255(累计型),6 点 (*1) T200~T239,40 点 (*1) 10ms (M1038=On, T200~T245 为 1ms) T240~T245(累计型),6 点 (*1) 位继电器 T 定时器 1ms T127,1 点 (*1) T246~T249(累计型),4 点 (*1) 总共 256 点 C0~C111,112 点 (*1) C128~C199,72 点 (*1) 16 位上数 C112~C127,16 点 (*2) C200~C223,24 点 (*1) 32 位上/下数 C224~C231, 8 点 (*2) 总共 232 点 C235~C242,1 相 1 输入,8 点 (*2) 软件 C232~C234,2 相 2 输入,3 点 (*2) C243, C244,1 相 1 输入,2 点 (*2) C245~C250,1 相 2 输入,6 点 (*2) C 计数器 32 位高速计数 器上/下数 硬件 C251~C254,2 相 2 输入,4 点 (*2) 总共 23 点 初始化步进点 S0~S9,10 点 (*2) 远点回归用 S10~S19, 10 点 (搭配 IST 指令使用) (*2) 停电保持用 S20~S127,108 点 (*2) 一般用 S128~S911,784 点 (*1) 位 继 电 器 S 步进点 警报用 S912~S1023,112 点 (*2) 总共 1024 点 2. 程序概念 2-3 项目 范 围 T 定时器现在值 T0~T255,256 字 C0~C199,16 位计数器, 200 字 C 计数器现在值 C200~C254,32 位计数器, 55 字 一般用 D0~D407,408 字 (*1) D600~D999, 400 字 (*1) D3920~D9999,6080 字 (*1) 停电保持用 D408~D599,192 字 (*2) D2000~D3919, 1920 字 (*2) 特殊用 D1000~D1999, 1000 字, 部分是停电保持 特殊模块用 D9900~D9999,100 字 (*1) (*5) 字寄存器 D 数据寄存器 变址用 E0~E7, F0~F7, 16 字 (*1) 总共 10000 字 N 主控回路用 N0~N7,8 点 P 指针 P0~P255,256 点 外部中断插入 I000/I001(X0),I100/I101(X1),I200/I201(X2), I300/I301(X3),I400/I401(X4),I500/I501(X5), I600/I601(X6),I700/I701(X7),8 点 (01,上升沿触发 ,00,下降沿触发 ) 定时中断插入 I602~I699,I702~I799,2 点 (时基 = 1ms) 高速计数到达中断插 入 I010,I020,I030,I040,I050,I060,I070,I080,8 点 指针 I 中断服务 通信中断 I140(COM1),I150(COM2),I160(COM3),3 点 (*3) K 十进制 K-32,768 ~ K32,767 (16 位运算), K-2,147,483,648 ~ K2,147,483,647 (32 位运算) 常数 H 十六进制 H0000 ~ HFFFF (16 位运算), H00000000 ~HFFFFFFFF (32 位运算) 通讯端口 COM1: 内置的 RS-232 (主站/从站), 常用的程序编辑通讯口 COM2: 内置的 RS-485 (主站/从站) COM3: 内置的 RS-485 (主站/从站) 实时时钟 (RTC)*6 年,月,天,星期, 小时,分钟,秒 特殊扩展模块 最多可有八个模拟 I/O 的扩充模块 档案寄存器*7 K0~K4999,5000 点*2 注释: *1: 非停电保持区域, 不可变更。 *2: 停电保持区域, 不可变更。 *3: COM1 为内置 RS-232 通讯口,COM2 为内置 RS-485 通讯口,COM3 为内置 RS-485 通讯口。 *4: 当数字输入点 X 点扩充至最大可扩充点 256 点时,则输出 Y 只能使用到 16 点,反之,当输出 Y 点扩充至 256 点时,则输入 X 只能被使用 16 点。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-4 *5: 当 ES2/EX2 主机连接了特殊扩展模块时,此区域才会有效;每连一台特殊模块将占用 10 点。 *6: 主机韧体版本为 V2.00 版以上支持断电后持续可计时功能,断电计时时间约达 1 周。 *7: 主机韧体版本为 V2.80 版以上支持档案缓存器功能,其读出与写入请参照 MEMR/MEMW 指令说 明。 2. 程序概念 2-5 2.2 SS2 记忆区 项目 范 围 演算控制方式 内存程序, 往返式来回扫描方式 输入/输出处理方式 结束再生方式 (当执行至 END 指令) 执行速度 LD 指令 - 0.54μs, MOV 指令 - 3.4μs 程序语言 指令+梯形图+SFC 程序容量 7920 步数 X 外部输入继电器 X0~X377,八进制编码,256 点 Y 外部输出继电器 Y0~Y377,八进制编码,256 点 合计 480+14 点(*4) 一般用 M0~M511,512 点 (*1) M768~M999,232 点 (*1) M2000~M2047,48 点 (*1) 停电保持用 M512~M767,256 点 (*2) M2048~M4095,2048 点 (*2) M 辅助继电器 特殊用 M1000~M1999,1000 点,部分为停电保持 总共 4096 点 T0~T126,127 点 (*1) T128~T183,56 点 (*1) T184~T199 (子程序用),16 点 (*1) 100ms (M1028=On, T64~T126 为 10ms) T250~T255(累计型),6 点 (*1) T200~T239,40 点 (*1) 10ms (M1038=On, T200~T245 为 1ms) T240~T245(累计型),6 点 (*1) 位继电器 T 定时器 1ms T127,1 点 (*1) T246~T249(累计型),4 点 (*1) 总共 256 点 C0~C111,112 点 (*1) C128~C199,72 点 (*1) 16 位上数 C112~C127,16 点 (*2) C200~C223,24 点 (*1) 32 位上/下数 C224~C232,9 点 (*2) 总共 233 点 C235~C242,1 相 1 输入,8 点 (*2) 软件 C233~C234,2 相 2 输入,2 点 (*2) C243, C244,1 相 1 输入,2 点 (*2) C245~C250,1 相 2 输入,6 点 (*2) C 计数器 32 位高速计数 器上/下数 硬件 C251~C254,2 相 2 输入,4 点 (*2) 总共 22 点 初始化步进点 S0~S9,10 点 (*2) 远点回归用 S10~S19, 10 点 (搭配 IST 指令使用) (*2) 停电保持用 S20~S127,108 点 (*2) 一般用 S128~S911,784 点 (*1) 位 继 电 器 S 步进点 警报用 S912~S1023,112 点 (*2) 总共 1024 点 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-6 项目 范 围 T 定时器现在值 T0~T255,256 字 C0~C199,16 位计数器, 200 字 C 计数器现在值 C200~C254, 32 位计数器, 55 字 一般用 D0~D407,408 字 (*1) D600~D999, 400 字 (*1) D3920~D4999,1080 字 (*1) 停电保持用 D408~D599,192 字 (*2) D2000~D3919, 1920 字 (*2) 特殊用 D1000~D1999, 1000 字, 部分是停电保持 字寄存器 D 数据寄存器 变址用 E0~E7, F0~F7, 16 字 (*1) 总共 5000 字 N 主控回路用 N0~N7,8 点 P 指针 P0~P255,256 点 外部中断插入 I000/I001(X0),I100/I101(X1),I200/I201(X2), I300/I301(X3),I400/I401(X4),I500/I501(X5), I600/I601(X6),I700/I701(X7),8 点 (01,上升沿触发 ,00,下降沿触发 ) 定时中断插入 I602~I699,I702~I799,2 点 (时基 = 1ms) 高速计数到达中断插 入 I010, I020, I030, I040, I050, I060, I070, I080, 8 点 指针 I 中断服务 通信中断 I140(COM1),I150(COM2),2 点 (*3) K 十进制 K-32,768 ~ K32,767 (16 位运算), K-2,147,483,648 ~ K2,147,483,647 (32 位运算) 常数 H 十六进制 H0000 ~ HFFFF (16 位运算), H00000000 ~HFFFFFFFF (32 位运算) 通讯端口 COM1: 内置的 RS-232 (主站/从站), 常用的程序编辑通讯口 COM2: 内置的 RS-485 (主站/从站) 实时时钟 (RTC) 年,月,天,星期, 小时,分钟,秒 特殊扩展模块 最多可有八个模拟 I/O 的扩充模块 注释: 1. 非停电保持区域, 不可变更。 2. 停电保持区域, 不可变更。 3. COM1 为内置 RS-232 通讯口,COM2 为内置 RS-485 通讯口。 4. SS2 主机固定会占用 16 点输入(X0~X17)与 16 点输出(Y0~Y17)。 2. 程序概念 2-7 2.3 SA2/SX2 记忆区 项目 范 围 演算控制方式 内存程序, 往返式来回扫描方式 输入/输出处理方式 结束再生方式 (当执行至 END 指令) 执行速度 LD 指令 - 0.54μs, MOV 指令 - 3.4μs 程序语言 指令+梯形图+SFC 程序容量 15872 步数 X 外部输入继电器 X0~X377,八进制编码,256 点 Y 外部输出继电器 Y0~Y377,八进制编码,256 点 总共 480+32 点(*4) 一般用 M0~M511,512 点 (*1) M768~M999,232 点 (*1) M2000~M2047,48 点 (*1) 停电保持用 M512~M767,256 点 (*2) M2048~M4095,2048 点 (*2) M 辅助继电器 特殊用 M1000~M1999,1000 点,部分为停电保持 总共 4096 点 T0~T126,127 点 (*1) T128~T183,56 点 (*1) T184~T199 (子程序用),16 点 (*1) 100ms (M1028=On, T64~T126 为 10ms) T250~T255(累计型),6 点 (*1) T200~T239,40 点 (*1) 10ms (M1038=On, T200~T245 为 1ms) T240~T245(累计型),6 点 (*1) 位继电器 T 定时器 1ms T127,1 点 (*1) T246~T249(累计型),4 点 (*1) 总共 256 点 C0~C111,112 点 (*1) C128~C199,72 点 (*1) 16 位上数 C112~C127,16 点 (*2) C200~C223,24 点 (*1) 32 位上/下数 C224~C232, 9 点 (*2) 总共 233 点 C235~C242, 1 相 1 输入, 8 点 (*2) 软件 C233~C234, 2 相 2 输入, 2 点 (*2) C243, C244, 1 相 1 输入, 2 点 (*2) C245~C250, 1 相 2 输入, 6 点 (*2) C 计数器 32 位高速计数 器上/下数 硬件 C251~C254, 2 相 2 输入, 4 点 (*2) 总共 22 点 初始化步进点 S0~S9,10 点 (*2) 远点回归用 S10~S19, 10 点 (搭配 IST 指令使用) (*2) 停电保持用 S20~S127,108 点 (*2) 一般用 S128~S911,784 点 (*1) 位 继 电 器 S 步进点 警报用 S912~S1023,112 点 (*2) 总共 1024 点 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-8 项目 范 围 T 定时器现在值 T0~T255,256 字 C0~C199,16 位计数器, 200 字 C 计数器现在值 C200~C254, 32 位计数器, 55 字 一般用 D0~D407,408 字 (*1) D600~D999, 400 字 (*1) D3920~D9799,5880 字 (*1) 停电保持用 D408~D599,192 字 (*2) D2000~D3919, 1920 字 (*2) 特殊用 D1000~D1999, 1000 字, 部分是停电保持 右侧特殊模块用 D9900~D9999, 100 点 (*1) (*6) 左侧特殊模块用 D9800~D9899, 100 点 (*1) (*7) 字寄存器 D 数据寄存器 变址用 E0~E7, F0~F7, 16 字 (*1) 总共 10000 字 N 主控回路用 N0~N7,8 点 P 指针 P0~P255,256 点 外部中断插入 I000/I001(X0),I100/I101(X1),I200/I201(X2), I300/I301(X3),I400/I401(X4),I500/I501(X5), I600/I601(X6),I700/I701(X7),8 点 (01,上升沿触发 ,00,下降沿触发 ) 定时中断插入 I602~I699,I702~I799,2 点 (时基 = 1ms) 高速计数到达中断插 入 I010, I020, I030, I040, I050, I060, I070, I080, 8 点 指针 I 中断服务 通信中断 I140(COM1),I150(COM2),I160(COM3),3 点 (*3) K 十进制 K-32,768 ~ K32,767 (16 位运算), K-2,147,483,648 ~ K2,147,483,647 (32 位运算) 常数 H 十六进制 H0000 ~ HFFFF (16 位运算), H00000000 ~HFFFFFFFF (32 位运算) SA2 COM1: 内置的 RS-232 (主站/从站), 常用的程序编辑通讯口 COM2: 内置的 RS-485 (主站/从站) COM3: 内置的 RS-485 (主站/从站) 通讯端口 SX2 COM1: 内置的 RS-232 (主站/从站), 常用的程序编辑通讯口 COM2: 内置的 RS-485 (主站/从站) COM3: 内置的 USB (从站) 实时时钟 (RTC) 年,月,天,星期, 小时,分钟,秒 特殊扩展模块 右侧最多可有 8 台扩展模块 左侧最多可连接 8 台高速扩展模块 档案寄存器*5 K0~K4999,5000 点*2 注释: *1: 非停电保持区域, 不可变更。 2. 程序概念 2-9 *2: 停电保持区域, 不可变更。 *3: 通讯口请参照通讯端口说明,SX2 机种不支持 I160 中断。 *4: SA2 主机内建点数为 8 点输入(X0~X7)与 4 点输出(Y0~Y3),但会固定占用 16 点输入(X0~X17) 与 16 点输出(Y0~Y17)。SX2 主机内建点数为 8 点输入(X0~X7)与 6 点输出(Y0~Y5),但会固定 占用 16 点输入(X0~X17)与 16 点输出(Y0~Y17)。扩充输入/输出点数皆从 X20 与 Y20 开始排 序。 *5: 主机韧体版本为 V2.0 版以上支持档案寄存器功能,其读出与写入请参照 MEMR/MEMW 指令说 明。 *6: 当 SA2 主机连接了右侧特殊扩充模块且清除 M1183 为 Off 时, 此区域才会有效, 每连一台特殊模 块将占用 10 个 D 装置。 *7: 当 SA2 主机连接了左侧特殊扩充模块且清除 M1182 为 Off 时, 此区域才会有效, 每连一台特殊模 块将占用 10 个 D 装置。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-10 2.4 SE 记忆区 项目 范 围 演算控制方式 内存程序, 往返式来回扫描方式 输入/输出处理方式 结束再生方式 (当执行至 END 指令) 执行速度 LD 指令 - 0.64μs, MOV 指令 - 2μs, 1000Step 约 1ms 程序语言 指令+梯形图+SFC 程序容量 15872 步数 X 外部输入继电器 X0~X377,八进制编码,256 点 Y 外部输出继电器 Y0~Y377,八进制编码,256 点 总共 480+12 点(*4) 一般用 M0~M511,512 点 (*1) M768~M999,232 点 (*1) M2000~M2047,48 点 (*1) 停电保持用 M512~M767,256 点 (*2) M2048~M4095,2048 点 (*2) M 辅助继电器 特殊用 M1000~M1999,1000 点,部分为停电保持 总共 4096 点 T0~T126,127 点 (*1) T128~T183,56 点 (*1) T184~T199 (子程序用),16 点 (*1) 100ms (M1028=On, T64~T126 为 10ms) T250~T255(累计型),6 点 (*1) T200~T239,40 点 (*1) 10ms (M1038=On, T200~T245 为 1ms) T240~T245(累计型),6 点 (*1) 位继电器 T 定时器 1ms T127,1 点 (*1) T246~T249(累计型),4 点 (*1) 总共 256 点 C0~C111,112 点 (*1) C128~C199,72 点 (*1) 16 位上数 C112~C127,16 点 (*2) C200~C223,24 点 (*1) 32 位上/下数 C224~C231, 8 点 (*2) 总共 232 点 C235~C242, 1 相 1 输入, 8 点 (*2) 软件 C233~C234, 2 相 2 输入, 2 点 (*2) C243, C244, 1 相 1 输入, 2 点 (*2) C245~C248, 1 相 2 输入, 4 点 (*2) C 计数器 32 位高速计数 器上/下数 硬件 C251~C254, 2 相 2 输入, 4 点 (*2) 总共 20 点 初始化步进点 S0~S9,10 点 (*2) 远点回归用 S10~S19, 10 点 (搭配 IST 指令使用) (*2) 停电保持用 S20~S127,108 点 (*2) 一般用 S128~S911,784 点 (*1) 位 继 电 器 S 步进点 警报用 S912~S1023,112 点 (*2) 总共 1024 点 2. 程序概念 2-11 项目 范 围 T 定时器现在值 T0~T255,256 字 C0~C199,16 位计数器, 200 字 C 计数器现在值 C200~C254, 32 位计数器, 55 字 一般用 D0~D407,408 字 (*1) D600~D999, 400 字 (*1) D3920~D9799,5880 字 (*1) D10000~D11999, 2000 字(*1) 停电保持用 D408~D599,192 字 (*2) D2000~D3919, 1920 字 (*2) 特殊用 D1000~D1999, 1000 字, 部分是停电保持 右侧特殊模块用 D9900~D9999, 100 点 (*1) (*5) 左侧特殊模块用 D9800~D9899, 100 点 (*1) (*6) 字寄存器 D 数据寄存器 变址用 E0~E7, F0~F7, 16 字 (*1) 总共 12000 字 N 主控回路用 N0~N7,8 点 P 指针 P0~P255,256 点 外部中断插入 I000/I001(X0),I100/I101(X1),I200/I201(X2), I300/I301(X3),I400/I401(X4),I500/I501(X5), I600/I601(X6),I700/I701(X7),8 点 (01,上升沿触发 ,00,下降沿触发 ) 定时中断插入 I602~I699,I702~I799,2 点 (时基 = 1ms) 高速计数到达中断插 入 I010, I020, I030, I040, I050, I060, I070, I080, 8 点 指针 I 中断服务 通信中断 I150(COM2),I160(COM3),2 点 (*3) K 十进制 K-32,768 ~ K32,767 (16 位运算), K-2,147,483,648 ~ K2,147,483,647 (32 位运算) 常数 H 十六进制 H0000 ~ HFFFF (16 位运算), H00000000 ~HFFFFFFFF (32 位运算) 通讯端口 COM1: 内置的 USB (主站/从站), 常用的程序编辑通讯口 COM2: 内置的 RS-485 (主站/从站) COM3: 内置的 RS-485 (主站/从站) Ethernet: 内置以太网络, 相关使用说明请参照附录 B 实时时钟 (RTC) 年,月,天,星期, 小时,分钟,秒 特殊扩展模块 右侧最多可有 8 台扩展模块 左侧最多可连接 8 台高速扩展模块 注释: *1: 非停电保持区域, 不可变更。 *2: 停电保持区域, 不可变更。 *3: COM2, COM3 为内置 RS-485 通讯口。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-12 *4: 主机内建点数为 8 点输入(X0~X7)与 4 点输出(Y0~Y3),但会固定占用 16 点输入(X0~X17)与 16 点输出(Y0~Y17)。扩充点数分别由 X20 与 Y20 开始排序。 *5: 当 SE 主机连接了右侧特殊扩充模块且清除 M1183 为 Off 时, 此区域才会有效, 每连一台特殊模块 将占用 10 个 D 装置。 *6: 当 SE 主机连接了左侧特殊扩充模块且清除 M1182 为 Off 时, 此区域才会有效, 每连一台特殊模块 将占用 10 个 D 装置。 2. 程序概念 2-13 2.5 停电保持记忆方式 记忆类型 电源 Off=>On STOP=>RUN RUN=>STOP 清除所有的 M1031 非停电 保持区域 清除所有 M1032 停电 保持区域 出厂设 定值 非停电保 持 清除 没有变化 当 M1033=Off,清除 当 M1033=On,没有 变化 清除 没有变化 0 停电保持 没有变化 没有变化 清除 0 特 M,特 D,变址 寄存器 初始化 没有变化 没有变化 初始化 设定 一般用 停电保持用 特殊辅助继电器 M0~M511 M768~M999 M2000~M2047 M512~M999 M2048~M4095 M1000~M1999 M 辅助继电器 非停电保持 停电保持 部分停电保持并且不能被改 变 100 ms 100 ms 1 ms 10 ms 10ms 1 ms 100 ms T0 ~T126 T128~T183 T184~ T199 T127 T200~ T239 T240~ T245 T246~ T249 T250~ T255 M1028=1,T64~ T126 为 10ms 子程序用 - M1038=1,T200~T245 为 1ms - T 定时器 非停电保持 非停电保持 累计型非停电保持 16 位上数 32 位上/下数 32 位高速上/下数 C0~C111 C128~C199 C112~C127 C200~C223 C224~C232 C233~C254 C 计数器 非停电保持 停电保持 非停电保持 停电保持 停电保持 初始化用 原点回归用 停电保持用 一般用 警报用 S0~S9 S10~S19 S20~S127 S128~S911 S912~S1023 S 步进继电器 停电保持 非停电保持 停电保持 一般用 停电保持用 特殊用 特殊模块用 D0~D407 D600~D999 D3920~D11999 D408~D599 D2000~D3919 D1000~D1999 D9800~D9999 D 数据寄存器 非停电保持 停电保持 部分停电保持并且不 能被改变 非停电保持 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-14 2.6 PLC 的位,半字节,字节,字… PLC 采用五种数据类型来形成不同的指示。下面是数据类型的解释。 数据类型 描 述 位 (Bit) 位为二进制数值的最基本单位, 其状态非 1 即 0 半字节 (Nibble) 由连续的 4 个位所组成 (如 b3~b0) 可用以表示一个位数的 10 进制数字 0~9 或 16 进制的 0~F 字节 (Byte) 是由连续的两个位数所组成 (即 8 位, b7~b0) 。可表示 16 进制的 00~ FF 字 (Word) 是由连续的两个字节所组成 (亦即 16 位, b15~b0) 可表示 16 进制的 4 个 位数值 0000~FFFF 双字 (Double Word) 是由连续的两个字符组所组成 (亦即 32 位, b31~b0) , 可表示 16 进制的 8 个位数值 00000000~FFFFFFFF 位,半字节,字节,字与双字之间的关系如下: NB0NB1NB2NB3NB4NB5NB6NB7 BY3 BY2 BY1 BY0 W1 DW W0 双字 字 字节 半字节 位 2.7 二进制,八进制,十进制,BCD,十六进制 DVP-PLC 内部依据各种不同控制目的, 共使用 5 种数值类型执行运算的工作, 各种数值的任务及 功能如下说明。 1. 二进制 (Binary Number, BIN) PLC 内部的数值运算或储存均采用二进制 2. 八进位 (Octal Number, OCT) DVP-PLC 的外部输入及输出端子编号采用八进位编码: 例: 外部输入: X0~X7, X10~X17, …, X377。(装置编号) 外部输出: Y0~Y7, Y10~Y17, …, Y377。(装置编号) 3. 十进制 (Decimal Number, DEC) 十进制在 DVP-PLC 系统应用的时机如: 2. 程序概念 2-15 z 作为定时器 T, 计数器 C 等的设定值, 例: TMR C0 K50。(K 常数) z S, M, T, C, D, E, F, P, I 等装置的编号, 例: M10, T30。(装置编号) z 在应用指令中作为操作数使用, 例: MOV K123 D0。(K 常数) 4. BCD (Binary Code Decimal, BCD) 以一个位数或 4 个位来表示一个十进制的数据, 故连续的 16 个位可以表示 4 位数的十进 制数值数据。主要用于读取指拨轮数字开关的输入数值或将数值数据输出到七段显示驱动器 显示之用。 5. 16 进位 (Hexadecimal Number, HEX) 16 进位在 PLC 系统应用的时机如: z 在应用指令中作为操作数使用, 例: MOV H1A2B D0。(H 常数) 常数 K: 十进制数值在 PLC 系统中, 通常会在数值前面冠以一“K”字表示, 例: K100, 表示为十进制, 其数 值大小为 100。 例外: 当使用 K 再搭配位装置 X, Y, M, S 可组合成为位, 字节, 字或双字形式的数据。 例: K2Y10, K4M100。在此 K1 代表一个 4 bits 的组合, K2~K4 分别代表 8, 12 及 16 bits 的 组合。 常数 H: 16 进位数值在 PLC 中, 通常在其数值前面冠以一“H”字符表示, 例: H100, 其表示为 16 进位, 数 值大小为 100。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-16 参考表: 二进制 (BIN) 八进制 (OCT) 十进制 (K) (DEC) BCD (Binary Code Decimal) 16 进制 (H) (HEX) PLC 内部 运算用 装置 X, Y 编号 常数 K, 装置 M, S, T, C, D, E, F, P, I 编号 指拨开关及 7 段显示器用 常数 H 0000 0 0 0000 0 0001 1 1 0001 1 0010 2 2 0010 2 0011 3 3 0011 3 0100 4 4 0100 4 0101 5 5 0101 5 0110 6 6 0110 6 0111 7 7 0111 7 1000 10 8 1000 8 1001 11 9 1001 9 1010 12 10 0000 A 1011 13 11 0001 B 1100 14 12 0010 C 1101 15 13 0011 D 1110 16 14 0100 E 1111 17 15 0101 F 10000 20 16 0110 10 10001 21 17 0111 11 2. 程序概念 2-17 2.8 M 继电器 特殊辅助继电器(特 M)如下所示。请注意部份编号相同的装置在不同的指令模式下将会有不同的意 义。在下表中,栏目中的“属性”是“R”就意味着装置可读。“R/W”意味着可读/写。 “-” 意味 着无变化。 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1000* 运行监视常开接点(A 接点) ○ ○ ○ ○ Off On Off R 否 Off M1001* 运行监视常开接点(B 接点) ○ ○ ○ ○ On Off On R 否 On M1002* 启始正向 (RUN 的瞬间’On’) 脉冲 ○ ○ ○ ○ Off On Off R 否 Off M1003* 启始负向 (RUN 的瞬间’Off’) 脉冲 ○ ○ ○ ○ On Off On R 否 On M1004* 文法检查错误发生时 On ○ ○ ○ ○ Off Off - R 否 Off M1008* 扫描逾时定时器(On:PLC WDT 超时) ○ ○ ○ ○ Off Off - R 否 Off M1009 LV 信号等于 24VDC 供应不足 ○ ○ ○ ○ Off - - R 否 Off M1011* 10ms 时钟脉冲,5ms On/5ms Off ○ ○ ○ ○ Off - - R 否 Off M1012* 100ms 时钟脉冲,50ms On / 50ms Off ○ ○ ○ ○ Off - - R 否 Off M1013* 1s 时钟脉冲,0.5s On / 0.5s Off ○ ○ ○ ○ Off - - R 否 Off M1014* 1min 时钟脉冲,30s On / 30s Off ○ ○ ○ ○ Off - - R 否 Off M1015* 高速连接定时器动作 ○ ○ ○ ○ Off - - R/W 否 Off M1016* 实时时钟 (RTC)公元年显示 Off 的时候显示公 元年右 2 位,On 的时候显示公元年右 2 位加 2000 ○ ○ ○ ○ Off - - R/W 否 Off M1017* 实时时钟 (RTC) ±30 秒校正 ○ ○ ○ ○ Off - - R/W 否 Off M1018 弧度/角度使用标志,On 的时候表示角度 ○ ○ ○ ○ Off - - R/W 否 Off M1020 零标志 ○ ○ ○ ○ Off - - R 否 Off M1021 错位标志 ○ ○ ○ ○ Off - - R 否 Off M1022 进位标志 ○ ○ ○ ○ Off - - R 否 Off M1024 COM1 监视要求 ○ ○ ○ ○ Off - - R/W 否 Off M1025* 有不正确的通讯服务要求 ○ ○ ○ ○ Off - - R 否 Off M1026 RAMP 模式选择 ○ ○ ○ ○ Off - - R/W 否 Off M1027 PR 输出标志 ○ ○ ○ ○ Off - - R/W 否 Off M1028 10ms 时间切换标志,M1028=Off 时 T64~T126 时基是 100ms,On 时则时基改为 10ms ○ ○ ○ ○ Off - - R/W 否 Off M1029* 脉冲输出 Y0 或 CH0 (Y0, Y1) 执行完毕 ○ ○ ○ ○ Off - - R 否 Off M1030* 脉冲输出 Y1 执行完毕 ○ ○ ○ ○ Off - - R 否 Off M1031* 非停电保持区域全部清除 ○ ○ ○ ○ Off - - R/W 否 OffES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-18 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1032* 停电保持区域全部清除 ○ ○ ○ ○ Off - - R/W 否 Off M1033* 非运行中记忆保持 ○ ○ ○ ○ Off - - R/W 否 Off M1034* Y 输出全部禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1035* 输入点 X7 作为 RUN/STOP 开关 ○ ○ ○ ○ - - - R/W 是 Off M1037* M1037 =On 为同时启动 8 组 SPD 的功能(请 搭配 D1037 使用)(SE 机种不支持) ╳ ╳ ○○Off Off Off R/W 否 Off M1038 1ms 时间切换标志,Off 时定时器 T200~T255 的时基为 10ms, 若为 On 时则时基改为 1ms ○ ○ ○ ○ Off - - R/W 否 Off M1039* 固定时间扫描模式 ○ ○ ○ ○ Off - - R/W 否 Off M1040 步进禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1041 步进开始 ○ ○ ○ ○ Off - Off R/W 否 Off M1042 启动脉冲 ○ ○ ○ ○ Off - - R/W 否 Off M1043 原点回归完毕 ○ ○ ○ ○ Off - Off R/W 否 Off M1044 原点条件 ○ ○ ○ ○ Off - Off R/W 否 Off M1045 全部输出复位禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1046 STL 状态设定 On ○ ○ ○ ○ Off - - R 否 Off M1047 STL 监视有效 ○ ○ ○ ○ Off - - R/W 否 Off M1048 警报点状态标志 ○ ○ ○ ○ Off - - R 否 Off M1049 设定警报点监控标志 ○ ○ ○ ○ Off - - R/W 否 Off M1050 I000 / I001 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1051 I100 / I101 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1052 I200 / I201 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1053 I300 / I301 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1054 I400 / I401 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1055 I500 / I501 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1056 I600~I699 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1057 I700~I799 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1058 COM3 监视请求 ○ ╳ ○ ○ Off - - R/W 否 Off M1059 I010~ I080 禁止 ○ ○ ○ ○ Off - - R/W 否 Off M1060 系统错误信息 1 ○ ○ ○ ○ Off - - R 否 Off M1061 系统错误信息 2 ○ ○ ○ ○ Off - - R 否 Off M1062 系统错误信息 3 ○ ○ ○ ○ Off - - R 否 Off M1063 系统错误信息 4 ○ ○ ○ ○ Off - - R 否 Off 2. 程序概念 2-19 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1064 操作数使用错误 ○ ○ ○ ○ Off Off - R 否 Off M1065 语法错误 ○ ○ ○ ○ Off Off - R 否 Off M1066 程序错误 ○ ○ ○ ○ Off Off - R 否 Off M1067* 程序执行错误 ○ ○ ○ ○ Off Off - R 否 Off M1068* 执行错误锁定 (D1068) ○ ○ ○ ○ Off - - R 否 Off M1070 PWM 指令 Y1 的时基切换开关(On: 100 us, Off: 1ms) ○ ○ ○ ○ Off - - R/W 否 Off M1071 PWM 指令 Y3 的时基切换开关(On: 100 us, Off: 1ms) ○ ○ ○ ○ Off - - R/W 否 Off M1072 PLC RUN 指令执行 ○ ○ ○ ○ Off On Off R/W 否 Off M1075 Flash ROM 写入发生错误 ○ ○ ○ ○ Off - - R 否 Off M1078 脉冲输出 Y0 或 CH0 (Y0, Y1)立即暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1079 脉冲输出 Y1 立即暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1080 COM2 监视请求 ○ ○ ○ ○ Off - - R/W 否 Off M1081 FLT 指令转换方向标志 ○ ○ ○ ○ Off - - R/W 否 Off M1083* 启动侦测 X6=On 或 X6=Off 脉宽的标志, M1083=On : 侦测 X6=On 的脉宽, M1083=Off : 侦测 X6=Off 的脉宽 ○ ○ ○ ○ Off - - R/W 否 Off M1084* 启动 X6 为脉宽侦测功能标志(与 M1183、 D1023 搭配) ○ ○ ○ ○ Off Off Off R/W 否 Off M1085 选择 DVP-PCC01 复制功能 ○ ○ ○ ○ Off - - R/W 否 Off M1086 设定 DVP-PCC01 密码功能启动开关 ○ ○ ○ ○ Off - - R/W 否 Off M1088 矩阵比较标志,比较相同值 (M1088 = 1) 或不 同值 (M1088 = 0) ○ ○ ○ ○ Off Off - R/W 否 Off M1089 矩阵搜寻结束标志,当比较到最后一个位时 M1089=1。 ○ ○ ○ ○ Off Off - R 否 Off M1090 矩阵搜寻起始标志,由第一个位开始比较时 M1090=1。 ○ ○ ○ ○ Off Off - R 否 Off M1091 矩阵位寻找标志,比较到达时立即停止比较动 作,M1091=1 ○ ○ ○ ○ Off Off - R 否 Off M1092 矩阵指针错误标志。指针 Pr 值超出范围则 M1092=1。 ○ ○ ○ ○ Off Off - R 否 Off M1093 矩阵指针递增标志,将指针目前值+1 ○ ○ ○ ○ Off Off - R/W 否 Off M1094 矩阵指针清除标志,将指针目前值清除为0 ○ ○ ○ ○ Off Off - R/W 否 Off M1095 矩阵循环移位输出进位标志 ○ ○ ○ ○ Off Off - R 否 Off M1096 矩阵移位输入补位标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1097 矩阵循环移位方向标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1098 矩阵计数字符为0 或位为1 标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1099 矩阵计数结果为0 时On ○ ○ ○ ○ Off Off - R/W 否 OffES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-20 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1102* 脉冲输出 Y2 或 CH1 (Y2, Y3)结束标志 ○ ○ ○ ○ Off - - R/W 否 Off M1103* 脉冲输出 Y3 结束标志 ○ ○ ○ ○ Off - - R/W 否 Off M1104 脉冲输出 Y2 或 CH1 (Y2, Y3)立即暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1105 脉冲输出 Y3 立即暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1108 脉冲输出 Y0 或 CH0 (Y0, Y1)减速暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1109 脉冲输出 Y1 减速暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1110 脉冲输出 Y2 或 CH1 (Y2, Y3)减速暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1111 Y3 脉冲输出减速暂停标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1112 PWM 指令指示时, Y0 的时基切换开关 (On: 10 us, Off: 100 us), ○ ○ ○ ○ Off - - R/W 否 Off M1113 PWM 指令指示时, Y2 的时基切换开关 (On: 10 us, Off: 100 us), SE 机种: (On: 100 us, Off: 1ms) ○ ○ ○ ○ Off - - R/W 否 Off M1119* 启动 DDRVI 指令两段目标频率输出功能标志 ○╳○○Off Off Off R/W 否 Off M1120* COM2(RS-485)通讯格式保持用,设置后变更 D1120 无效 ○ ○ ○ ○ Off Off - R/W 否 Off M1121 COM2(RS-485) 通讯数据发送等待 ○ ○ ○ ○ Off On - R 否 Off M1122 COM2(RS-485) 送信要求 ○ ○ ○ ○ Off Off - R/W 否 Off M1123 COM2(RS-485) 接收完毕 ○ ○ ○ ○ Off Off - R/W 否 Off M1124 COM2(RS-485) 接收等待 ○ ○ ○ ○ Off Off - R/W 否 Off M1125 COM2(RS-485) 通讯重置 ○ ○ ○ ○ Off Off Off R/W 否 Off M1126 COM2(RS-485) STX/ETX 使用者/系统定义选 择 ○ ○ ○ ○ Off Off Off R/W 否 Off M1127 COM2(RS-485) 通讯指令数据传送接收完毕, 不包含 RS 指令 ○ ○ ○ ○ Off Off Off R/W 否 Off M1128 COM2(RS-485)传送中 / 接收中指示 ○ ○ ○ ○ Off Off Off R/W 否 Off M1129 COM2(RS-485) 接收逾时 ○ ○ ○ ○ Off Off - R/W 否 Off M1130 COM2(RS-485) STX/ETX 选择 ○ ○ ○ ○ Off Off - R/W 否 Off M1131 COM2(RS-485)MODRD/RDST/MODRW 数据 转换成 HEX 期间 M1131=On ○ ○ ○ ○ Off Off - R 否 Off M1132 On 为PLC 程序中无通讯相关指令 ○ ○ ○ ○ Off - - R 否 Off M1136* COM3 (RS-485/USB) 通讯设定保持, 设定后 D1109 变更无效 ○ ╳ ○ ○ Off - - R/W 否 Off M1137 DNET 对映区块数据于非运转中保持 ╳ ╳ ○ ○ - - - R/W 否 Off M1138* COM1(RS-232)通讯设置保持,设置后D1036 变更无效 ○ ○ ○ ○ Off - - R/W 否 Off M1139* COM1(RS-232) 的 ASCII/RTU 模式选择 (Off 时为 ASCII 模式 On 时为 RTU 模式) ○ ○ ○ ○ Off - - R/W 否 Off M1140 COM2(RS-485)MODRD/MODWR/MODRW 数 据接收错误 ○ ○ ○ ○ Off Off - R 否 Off 2. 程序概念 2-21 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1141 COM2(RS-485)MODRD/MODWR/MODRW 指 令参数错误 ○ ○ ○ ○ Off Off - R 否 Off M1142 COM2(RS-485) VFD-A 便利指令数据接收错误 ○ ○ ○ ○ Off Off - R 否 Off M1143* COM2(RS-485)的ASCII/RTU 模式选择 (Off 时 为ASCII 模式On 时为RTU 模式) ○ ○ ○ ○ Off - - R/W 否 Off M1148 DELAY 指令一次性 5us 单位延迟时间标志 V3.2 V3.0 V2.6 V1.4 V2.4 Off Off - R/W 否 Off M1156* 启动 Y0 对应外部中断 I400/I401(X4) 遮蔽对标 功能 ○ ○ ○ ○ Off Off - R/W 否 Off M1158* 启动 Y2 对应外部中断 I600/I601(X6) 遮蔽对标 功能 ○ ○ ○ ○ Off Off - R/W 否 Off M1161 8/16 位处理模式 (On = 8 处理模式) ○ ○ ○ ○ Off - - R/W 否 Off M1162 SCLP 指令中十进制整数与二进浮点数切换使 用标志, On 时表示二进浮点数,Off 时表示十 进制整数 ○ ○ ○ ○ Off - - R/W 否 Off M1167 HKY 输入为 16 位模式 ○ ○ ○ ○ Off - - R/W 否 Off M1168 SMOV 工作模式指定 ○ ○ ○ ○ Off - - R/W 否 Off M1177 标准台达变频器专用通讯指令启动标志 ○ ○ ○ ○ Off - - R/W 否 Off M1178 VR0 电位器启动 ╳ ╳ ○ ○ Off - - R/W 否 Off M1179 VR1 电位器启动 ╳ ╳ ○ ○ Off - - R/W 否 Off M1180 立即读取 AD 数值(仅适用于 EX2/SX2 机种) ○ ╳ ╳ ○ Off - - R/W 否 Off M1181 立即输出 DA 数值(仅适用于 EX2/SX2 机种) ○ ╳ ╳ ○ Off - - R/W 否 Off M1182 On 为关闭左侧模拟模块自动对应读写功能 ※ SA2/SX2 机种将主动对映 AIO 模块数值到 D9800 ~ 位置 ※ 如果左侧模块是通讯模块,则自动会往下再 +10 个 word,例如:04AD-SL + EN01-SL + SA2,则 D9810 ~ D9813 会对应 04AD-SL 的平均值 ch1 ~ Ch4 ╳╳○○Off - - R/W 否 Off M1183 On 为关闭特殊模块自动对应读写功能 ※ ES2/EX2 预设为 Off、SS2/SA2/SX2 预设为 On (对应 D9900~) ○○○○ #- - R/W 否 # M1190 启动 PLSY Y0 高速输出可输出 0.01~10Hz SE 不支持 ○ ○ ○ ○ Off Off - R/W 否 Off M1191 启动 PLSY Y1 高速输出可输出 0.01~10Hz SE 不支持 ○ ○ ○ ○ Off Off - R/W 否 Off M1192 启动 PLSY Y2 高速输出可输出 0.01~10Hz SE 不支持 ○ ○ ○ ○ Off Off - R/W 否 Off M1193 启动 PLSY Y3 高速输出可输出 0.01~10Hz SE 不支持 ○ ○ ○ ○ Off Off - R/W 否 Off M1200 C200 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1201 C201 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1202 C202 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1203 C203 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1204 C204 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1205 C205 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 OffES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-22 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1206 C206 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1207 C207 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1208 C208 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1209 C209 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1210 C210 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1211 C211 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1212 C212 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1213 C213 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1214 C214 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1215 C215 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1216 C216 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1217 C217 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1218 C218 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1219 C219 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1220 C220 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1221 C221 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1222 C222 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1223 C223 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1224 C224 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1225 C225 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1226 C226 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1227 C227 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1228 C228 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1229 C229 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1230 C230 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1231 C231 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off C232 计数模式设定(On 时为下数) ╳ ○ ╳ ╳ Off - - R/W 否 Off M1232 C232 计数模式监控(On 时为下数) ○ ╳ ○ ○ Off - - R 否 Off M1233 C233 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1234 C234 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1235 C235 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off 2. 程序概念 2-23 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1236 C236 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1237 C237 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1238 C238 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1239 C239 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1240 C240 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1241 C241 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1242 C242 计数模式设定(On 时为下数) ○ ○ ○ ○ Off - - R/W 否 Off M1243 C243 Reset 致能控制 ○ ○ ○ ○ Off - - R/W 否 Off M1244 C244 Reset 致能控制 ○ ○ ○ ○ Off - - R/W 否 Off M1245 C245 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1246 C246 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1247 C247 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1248 C248 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1249 C249 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1250 C250 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1251 C251 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1252 C252 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1253 C253 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1254 C254 计数模式监控(On 时为下数) ○ ○ ○ ○ Off - - R 否 Off M1257 高速脉冲输出 Y0, Y2 加减速为 S 曲线之启动标 志 ○ ○ ○ ○ Off Off - R/W 否 Off M1260 X7 作为 软件高速计数器 C235~C241 之重置输 入信号 ○ ○ ○ ○ Off - - R/W 否 Off M1262 M1262=On 启动 DPTPO 指令脉冲循环输出功 能 ○ ○ ○ ○ Off Off - R/W 否 Off M1270 C235 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1271 C236 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1272 C237 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1273 C238 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1274 C239 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1275 C240 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1276 C241 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1277 C242 计数模式设定(On 时为下降缘计数) ○ ○ ○ ○ Off - - R/W 否 Off M1280* I000, I001 外部中断触发上下沿强制反向 ○ ○ ○ ○ Off Off - R/W 否 OffES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-24 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1284* I400, I401 外部中断触发上下沿强制反向 ○ ○ ○ ○ Off Off - R/W 否 Off M1286* I600, I601外部中断触发上下沿强制反向 ○ ○ ○ ○ Off Off - R/W 否 Off M1303 XCH 指令高低位交换标志 ○ ○ ○ ○ Off - - R/W 否 Off M1304* 主机 X 输入点可设定 On-Off ○ ○ ○ ○ Off - - R/W 否 Off M1305 脉冲高速输出指令中,强制 Y1 运转方向为相 反动作 ○ ○ ○ ○ Off Off - R/W 否 Off M1306 脉冲高速输出指令中,强制 Y3 运转方向为相 反动作 ○ ○ ○ ○ Off Off - R/W 否 Off M1307 原点复归 ZRN 指令启动负向极限开关功能 ○ ○ ○ ○ Off Off - R/W 否 Off M1308* 原点回归 ZRN 指令到达原点后,再启动寸动速 度输出指定脉冲个数(D1312 设定值) ○○○○Off Off Off R/W 否 Off M1312 COM1(RS-232) 通讯指令送信要求发送标志 (支持 MODRW, RS 指令) ○ ○ ○ ○ Off Off - R/W 否 Off M1313 COM1(RS-232) 通讯指令接收等待标志 (支持 MODRW, RS 指令) ○ ○ ○ ○ Off Off - R/W 否 Off M1314 COM1(RS-232) 通讯指令数据接收完毕标志 (支持 MODRW, RS 指令) ○ ○ ○ ○ Off Off - R/W 否 Off M1315 COM1(RS-232) 通讯指令数据接收错误标志 (支持 MODRW, RS 指令) ○ ○ ○ ○ Off Off - R/W 否 Off M1316 COM3(RS-485) 通讯指令送信要求发送标志 (支持 MODRW, RS 指令) ○ ╳ ○ ╳ Off Off - R/W 否 Off M1317 COM3(RS-485)通讯指令接收等待标志 (支持 MODRW、RS 指令) ○ ╳ ○ ╳ Off Off - R/W 否 Off M1318 COM3(RS-485)通讯指令数据接收完毕标志 (支持 MODRW、RS 指令) ○ ╳ ○ ╳ Off Off - R/W 否 Off M1319 COM3(RS-485)通讯指令数据接收错误标志 (支持 MODRW、RS 指令) ○ ╳ ○ ╳ Off Off - R/W 否 Off M1320* COM3(RS-485)之 ASCII/RTU 模式选择 (Off 时 为 ASCII 模式 On 时为 RTU 模式) ○ ╳ ○ ╳ Off - - R/W 否 Off M1346* ZRN CLEAR 输出信号允许 ○○○○Off - - R/W 否 Off M1347 高速脉冲 Y0 输出结束自动复归 ○ ○ ○ ○ Off - - R/W 否 Off M1348 高速脉冲 Y1 输出结束自动复归 ○ ○ ○ ○ Off - - R/W 否 Off M1349 ON 时表示 CANopen 功能开启 (仅适用于 DVP-ES-C 机种) ○ ╳ ╳ ╳ On - - R/W 否 On M1350* PLC LINK 启动标志 ○ ○ ○ ○ Off - Off R/W 否 Off M1351* 启动PLC LINK 为自动模式 ○ ○ ○ ○ Off - - R/W 否 Off M1352* 启动PLC LINK 为手动模式 ○ ○ ○ ○ Off - - R/W 否 Off M1353* 启动 PLC LINK 读取/写入最多长度为 50 笔 word (当 M1353 为 On,D1480~D1511 为停电 保持区) ○ ○ ○ ○ - - - R/W 是 Off M1354* 启动 PLC LINK 在一个轮询时间内同时执行读 写功能 ○ ○ ○ ○ Off - - R/W 否 Off 2. 程序概念 2-25 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1355* PLC LINK 功能启动时, 当 M1355 为 On, 手动设 定从站联机功能, 当 M1355 为 Off, 自动侦测从 站联机功能 ○ ○ ○ ○ - - - R/W 是 Off M1356* PLC LINK 功能启动时,当 M1356 为 On,使用 者可根据 D1900~D1931 的内容当作从站站号, 不再使用 D1399 预设的连续站号 ○╳○○ - - - R/W 是 Off M1360* PLC LINK 从站 ID#1 状态 ○ ○ ○ ○ - - - R/W 是 Off M1361* PLC LINK 从站 ID#2 状态 ○ ○ ○ ○ - - - R/W 是 Off M1362* PLC LINK 从站 ID#3 状态 ○ ○ ○ ○ - - - R/W 是 Off M1363* PLC LINK 从站 ID#4 状态 ○ ○ ○ ○ - - - R/W 是 Off M1364* PLC LINK 从站 ID#5 状态 ○ ○ ○ ○ - - - R/W 是 Off M1365* PLC LINK 从站 ID#6 状态 ○ ○ ○ ○ - - - R/W 是 Off M1366* PLC LINK 从站 ID#7 状态 ○ ○ ○ ○ - - - R/W 是 Off M1367* PLC LINK 从站 ID#8 状态 ○ ○ ○ ○ - - - R/W 是 Off M1368* PLC LINK 从站 ID#9 状态 ○ ○ ○ ○ - - - R/W 是 Off M1369* PLC LINK 从站 ID#10 状态 ○ ○ ○ ○ - - - R/W 是 Off M1370* PLC LINK 从站 ID#11 状态 ○ ○ ○ ○ - - - R/W 是 Off M1371* PLC LINK 从站 ID#12 状态 ○ ○ ○ ○ - - - R/W 是 Off M1372* PLC LINK 从站 ID#13 状态 ○ ○ ○ ○ - - - R/W 是 Off M1373* PLC LINK 从站 ID#14 状态 ○ ○ ○ ○ - - - R/W 是 Off M1374* PLC LINK 从站 ID#15 状态 ○ ○ ○ ○ - - - R/W 是 Off M1375* PLC LINK 从站 ID#16 状态 ○ ○ ○ ○ - - - R/W 是 Off M1376* PLC LINK 从站 ID#1 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1377* PLC LINK 从站 ID#2 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1378* PLC LINK 从站 ID#3 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1379* PLC LINK 从站 ID#4 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1380* PLC LINK 从站 ID#5 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1381* PLC LINK 从站 ID#6 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1382* PLC LINK 从站 ID#7 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1383* PLC LINK 从站 ID#8 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1384* PLC LINK 从站 ID#9 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1385* PLC LINK 从站 ID#10 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1386* PLC LINK 从站 ID#11 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 OffES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-26 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1387* PLC LINK 从站 ID#12 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1388* PLC LINK 从站 ID#13 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1389* PLC LINK 从站 ID#14 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1390* PLC LINK 从站 ID#15 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1391* PLC LINK 从站 ID#16 数据交换动作指示 ○ ○ ○ ○ Off - - R 否 Off M1392* 从站 ID#1 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1393* 从站 ID#2 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1394* 从站 ID#3 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1395* 从站 ID#4 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1396* 从站 ID#5 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1397* 从站 ID#6 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1398* 从站 ID#7 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1399* 从站 ID#8 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1400* 从站 ID#9 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1401* 从站 ID#10 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1402* 从站 ID#11 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1403* 从站 ID#12 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1404* 从站 ID#13 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1405* 从站 ID#14 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1406* 从站 ID#15 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1407* 从站 ID#16 联机错误 ○ ○ ○ ○ Off - - R 否 Off M1408* 对从站 ID#1 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1409* 对从站 ID#2 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1410* 对从站 ID#3 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1411* 对从站 ID#4 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1412* 对从站 ID#5 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1413* 对从站 ID#6 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1414* 对从站 ID#7 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1415* 对从站 ID#8 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1416* 对从站 ID#9 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1417* 对从站 ID#10 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off 2. 程序概念 2-27 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1418* 对从站 ID#11 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1419* 对从站 ID#12 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1420* 对从站 ID#13 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1421* 对从站 ID#14 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1422* 对从站 ID#15 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1423* 对从站 ID#16 读取完成指示 ○ ○ ○ ○ Off - - R 否 Off M1424* 对从站 ID#1 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1425* 对从站 ID#2 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1426* 对从站 ID#3 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1427* 对从站 ID#4 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1428* 对从站 ID#5 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1429* 对从站 ID#6 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1430* 对从站 ID#7 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1431* 对从站 ID#8 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1432* 对从站 ID#9 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1433* 对从站 ID#10 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1434* 对从站 ID#11 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1435* 对从站 ID#12 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1436* 对从站 ID#13 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1437* 对从站 ID#14 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1438* 对从站 ID#15 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1439* 对从站 ID#16 写入完成指示 ○ ○ ○ ○ Off - - R 否 Off M1524 高速脉冲 Y2 输出结束自动复位 ○ ○ ○ ○ Off - - R/W 否 Off M1525 高速脉冲 Y3 输出结束自动复位 ○ ○ ○ ○ Off - - R/W 否 Off M1534 Y0减速时间独立设定标志, 须搭配 D1348 使用 ○ ○ ○ ○ Off - - R/W 否 Off M1535 Y2 减速时间独立设定标志, 须搭配 D1349 使用 ○ ○ ○ ○ Off - - R/W 否 Off M1538 Y0 暂停中指示标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1539 Y1 暂停中指示标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1540 Y2 暂停中指示标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1541 Y3 暂停中指示标志 ○ ○ ○ ○ Off Off - R/W 否 Off M1580 DABSR 指令对台达 ASD-A2 伺服读取成功标 志 V3.2 ╳ V2.6 V1.4 V2.4 Off Off Off R/W 否 OffES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-28 特 M 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 M1581 DABSR 指令对台达 ASD-A2 伺服读取错误标 志 V3.2 ╳ V2.6 V1.4 V2.4 Off Off Off R/W 否 Off M1584 ZRN 指令 Ch0 负极限功能启动时,选择上升沿 /下降沿触发条件(Off 为上升沿,On 为下降沿) V3.2 V3.0 V2.8 V1.4 V2.6 Off Off - R/W 否 Off M1585 ZRN 指令 Ch1 负极限功能启动时,选择上升沿 /下降沿触发条件(Off 为上升沿,On 为下降沿) V3.2 V3.0 V2.8 V1.4 V2.6 Off Off - R/W 否 Off 2. 程序概念 2-29 2.9 步进继电器 S 初始化用停电保持 从顺序菜单(SFC)中的说明开始。 原点回归用停电保持 程序中使用 IST 指令时原点回归。如果没有使用 IST 指令,他们可 用作普通的继电器。 停电保持用 S2-~S127,总共 108 点。在顺序功能图(SFC)中当 PLC 运行时遇 到停电时,停电保持用的步进继电器的状态将会保持,再送电时其 状态为停电前状态。 一般用 S128~S911,总共784点。在顺序功能图(SFC)中作为一般用途使 用的步进点,于PLC 运行时若遇到停电时,则其状态将全部被清 除。 警报用 S912 ~ S1023,总共 112点。警报用步进继电器配合警报点驱动指 令API 46 ANS 作为警报用接点,用来记录相关警示信息,用来排 除外部故障用。 2.10 定时器 T 定时器的分辨率有 1ms 、10ms、100ms,分辨率的选定由定时器的号码与相应的 M 继电器决 定。定时器采用上数计时,当定时器现在值等于设定值时输出线圈导通。定时器增加 1 依赖分辨 率,也就是说定时器计数是以分辨率为基础的。 定时器之实际设定时间 = 计时单位(时基) * 设定值。 例如:若设定值为 K200 而定时器时基为 10ms,则实际设定时间为 10ms*200 = 2000ms = 2s 一般用定时器与累计型定时器在功能上的区别如下。 一般用定时器 一般用定时器在END 指令执行时计时一次,在TMR 指令执行时,若计时到达,则输出线圈导通。 z 当 X0=On 时,定时器 T0 将开始计时。如果 T0 没有达到设定值之前 X0 就已经 Off,T0 将复位到 0。当 X0 再次 On 时,它才会再次计时。 T0 Y0 X0 TMR T0 K100 X0 T0 Y0 现在值 设置值 K100 10 秒 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-30 累计型定时器 累计型定时器在END 指令执行时计时一次,在TMR 指令执行时,若计时到达,则输出线圈导通。 z 当 X0=On 时,定时器 T250 将开始计时。如果 T250 没有达到设定值之前 X0 就已经 Off,T0 将会暂停。当 X0 再次 On 时,T250 将会从它暂停的地方继续计时。 T250 Y0 X0 TMR T250 K100 X0 t2 Y0 现在值 设置值 K100 t1+t2=10sec T250 t1 子程序用定时器与中断用定时器 子程序用定时器在 END 指令执行时计时一次, 在 END 指令执行时, 若计时到达, 则输出线圈导通。定 时器 T184~T199 能被用作子程序用定时器或中断用定时器。一般用之定时器, 若是使用在子程序或 中断插入子程序中而该子程序不被执行时, 定时器就无法正确的被计时。 2.11 计数器 C 当输入信号从 OffOn,计数器将增加它的现在值。 项目 16 位计数器 32 位计数器 类型 一般型 一般型 高速型 计数器 C0~C199 C200~C231 (C232) C232(C233)~C242, C245~C254 C243, C244 计数方向 上数 上、下数 上数 范围 0~32,767 -2,147,483,648~+2,147,483,647 0~2,147,483,647 设定值的 指定 常量 K 或数据寄存 器 D(字) 常量 K 或数据寄存器 D(双字) 计数方式 计数到达设置值, 计数停止 计数到达设定值后, 仍继续计数, 计数 到 +2,147,483,647 时, 再计数会变为 -2,147,483,648 计数到达设定值后, 仍继续计数, 计数 到+2,147,483,647 时, 再计数会变为 0 输出接点 当计数到达设置 值,接点导通并保 持 On. 上数到达设置值接点导通并保持 On 下数到达设置值接点复位成 Off 上数到达设定值, 接点导通并保持 On 高速比较 接点动作 - - 计数到达立即动作,与扫描周期无关 2. 程序概念 2-31 项目 16 位计数器 32 位计数器 复位动作 RST 指令被执行时现在值归零,接点被复位成 Off 例如: LD X0 RST C0 LD X1 CNT C0 K5 LD C0 OUT Y0 C0 Y0 X1 C0 K5CNT X0 C0RST 1. 当 X0=On,RST 指令被执行, C0 的值归零。 2. 当 X1 由 Off→On 时,计数器 的现在值将执行上数(加一) 的动作。 3. 当计数器 C0 计数到达设置值 K5 时,C0 接点导通,C0 现在 值=设置值=K5。之后的 X1 触 发信号 C0 完全不接受,C0 现 在值保持在 K5 处。 X0 X1 Y0,C0 接点 C0 计数现在值 0 1 2 3 4 5 设置值 0 M1200 – M1254 用来设置或监控 C200 – C254 的上/下数,设置其中的一个 M=On,则相应的计数 器将下数。 例如: LD X20 OUT M1200 LD X21 RST C200 LD X22 CNT C200 K-5 LD C200 OUT Y0 C200 Y0 X22 C200 K-5DCNT X21 C200RST X20 M1200 1. 当 X20 =On,M1200=On 并设置 C200 为下数计数器。 2. 当 X21 = On,C200 将复位。 3. 当 X22 从 OffOn 变化时,C200 将上数或下数当前值(取决于 M1200 的 On/Off)。 4. 当 C200 的现在值从 K-6K-5 变化时,C200=On。 5. 当 C200 的现在值从 K-5K-6 变化时,C200=Off。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-32 X20 X21 X22 0 1 2 3 4 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 0 -7 -6 -5 -4 -3 递减 累加 C200 计数现在值 累加 接点 Y0, C0 2.12 高速计数器 高速输入计数器主要分为两种,一种为软件计数器,一种为硬件计数器,每一个输入点只能被 一个高速输入计数器使用,当 DCNT 指令使用的 C 装置或对应的输入点有重复时,将会有 DCNT 使 用 C 装置不当的语法错误产生。 软件高速计数器列表如下: 1 相 1 输 入 2 相 2 输 入 C 编号 输入 C235 C236 C237 C238 C239 C240 C241 C242 C232*2 C233 C234 X0 U/D A X1 U/D X2 U/D B X3 U/D X4 U/D A X5 U/D B X6 U/D A X7 U/D B 上/下沿计数 M1270 M1271 M1272 M1273 M1274 M1275 M1276 M1277 - - - 上/下计数 M1235 M1236 M1237 M1238 M1239 M1240 M1241 M1242 - - - U: 递增输入 D: 递减输入 A: A 相输入 B: B 相输入 备注: 1. 此软件计数器单一点最高可计数 10kHz 输入脉冲,最多可同时使用 8 个计数器。 2. SS2/SA2/SE 机种不支持 2 相 2 输入 (X0,X2)(C232) 计数器。 3. 2 相 2 输入 (X4,X5)(C233) 与 (X6,X7)(C234)其最高可计数 5kHz, (X0,X2)(C232)其最高可计数 15kHz。 2. 程序概念 2-33 4. 2 相 2 输入提供 2 倍, 4 倍频模式可选择(如下表所示), 共享 D1022 选择倍频模式。ES2/SS2 机种 韧体版本 V2.80 以上支持一倍频模式;SA2/SX2 机版本 V2.00 以上支持一倍频模式。 5. 触发条件上/下计数 (Off/On) 可由特 M 设定来决定, 特 M=Off 时是上升沿计数, 特 M=On 时, 是下 降沿计数。 6. U/D(Off/On) 上/下计数由特 M 设定来决定, 特 M=Off 时,是向上计数, 特 M=On 时, 是向下计数。 硬件高速计数器列表如下: 1 相 1 输入 1 相 2 输 入 2 相 2 输入 C 编号 输入 C243 C244 C245 C246 C247 C248 C249*2 C250*2 C251 C252 C253 C254 X0 U U/D U/DU U A A X1 R Dir Dir D D B B X2 U U/D U/D A A X3 R Dir Dir B B X4 R R R X5 R R U: 递增输入 A: A 相输入 Dir: 方向输入 D: 递减输入 B: B 相输入 R: 清除输入 备注: 1. 1 相 1 输入 X0(C243)与 X2(C244)输入之计数器, SS2 其最高可计数 20kHz, ES2/EX2/SA2/SX2 其最高可计数 100kHz。 2. SE 机种不支持 C249, C250 计数器。 3. 1 相 2 输入(X0,X1)(C245, C246)与(X2,X3)(C249, C250)输入之计数器, SS2 其最高可计数 20kHz, ES2/EX2/SA2/SX2 其最高可计数 100kHz。SE 机种不支持 C249, C250 计数器。 4. 1 相 2 输入(X0,X1)(C247, C248)之计数器, ES2/EX2/SS2/SX2 其最高可计数 10kHz, 32ES211T, SA2 其最高可计数 100kHz。 5. 2 相 2 输入(X0,X1)(C251, C252), ES2/EX2 其最高可计数 5kHz, SS2/SX2 其最高可计数 10kHz, 32ES211T, SA2/SE 其最高可计数 30kHz。 6. 2 相 2 输入(X2,X3)(C253, C254), ES2/EX2/SA2/SE 其最高可计数 5kHz, SS2/SX2 其最高可计 数 10kHz, 32ES211T 其最高可计数 30kHz。。 7. 2 相 2 输入提供 2 倍, 4 倍频模式可选择(如下表所示), 共享 D1022 选择倍频模式。 D1022 数值 计数图示 K1 (一倍频) 上數 下數 A相 B相 上數 下數 A相 B相 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-34 K2 (二倍频) 上数 下数 A相 B相 K4 or 其它数值 (四倍频) (默认值) 上数 下数 A相 B相 8. ES2/SS2 机种韧体版本 V2.80 以上支持一倍频模式;SA2/SX2 机版本 V2.00 以上支持一倍频模 式;未特别说明之机种与版本皆表示这三种模式都有支持。 9. C243 与 C244 只能被运用于上计数(U)模式,而且分别预设 X1 与 X3 为 R(清除)输入点的清除功 能,因此当不需使用清除功能时,就须先在启动计数器前,分别设定 M1243 与 M1244 为 On 之 后才能被关闭。 10. Dir 为方向输入点,Off 时表示上数,On 时表示下数。 11. 当 X1, X3, X4 与 X5 输入点用于 R 清除功能, 并且使用者未使用相对应的外部输入中断时, 则可 利用特 M 来指定触发上/下沿 (Off/On)条件。 R 清除功能 X1 X3 X4 X5 上/下沿设定 M1271 M1273 M1274 M1275 12. 当 X1, X3, X4 与 X5 输入点用于 R 清除功能, 使用外部输入中断时, 则以外部中断触发条件优先 选择, 并且当中断发生时, PLC 会自动将计数值搬移至特 D 中(如下表所示), 并清除高速计数器。 特 D 编号 D1241, D1240 D1243, D1242 C 编号 C243 C246 C248 C252 C244 C250 C254 外部中断 X1(I100/I101) X4(I400/I401) X3(I300/I301) X5(I500/I501) 13. 范例: C243 计数中,当外部输入中断由 X1(I101)进入时, C243 计数值会立即被搬移至(D1241, D1240),并清除 C243 计数值之后,接着进入执行 I101 中断子程序。 2. 程序概念 2-35 M1000 DCNT C243 K100 EI FEND I101 M1000 IRET END DMOV D1240 D0 1 相 1 输入高速计数器: 例如: LD X20 RST C235 LD X21 OUT M1235 LD X22 DCNT C235 K5 LD C235 OUT Y0 C235 Y0 X22 C235 K5DCNT X21 C235RST X20 M1235 1. X21 驱动 M1235 来决定 C235 为加算或减算。 2. 当 X20=On 时, RST 指令被执行,C235 的现在值归零,输出接点被复位为 Off 3. C235 在 X22=On 时,接受 X0 输入端来的计数信号,计数器的现在值将执行上数(加一) 的动作或下数(减一)的动作。 4. 当计数器 C235 计数到达设定值 K5 时, C235 接点导通。若 X0 仍有信号输入,计数动作持 续。 X22 X0 0 1 2 3 4 5 X20 X21,M1235 接点 6 7 6 5 4 3 上数 下数 C235 计数现在值 Y0, C235接点 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-36 1 相 2 输入高速计数器: 例如: LD X20 RST C247 LD X21 DCNT C247 K5 LD C247 OUT Y0 C247 Y0 X21 C247 K5DCNT C247RST X20 1. X20=On 时,RST 指令被执行,C247 的现在值归零,输出接点被复位为 Off。 2. C247 在 X21=On 时,接受 X0 输入端来的计数信号,计数器的现在值执行上数(加一)的 动作或接受 X1 输入端来的计数信号,计数器的现在值执行下数(减一)的动作。 3. 当计数器 C247 计数到达设置值 K5 时,C247 接点导通。导通后若计数脉冲输入,C247 继 续计数。 X21 0 1 2 3 4 5 X20 6 7 6 5 4 3 X1 上数 X0 下数 C247 现在值 Y0, C247 接点 2 相 AB 输入高速计数器: 例如: LD M1002 MOV K2 D1022 LD X20 RST C251 LD X21 DCNT C251 K5 LD C251 OUT Y0 C251 Y0 X21 C251 K5DCNT C251RST X20 M1002 K2 D1022MOV 2. 程序概念 2-37 1. X20=On 时,RST 指令被执行,C251 的现在值归零,输出接点被复位为 Off。 2. C251 在 X21=On 时,C251 接受 X0 输入端 A 相来的计数信号及 X1 输入端 B 相来的计数信 号,计数器的现在值执行上数(加一)或下数(减一)的动作。 3. 当计数器 C251 计数到达设置值 K5 时,C251 接点导通。导通后若计数脉冲输入,C251 继续 计数。 4. 可由 D1022 设定计数模式, 一倍频、二倍频或四倍频。出厂值预设为四倍频模式。 0 1 2 3 4 5 X21 X20 6 3 0 1 2 3 4 5 A X0相 B X1相 C251 计数现在值 Y0, C251 接点 上数 下数 2.13 特殊数据寄存器 特殊寄存器(特 D)如下所示。请注意部份编号相同的装置在不同的指令模式下将会有不同的意义。在 下表中,栏目中的“属性”是“R”就意味着装置可读。“R/W”意味着可读/写。“-”意味着不能 读、写。“#”意味着是系统设定。使用者可读取该设定值对照手册之说明, 可进一步了解系统信 息。 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1000* 程序扫描逾时定时器(WDT) (单位: ms) ○ ○ ○ ○ 200 - - R/W 否 200 D1001 DVP 机种系统程序版本,(用户可从此寄存器中 读出 PLC 的固件版本。例如,D1001=HXX10, 即固件版本 1.0) ○ ○ ○ ○ - - - R 否 # D1002* 程序容量: # => # => ES2/EX2/SA2/SX2 机种: 15872, SS2 机种: 7920. ○ ○ ○ ○ # - - R 否 # D1003 程序内存内容总和: # => ES2/EX2/SA2/SX2 机 种: 15872, SS2 机种: 7920. ○ ○ ○ ○ - - - R 是 # D1004* 语法检查出错代码 ○ ○ ○ ○ 0 0 - R 否 0 D1008* WDT 定时器On 的Step地址 ○ ○ ○ ○ 0 - - R 否 0 D1009 纪录低电压讯号曾经发生过的次数 ○ ○ ○ ○ 0 - - R 是 0 D1010* 现在扫描周期 (单位: 0.1ms) ○ ○ ○ ○ # # # R 否 0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-38 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1011* 最小扫描周期 (单位: 0.1ms) ○ ○ ○ ○ # # # R 否 0 D1012* 最大扫描周期 (单位: 0.1ms) ○ ○ ○ ○ # # # R 否 0 D1015* 0~32,767(单位: 0.1ms)加算型高速连接定时器 ○ ○ ○ ○ 0 - - R/W 否 0 D1018* πPI (Low word) ○ ○ ○ ○ H’0FDB H’0FDB H’0FDB R/W 否 H’0FDB D1019* πPI(High word) ○ ○ ○ ○ H’4049 H’4049 H’4049 R/W 否 H’4049 D1020* X0~X7 输入滤波器(单位ms),调节范围: 0~20ms ○ ○ ○ ○ 10 - - R/W 否 10 D1022 AB 相计数器倍频选择 ○ ○ ○ ○ 4 - - R/W 否 4 D1023* 脉宽侦测储存寄存器,单位:0.1ms ○ ○ ○ ○ 0 - - R/W 否 0 D1025* 通讯要求发生错误时的代码 ○ ○ ○ ○ 0 - - R 否 0 D1026* M1156=On, Y0 遮蔽对标脉冲输出个数 (LOW WORD). ○ ○ ○ ○ 0 0 - R/W 否 0 D1027* M1156=On, Y0 遮蔽对标脉冲输出个数 (HIGH WORD). ○ ○ ○ ○ 0 0 - R/W 否 0 D1028 变址寄存器 E0 ○ ○ ○ ○ 0 - - R/W 否 0 D1029 变址寄存器 F0 ○ ○ ○ ○ 0 - - R/W 否 0 D1030 Y0 脉冲输出个数 (Low word) ○ ○ ○ ○ - - - R/W 是 0 D1031 Y0 脉冲输出个数(High word) ○ ○ ○ ○ - - - R/W 是 0 D1032 Y1 脉冲输出个数(Low word) ○ ○ ○ ○ 0 - - R/W 否 0 D1033 Y1 脉冲输出个数(High word) ○ ○ ○ ○ 0 - - R/W 否 0 D1036* COM1 (RS-232) 通讯格式设定 ○ ○ ○ ○ H’86 - - R/W 否 H’86 D1037* M1037=0n, 8 组 SPD 指令速度检测功能的 D 装 置索引指针(SE 机种不支持) ○ ○ ○ ○ 0 - - R/W 否 0 D1038* COM2, COM3 (RS-485) 作为从站时, 数据响应 延迟时间设定, 设定范围0~10,000, 时间单位 (0.1ms) COM2 (RS-485) 使用PLC-LINK时, D1038可设 定延时发送下一笔通讯数据。 设定范围 0~10,000 , 单位: 扫描周期 ○ ○ ○ ○ - - - R/W 否 0 D1039* 固定扫描周期(ms) ○ ○ ○ ○ 0 - - R/W 否 0 D1040 步进点 S On 状态编号 1 ○ ○ ○ ○ 0 - - R 否 0 D1041 步进点 S On 状态编号 2 ○ ○ ○ ○ 0 - - R 否 0 D1042 步进点 S On 状态编号 3 ○ ○ ○ ○ 0 - - R 否 0 D1043 步进点 S On 状态编号 4 ○ ○ ○ ○ 0 - - R 否 0 D1044 步进点 S On 状态编号 5 ○ ○ ○ ○ 0 - - R 否 0 D1045 步进点 S On 状态编号 6 ○ ○ ○ ○ 0 - - R 否 0 D1046 步进点 S On 状态编号 7 ○ ○ ○ ○ 0 - - R 否 0 D1047 步进点 S On 状态编号 8 ○ ○ ○ ○ 0 - - R 否 0 D1049 警报点 On 的编号 ○ ○ ○ ○ 0 - - R 否 0 D1050 ↓ D1055 Modbus 通讯指令数据处理,PLC 系统会自动将 D1070~ D1085 的 ASCII 字符数据转换为 HEX,16 进位数值 ○ ○ ○ ○ 0 - - R 否 0 2. 程序概念 2-39 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1062* 设定 EX2/SX2 模拟输入的平均次数 ※EX2 V2.6 版、V2.8 版出厂值为 K10 ○ ╳ ╳ ○ - - - R/W 是 2 D1067* 运算错误的出错代码 ○ ○ ○ ○ 0 0 - R 否 0 D1068* 运算错误地址锁定 ○ ○ ○ ○ 0 - - R 否 0 D1070 ↓ D1085 Modbus 通讯指令数据处理,PLC 内建 RS-485 通讯便利指令,该指令执行时所送出指令,当受 信端接收后会回传讯息,该讯息会储存于 D1070~D1085,使用者可利用该寄存器的内 容,检视回传数据 ○ ○ ○ ○ 0 - - R 否 0 D1086 DVP-PCC01: 密码设置值 High word(以 ASCII 码对应的 HEX 值表示) ○ ○ ○ ○ 0 - - R/W 否 0 D1087 DVP-PCC01 密码设置值Low word(以ASCII 码 对应的HEX 值表示) ○ ○ ○ ○ 0 - - R/W 否 0 D1089 ↓ D1099 Modbus通讯指令数据处理,PLC内建RS-485通 讯便利指令,该指令执行时所送出的指令字符储 存于D1089~ D1099,使用者可根据该寄存器的 内容,检视指令是否正确 ○ ○ ○ ○ 0 - - R 否 0 D1109* COM3 (RS-485/USB)通讯格式设置 ○ ╳ ○ ○ H’86 - - R/W 否 H’86 D1110* EX2/SX2 模拟量输入通道 0 (AD0)的平均值,当 平均次数 D1062 为 1 时,即为现在值 ○ ╳ ╳ ○ 0 - - R 否 0 D1111* EX2/SX2 模拟输入通道 1 (AD1)的平均值,当平 均次数 D1062 为 1 时,即为现在值 ○ ╳ ╳ ○ 0 - - R 否 0 D1112* EX2/SX2 模拟量输入通道 2 (AD2)的平均值,当 平均次数 D1062 为 1 时,即为现在值 ○ ╳ ╳ ○ 0 - - R 否 0 20EX2/SX2 模拟量输入通道 3 (AD3)的平均值, 当平均次数 D1062 为 1 时,即为现在值 ○ ╳ ╳ ○ 0 - - R 否 0 D1113* 30EX2 模拟输入信道状态显示 ○ ╳ ╳ ╳ 0 - - R 否 0 D1114* 20EX2/SX2 bit 0~3 为启动/关闭输入 AD0~AD3 通道之设定;0 表示启动(预设),1 表示关闭 (30EX2 机种不支持) ○ ╳ ╳ ○ - - - R/W 是 0 20EX2/SX2 模拟输入输出模式设定 ○ ╳ ╳ ○ - - - R/W 是 0 D1115* 30EX2 模拟输入输出模式设定 ○ ╳ ╳ ╳ - - - R/W 是 H’FFF F D1116* EX2/SX2 模拟量输出通道 0 (DA 0 ) ○ ╳ ╳ ○ 0 0 0 R/W 否 0 D1117* 20EX2/SX2 模拟量输出通道 1 (DA 1) (30EX2 机种不支持) ○ ╳ ╳ ○ 0 0 0 R/W 否 0 D1118* EX2/SX2 模拟量/数字转换取样时间 (ms), 若 D1118≦2 则为预设 2 ms ○ ╳ ╳ ○ 2 - - R/W 是 2 D1120* COM2 (RS-485) 通讯格式设定 ○ ○ ○ ○ H’86 - - R/W 否 H’86 D1121* COM1(RS-232) 与 COM2(RS-485) PLC 通讯地 址 ○ ○ ○ ○ - - - R/W 是 1 D1122 COM2(RS-485) 发送数据剩余字数 ○ ○ ○ ○ 0 0 - R 否 0 D1123 COM2(RS-485) 接收数据剩余字数 ○ ○ ○ ○ 0 0 - R 否 0 D1124 COM2(RS-485) 起始字符定义 (STX) ○ ○ ○ ○ H’3A - - R/W 否 H’3AES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-40 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1125 COM2(RS-485) 第一结束字符定义 ○ ○ ○ ○ H’0D - - R/W 否 H’0D D1126 COM2(RS-485) 第二结束字符定义 ○ ○ ○ ○ H’0A - - R/W 否 H’0A D1127 定位指令加速区段脉波个数(Low word) ○ ○ ○ ○ 0 - - R 否 0 D1128 定位指令加速区段脉波个数(High word) ○ ○ ○ ○ 0 - - R 否 0 D1129 COM2(RS-485) RS-485 通讯逾时异常设置(ms) ○ ○ ○ ○ 0 - - R/W 否 0 D1130 COM2(RS-485) MODBUS 回传错误码记录 ○ ○ ○ ○ 0 - - R 否 0 D1131 CH0(Y0,Y1)闭合回路控制输出/输入比率 ○ ○ ○ ○ 100 -- -- R/W 否 100 D1132 CH1(Y2,Y3)闭合回路控制输出/输入比率 ○ ○ ○ ○ 100 -- -- R/W 否 100 D1133 定位指令减速区段脉波个数(Low word) ○ ○ ○ ○ 0 - - R 否 0 D1134 定位指令减速区段脉波个数(High word) ○ ○ ○ ○ 0 - - R 否 0 D1135* M1158=On, Y2 遮蔽对标脉冲输出个数 (LOW WORD) ○ ○ ○ ○ 0 0 -- R/W 否 0 D1136* M1158=On, Y2 遮蔽对标脉冲输出个数 (HIGH WORD) ○ ○ ○ ○ 0 0 -- R/W 否 0 D1137* 操作数使用错误发生时的地址 ○ ○ ○ ○ 0 0 - R 否 0 D1140* 右侧特殊扩展模块台数,最多八台 ○ ○ ○ ○ 0 - - R 否 0 D1142* 数字扩展 X 点数 ○ ○ ○ ○ 0 - - R 否 0 D1143* 数字扩展 Y 点数 ○ ○ ○ ○ 0 - - R 否 0 D1145* 左侧高速特殊扩展模块台数,最多 8 台 ╳ ╳ ○ ○ 0 - - R 否 0 D1167 COM1 (RS-232)的 RS 指令, 当接收到特殊数据 字符时中断请求, 中断 (I140) 触发 ○ ○ ○ ○ 0 - - R/W 否 0 D1168 COM2 (RS-485)的 RS 指令, 当接收到特殊数据 字符时中断请求, 中断 (I150) 触发 ○ ○ ○ ○ 0 - - R/W 否 0 D1169 COM3 (RS-485)的 RS 指令, 当接收到特殊数据 字符时中断请求, 中断 (I160) 触发 ○ ╳ ○ ╳ 0 - - R/W 否 0 D1178 VR0 值 ╳ ╳ ○ ○ 0 - - R 否 0 D1179 VR1 值 ╳ ╳ ○ ○ 0 - - R 否 0 D1182 变址寄存器 E1 ○ ○ ○ ○ 0 - - R/W 否 0 D1183 变址寄存器 F1 ○ ○ ○ ○ 0 - - R/W 否 0 D1184 变址寄存器 E2 ○ ○ ○ ○ 0 - - R/W 否 0 D1185 变址寄存器 F2 ○ ○ ○ ○ 0 - - R/W 否 0 D1186 变址寄存器 E3 ○ ○ ○ ○ 0 - - R/W 否 0 D1187 变址寄存器 F3 ○ ○ ○ ○ 0 - - R/W 否 0 D1188 变址寄存器 E4 ○ ○ ○ ○ 0 - - R/W 否 0 D1189 变址寄存器 F4 ○ ○ ○ ○ 0 - - R/W 否 0 D1190 变址寄存器 E5 ○ ○ ○ ○ 0 - - R/W 否 0 D1191 变址寄存器 F5 ○ ○ ○ ○ 0 - - R/W 否 0 D1192 变址寄存器 E6 ○ ○ ○ ○ 0 - - R/W 否 0 2. 程序概念 2-41 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1193 变址寄存器 F6 ○ ○ ○ ○ 0 - - R/W 否 0 D1194 变址寄存器 E7 ○ ○ ○ ○ 0 - - R/W 否 0 D1195 变址寄存器 F7 ○ ○ ○ ○ 0 - - R/W 否 0 D1220 第一组脉冲 CH0(Y0,Y1)输出模式设定 ○ ○ ○ ○ 0 - - R/W 否 0 D1221 第二组脉冲CH1(Y2,Y3)输出模式设定 ○ ○ ○ ○ 0 - - R/W 否 0 D1232* Ch0(Y0/Y1)高速输出于对标后减速停止输出个数 (LOW WORD) ○ ○ ○ ○ 0 - - R/W 否 0 D1233* Ch0(Y0/Y1)高速输出于对标后减速停止输出个数 (HIGH WORD) ○ ○ ○ ○ 0 - - R/W 否 0 D1234* Ch1(Y2/Y3)高速输出于对标后减速停止输出个数 (LOW WORD) ○ ○ ○ ○ 0 - - R/W 否 0 D1235* Ch1(Y2/Y3)高速输出于对标后减速停止输出个数 (HIGH WORD) ○ ○ ○ ○ 0 - - R/W 否 0 D1240* 当中断 I400/I401, I100/I101 触发,D1240 读取 高速计数器的 (LOW WORD) ○ ○ ○ ○ 0 0 - R 否 0 D1241* 当中断 I400/I401, I100/I101 触发,D1241 读取 高速计数器的 (HIGH WORD) ○ ○ ○ ○ 0 0 - R 否 0 D1242* 当中断 I500/I501, I300/I301 触发,D1242 读取 高速计数器的 (LOW WORD) ○ ○ ○ ○ 0 0 - R 否 0 D1243* 当中断 I500/I501, I300/I301 触发,D1243 读取 高速计数器的 (HIGH WORD) ○ ○ ○ ○ 0 0 - R 否 0 D1244 CH0 (Y0, Y1) 设定怠速输出脉冲个数, 数值≦0 时, 表示不启动此功能(默认值=0) ○ ○ ○ ○ 0 0 - R/W 否 0 D1245 CH1 (Y2, Y3) 设定怠速输出脉冲个数, 数值≦0 时, 表示不启动此功能(默认值=0) ○ ○ ○ ○ 0 0 - R/W 否 0 D1249 COM1(RS-232)通讯指令通讯接收逾时设定(单 位:1ms,最小值为 50ms,小于 50ms 以 50ms 算)(支持 MODRW/RS 指令), RS 指令时, 0 表 示不设定逾时时间 ○ ○ ○ ○ 0 - - R/W 否 0 D1250 COM1(RS-232)通讯指令通讯接收错误代码 (支持 MODRW/RS 指令) ○ ○ ○ ○ 0 - - R/W 否 0 D1252 COM3(RS-485) 通讯指令通讯接收逾时设定(单 位: 1ms, 最小值为 50ms, 小于 50ms 以 50ms 算) (支持 MODRW/RS 指令), RS 指令时, 0 表示 不设定逾时时间 ○ ╳ ○ ╳ 0 - - R/W 否 0 D1253 COM3(RS-485) 通讯指令通讯接收错误代码 (支持 MODRW/RS 指令) ○ ╳ ○ ╳ 0 - - R/W 否 0 D1255* COM3 (RS-485//USB) 的通讯地址 ○ ╳ ○ ○ - - - R/W 是 1 D1256 ↓ D1295 COM2(RS-485) 通讯便利指令 MODRW,该指 令执行时所送出的指令字符储存于 D1256~D1295,使用者可根据该寄存器的内 容,查看指令是否正确 ○ ○ ○ ○ 0 - - R 否 0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-42 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1296 ↓ D1311 COM2(RS-485)通讯便利指令 MODRW ,系统 会自动将使用者指定接收的寄存器内容的 ASCII 字符数据转换为 HEX 数据值储存于 D1296~D1311 ○ ○ ○ ○ 0 - - R 否 0 D1312* ZRN 指令之寻找 Z 相次数与位移个数功能设定 ○ ╳ ○ ○ 0 0 - R/W 否 0 D1313* 实时时钟 (RTC) 秒 00~59 ○ ○ ○ ○ - - - R/W 是 0 D1314* 实时时钟 (RTC) 分 00~59 ○ ○ ○ ○ - - - R/W 是 0 D1315* 实时时钟 (RTC) 时 00~23 ○ ○ ○ ○ - - - R/W 是 0 D1316* 实时时钟 (RTC) 天 01~31 ○ ○ ○ ○ - - - R/W 是 1 D1317* 实时时钟 (RTC) 月 01~12 ○ ○ ○ ○ - - - R/W 是 1 D1318* 实时时钟 (RTC) 星期 1~7 ○ ○ ○ ○ - - - R/W 是 2 D1319* 实时时钟 (RTC) 年 00–99 ○ ○ ○ ○ - - - R/W 是 8 D1320* ES2/EX2 第一台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1321* ES2/EX2 第二台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1322* ES2/EX2 第三台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1323* ES2/EX2 第四台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1324* ES2/EX2 第五台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1325* ES2/EX2 第六台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1326* ES2/EX2 第七台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1327* ES2/EX2 第八台右侧特殊扩展模块代号 ○ ○ ○ ○ 0 - - R 否 0 D1336 Y2 脉冲输出个数(Low word) ○ ○ ○ ○ - - - R/W 是 0 D1337 Y2 脉冲输出个数(High word) ○ ○ ○ ○ - - - R/W 是 0 D1338 Y3 脉冲输出个数(Low word) ○ ○ ○ ○ 0 - - R/W 否 0 D1339 Y3 脉冲输出个数(High word) ○ ○ ○ ○ 0 - - R/W 否 0 D1340 第一组脉冲 CH0 (Y0,Y1)输出,启始/结束频率 ○ ○ ○ ○ 100 - - R/W 否 100 D1343 第一组脉冲 CH0 (Y0,Y1)输出,加减速时间设置 ○ ○ ○ ○ 100 - - R/W 否 100 D1348* CH0(Y0, Y1) 脉冲输出, 当 M1534 = On,减速时 间独立设定 ○ ○ ○ ○ 100 - - R/W 否 100 D1349* CH1(Y2, Y3) 脉冲输出, 当 M1535 = On,减速时 间独立设定 ○ ○ ○ ○ 100 - - R/W 否 100 D1352 第二组脉冲 CH1 (Y2,Y3)输出,启始/结束频率 ○ ○ ○ ○ 100 - - R/W 否 100 D1353 第二组脉冲 CH1 (Y2,Y3)输出,加减速时间设定 ○ ○ ○ ○ 100 - - R/W 否 100 D1354 PLC-Link 扫描周期时间 (单位:1ms) ※ 最大显示数值为 K32000 ※ PLC Link 停止或第一次检测完成时 K0 ○ ○ ○ ○ 0 0 0 R 否 0 D1355* 读取从站 ID#1 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1356* 读取从站 ID#2 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1357* 读取从站 ID#3 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10642. 程序概念 2-43 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1358* 读取从站 ID#4 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1359* 读取从站 ID#5 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1360* 读取从站 ID#6 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1361* 读取从站 ID#7 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1362* 读取从站 ID#8 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1363* 读取从站 ID#9 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1364* 读取从站 ID#10 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1365* 读取从站 ID#11 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1366* 读取从站 ID#12 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1367* 读取从站 ID#13 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1368* 读取从站 ID#14 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1369* 读取从站 ID#15 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1370* 读取从站 ID#16 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’1064 D1386 第一台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1387 第二台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1388 第三台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1389 第四台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1390 第五台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1391 第六台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1392 第七台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1393 第八台左侧特殊扩展模块代号 ╳ ╳ ○ ○ 0 - - R 否 0 D1399* PLC Link 指定起始的从站 ID 编号 ○ ○ ○ ○ - - - R/W 是 1 D1415* 写入从站 ID#1 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1416* 写入从站 ID#2 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1417* 写入从站 ID#3 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1418* 写入从站 ID#4 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1419* 写入从站 ID#5 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1420* 写入从站 ID#6 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1421* 写入从站 ID#7 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1422* 写入从站 ID#8 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1423* 写入从站 ID#9 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1424* 写入从站 ID#10 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1425* 写入从站 ID#11 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1426* 写入从站 ID#12 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1427* 写入从站 ID#13 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1428* 写入从站 ID#14 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-44 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1429* 写入从站 ID#15 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1430* 写入从站 ID#16 的起始通讯地址设置 ○ ○ ○ ○ - - - R/W 是 H’10C8 D1431* PLC Link 轮询次数设置 ○ ○ ○ ○ 0 - - R/W 否 0 D1432* PLC Link 轮询次数显示 ○ ○ ○ ○ 0 - - R/W 否 0 D1433* PLC Link 联机从站台数 ○ ○ ○ ○ 0 - - R/W 否 0 D1434* 对从站 ID#1 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1435* 对从站 ID#2 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1436* 对从站 ID#3 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1437* 对从站 ID#4 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1438* 对从站 ID#5 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1439* 对从站 ID#6 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1440* 对从站 ID#7 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1441* 对从站 ID#8 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1442* 对从站 ID#9 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1443* 对从站 ID#10 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1444* 对从站 ID#11 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1445* 对从站 ID#12 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1446* 对从站 ID#13 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1447* 对从站 ID#14 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1448* 对从站 ID#15 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1449* 对从站 ID#16 数据读取长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1450* 对从站 ID#1 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1451* 对从站 ID#2 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1452* 对从站 ID#3 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1453* 对从站 ID#4 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1454* 对从站 ID#5 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1455* 对从站 ID#6 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1456* 对从站 ID#7 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1457* 对从站 ID#8 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1458* 对从站 ID#9 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1459* 对从站 ID#10 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1460* 对从站 ID#11 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1461* 对从站 ID#12 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1462* 对从站 ID#13 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1463* 对从站 ID#14 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 2. 程序概念 2-45 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1464* 对从站 ID#15 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 D1465* 对从站 ID#16 数据写入长度设置 ○ ○ ○ ○ - - - R/W 是 16 M1353=Off 时,存放 PLC LINK 主站读取从站 ID 1 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1480* ↓ D1495* M1353=On 时,PLC LINK 主站读取从站 ID 1~16 的数据内容后存放的 D 暂存器起始编号 ○ ○ ○ ○ - - - R 是 0 M1353=Off 时,存放 PLC LINK 主站写入从站 ID 1 的数据内容 ○ ○ ○ ○ 0 - - R/ W 否 0 D1496* ↓ D1511* M1353=On 时,PLC LINK 主站写入从站 ID 1~16 的数据内容所存放的 D 暂存器起始编号 ○ ○ ○ ○ - - - R/ W 是 0 D1512* ↓ D1527* 存放 PLC LINK 主站读取从站 ID 2 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1528* ↓ D1543* 存放 PLC LINK 主站写入从站 ID 2 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1544* ↓ D1559* 存放 PLC LINK 主站读取从站 ID 3 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1560* ↓ D1575* 存放 PLC LINK 主站写入从站 ID 3 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1576* ↓ D1591* 存放 PLC LINK 主站读取从站 ID 4 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1592* ↓ D1607* 存放 PLC LINK 主站写入从站 ID 4 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1608* ↓ D1623* 存放 PLC LINK 主站读取从站 ID 5 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1624* ↓ D1639* 存放 PLC LINK 主站写入从站 ID 5 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1640* ↓ D1655* 存放 PLC LINK 主站读取从站 ID 6 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1656* ↓ D1671* 存放 PLC LINK 主站写入从站 ID 6 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1672* ↓ D1687* 存放 PLC LINK 主站读取从站 ID 7 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1688* ↓ D1703* 存放 PLC LINK 主站写入从站 ID 7 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1704* ↓ D1719* 存放 PLC LINK 主站读取从站 ID 8 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1720* ↓ D1735* 存放 PLC LINK 主站写入从站 ID 8 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-46 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1736* ↓ D1751* 存放 PLC LINK 主站读取从站 ID 9 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1752* ↓ D1767* 存放 PLC LINK 主站写入从站 ID 9 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1768* ↓ D1783* 存放 PLC LINK 主站读取从站 ID 10 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1784* ↓ D1799* 存放 PLC LINK 主站写入从站 ID 10 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1800* ↓ D1815* 存放 PLC LINK 主站读取从站 ID 11 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1816* ↓ D1831* 存放 PLC LINK 主站写入从站 ID 11 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1832* ↓ D1847* 存放 PLC LINK 主站读取从站 ID 12 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1848* ↓ D1863* 存放 PLC LINK 主站写入从站 ID 12 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1864* ↓ D1879* 存放 PLC LINK 主站读取从站 ID 13 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1880* ↓ D1895* 存放 PLC LINK 主站写入从站 ID 13 的数据内容 ○ ○ ○ ○ 0 - - R/W 否 0 D1896* ↓ D1911* 存放 PLC LINK 主站读取从站 ID 14 的数据内容 ○ ○ ○ ○ 0 - - R 否 0 D1900* ↓ D1931* 当 M1356 为 On 时,此特 D 将会被定义为 PLC- Link 的站号设定,不再使用 D1399 预设的连续 站号;停电保持功能需要 M1356 为 On 时才有 ○ ╳ ○ ○ 0 - - R/W 否 D1912* ↓ D1927* 从站(SLAVE) ID 14 LINK PLC 写入, 写入的范围 是 ID 14 写入通讯地址(D1428) , 预设为 D200 开 始的 16 笔 ○ ○ ○ ○ 0 - - R/W 否 0 D1928* ↓ D1943* 从站(SLAVE) ID 15 LINK PLC 读取, 读出的范围 是 ID 15 读取通讯地址(D1369) , 预设为 D100 开 始的 16 笔 ○ ○ ○ ○ 0 - - R 否 0 D1944* ↓ D1959* 从站(SLAVE) ID 15 LINK PLC 写入, 写入的范围 是 ID 15 写入通讯地址(D1429) , 预设为 D200 开 始的 16 笔 ○ ○ ○ ○ 0 - - R/W 否 0 D1960* ↓ D1975* 从站(SLAVE) ID 16 LINK PLC 读取, 读出的范围 是 ID 16 读取通讯地址(D1370) , 预设为 D100 开 始的 16 笔 ○ ○ ○ ○ 0 - - R 否 0 D1976* ↓ D1991* 从站(SLAVE) ID 16 LINK PLC 写入, 写入的范围 是 ID 16 写入通讯地址(D1430), 预设为 D200 开 始的 16 笔 ○ ○ ○ ○ 0 - - R/W 否 0 D1994 DVP-PCC01 设定 PLC 密码剩余次数 ○ ○ ○ ○ 0 - - R/W 否 0 D1995 DVP-PCC01 纪录 PLC 识别码长度 ○ ○ ○ ○ 0 - - R/W 否 0 D1996 DVP-PCC01 的 PLC 识别码设定值第一个 word(以 ASCII 字符对应之 HEX 值表示) ○ ○ ○ ○ 0 - - R/W 否 0 2. 程序概念 2-47 特 D 功能说明 ES2 EX2 SS2 SA2 SE SX2 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂 值 D1997 DVP-PCC01 的 PLC 识别码设定值第二个 word(以 ASCII 字符对应之 HEX 值表示) ○ ○ ○ ○ 0 - - R/W 否 0 D1998 DVP-PCC01 的 PLC 识别码设定值第三个 word(以 ASCII 字符对应之 HEX 值表示) ○ ○ ○ ○ 0 - - R/W 否 0 D1999 DVP-PCC01 的 PLC 识别码设定值第四个 word(以 ASCII 字符对应之 HEX 值表示) ○ ○ ○ ○ 0 - - R/W 否 0 D9800 ↓ D9879 SA2/SX2/SE 左侧特殊模块专用 ╳ ╳ ○ ○ - - - R/W 否 0 D9900 ↓ D9979 ES2/EX2 特殊模块专用(详细使用请参考模块篇) SA2/SX2/SE 右侧特殊模块专用 ○ ╳ ○ ○ - - - R/W 否 0 D9980 显示 CANopen 状态讯息代码 (仅适用于 DVP-ES-C 机种) ○ ╳ ╳ ╳ - - - R 否 0 D9981 ↓ D9996 显示从站 1~16 站之 CANopen 状态讯息代码 (仅适用于 DVP-ES-C 机种) ○ ╳ ╳ ╳ - - - R 否 0 D9998 显示从站之错误状态:bit0~15 分别表示 1~16 站,on 表示有错误发生。 (仅适用于 DVP-ES-C 机种) ○ ╳ ╳ ╳ - - - R 否 0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-48 2.14 E,F 变址寄存器 变址寄存器及一般的操作数相同可用来作为搬移或比较,可用于字装置 (KnX,KnY,KnM,KnS, T, C,D)及位装置 (X,Y,M,S)。它不支持常量(K,H)间接寻址功能。 变址寄存器 [E],[F] 变址寄存器为16 位寄存器,ES2 机种共计16 点,E0~E7和F0~F7。如果要使用32位长度时必须指定 E, 此种情况下F就被E所涵盖, F不能再使用, 否则会使得E (32位数据) 的内容不正确。 (建议使用 DMOVP K0 E指令, 在开机时就将E (含F) 的内容清除为0) 例如: ”MOV K10 D0F0” 变址寄存器 E、F 是 16 位的数据寄存器,跟一般用的寄存器一样。它们可以被读写。也可被用作 32 位的寄存器。 F0 E0 E0F0 32位 上位 下位 16位 16位 建议使用 DMOVP K0 E 指令,于开机时就将 E、F 的内容清除为 0。 使用 32 位变址寄存器,E、F 的组合如下: (E0,F0) ,(E1,F1) (E2,F2) (E3,F3) (E4,F4) ,(E5,F5) (E6,F6) (E7,F7) 当 X0=On, E0=8,F0=14,D5E0=D(5+8)=D13,D10F0 =D(10+14) = D24,此时会将 D13 的内 容搬移至 D24 内。 K14 F0 X0 K8 E0MOV D5E0 D10F0 MOV MOV 2. 程序概念 2-49 2.15 指针[N],指针[P],中断指针[I] N 主控回路用 N0~N7,8 点 主控回路控制点 指针 P CJ,CALL 指令用 P0~P255,256 点 CJ,CALL 的位置 指针 外部中断插入 I000/I001(X0),I100/I101(X1), I200/I201(X2),I300/I301(X3), I400/I401(X4),I500/I501(X5), I600/I601(X6),I700/I701(X7),8 点 (01,上升沿触发 ,00,下降沿触 发 ) 定时中断插入 I602~I699,I702~I799,2 点 (时基 =1ms) 高速计数器中断插 入 I010,I020,I030,I040,I050, I060,I070, I080,8 点 指针 I 中断用 通讯中断插入 I140(COM1: RS-232), I150(COM2: RS-485), I160(COM3: RS-485),,3 点 中断子程序的位置 指针 指针N:搭配指令MC MCR 使用,MC 为主控起始指令,当MC 指令执行时,位于MC 及MCR 指令 之间的指令照常执行。MC-MCR指令支持内嵌式的程序结构,从N0~N7,最多8层。 指针 P:与 CJ,CALL,和 SRET 搭配使用。 CJ 条件跳转: z 当 X0=On 时程序自动从地址 0 跳转至地址 N(即指定的指针 P1)继续执行,中间地址 跳过不执行。 z 当 X0=Off 时程序如同一般程序由地址 0 继续往下执行,此时 CJ 指令不被执行。 X2 Y2 X1 P1CJ X0 Y1 P** 0 P1 N CALL 呼叫子程序、SRET 子程序结束: z 当 X0 为 On 时则执行 CALL 命令,跳转到 P2 执行所指定的子程序,当执行 SRET 命令 时,则回到地址 24,继续往下执行。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-50 X0 X1 CALL P2 Y1 20 P*** 呼叫子程序 ***P 24 FEND SRET P2 子程序 P2 子程序返回 Y0 Y0 END 中断指标 I: 搭配应用指令API 04 EI, API 05DI, API 03 IRET 使用。用途可分为以下4种, 中断插入的动作须搭配 EI 中断插入允许, DI 中断插入禁止, IRET 中断插入返回等指令组合而成。 5. 外部中断插入 z X0~X7 输入端的输入信号于上升沿或下降沿触发时,因PLC 主机内的特殊硬件设计电路 的处理,将不受扫描周期影响,立即中断目前执行中的程序而跳至指定的中断插入子程 序指针I000/I001(X0),I100/I101(X1),I200/I201(X2),I300/I301(X3),I400/I401(X4), I500/I501(X5),I600/I601(X6),I700/I701(X7)处执行,至IRET 指令被执行时再回到原 来的位置继续往下执行。 z X0(C243)与 I100/I101 (X1)搭配, X0/X1(C246, C248, C252) 与 I400/I401 (X4)搭配, C243, C246, C248, C252 的值将被储存到 D1240, D1241中 z X2(C244)与 I300/I301 (X3)搭配, X2/X3(C250, C254) 与 I500/I501 (X5)搭配, C244, C250, C254 的值将被储存到 D1242, D1243 中。 6. 定时中断插入 z PLC 每隔一段时间自动的中断目前执行中的程序而跳至指定的中断插入子程序执行。 PLC在每个时间周期(2ms~99ms)内自动执行。 7. 计数到达中断插入 z 高速计数器比较指令DHSCS 可指定当比较到达时,中断目前执行中的程序而跳至指定 的中断插入子程序执行中断指针I010、I020、I030、I040、I050、I060、I070、I080。 8. 通讯中断插入 z I140: 当 COM1 RS-232 使用 RS 通信指令,可设定产生接收到特定字符时,发出中断请求 I140,特殊字符可设置到 D1167 的低字节。若是 COM1 为 USB 通讯口则不支持此通讯 中断。 PLC 与通讯设备连接时,接受到的数据长度不一时所使用,将结束字设定于 D1167 中并 撰写中断服务程序 I140。当 PLC 接受到此结束字,执行 I140。 2. 程序概念 2-51 z I150: 当 COM2 RS-485 使用通 RS 信指令,可设定产生接收到特定字符时,发出中断请求 I150,特殊字符可设置到 D1168 的低字节。 PLC 与通讯设备连接时,接受到的数据长度不一时所使用,将结束字设定于 D1168 中并 撰写中断服务程序 I150。当 PLC 接受到此结束字,执行 I150。 z I160: 当 COM3 RS-485 使用 RS 通信指令,可设定产生接收到特定字符时,发出中断请求 I160,特殊字符可设置到 D1169 的低字节。若是 COM3 为 USB 通讯口则不支持此通讯 中断。 PLC 与通讯设备连接时,接受到的数据长度不一时所使用,将结束字设定于 D1169 中并 撰写中断服务程序 I160。当 PLC 接受到此结束字,执行 I160。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-52 2.16 特殊 M 继电器及 D 寄存器群组应用说明 功能组 PLC 运行标志 编号 M1000~M1003 内容: M1000: M1000 为 RUN 中常时 On 接点,即运转监视常开接点(A 接点),PLC 于 RUN 的状态 下,M1000 保持为 On。 M1000 Y0 PLC 运行中 一直都保持 ON PLC RUN 当中 常时 接点 ON M1001: M1001 为 RUN 中常时 Off 接点,即运转监视常闭接点(B 接点),PLC 于 RUN 的状态下 M1001 保持为 Off。 M1002: PLC 开始 RUN 的第一次扫描 On,之后保持为 Off。该脉冲的宽度为一次扫描时间,当要作 各种初始设定工作时使用本接点。 M1003: PLC 开始 RUN 的第一次扫描 Off,之后一直 On。即启始负向(RUN 的瞬间’Off’)脉冲。 PLC RUN M1000 M1001 M1002 M1003 扫描时间 功能组 监控定时器 编号 D1000 内容: 1. 监控定时器专门用来监视 PLC 的扫描时间,当扫描时间超过监控定时器的设置时间时, ERROR 红色指示灯长亮,输出全部变成 Off。 2. 监控定时器时间的初始值为 200ms,当程序长或是运算过于复杂时,可于程序中使用 MOV 指 令来变更监控定时器的设置值,如下所示,将监控定时器的设置值变更为 300ms。 2. 程序概念 2-53 M1002 初始脉冲 0 MOV K300 D1000 3. 监控定时器最大可设定至 32,767ms, 但必须注意, 监控定时器设定过大时, 运算异常发生的检出 时机将会跟着被拖慢。因此,若非复杂的运算使得扫描时间超过 200ms, 一般的情况下请维持在 200ms 以下较佳。 4. 指令运算过于复杂或者是 PLC 主机连接众多的特殊模块时都会造成扫描时间过长,扫描时间是 否超过过 D1000 的设置值,请监视 D1010~D1012。此种情况下,除了变更 D1000 的设置 值,也可于 PLC 程序中加入 WDT 指令(API 07),当 CPU 执行至 WDT 指令时内部监控定时器 被清除为零, 使得扫描时间不会超过监控定时器的设定时间。 功能组 程序容量 编号 D1002 内容: 此寄存器保存了 PLC 程序的容量。 SS2: 7,920 Steps (Word) ES2 / EX2 / SA2 / SX2: 15,872 Steps (Word) 功能组 文法检查 编号 M1004,D1004,D1137 内容: 1. 当文法检查错误发生, PLC ERROR 错误指示灯闪烁, 特殊继电器 M1004=On。 2. PLC 文法检查时机: 电源由 Off→On, 其它时机为 z WPLSoft 将程序写入 PLC 内部 z WPLSoft 作 On-line Programming 功能操作 3. 发生原因可能是指令操作数 (装置) 使用不合法或程序文法回路有错, 可根据特殊寄存器 D1004 的错误码并对照侦错表, 可得知错误原因。而发生错误的地址存于数据寄存器 D1137 内 (若为 一般回路错误则 D1137 的地址值无效)。 4. 文法检查侦错码请参考第 6.2 节寄存器错误码表。 功能组 扫描逾时定时器 编号 M1008,D1008 内容: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-54 1. 当程序执行时发生扫描逾时 PLC ERROR 错误指示灯长亮,此时 M1008=On。 2. D1008 之内容值为 WDT 定时器 On 的 STEP 地址。 功能组 扫描时间的监视 编号 D1010~D1012 内容: 扫描时间的现在值、最小值及最大值被存放在下列的寄存器中。 D1010: 扫描时间的现在值。 D1011: 扫描时间的最小值。 D1012: 扫描时间的最大值。 功能组 内部时间脉冲 编号 M1011~M1014 内容: 1. PLC 内部提供四种时钟脉冲。只要 PLC 通上电源, 这四种时钟脉冲会自动动作。 M1011 (10 ms) M1012 (100 ms) M1013 (1 sec) M1014 (60 sec) 100 Hz 10 Hz 1 Hz 10 ms 100 ms 1 sec 1 min 2. PLC 于 STOP 状态,时钟脉冲也会动作,时钟脉冲启动时序与 RUN 的启动时序并不会同步。 功能组 高速连接定时器 编号 M1015,D1015 内容: 1. 当程序中 M1015=On 时, 当 PLC 执行到该次扫描周期结束 END 指令时, 才启动高速定时器 D1015, D1015 的最小计时单位为 100us。 2. D1015 计时范围是 0~32,767, 当计时到 32,767 时, 下一个计时是从 0 再开始。 3. 当程序中 M1015=Off 时, D1015 立刻停止计时。 2. 程序概念 2-55 4. 范例: z 当 X10 为 On 时, M1015=On, 启动高速定时器开始计时并将计时值记录在 D1015 中。 z 当 X10 为 Off 时, M1015=Off, 关闭高速定时器。 X10 M1015 功能组 实时时钟 RTC 编号 M1016~M1017,D1313~D1319 内容: 1. 实时时钟相关的继电器及寄存器 装置 名称 功能说明 M1016 实时时钟公元年显示 Off: 显示公元年右 2 位 On: 显示公元年右 2 位加上 2000 M1017 ±30 秒校正 当 Off→On,触发时作校正 0~29 秒时,分不动,秒归 0 30~59 秒时,分加 1、秒归 0 D1313 秒 0~59 D1314 分 0~59 D1315 时 0~23 D1316 日 1~31 D1317 月 1~12 D1318 星期 1~7 D1319 年 0~99(公元右两位) 2. 若实时时钟对应的秒, 分, 时, 日, 月, 星期, 年设定值错误,则设定错误的装置会变为秒→0, 分→ 0, 时→0, 日→1, 月→1, 星期→1, 年→0。 3. SS2 机种之实时时钟,仅提供在有电源的状况下才可正常进行计时的功能。实时时钟数据 D1319~D1313 为停电保持,重新上电将从最后断电之时刻继续计时。建议重新上电请重新校 正实时时钟时钟。 4. SA2 V1.0 及 ES2/EX2/SX2 V2.0 机种之实时时钟,当电源关闭时还可正常运行约一至二周时间 (依环境温度而有差异),因此当机台距离上次上电运行有一至二周的时间,建议请重新校正 实时时钟时钟。 5. 实时时钟的校正方法 a) 内建的实时时钟,其校正方法可使用校正时刻专用指令 TWR。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-56 b) 使用 WPLSoft / ISPSoft 软件来设置 功能组 π (PI) 编号 D1018~D1019 内容: 1. 32 位数据寄存器来存放π(PI)的浮点数值 2. 浮点数值= H 40490FDB 功能组 输入端反应时间调整 编号 D1020 内容: 1. X0~X7 输入端, 可由 D1020 的内容来设定输入端接收脉冲的反应时间, 10ms(出厂值), 设定范围 0~20,单位 ms。 2. 当 PLC 电源从 Off→On,D1020 的值会自动变为 10。 X0 X7 0ms 1ms 10ms 15ms 端子 反应时间 输入再生 状态存储 0 1 10 15 由 初始值为 作设定D1020 10() 3. 如果程序中执行下面的程序时,X0~X7 的反应时间被设置为 0ms,由于,输入端均串接 RC 滤 波回路的关系,输入端最快的反应时间为 50μs。 M1000 常时 接点 ON MOV K0 D1020 4. 当程序中使用高速计数器、中断插入等功能时,不须调整反应时间。 5. 使用 API 51 REFF 指令的功用及改变 D1020 内容功效相同。 功能组 X6 输入点可检测脉冲宽度 编号 M1083,M1084,D1023 内容: 2. 程序概念 2-57 1. M1084 启动侦测 X6 脉冲宽度, 结果存于 D1023 内 (单位: 0.1ms)。 2. M1083=On: 侦测 X6 下降沿周期(OffÆOn) 宽度, M1083 Off: 侦测 X6 正周期(OnÆOff) 宽度。 功能组 通讯错误代码 编号 M1025, D1025 内容: 当 PC 或 HMI 人机接口与 PLC 联机时,在数据的传输当中,若 PLC 接收到不合法的通讯服务要求 时, M1025=On,并将错误码写入 D1025 中。下列为错误码: 01: 指令码不合法 02: 装置地址不合法 03: 要求的数据超过范围 07: 和检查 (CheckSum) 错误 功能组 暂停脉冲输出遮蔽对标功能 编号 M1108, M1110, M1156, M1158, M1538, M1540, D1026, D1027, D1135, D1136, D1232, D1233, D1234, D1235, D1348, D1349 内容: API 59 PLSR / API 158 DDRVI / API 197 DCLLM 指令支持暂停脉冲输出遮蔽对标功能, 请参考指令 说明。 功能组 执行完毕标志 编号 M1029,M1030,M1102,M1103 内容: 执行完毕标志指令 MTR,HKY,DSW,SEGL,PR: 本指令每次执行完毕,M1029=On 一个扫描周期 PLSY,PLSR: 1. Y0 脉冲输出完毕后, M1029 会被设定为 On。 2. Y1 脉冲输出完毕后, M1030 会被设定为 On。 3. Y2 脉冲输出完毕后, M1102 会被设定为 On。 4. Y3 脉冲输出完毕后, M1103 会被设定为 On。 5. PLSY, PLSR 指令 Off 时, 则 M1029, M1030, M1102, M1103 变为 Off。当此指令再次执行完毕 时, M1029, M1030, M1102, M1103 会再次 Off, 执行完毕又会 On。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-58 6. 用户须自行清除 M1029, M1030, M1102, M1103 的值。 INCD: 指定的组数比较完成时,M1029 会 On 一次扫描周期。 RAMP,SORT: 1. 指令执行完毕时 M1029= On,M1029 须由使用者将其清除。 2. 该指令 Off 时,则 M1029 变为 Off。 DABSR: 3. 指令完全执行后 M1029=On 。 4. 当下一次再启动该指令时,M1029 又变成 Off,完毕后又变 On。 ZRN,DRVI,DRVA: 1. ES2 主机,所设置的第一组输出 Y0、Y1 脉冲数发送完毕时,M1029=On。第二组输出 Y2、 Y3 脉冲数发送完毕时,M1102=On。 2. 当下一次再启动该指令时,M1029 或 M1102 又变成 Off,完毕后又变 On。 功能组 清除指令 编号 M1031,M1032 内容: M1031 (清除非停电保持区域) ,M1032 (清除停电保持区域) 装 置 编 号 被 清 除 的 装 置 M1031 清除非停电保持区域 Y、一般用 M、一般用 S 接点状态 一般用 T 的接点及计时线圈 一般用 C 的接点及计数线圈及复位线圈 一般用 D 的现在值寄存器 一般用 T 的现在值寄存器 一般用 C 的现在值寄存器 M1032 清除停电保持区域 停电保持用 M、S 的接点状态 累计型定时器 T 的接点及计时线圈 停电保持用 C 及高速计数器 C 的接点、计数线圈 停电保持用 D 的现在值寄存器 累计型定时器 T 的现在值寄存器 停电保持用 C 及高速计数器 C 的现在值寄存器 2. 程序概念 2-59 功能组 STOP 当中输出保持 编号 M1033 内容: 当 M1033 为 On,PLC 由 RUN 变成 STOP 的时候,输出的 On/Off 状态被保持住。 功能组 Y 输出全部禁止 编号 M1034 内容: 当 M1034=On,所有的输出将被禁止。 功能组 RUN/STOP 开关 编号 M1035 内容: 当 M1035 = On,启动 X7 输入点作为 RUN/STOP 开关。 功能组 COM 通讯端口功能 编号 通讯端口 项目 COM1 COM2 COM3 通讯格式 D1036 D1120 D1109 通讯设置保持 M1138 M1120 M1136 ASCII/RTU 模式 M1139 M1143 M1320 从站通讯地址 D1121 D1255 内容: 通讯端口(COM1: RS-232,COM2: RS-485,COM3: RS-485)支持 MODBUS ASCII/RTU 通讯格式, 选择 RTU 通讯格式时, 通讯格式的数据长度须选择 8。COM2, COM3 速率最高可达 921kbps。 COM1,COM2,COM3 可同时使用。若是通讯口为 USB,则不支持主站通讯功能。 COM1: 可作为主站或从站,支持 ASCII/RTU 通讯格式,可调整波特率,速率最高可达 115200 bps,及修改 数据位长度 ( Data bits, Parity bits, Stop bits )。D1036: COM1 (RS-232) PLC 的主站/从站通讯协 议 。 (未使用 b8-b15) 参考下面的表格进行设定。 COM2: 可作为主站或从站,支持 ASCII/RTU 通讯格式,可调整波特率,速率最高可达 921kbps,及修改数 据位长度 ( Data bits, Parity bits, Stop bits )。D1120: COM2 (RS-485) PLC 的主站/从站通讯协议。 参考下面的表格进行设定。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-60 COM3: 可作为主站或从站,支持 ASCII/RTU 通讯格式,可调整波特率,速率最高可达 921kbps,及修改数 据位长度 ( Data bits, Parity bits, Stop bits )。D1109: COM3 (RS-485) PLC 的主站/从站通讯协议。 (未使用 b8-b15 ) 参考下面的表格进行设定。 通讯协议: 内 容 b0 数据长度 0: 7,1: 8 (选择 RTU 通讯格式时, 长度须为 8) 00: 无(None) 01: 奇(Odd) b1 b2 同位 11: 偶(Even) b3 Stop bits 0: 1 bit,1: 2bits 0001(H1): 110 0010(H2): 150 0011(H3): 300 0100(H4): 600 0101(H5): 1200 0110(H6): 2400 0111(H7): 4800 1000(H8): 9600 1001(H9): 19200 1010(HA): 38400 1011(HB): 57600 1100(HC): 115200 1101(HD): 500000 (COM2 / COM3 支持) 1110(HE): 31250 (COM2 / COM3 支持) b4 b5 b6 b7 波特率 1111(HF): 921000 (COM2 / COM3 支持) b8 起始字符选择 无 D1124 b9 第一结束字符选择 无 D1125 b10 第二结束字符选择 无 D1126 b11~b15 未定义 例 1: COM1 通讯格式修改方法 1. 若要修改 COM1 的通讯格式,请在程序最上端加入下面程序代码,当 PLC 由 STOP 到 RUN 时,在 PLC 的第一次扫描时间时,会侦测 M1138 是否有 On,若有则会根据 D1036 的设置值 去更改 COM1 的相关设定。 2. 将 COM1 的通讯格式改为 ASCII 模式、9600bps、7 Data bits、Even parity、1 Stop bits (9600, 7, E 1) 2. 程序概念 2-61 MOV H86 D1036 SET M1138 M1002 例 2: COM2 通讯格式修改方法 1. 若要修改 COM2 的通讯格式,请在程序最上端加入下面程序代码,当 PLC 由 STOP 到 RUN 时,在 PLC 的第一次扫描时间时,会侦测 M1120 是否有 On,若有则会根据 D1120 的设置值 去更改 COM2 的相关设定。 2. 将 COM2 的通讯格式改为 ASCII 模式、9600bps、7 Data bits、Even parity、1 Stop bits (9600, 7, E 1) MOV H86 D1120 SET M1120 M1002 例 3: COM3 通讯格式修改方法 1. 若要修改 COM3 的通讯格式,请在程序最上端加入下面程序代码,当 PLC 由 STOP 到 RUN 时,在 PLC 的第一次扫描时间时,会侦测 M1136 是否有 On,若有则会根据 D1109 的设置值 去更改 COM3 的相关设定。 2. 将 COM3 的通讯格式改为 ASCII 模式、9600bps、7 Data bits、Even parity、1 Stop bits (9600, 7, E 1)。 MOV H86 D1109 SET M1136 M1002 例 4: COM1、COM2、COM3 的 RTU 模式设置 1. COM1 是以 M1139 为设置标志。COM2 是以 M1143 为设置标志。COM3 是以 M1320 为设置 标志。当标志 Off 时则为 ASCII mode。 2. 修改 COM1/COM2/COM3 的通讯格式为 RTU mode,9600bps,8 data bits,even parity,1 stop bits (9600,8,E,1)。 COM1: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-62 MOV D1036 SET M1138 M1002 SET M1139 H87 COM2: MOV H87 D1120 SET M1120 M1002 SET M1143 COM3: MOV H87 D1109 SET M1136 M1002 SET M1320 注意事项: 1. 当通讯格式修改完成后, 将 PLC 由 RUN→STOP, 通讯格式不会变化。 2. 当通讯格式修改完成后, 若在 STOP 状态下将 PLC 电源关闭后再上电, 此时 COM1~COM3 回 复到出厂设定的通讯格式 (9600, 7, E, 1)。 功能组 启动 SPD 功能 编号 M1037, D1037 内容: 1. M1037 与 D1037 一起搭配可同时启动 8 组 SPD 功能。设定 M1037 为 ON 时,会启动 8 个 SPD 指令,M1037 为 OFF 时,则关闭此功能。 2. 速度检测值会被放到 D1037 指定索引的 D 装置,也就是说当功能启动时,假如 D1037 为 k100,那么使用者要设定 D100 的内容值,其数值是抓取一次速度值的时间(基本单位为 1 毫 秒),然后每次抓取到的速度数值都会被放在 D101 ~ D108 里。 ※ 此时 C235~C242 计数器都会被这个功能占用,PLC 程序此时不能去使用。 2. 程序概念 2-63 ZRST C235 C242 M1002 MOV K100 D1037 MOV K1000 D100 M1037 M1 K10000 K0 Y0 M1000 PLSY K9000 K0 Y1 M1000 PLSY K8000 K0 Y2 M1000 PLSY K7000 K0 Y3 M1000 PLSY END 功能组 通讯回应延迟 编号 D1038 内容: 1. COM2, COM3 (RS-485) 作为从站时, 数据响应延迟时间设定, 设定范围 0~10,000, 时间单位 (0.1ms) 。 2. COM2 (RS-485) 使用 PLC-LINK 时, D1038 可设定延时发送下一笔通讯数据。设定范围 0~10,000, 单位: 扫描周期。 功能组 固定扫描时间 编号 M1039,D1039 内容: 1. 将 M1039 为 On,则程序的扫描时间固定以 D1039 的内容来决定,当程序执行完毕,必须等待 固定的扫描时间到达时才执行下一次的扫描,如果 D1039 的内容小于实际上程序的扫描时间 时,则以实际上程序的扫描时间为主。 M1039 固定扫描时间 M1000 常时 On 接点 D1039K20MOV P 将扫描时间定为 20ms ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-64 2. 扫描时间有关的指令 RAMP、HKY、SEGL、ARWS、PR,应用上必须和”固定扫描时间”或者 是”定时插入中断”搭配使用。 3. 特别是 HKY 指令,它是以 4×4 矩阵方式作 16 个数字按钮的输入操作使用时扫描时间必须固 定在 20ms 以上。 4. D1010~D1012 所显示的扫描时间也包括固定的扫描时间。 功能组 主机内建模拟量功能 编号 D1062,D1110~D1118 内容: 1. 此功能仅适用于 EX2 与 SX2 系列之主机。 2. 模拟输入信道分辨率:20EX2 与 20SX2 机种为 12 位;30EX2 机种之电压/电流模式为 16 位、 温度模式为 0.1℃。 3. 模拟输入模式数字值对应表: 模式 机种 20EX2/SX2 30EX2 -10V ~ +10V -2000 ~ +2000 -32000 ~ +32000 -5V ~ +5V 不支援 -32000 ~ +32000 电压 +1V ~ +5V 不支援 +0 ~ +32000 -20mA ~ +20mA -2000 ~ +2000 -32000 ~ +32000 电流 +4mA ~ +20mA +0 ~ +2000 +0 ~ +32000 PT100/PT1000 -180℃ ~ +800℃ 不支援 -1800 ~ +8000 温度 NI100/NI1000 -80℃ ~ +170℃ 不支援 -800 ~ +1700 4. 模拟输出信道分辨率为 12 位 5. 模拟输出模式数字值对应表: 模式 机种 20EX2/SX2 30EX2 电压 -10V ~ +10V -2000 ~ +2000 -32000 ~ +32000 +0mA ~ +20mA +0 ~ +4000 +0 ~ +32000 电流 +4mA ~ +20mA +0 ~ +4000 +0 ~ +32000 2. 程序概念 2-65 6. 模拟功能特殊 D 寄存器说明 装置编号 功 能 说 明 20EX2/SX2 系列模拟输入(CH0~CH3)平均次数:1~20, 默认值=K2 D1062 30EX2 模拟输入(CH0~CH2)平均次数:1~15, 默认值=K2 D1110 EX2/SX2 系列模拟输入信道 0(AD0)的平均值, 当 D1062 为 1 时, 即为现在值 D1111 EX2/SX2 系列模拟输入信道 1(AD1)的平均值, 当 D1062 为 1 时, 即为现在值 D1112 EX2/SX2 系列模拟输入信道 2(AD2)的平均值, 当 D1062 为 1 时, 即为现在值 20EX2/SX2 系列模拟输入信道 3(AD3)的平均值, 当 D1062 为 1 时, 即为现在值 D1113 30EX2 模拟输入信道状态显示。详见下面说明 20EX2/SX2 bit 0~3 为启动/关闭输入 AD0~AD3 通道之设定;0 表示启动(预 设),1 表示关闭 D1114 30EX2 不支援 D1116 EX2/SX2 系列模拟输出信道 0 (DA0) 之输出值 20EX2/SX2 系列模拟输出信道 1 (DA1) 之输出值 D1117 30EX2 不支援 D1118 EX2/SX2 系列模拟/数字转换取样时间 (ms), 若 D1118≦2 则为预设 2ms 30EX2 D1113 字段说明: Bit15~12 Bit11~8 Bit7~4 Bit3~0 保留 AD2 模拟输入通道状态 AD1 模拟输入通道状态 AD0 模拟输入通道状态 30EX2 模拟输入通道状态列表: 状态 0x0 0x1 0x2 说明 正常 模拟输入超出上下限 温度传感器断线 30EX2 模拟输入模式数字值上下限列表 : 模拟输入模式 数位值上限 数位值下限 -10 ~ +10V -5V ~ +5V +32384 -32384 电压 +1V ~ +5V +32384 -384 -20mA ~ +20mA +32384 -32384 电流 +4mA ~ +20mA +32384 -384 PT100/PT1000 +8100 -1900 温度 NI100/NI1000 +1800 -900 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-66 装置编号 功 能 说 明 20EX2/SX2 机种模拟输入输出模式设定 (预设为 H’0) bit0~bit5 代表电压/电流功能选择, 0 为电压, 1 为电流 (预设为电压) bit0~bit3 代表模拟输入 AD0~AD3 bit4, bit5 代表模拟输出 DA0, DA1 bit8~ bit 13 为电流模式选择 bit8~ bit11 代表 AD0~AD3,0 为-20mA~20mA, 1 为 4~20mA bit12, bit13 分别表示 DA0, DA1,0 为 0~20mA, 1 为 4~20mA D1115 30EX2 机种模拟输入输出模式设定 (预设为 H’FFFF) 30EX2 D1115 字段说明: Bit15~12 Bit11~8 Bit7~4 Bit3~0 DA0 模拟输出模式 AD2 模拟输入模式 AD1 模拟输入模式 AD0 模拟输入模式 30EX2 模拟输入模式列表: 代码 0x0 0x1 0x2 0x3 说明 PT100 二线式 NI100 二线式 PT1000 二线式 NI1000 二线式 代码 0x4 0x5 0x6 0x7 说明 PT100 三线式 NI100 三线式 PT1000 三线式 NI1000 三线式 代码 0x8 0x9 0xA 0xB 说明 电压 -10V ~ +10V 电压 -5V ~ +5V 电压 +1V ~ +5V 电流 -20mA ~ +20mA 代码 0xC 0xD 0xE 0xF 说明 电流 +4mA ~ +20mA 保留 关闭不使用 30EX2 模拟输出模式列表: 代码 0x0 0x1 0x2 0xF 说明 电压 -10V ~ +10V 电流 +0mA ~ +20mA 电流 +4mA ~ +20mA 关闭不使用 30EX2 D1115 设定范例: 假设 AD0 模式为 NI100 二线式,AD1 模式 PT1000 三线式,AD2 模式为电压 +1V ~ +5V,DA0 模式为电流 +4mA ~ +20mA,D1115 的设定值应为 H’2A61。 2. 程序概念 2-67 功能组 启动 DDRVI 两段速输出功能 编号 M1119 内容: 举例:D0(D1) 为第一段速度 D2(D3) 为第二段速度;D10(D11) 为第一段速所输出之脉波个 数,D12(D13)为第二段速所输出之脉波个数。 DMOV K50000 D12 M3 DMOV K0 D1030 DMOV K0 D1336 DMOV K100000 D0 M0 DMOV K50000 D2 DMOV K100000 D10 M2 M1 SET M1119 M0 M1 DDRVI D10 D0 M0 Y0 Y1 S0 M1029 DDRVI D10 D0 M1 Y2 Y3 S1 M1102 END ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-68 Vbase T1 T2+T3 P(1) V(1) P(2) V(2) 初始频率 加速时间 减速时间 第一段速位置 第一段速度 第二段速位置 第二段速度 功能组 运算错误标志 编号 M1067~M1068,D1067~D1068 内容: 运算错误标志 装置编号 说 明 停电保持 STOP→RUN RUN→STOP M1067 运算错误标号 无 清除 保持 M1068 运算错误锁存标号 无 保持 保持 D1067 运算错误代码 无 清除 保持 D1068 运算错误时的 STEP 值 无 保持 保持 错误代码说明: D1067 错误代码 原 因 0E18 BCD 转换错误 0E19 除数为 0 错误 0E1A 装置使用超过范围 (包含 E、F 修饰) 0E1B 开根号值为负数 0E1C FROM/TO 指令通讯错误 2. 程序概念 2-69 功能组 扩展连接侦测 编号 D1140,D1142,D1143, D1145 内容: 1. D1140:右侧特殊扩展模块(AD、DA、XA、PT、TC…)台数,最多 8 台。 2. D1142:数字扩展机输入 X 点数。 3. D1143:数字扩展机输出 Y 点数。 4. D1145(SA2/SX2 机种支持):左侧高速特殊扩充模块 (AD、DA…) 台数, 最多 8 台。 功能组 外部中断触发上下缘强制反向 编号 M1280,M1284,M1286 内容: 1. 需搭配 DI/EI 指令使用, 并且设置标志须在 EI 指令前。 2. 程序中原先设定 I001 中断(X0) 为上升沿触发, 当 M1280 被设定为 On, 且 EI 指令启动时, PLC 会 自动将中断(X0)变为下降沿触发。若需改回上升沿触发则只需清除 M1280=Off。 3. M0=Off, M1280=Off, X0 外部输入中断为上升沿触发。 4. M0=On, M1280=On, X0 外部输入中断改为下降沿触发, 不需重新将 I001 中断程序改为 I000 输 入。 M0 M1280 EI FEND I001 M1000 IRET END INC D0 功能组 读取脉冲数的中断指令 编号 D1240 ~ D1243 内容: 1. 当 X1, X3, X4 与 X5 输入点用于 R 清除功能, 使用外部输入中断时, 则以外部中断触发条件优先 选择, 并且当中断发生时, PLC 会自动将计数值搬移至特 D 中(如下表所示), 并清除高速计数 器。 特 D 编号 D1241, D1240 D1243, D1242 C 编号 C243 C246 C248 C252 C244 C250 C254 外部中断 X1(I100/I101) X4(I400/I401) X3(I300/I301) X5(I500/I501) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-70 2. 说明: a) X0 (计数器输入) 和 X1 (外部中断)与 C243, I100/I101 配合使用。PLC 会自动将计数值搬移至 D1241, D1240。 b) X0 (计数器输入) 和 X4 (外部中断)与 C246, C248, C252, I400/I401 配合使用。PLC 会自动将计 数值搬移至 D1241, D1240。 c) X2 (计数器输入) 和 X3 (外部中断)与 C244, I300/I301 配合使用。PLC 会自动将计数值搬移至 D1243, D1242。 d) X2 (计数器输入) 和 X5 (外部中断)与 C250, C254, I500/I501 配合使用。PLC 会自动将计数值 搬移至 D1243, D1242。 3. 范例: C243 计数中,当外部输入中断由 X1(I101)进入时, C243 计数值会立即被搬移至(D1241, D1240),并清除 C243 计数值之后,接着进入执行 I101 中断子程序。 M1000 DCNT C243 K100 EI FEND I101 M1000 IRET END DMOV D1240 D0 功能组 X 输入点可强制 On/Off 编号 M1304 内容: 当 M1304=On 时,主机上的 X 输入点可利用周边装置如 WPLSoft / ISPSoft 做设定 On-Off 的动作, 但输入点 X 点的 LED 灯不会反应。 功能组 DZRN 到定位后可再输出指定脉冲个数或寻找 Z 相信号 编号 M1308, D1312 内容: 当 DZRN 到达定位后,可再输出指定脉冲个数或寻找 Z 相讯号。输入脚位 X2、X3 分别为 CH1、 CH2 所使用的 Z 相输入点。M1308 = ON 时,D1312 为输出脉冲数设定,正方向最多 30000 个,负 方向最多-30000,超出最多设定以最多个算。当 D1312 设定 0 则表示不启动,它再输出几个脉冲停 止功能。 其它输入点功能如下: X4 → CH1 DOG 输入 X6 → CH 2 DOG 输入 X5 → CH 1 负极限输入 X7 → CH 2 负极限输入 2. 程序概念 2-71 功能组 ES2/EX2/SS2/SA2/SX2/SE 右侧特殊扩展模块代号 编号 D1320~ D1327 内容: ES2/EX2 若连接右侧特殊扩展模块将会依排列顺序将扩展模块机种代号显示在 D1320~ D1327 内。 特殊扩充模块代号: 扩展模块名称 扩展模块代号 (HEX) 扩展模块名称 扩展模块代号(HEX) DVP04AD-E2 H’0080 DVP06XA-E2 H’00C4 DVP02DA-E2 H’0041 DVP04PT-E2 H’0082 DVP04DA-E2 H’0081 DVP04TC-E2 H’0083 SS2/SX2/SA2/SE 若连接右侧特殊扩充模块 扩充模块名称 扩充模块代号 (HEX) 扩充模块名称 扩充模块代号(HEX) DVP04AD-S H’0088 DVP06XA-S H’00CC DVP02DA-S H’0049 DVP04PT-S H’008A DVP04DA-S H’0089 DVP04TC-S H’008B DVP06AD-S H’00C8 DVP01PU-S H’0110 功能组 SA2/SX2/SE 左侧高速特殊扩展模块代号 编号 D1386~ D1393 内容: SA2/SX2 连接左测高速特殊扩展模块, 依排列顺序将扩展模块机种代号显示在 D1386~ D1393 内。 特殊扩展模块代号: 扩展模块名称 扩展模块代号 (HEX) 扩展模块名称 扩展模块代号(HEX) DVP04AD-SL H’4400 DVP01HC-SL H’4120 DVP04DA-SL H’4401 DVP02HC-SL H’4220 DVP04PT-SL H’4402 DVPDNET-SL H’4131 DVP04TC-SL H’4403 DVPEN01-SL H’4050 DVP06XA-SL H’6404 DVPMDM-SL H’4040 DVP01PU-SL H’4110 DVPCOPM-SL H’4133 功能组 SA2/SX2/SE 左侧高速特殊扩充模块自动对应功能 编号 M1182, D9800~ D9879 内容: SA2 版本为 V2.42 与 SX2 版本 V2.20 版(含)以下,其 M1182 默认值为 Off 开启自动对应功能。 SA2 版本为 V2.60 与 SX2 版本 V2.40 版(含)以上以及 SE 机种,其 M1182 默认值为 On 关闭自动对 应功能。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-72 范例说明: 假设连接模块从左排到右顺序为 04DA-SL + 04AD-SL + SA2,当 M1182 为 Off 开启自动对应功能 时,其模块对应之特殊装置将自动分配如下表显示: 机种名称 04DA-SL 04AD-SL SA2 通道 1 (Ch1) D9810 D9800 通道 2 (Ch2) D9811 D9801 通道 3 (Ch3) D9812 D9802 通道 4 (Ch4) D9813 D9803 功能组 右侧特殊扩充模块自动对应功能 编号 M1183, D9900~ D9979 内容: ES2/EX2 系列主机,其 M1183 默认值为 Off 开启自动对应功能。 SA2/SX2/SS2/SE 系列机种,其 M1183 默认值为 On 关闭自动对应功能。 范例说明: 假设连接模块从左排到右顺序为 ES2 + 04DA-E2 + 04AD-E2,当 M1183 为 Off 开启自动对应功能 时,其模块对应之特殊装置将自动分配如下表显示: 机种名称 ES2 04DA-E2 04AD-E2 通道 1 (Ch1) D9900 D9910 通道 2 (Ch2) D9901 D9911 通道 3 (Ch3) D9902 D9912 通道 4 (Ch4) D9903 D9913 功能组 ZRN 输出清除脉冲功能 编号 M1346 内容: 当 M1346=On 为启动 DZRN 到达原点后送出清除输出信号功能;第 1 组输出会搭配 Y4 输出清除信 号 On 维持 20ms,第 2 组输出则搭配 Y5 输出清除信号 On 维持 20ms。 功能组 PLC Link 编号 M1350-M1355, M1360-M1439, D1355-D1370, D1399, D1415-D1465, D1480- D1991 内容: 1. PLC Link 支持 COM2(RS-485),最多可连接 16 台从站及最多读写 50 笔 word 功能。 2. ID1~ID8 特 D, 特 M 说明: (M1353 = Off, 最多 16 笔 word) 2. 程序概念 2-73 主站(MASTER PLC) 从站 1 SLAVE ID 1 从站 2 SLAVE ID 2 从站 3 SLAVE ID 3 从站 4 SLAVE ID 4 从站 5 SLAVE ID 5 从站 6 SLAVE ID 6 从站 7 SLAVE ID 7 从站 8 SLAVE ID 8 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 固定读写 16 笔存放的特 D 寄存器编号 D1480 │ D1495 D1496 │ D1511 D1512 │ D1527 D1528 │ D1543 D1544 │ D1559 D1560 │ D1575 D1576 │ D1591 D1592 │ D1607 D1608 │ D1623 D1624 │ D1639 D1640 │ D1655 D1656 │ D1671 D1672 │ D1687 D1688 │ D1703 D1704 │ D1719 D1720 │ D1735 读出/写入从站的长度设定(最多 16 笔, 设定 0 表示不读取或不写入) D1434 D1450 D1435 D1451 D1436 D1452 D1437 D1453 D1438 D1454 D1439 D1455 D1440 D1456 D1441 D1457 读出/写入从站设备内部地址(注) D1355 D1415 D1356 D1416 D1357 D1417 D1358 D1418 D1359 D1419 D1360 D1420 D1361 D1421 D1362 D1422 M1355=On 时, 手动设定从站是否联机(设定标志 M1360~M1375) M1355=Off 时, 自动侦测从站是否联机(监控标志 M1360~M1375) M1360 M1361 M1362 M1363 M1364 M1365 M1366 M1367 目前动作 MASTER PLC 对 SLAVE PLC 动作的指示标志 M1376 M1377 M1378 M1379 M1380 M1381 M1382 M1383 读出, 写入数据之标志状态, On=正确, Off=错误 M1392 M1393 M1394 M1395 M1396 M1397 M1398 M1399 读取完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1408 M1409 M1410 M1411 M1412 M1413 M1414 M1415 写入完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1424 M1425 M1426 M1427 M1428 M1429 M1430 M1431 从站(SLAVE PLC) (注) 从站 1 SLAVE ID 1 从站 2 SLAVE ID 2 从站 3 SLAVE ID 3 从站 4 SLAVE ID 4 从站 5 SLAVE ID 5 从站 6 SLAVE ID 6 从站 7 SLAVE ID 7 从站 8 SLAVE ID 8 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-74 3. ID9~ID16 特 D, 特 M 说明: (M1353 = Off, 最多 16 笔 word) 主站(MASTER PLC) 从站 9 SLAVE ID 9 从站 10 SLAVE ID 10 从站 11 SLAVE ID 11 从站 12 SLAVE ID 12 从站 135 SLAVE ID 13 从站 14 SLAVE ID 14 从站 15 SLAVE ID 15 从站 16 SLAVE ID 16 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 固定读写 16 笔存放的特 D 寄存器编号 D1736 │ D1751 D1752 │ D1767 D1768 │ D1783 D1784 │ D1799 D1800 │ D1815 D1816 │ D1831 D1832 │ D1847 D1848 │ D1863 D1864 │ D1879 D1880 │ D1895 D1896 │ D1911 D1912 │ D1927 D1928 │ D1943 D1944 │ D1959 D1960 │ D1975 D1976 │ D1991 读出/写入从站的长度设定(最多 16 笔, 设定 0 表示不读取或不写入) D1442 D1458 D1443 D1459 D1444 D1460 D1445 D1461 D1446 D1462 D1447 D1463 D1448 D1464 D1449 D1465 读出/写入从站设备内部地址(注) D1363 D1423 D1364 D1424 D1365 D1425 D1366 D1426 D1367 D1427 D1368 D1428 D1369 D1429 D1370 D1430 M1355=On 时, 手动设定从站是否联机(设定标志 M1368~M1375) M1355=Off 时, 自动侦测从站是否联机(监控标志 M1368~M1375) M1368 M1369 M1370 M1371 M1372 M1373 M1374 M1375 目前动作 MASTER PLC 对 SLAVE PLC 动作的指示标志 M1384 M1385 M1386 M1387 M1388 M1389 M1390 M1391 读出, 写入数据之标志状态, On=正确, Off=错误 M1400 M1401 M1402 M1403 M1404 M1405 M1406 M1407 读取完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1416 M1417 M1418 M1419 M1420 M1421 M1422 M1423 写入完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1432 M1433 M1434 M1435 M1436 M1437 M1438 M1439 从站(SLAVE PLC) (注) 从站 9 SLAVE ID 9 从站 10 SLAVE ID 10 从站 11 SLAVE ID 11 从站 12 SLAVE ID 12 从站 13 SLAVE ID 13 从站 14 SLAVE ID 14 从站 15 SLAVE ID 15 从站 16 SLAVE ID 16 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 注: z 预设从站设备为 DVP-PLC, 读出从站 DVP-PLC 内部地址 H1064(D100) 起始的内容值。 z 预设从站设备为 DVP-PLC, 写入从站 DVP-PLC 内部地址 H10C8(D200) 起始的的内容值。 2. 程序概念 2-75 4. ID1~ID8 特 D, 特 M 说明: (M1353 = On, 最多 50 笔 word) 主站(MASTER PLC) 从站 1 SLAVE ID 1 从站 2 SLAVE ID 2 从站 3 SLAVE ID 3 从站 4 SLAVE ID 4 从站 5 SLAVE ID 5 从站 6 SLAVE ID 6 从站 7 SLAVE ID 7 从站 8 SLAVE ID 8 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 M1353 = On, 使用者自行指定主站读写 D 寄存器编号,长度最长可设定至 50 笔 D1480 D1496 D1481 D1497 D1482 D1498 D1483 D1499 D1484 D1500 D1485 D1501 D1486 D1502 D1487 D1503 M1356 = On, 从站 1~8 的站号由 D1900~D1907 设定, 主站依设定的站号来发送命令 D1900 D1901 D1902 D1903 D1904 D1905 D1906 D1907 读出/写入从站的长度设定(最多 50 笔, 设定 0 表示不读取或不写入) D1434 D1450 D1435 D1451 D1436 D1452 D1437 D1453 D1438 D1454 D1439 D1455 D1440 D1456 D1441 D1457 读出/写入从站设备内部地址(注) D1355 D1415 D1356 D1416 D1357 D1417 D1358 D1418 D1359 D1419 D1360 D1420 D1361 D1421 D1362 D1422 M1355=On 时, 手动设定从站是否联机(设定标志 M1360~M1375) M1355=Off 时, 自动侦测从站是否联机(监控标志 M1360~M1375) M1360 M1361 M1362 M1363 M1364 M1365 M1366 M1367 目前动作 MASTER PLC 对 SLAVE PLC 动作的指示标志 M1376 M1377 M1378 M1379 M1380 M1381 M1382 M1383 读出, 写入数据之标志状态, On=正确, Off=错误 M1392 M1393 M1394 M1395 M1396 M1397 M1398 M1399 读取完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1408 M1409 M1410 M1411 M1412 M1413 M1414 M1415 写入完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1424 M1425 M1426 M1427 M1428 M1429 M1430 M1431 从站(SLAVE PLC) (注) 从站 1 SLAVE ID 1 从站 2 SLAVE ID 2 从站 3 SLAVE ID 3 从站 4 SLAVE ID 4 从站 5 SLAVE ID 5 从站 6 SLAVE ID 6 从站 7 SLAVE ID 7 从站 8 SLAVE ID 8 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-76 5. ID9~ID16 特 D, 特 M 说明: (M1353 = On, 最多 50 笔 word) 主站(MASTER PLC) 从站 9 SLAVE ID 9 从站 10 SLAVE ID 10 从站 11 SLAVE ID 11 从站 12 SLAVE ID 12 从站 13 SLAVE ID 13 从站 14 SLAVE ID 14 从站 15 SLAVE ID 15 从站 16 SLAVE ID 16 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 M1353 = On, 使用者自行指定主站读写 D 寄存器编号,长度最长可设定至 50 笔 D1488 D1504 D1489 D1505 D1490 D1506 D1491 D1507 D1492 D1508 D1493 D1509 D1494 D1510 D1495 D1511 M1356 = On, 从站 9~16 的站号由 D1908~D1915 设定, 主站依设定的站号来发送命令 D1908 D1909 D1910 D1911 D1912 D1913 D1914 D1915 读出/写入从站的长度设定(最多 50 笔, 设定 0 表示不读取或不写入) D1442 D1458 D1443 D1459 D1444 D1460 D1445 D1461 D1446 D1462 D1447 D1463 D1448 D1464 D1449 D1465 读出/写入从站设备内部地址(注) D1363 D1423 D1364 D1424 D1365 D1425 D1366 D1426 D1367 D1427 D1368 D1428 D1369 D1429 D1370 D1430 M1355=On 时, 手动设定从站是否联机(设定标志 M1368~M1375) M1355=Off 时, 自动侦测从站是否联机(监控标志 M1368~M1375) M1368 M1369 M1370 M1371 M1372 M1373 M1374 M1375 目前动作 MASTER PLC 对 SLAVE PLC 动作的指示标志 M1384 M1385 M1386 M1387 M1388 M1389 M1390 M1391 读出, 写入数据之标志状态, On=正确, Off=错误 M1400 M1401 M1402 M1403 M1404 M1405 M1406 M1407 读取完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1416 M1417 M1418 M1419 M1420 M1421 M1422 M1423 写入完毕标志 (当每次完成一台读出写入动作后, 此标志会自动 Off) M1432 M1433 M1434 M1435 M1436 M1437 M1438 M1439 从站(SLAVE PLC) (注) 从站 9 SLAVE ID 9 从站 10 SLAVE ID 10 从站 11 SLAVE ID 11 从站 12 SLAVE ID 12 从站 135 SLAVE ID 13 从站 14 SLAVE ID 14 从站 15 SLAVE ID 15 从站 16 SLAVE ID 16 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 读出 写入 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 D100 │ D115 D200 │ D215 2. 程序概念 2-77 注: z 预设从站设备为 DVP-PLC, 读出从站 DVP-PLC 内部地址 H1064(D100) 起始的内容值。 z 预设从站设备为 DVP-PLC, 写入从站 DVP-PLC 内部地址 H10C8(D200) 起始的的内容 值。 6. 通讯格式与站号说明 a) PLC LINK 以 MODBUS 通讯协议为基础来作通讯。 b) 从站 PLC)不管以哪个通讯接口连接时, 其所有联机的从站接口设备波特率 (Baudrate) 及通讯格 式须与主站 PLC 相同, 支持 ASCII 与 RTU 模式。 c) 当 M1356=Off 时(默认值), 从站 ID1 站号可由主站 PLC 之 D1399 设定, 并且 ID2~ID16 为自动 连续站号, 举例: 当 D1399 为 K3, 则主站 PLC Link 将自动连续对从站 ID1~ID16 站号 K3~K18 发送通讯命令。注意:连续从站之站号与主站 PLC 站号(由 D1121/D1255 设定)不得重复。 d) 当 M1353=On 且 M1356=On 时 , 联机从站 1~16 的站号改由使用者以主站 PLC 之 D1900~D1915 设定, 举例: 当 D1900=K3, D1901=K3, D1902=K5, D1903=K5, 则主站 PLC LINK 时, 会使用已指定从站 1 的站号 K3, 从站 2 的站号 K3, 从站 3 的站号 K5, 从站 4 的站号 K5 来发送通讯命令。注意:每个从站与主站 PLC 站号(由 D1121/D1255 设定)不得重复,并且 M1353 必须为 On。 e) 此 M1356=On 指定站号功能,其机种支持版本如下: ES2/EX2Æ v1.42 版以上, SS2/SX2Æ v1.2 版以上, SA2Æ v1.0 版。 7. 操作说明: a) 设定主站 PLC 与所有联机之从站接口设备波特率 (Baudrate) 及通讯格式相同。通讯格式设定 (COM1_RS-232: D1036, COM2_ RS-485: D1120, COM3_RS-485: D1109)。 b) 先设定主站 PLC 站号 (由 D1121 设定), 再由主站 PLC 之 D1399, 指定起始的从站 ID 编号, 再设 定从站的站号, 主站与从站站号不可重复。 c) 主站 PLC 设定欲读出/写入从站的数据长度 (若无设定则以内定值或是前一次设定值为主)。(设 定特 D 请参阅上述特 D 说明) d) 主站 PLC 设定欲读出/写入从站的起始通讯地址。(设定特 D 请参阅上述特 D 说明, 预设读出起 始通讯地址 H1064, 即为 D100, 写入起始通讯地址 H10C8, 即为 D200)。 e) 操作步骤 z 设定启动 PLC Link 读写功能同时在一个轮询时间 (M1354)。 z 当 M1355=On 时, 手动设定从站 1~16 是否联机(设定标志 M1360~M1375)。M1355=Off 时, 自动侦测从站 1~16 是否联机(监控标志 M1360~M1375)。 z 设定启动 PLC LINK 为自动模式 (M1351), 或设定启动 PLC LINK 为手动模式 (M1352), (注意自动/手动模式不可同时为 On), 设定 PLC Link 轮询次数 (D1431)。 z 设定启动 PLC Link 功能 (M1350)。 8. PLC 主站动作说明: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-78 a) 当 M1355=On 时, 手动设定从站 1~16 是否联机(设定标志 M1360~M1375)。 b) M1355=Off 时, 自动侦测从站 1~16 是否联机(监控标志 M1360~M1375)。 z 启动 PLC Link 功能 M1350=On, 开始侦测所有联机的从站共有几台, 同时会把台数纪录在 D1433, 侦测时间依据连接之从站数目与 D1129 通讯逾时时间设定而会有差异。 z 而 M1360~M1375 为 On 分别代表从站 ID 第 1 台到第 16 台的 PLC 是否存在。 z 若侦测出来的数目是 0, 则 M1350 会被 Off 掉, 同时停止 LINK。 z 当 M1350=On 之后, 只有开始时做联机侦测, 之后就不再做侦测。 z 当联机侦测完毕后, 主站 PLC 开始对每一台从站做读出与写入的动作。特别说明, 主站 PLC 是针对连上线的从站 ID 做动作, 因此当完成联机侦测后, 若有新的从站加入, 则主站 PLC 无法对其做动作, 除非重新做联机侦测的动作。 c) M1354 此功能, 必须在启动 PLC LINK 之前就设定完成, 当 LINK 执行当中, 设定此特 M, 不会影 响 LINK 的动作。 d) M1354=On, 设定以 Modbus Function H17(启动 PLC Link 读写功能同时在一个轮询时间)做 PLC LINK 通讯的功能, 若设定的写入笔数为 0, 则 PLC 自动转换成以 Modbus Function H03(读 取多笔 WORD 功能)做 PLC LINK 通讯的功能;同样的, 若设定的读出笔数为 0 时, 则 PLC 自动 转换成以 Modbus Function H06 (写入一笔 WORD 功能)或 Modbus Function H10(写入多笔 WORD 功能)做 PLC LINK 通讯的功能。 e) M1353=Off 时(默认值), 此 PLC Link 功能的读写从站数据长度最大为 16 个 Word, 并且自动对 应于特 D 中; 但是当 M1353=On 时, 此 PLC Link 功能的读写从站数据长度最大为 50 个 Word, 并且由使用者自行指定存放于 D 装置的编号, 举例: 主站 PLC 对从站 ID1 读写存放位置设定为 D1480 = k500, D1496=k800, 并且设定读写长度为 D1434=k50, D1450=k50, 则主站的 D500 ~ D549 将会存放从从站 ID1 读取的数据, 并且将 D800~D849 的数据写到从站 ID1。 f) 主站 PLC 会先做读出的动作, 读出的范围是依照设定进行, 当完成读出后, 接着做写入的动作, 写入的范围依照设定进行。 g) 读出与写入的动作是做完一台从站的读出与写入动作之后, 再做下一台。 9. 手动/自动说明: a) 自动模式: 设定自动模式的特 M 为 M1351, 当此 M1351=On 时是自动模式, 依照上述 PLC 动作 说明, 主站 PLC 会自动对从站作读出与写入的动作。直到 M1350 或 M1351=Off 才停止 PLC LINK 动作。 b) 手动模式: 设定手动模式的特 M 为 M1352, 当 M1352=On 时, 同时必须设定 D1431 PLC Link 轮 询次数, 这里说的次数是以完成所有从站的读取与写入的动作当成一次。依照上述 PLC 动作说 明当 PLC 开始 LINK 时, D1432 就开始计数一共做了几次 LINK, 当 D1431=D1432 时, PLC 停 止 LINK, 同时自动清除 M1352, 要再次启动手动模式 LINK 请将 M1352=On, 则 PLC 又自动以 D1431 的 LINK 次数开始 LINK。 c) 注意事项: z 自动模式 M1351/手动模式 M1352 不可同时为 On, 当启动 M1352 手动模式之后, 若又启 动 M1351, 则 PLC 停止 LINK, 同时将 M1350 清除。 2. 程序概念 2-79 z 通讯逾时的时间为可调, 以 D1129 设定, 但是若 D1129 的范围必须在 200 ≦D1129 ≦ 3000 之间若不在这范围内, 则以最大或最小极限值去判断, 此外当 PLC LINK 的通讯逾时 设定须在启动 LINK 前设定才有效。 z PLC LINK 的功能仅在通讯速率 (Buad rate) 大于 1200 bps 下才能连结, 若通讯速率 (Buad rate) 小于 9600 bps 请将通讯逾时设定大于 1 秒。 z 若写入或读出的笔数为 0 时, 则不做通讯。 z 不支援 32 位计数器(C200~C255)之写入或读出。 z D1399 设定 最大值为 230, 当设定值大于 230 时, 则 PLC 自动修正成 230; 设定值最小 值为 1, 当设定值小于 1 时, 则 PLC 自动修正成 1。 z D1399 的设定必须在 PLC LINK 启动前就设定完成, 当 PLC LINK 开始动作之后, 设定 D1399 是不会改变任何的设定。 z 此功能之效益: 当使用到多层的网络架构时, 假设 使用三层网络架构, 当第一层与第二层, 第二层与第三层 都使用 PLC LINK 来通讯, 则因为 旧版的 PLC LINK 固定侦测 SLAVE 站 号 1~16, 所以第二层与第三层的 ID 一定会有重复到, 而当 SLAVE 站号与 MASTER PLC 站号重复时, PLC LINK 会跳过该台 PLC, 造成 第三层仅能架设 15 台, 因此 D1399 可让 PLC LINK 使用到多层的网络架构时有更多的连接数目。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-80 10. 操作流程图: 读写从站数据长度 启动 笔功能16 SET M1353 RST M1353 设定 读取通讯地址 Slave PLC 设定 读取笔数 Slave PLC 设定 写入通讯地址 Slave PLC 设定 写入笔数Slave PLC ()若或是前一次无设定则以内定值 设定值为主 关闭此功能启动此功能 启动自动或手动 启动手动功能启动自动功能 始 执行开 PLC LINK D1434-D1449 D1450-D1465 启动手动设定从站功能 (SET M1355) 自动侦测从站功能 (RST M1355) 设定 编号M1360~M1375 以 Modbus 0X17 Function 通讯 SET M1354 RST M1354 PLC LINK SET M1351 SET M1352 设定通讯次数(D1431) SET M1350 启动手动设定从站功能 关闭此功能启动此功能 启动 笔功能50 2. 程序概念 2-81 11. 范例 1: 3 台 PLC 通过 RS-485 连结, 主站 PLC 与 2 台从站 PLC 通过 PLC LINK 方式完成主从 PLC 间 16 笔数据交换 a) 在主站 PLC(站号=17)中写入下面梯形图程序: M1002 MOV K17 D1121 H86 D1120 K16 K16 M1351 END MOV SET M1120 MOV MOV D1434 D1450 M1350 X1 K16 K16 MOV MOV D1435 D1451 主站站号 COM2通讯协议 通讯协议保持 读取第一台笔数 写入第一台笔数 读取第二台笔数 写入第二台笔数 自动模式 启动 功能 PLC LINK b) X1=On 时, 将通过 PLC LINK 方式自动完成主站 PLC 与两个从站 PLC 的数据交换,即将两台从 站 D100~D115 中的资料分别读到主站 D1480~D1495 和 D1512~D1527, 主站 D1496~D1511,D1528~D1543 的资料分别写入到两台从站的 D200~D215 主站 PLC (1 台) 从站 PLC (2 台) D1480~D1495 Slave PLC (站号=1)之 D100~D115 D1496~D1511 Slave PLC (站号=1)之 D200~D215 D1512~D1527 Slave PLC (站号=2)之 D100~D115 D1528~D1543 Slave PLC (站号=2)之 D200~D215 c) 假设 PLC LINK 启动前(M1350=Off)主站和从站用于数据交换的 D 中数据如下: 主站 PLC 默认值 Slave PLC 默认值 D1480~D1495 全为 K0 Slave PLC (站号=1)之 D100~D115 全为 K5000 D1496~D1511 全为 K1000 Slave PLC (站号=1)之 D200~D215 全为 K0 D1512~D1527 全为 K0 Slave PLC (站号=2)之 D100~D115 全为 K6000 D1528~D1543 全为 K2000 Slave PLC (站号=2)之 D200~D215 全为 K0 写入 写入 读出 读出ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-82 则 PLC LINK 启动后(M1350=On)主站和从站用于数据交换的 D 中数据变为: 主站 PLC 默认值 Slave PLC 默认值 D1480~D1495 全为 K5000 Slave PLC (站号=1)之 D100~D115 全为 K5000 D1496~D1511 全为 K1000 Slave PLC (站号=1)之 D200~D215 全为 K1000 D1512~D1527 全为 K6000 Slave PLC (站号=2)之 D100~D115 全为 K6000 D1528~D1543 全为 K2000 Slave PLC (站号=2)之 D200~D215 全为 K2000 d) 从站 PLC 台数可至 16 台, 每台从站 PLC 的 D100~D115, D200~D215 对应主站 PLC 特 D 可 参照该节开始部分特 D,特 M 说明表格。 12. 范例 2: 台达 PLC 与台达 VFD-M 变频器联机, 通过 PLC LINK 方式实现启动停止, 正反转等控 制和频率读写 a) 在主站 PLC(站号=17)中写入下面梯形图程序: M1002 MOV K17 D1121 H86 D1120 K6 K2 M1351 END MOV SET M1120 MOV MOV D1434 D1450 M1350 X1 H2100 H2000 MOV MOV D1355 D1415 从站写入装置起始通讯地址 从站读出装置起始通讯地址 读出笔数 写入笔数 通讯协定保持 COM2 通讯协定 主站站号 自动模式 启动PLC LINK SET M1355 手动设定连线从站 SET M1360 K1MOV D1399 从站起始站号设定 连线从站 启动1 SET SET b) M1355=On, 手动设定从站 1~16 是否联机(设定标志 M1360~M1375)。设定 M1360=On, 启动 联机从站 1。 2. 程序概念 2-83 c) PLC 的 D1480-D1485 对应变频器的 H2100-H2105 参数, 当 X1=On,LINK 功能启动, H2100- H2105 参数数据将显示在 D1480-D1485 中。 d) PLC 的 D1496-D1497 对应变频器的 H2000-H2001 参数, 当 X1=On ,LINK 功能启动, H2000- H2001 参数值将由 D1496-D1497 值决定。 e) 改变 PLC 的 D1496 即可下达命令给 VFD(例: D1496=H12=>变频器正转启动; D1496=H1=> 变频器停止) f) 改变 PLC 的 D1497 即可改变变频器的频率(例: D1497=K5000,变频器频率变为 50kHZ)。 g) 从站还可选择台达温控器 DTA, DTB, 台达伺服 ASDA, ASDA 等符合 MODBUS 协议的装置。 连接台数可达 16 台。 13. D1354 为 PLC-Link 描周期时间(单位:1ms),最大显示数值为 K32000,PLC Link 停止或 第一次侦测完成时 K0. ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2-84 MEMO 3-1 指令集 说明了 ES2/EX2/SS2/SA2/SX2/SE 使用的指令以及它们的用法。 目录 3.1 基本指令 (没有API编号) 一览表................................................................................................ 3-2 3.2 基本指令 (没有API编号) 说明 ................................................................................................... 3-3 3.3 指针 ......................................................................................................................................... 3-13 3.4 中断指针 ................................................................................................................................... 3-13 3.5 API应用指令组成说明............................................................................................................... 3-15 3.6 API指令一览表(依功能排列) ................................................................................................ 3-24 3.7 API指令一览表(依指令字母排列)......................................................................................... 3-34 3.8 API指令详细说明...................................................................................................................... 3-40 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-2 3.1 基本指令 (没有 API 编号) 一览表 执行速度(us) 指令码 功能 操作数 ES2/EX2/SS2 SA2/SX2 SE 指令步 数 LD 载入常开接点 (常开接 点) X, Y, M, S, T, C 0.76 0.64 1~3 LDI 载入常闭接点 (常闭接 点) X, Y, M, S, T, C 0.78 0.68 1~3 AND 串联常开接点 X, Y, M, S, T, C 0.54 0.58 1~3 ANI 串联常闭接点 X, Y, M, S, T, C 0.56 0.62 1~3 OR 并联常开接点 X, Y, M, S, T, C 0.7 0.62 1~3 ORI 并联常闭接点 X, Y, M, S, T, C 0.72 0.64 1~3 ANB 串联回路方块 无 0.68 0.68 1 ORB 并联回路方块 无 0.76 0.76 1 MPS 存入堆栈 无 0.74 0.68 1 MRD 堆栈读取(指针不动) 无 0.64 0.54 1 MPP 读出堆栈 无 0.64 0.54 1 OUT 输出线圈 Y, S, M 0.74 0.68 1~3 SET 动作保持(ON) Y, S, M 0.76 0.68 1~3 RST 接点或寄存器清除 Y, M, S, T, C, D, E, F 2.2 1.04 3 MC 公共串联接点的连接 N0~N7 1 0.8 3 MCR 公共串联接点的解除 N0~N7 1 0.8 3 END 程序结束 无 1 0.8 1 NOP 无动作 无 0.4 0.5 1 P 指标 P0~P255 0.4 0.5 1 I 中断插入指标 I□□□ 0.4 0.5 1 STL 程序跳至副母线 S 2.2 2 1 RET 程序返回主母线 无 1.6 1.4 1 NP Negative contact to Positive contact 无 1.66 0.72 1 PN Positive contact to Negative contact 无 1.62 0.72 1 注:以上执行时间是在最基本的测试程序下所测得之数据,因此当程序复杂度越高时(例如:程序有中 断程序或高速输入/输出),则可能会造成执行时间的增加。 3. 指令集 3-3 3.2 基本指令 (没有 API 编号) 说明 指令码 操作数 功能 指令步数 LD X, Y, M, S, T, C 载人常开接点 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. LD 指令用于左母线开始的常开接点或一个接点回路块开始的常开接点,它的作用是把当前内容 保存,同时把取来的接点状态存入累加器内。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序范例: 梯形图: X0 X1 Y1 指令: 操作说明: LD X0 载入 X0 的常开接点 AND X1 串联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 梯形图: X1 Y1X5E2LD 指令: 操作说明: LD X5E2 载入 X3 的常开接点 (假设 E2 = K-2) AND X1 串联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 指令码 操作数 功能 程序步数 LDI X, Y, M, S, T, C 载入常闭接点 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. LDI 指令用于左母线开始的常闭接点或一个接点回路块开始的常闭接点,它的作用是把当前内容 保存,同时把取来的接点状态存入累加器内。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序范例: 梯形图: X0 X1 Y1 指令: 操作说明: LDI X0 载入 X0 的常闭接点 AND X1 串联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-4 梯形图 X1 Y1X7F5LDI 指令: 操作说明: LDI X7F5 载入 X12 的常闭接点 (假设 F5 = K3) AND X1 串联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 指令码 操作数 功能 程序步数 AND X, Y, M, S, T, C 串联常开接点 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. AND 指令用于常开接点的串联连接, 先读取目前所指定串联接点的状态再与接点之前逻辑运算 结果作 “与” (AND) 的运算, 并将结果存入累加器内。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序范例: 梯形图: X0X1 Y1 指令: 操作说明: LDI X1 载入 X1 的常闭接点 AND X0 串联 X0 的常开接点 OUT Y1 驱动 Y1 线圈 梯形图: X1 Y1X10E2LD 指令: 操作说明: LDI X1 载入 X1 的常闭接点 AND X10E2 串联 X20 的常开接点 (假设 E2 = K8) OUT Y1 驱动 Y1 线圈 指令码 操作数 功能 指令步数 ANI X, Y, M, S, T, C 串联常闭接点 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. ANI 指令用于常闭接点的串联连接,它的作用是先读取目前所指定串联接点的状态, 再与接点之 前逻辑运算结果作 “与” (AND) 的运算,并将结果存入累加器内。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 3. 指令集 3-5 程序范例: 梯形图: X0X1 Y1 指令: 操作说明: LD X1 载入 X1 的常开接点 ANI X0 串联 X0 的常闭接点 OUT Y1 驱动 Y1 线圈 梯形图: X1 Y1X15F4LDI 指令: 操作说明: LD X1 载入 X1 的常开接点 ANI X15F4 串联 X11 的常闭接点 (假设 F4 = K-4) OUT Y1 驱动 Y1 线圈 指令码 操作数 功能 指令步数 OR X, Y, M, S, T, C 并联常开接点 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. OR 指令用于常开接点的并联连接,它的作用是先读取目前所指定串联接点的状态, 再与接点之 前逻辑运算结果作 “或” (OR) 的运算,并将结果存入累加器内。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序范例: 梯形图: X0 X1 Y1 指令: 操作说明: LD X0 载入 X0 的常开接点 OR X1 并联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 梯形图: X0 Y1 X0F1LD 指令: 操作说明: LD X0 载入 X0 的常开接点 OR X0F1 并联 X5 的常开接点 (假设 F1 = K5_ OUT Y1 驱动 Y1 线圈 指令码 操作数 功能 指令步数 ORI X, Y, M, S, T, C 并联常闭接点 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-6 说明: 1. ORI 指令用于常闭接点的并联连接, 它的作用是先读取目前所指定串联接点的状态再与接点之 前逻辑运算结果作 “或” (OR) 的运算, 并将结果存入累加器内。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序范例: 梯形图: X0 X1 Y1 指令: 操作说明: LD X0 载入 X0 的常开接点 ORI X1 并联 X1 的常闭接点 OUT Y1 驱动 Y1 线圈 梯形图: X0 Y1 X7E6LDI 指令: 操作说明: LD X0 载入 X0 的常开接点 ORI X7E6 并联 X4 的常闭接点 (假设 E6 = K-3) OUT Y1 驱动 Y1 线圈 指令码 功能 指令步数 ANB 串联回路方块 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: ANB 是将前一保存的逻辑结果与目前累加器的内容作 “及” (AND) 的运算。 程序范例: 梯形图: X0 X2 Y1 X1 X3 ANB Block A Block B 指令: 操作说明: LD X0 载入常开接点 X0 ORI X2 并联常闭接点 X2 LDI X1 载入常闭接点 X1 OR X3 并联常开接点 X3 ANB 串联回路方块 OUT Y1 驱动 Y1 线圈 指令码 功能 指令步数 ORB 并联回路方块 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: ORB 是将前一保存的逻辑结果与目前累加器的内容作 “或” (OR) 的运算。 程序范例: 3. 指令集 3-7 梯形图: X0 X2 Y1 X1 X3 ORB Block A Block B 指令: 操作说明: LD X0 载入 X0 的常开接点 ANI X1 串联 X1 的常闭接点 LDI X2 载入 X2 的常闭接点 AND X3 串联 X3 的常开接点 ORB 并联回路方块 OUT Y1 驱动 Y1 线圈 指令码 功能 指令步数 MPS 存入堆栈 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 将目前累加器的内容存入堆栈。(堆栈指针加一) 指令码 功能 指令步数 MRD 读出之前 MPS 的堆栈 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 读取堆栈内容存入累加器。(堆栈指针不动) 指令码 功能 指令步数 MPP 读取堆栈 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 自堆栈取回前一保存的逻辑运算结果,存入累加器。(堆栈指针减一) 补充说明: 1. MPS 与 MPP 要一一对应。 2. 最多可以有八对 MPS-MPP 指令。 程序范例: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-8 梯形图: X0 Y1 X1 M0 X2 Y2 END MPP MRD MPS 指令: 操作说明: LD X0 载入 X0 常开接点 MPS 存入堆栈 AND X1 串联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 MRD 读出堆栈(指针不动) AND X2 串联 X2 的常开接点 OUT M0 驱动 M0 线圈 MPP 读出堆栈 OUT Y2 驱动 Y2 线圈 END 程序结束 标记: 在 WPLSoft 中编译梯形图后,MPS、MRD、MPP 会自动按指令格式加入到编译结果中。 当用户利用指令模式编辑程序时, 则须在程序中自行加入 MPS, MRD, MPP 指令。 指令码 操作数 功能 指令步数 OUT Y, M , S 输出线圈 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. 将 OUT 指令之前的逻辑运算结果输出至指定的组件。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 线圈接点状态 OUT 指令 接点 运算结果 线圈 NO 接点(常开) NC 接点(常闭) FALSE Off 不导通 导通 TRUE On 导通 不导通 程序范例: 梯形图: X0 X1 Y1 指令: 操作说明: LDI X0 载入 X0 常闭接点 AND X1 串联 X1 常开接点 OUT Y1 驱动 Y1 线圈 3. 指令集 3-9 梯形图: X0 X1 Y10F0OUT 指令: 操作说明: LDI X0 载入 X0 之常闭接点 AND X1 串联 X1 之常开接点 OUT Y10F0 驱动 Y5 线圈 (假设 F0 = K-3) 指令码 操作数 功能 指令步数 SET Y, M , S 状态保持 ON 1~3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. 当 SET 指令被驱动,其指定的组件被设定为 On,且被设定的组件会维持 On,不管 SET 指令 是否仍被驱动。可利用 RST 指令将该组件设为 Off。 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序说明: 梯形图: X0 Y0 Y1SET 指令: 操作说明: LD X0 载入 X0 常开接点 ANI Y0 串入 Y0 常闭接点 SET Y1 驱动 Y1 线圈并保持 Y1 的状态 梯形图: X0 Y0 Y15E5SET 指令: 操作说明: LD X0 载入 X0 之常开接点 ANI Y0 串入 Y0 之常闭接点 SET Y15E5 Y20 动作保持 (On) (假设 E5 = K3) 指令码 操作数 功能 指令步数 RST Y, M, S, T, C, D, E, F 接点、寄存器复位 3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 1. RST 指令驱动时各装置的状态: 装置 状态 S, Y, M 线圈与接点设置为 OFF。 T, C 目前计时或计数值会被设为 0,且线圈及接点都会被设定为 Off。 D, E, F 内容值会被设为 0。 若 RST 指令没有被执行,其指定组件的状态保持不变。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-10 2. ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本 (含)以上支持 X, Y, M, S 可用 E, F 修饰,须搭配 WPLSoft V2.31 版(含)以上 / ISPSoft V2.01 版(含)以上。 程序说明: 梯形图: X0 Y5RST 指令: 操作说明: LD X0 载入 X0 的常开接点 RST Y5 Y5 复位 梯形图: X0 Y5E0RST 指令: 操作说明: LD X0 载入 X0 的常开接点 RST Y5E0 Y5 复归 (假设 E0 = K0) 指令码 操作数 功能 指令步数 MC/MCR N0~N7 公共串联接点的连接 / 解除 3 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: MC 为主控起始指令,当 MC 指令执行时,位于 MC 与 MCR 指令之间的指令照常执行。MCR 为主 控结束指令,置于主控程序最后,在 MCR 指令之前不可有接点指令。 当 MC 指令 Off 时,位于 MC 与 MCR 指令之间的指令动作如下所示: 指令类型 说明 一般定时器 计时值归零,线圈失电,接点不动作 子程序用定时器 计时值归零,线圈失电,接点不动作 积算型定时器 线圈失电,计时值及接点保持目前状态 计数器 线圈失电,计数值及接点保持目前状态 OUT 指令驱动的线圈 全部不受电 SET,RST 指令驱动的组件 保持目前状态 应用指令 全部不动作,但 FOR-NEXT 循环回路仍会来回执行 N 次,但 FOR-NEXT 间的任何指令依 MC-MCR 之间其它指令相同动作 标记:MC-MCR 主控程序指令支持巢状程序结构,最多可 8 层, 使用时依 N0~N7 的顺序 3. 指令集 3-11 程序范例: 梯形图: 指令: 操作说明: LD X0 载入 X0 常开接点 MC N0 N0 公共串联接点的连接 LD X1 载入 X1 常开接点 OUT Y0 驱动 Y0 线圈 : LD X2 载入 X2 常开接点 MC N1 N1 公共串联接点的连接 LD X3 载入 X3 的常开接点 OUT Y1 驱动 Y1 线圈 : MCR N1 N1 公共串联接点的解除 : MCR N0 N0 公共串联接点的解除 : LD X10 载入 X10 的常开接点 MC N0 N0 公共串联接点的连接 LD X11 载入 X11 的常开接点 OUT Y10 驱动 Y10 线圈 : X0 Y0 MC N0 X1 X2 Y1 MC N1 X3 MCR N1 MCR N0 X10 MC N0 Y10 X11 MCR N0 MCR N0 N0 公共串联接点的解除 指令码 功能 指令步数 END 程序结束 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 在梯形图程序或指令程序最后必须加入 END 指令。PLC 由地址 0 扫描到 END 指令,执行之后,返 回到地址 0 重新作扫描执行。 指令码 功能 指令步数 NOP 无动作 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 指令 NOP 在程序不做任何运算,因此执行后仍会保持原逻辑运算结果,使用时机如下:想要删除某 一指令,而又不想改变程序长度,则可以 NOP 指令取代。 程序范例: 梯形图: X0 Y1NOP 梯形图显示时 会将指令, NOP 化简不显示 指令: 操作说明: LD X0 载入 X0 的常开接点 NOP 无动作 OUT Y1 驱动线圈 Y1 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-12 指令码 功能 指令地址数 NP Negative contact to Positive contact 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 当累积寄存器由 0 变为 1 时,此指令将使累积寄存器维持一次扫描周期的 1,然后第二次扫描周期之 后,自动将累积寄存器改为 0。 程序范例: M0 M1 Y0P 指令: 操作说明: LD M0 ; 载入 M0 的常开接点 AND M1 ; 串入 M1 之常开接点 NP ; Negative contact to Positive contact OUT Y0 ; 驱动线圈 Y0 时序图: A scan cycle M0 Y0 M1 A scan cycle 指令码 功能 指令地址数 PN Positive contact to Negative contact 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 当累积寄存器由 1 变为 0 时,此指令将使累积寄存器维持一次扫描周期的 1,然后第二次扫描周期之 后,自动将累积寄存器改为 0。 程序范例: M0 M1 Y0N 指令: 操作说明: LD M0 ; 载入 M0 的常开接点 AND M1 ; 串入 M1 之常开接点 PN ; Positive contact to Negative contact OUT Y0 ; 驱动线圈 Y0 时序图: A scan cycle M0 Y0 M1 A scan cycle 3. 指令集 3-13 3.3 指针 指令码 操作数 功能 指令步数 P P0~P255 指针 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 指针 P 用于跳转指令 API 00 CJ 及子过程调用指令 API 01 CALL。使用不须从编号 0 开始,但是编号 不能重复使用,否则会发生不可预期的错误。指针 P 的其它信息,请参考本手册的 2.12 节 程序范例: 梯形图: Y1 X1 P10 X0 CJ P10 指令: 操作说明: LD X0 载入 X0 的常开接点 CJ P10 跳转指令 CJ 到 P10 : P10 指针 P10 LD X1 载入 X1 的常开接点 OUT Y1 驱动 Y1 线圈 3.4 中断指针 指令码 功能 指令步数 I 中断插入指针 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 说明: 中断服务程序必须起始位置必须以中断插入指标(I□□□)指示,结束以应用指令 API 03 IRET 作中 断结束返回。须搭配应用指令 API 03 IRET、API 04 EI、API 05 DI 使用。中断指针的其它信息, 请参 考 2.12 节。 程序范例: 梯形图: 指令: 操作说明: EI 中断插入允许 LD X1 载入 X1 的常开接点 OUT Y1 驱动 Y1 线圈 : DI 中断插入禁止 : FEND 主程序结束 I001 中断插入指针 LD X2 载入 X2 的常开接点 OUT Y2 驱动 Y2 线圈 : Y1 EI X1 I001 DI FEND Y2 X2 IRET 程序中断 插入许可 范围 中断服 务程序 指针 程序中断 插入子程 序 IRET 中断插入返回 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-14 外部中断插入: 8 个外部输入中断:(I000/I001, X0), (I100/I101, X1),(I200/I201, X2), (I300/I301, X3), (I400/I401, X4),(I500/I501,X5), (I600/I601,X6) and (I700/I701,X7)。(01,上升沿触发 , 00,下降沿触发 ) 定时中断插入: 2 定时中断:I602/I699(计时单位:1ms),I702/I799(计时单位:1ms) 通讯中断插入: 3 个通讯中断插入:I140, I150 与 I160。 计数到达中断插入: 8 个计数到达中断插入: I010,I020, I030,I040, I050 , I060, I070 与 I080。 3. 指令集 3-15 3.5 API 应用指令组成说明 1. PLC 指令提供一个特定的指令码及 API 编号, 以便记忆。下面的表格中指令的 API 编号为 12。 指令码为 MOV, MOV 的功能描述是“数据搬移”。 API 指令码 操作数 功能 12 D MOV P 数据搬移 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** D * * * * * *** MOV, MOVP: 5 steps DMOV, DMOVP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 2. 操作数区域会列出各种指令所用到的装置。D, S, n, m 会根据它的功能使用于操作数, 如果不止 一个操作数并且功能相同时, 会附加编号使用, 如 S1, S2…。 3. 当使用 WPLSoft 来设计程序时, WPLSoft 用户点选应用指令菜单后, 不需要记住每条指令的 API 编号, 可以使用工具栏上的指令按钮。 4. 适用机种注明在表格的右下角。详细的指令变化情况, 可以对照着表格下方确认指令有无脉冲执 行型, 16 位指令, 32 位指令。 5. 脉冲执行型指令要求在指令码后面加上“P”, 而 32 位指令要求在指令码前面加上“D”, 正如 “D***P”, “ ***”是指令码。 指令组成 应用指令中有些指令仅有指令部份(指令码)构成, 例如: EI, DI…或 WDT 等等, 但是大部份都是指令部 份再加上好几个操作数所组合而成。 应用指令是以指令编号 API 00~API 246 来指定的, 同时每个指令均有其专用的名称符号, 例如: API 12 的指令码符号为 MOV (数据搬移) 。若利用梯形图编辑软件 (WPLSoft) 作该指令的输入, 只需要 直接输入该指令的名称 ”MOV” 即可。而应用指令都会有不同的操作数指定, 以 MOV 指令而言: X0 MOV K10 D10 指令符号 操作数 指令码 : 表示指令执行功能 操作数 : 表示该指令运算处理的装置 来源操作数;若来源操作数有一个以上,那么则以 S1,S2…分别表示。 目的操作数;若目的操作数有一个以上,那么则以 D1,D2…分别表示。 若操作数只可指定常量 K / H 或寄存器时,那么则以 m,m1,m2,n,n1,n2 表示。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-16 操作数长度(16 位指令或 32 位指令) 操作数的数值内容,其长度可分为 16 位及 32 位,因此部份指令处理不同长度的资料则分为 16 及 32 位的指令,用以区分 32 位的指令只需要在 16 位指令前加上 ”D”来表示即可。 16 位 MOV 指令 X0 K10 D10MOV 当 X0=ON,K10 被传送至 D10 32 位 DMOV 指令 X1 D10 D20DMOV 当 X1=ON 时,(D11,D10)的内容被传送至(D20, D21) 应用指令的格式说明 1 2 3 4 5 7 8 API 10 PCMP 操作数 功能 适用机种 指令步数 CM P, CMPP: 7 steps DCMP, DCMPP: 13steps 位装置 字装置 X Y M S K H KnX KnY KnM KnS T DC E F 类型 操作数 D ** *** ***** *** ** ** 脉冲执行型 16位指令 32位指令 D S 1 S 2 D S 1 S 2 * *** * ***6{ 指令码 比较设置输出 ES2/EX2 SS2/SX2 ES2/EX2 SS2/SX2 ES2/EX2 SS2/SX2 ES2/EX2 SS2/SX2 应用指令 API 编号号码 指令码 表格方框中的“D”表示具有 32 位指令 表格方框中的“P”表示具有脉冲执行型指令 应用指令操作数格式 应用指令功能描述 可以使用该指令的 PLC 适用机种 符号含灰底色“*” ,表示该装置可以使用变址寄存器 E、F 修饰 符号 “*” 表示该操作数可使用的装置 指令所占的地址数 可使用 16 位指令/32 位指令/脉冲执行型指令的适用机种 注意:上表中含阴影的装置支持 E、F 修饰。例如,操作数 S1 支持 D 装置的 E、F 修饰。 连续执行型∕脉冲执行型 1. 以指令的执行方式来说亦可分成「连续执行型」及「脉冲执行型」2 种。由于指令不被执行时, 所需的执行时间比较短,因此程序中尽可能的使用脉冲执行型指令可减少扫描周期。 3. 指令集 3-17 2. “脉冲” 功能可以让相关的指令启动上升沿触发的控制输入。指令在一个扫描周期内被执行 ON。 3. 之后,若控制输入保持为 ON,且关联的指令没有执行,为了重新执行指令,控制输入必须再次 从 OFF 到 ON。 脉冲执行型 X0 D10 D12MOVP 当 X0 从 OFF→ON,MOVP 指令只会执行一次, 但是该指令不能此程序扫描周期内再次执行。它是 脉冲执行指令。 连续执行型 X1 D10 D12MOV 当 X1=ON,MOV 指令可以在每个程序扫描周期内 再次执行。它是连续执行指令。 上图的两个条件接点 X0、X1=Off 时,指令不被执行,目的地操作数 D 的内容没有变化 操作数的指定对象 1. X、Y、M、S 等位装置也可以组合成字装置使用,在应用指令里以 KnX、KnY、KnM、KnS 的 型态来存放数值数据作运算。 2. 资料寄存器 D、定时器 T、计数器 C、变址寄存器 E、F、都是一般操作数所指定的对象。 3. 数据寄存器一般为 16 位长度,也就是 1 个 D 寄存器,若指定 32 位长度的数据寄存器时,是指 定连续号码的 2 个 D 寄存器。 4. 若 32 位指令的操作数指定 D0,则(D1、D0)所组成的 32 位数据寄存器被占用,D1 为上位 16 位,而 D0 为下位 16 位。定时器 T, 及 16 位计数器及 C0~C199 被使用的规则亦相同。 5. 32 位计数器 C200~C255 若是当数据寄存器来使用时,只有 32 位指令的操作数可指定。 操作数数据格式 1. 装置 X、Y、M 及 S 只能作为单点的 On/Off,我们将其定义为位装置(Bit device)。 2. 16 位 (或 32 位) 装置 T、C、D 及 E、F 等寄存器,我们将其定义为字装置(Word device)。 3. 利用 Kn (其中 n = 1 表示 4 个位,所以 16 位可由 K1~K4,32 位可由 K1~K8) 加在位装置 X、Y、 M 及 S 前,可将其定义为字装置,因此可作字装置的运算,例如 K2M0 即表示 8 位,M0~M7。 X0 K2M0 D10MOV 当 X0=On 时,将 M0~M7 的内容搬移 D10 的位 0~7,而位 8~15 则设为 0。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-18 位装置组合成字装置的数据处理 16 位指令 32 位指令 16 位指定的数值为: K-32,768~K+32,767 32 位指定的数值为: K-2,147,483,648~K+2,147,483,647 16 位指令指定数字(K1~K4)的数值: 32 位指令指定数字(K1~K8)的数值: K1 (4 个位) 0~15 K1 (4 个位) 0~15 K2 (8 个位) 0~255 K2 (8 个位) 0~255 K3 (12 个位) 0~4,095 K3 (12 个位) 0~4,095 K4 (16 个位) -32,768~+32,767 K4 (16 个位) 0~65,535 K5 (20 个位) 0~1,048,575 K6 (24 个位) 0~167,772,165 K7 (28 个位) 0~268,435,455 K8 (32 个位) -2,147,483,648~+2,147,483,647 标志信号 1. 一般的标志信号 PLC 有下列可用的标志信号(Flag): M1020:零标志信号 M1021:借位标志信号 M1022:进位标志信号 M1029:指令执行完毕标志信号 无论那一个标志信号都会在指令被执行时,随着指令的运算结果作 On 或 Off 的变化。但是当指 令不被执行时,标志信号的 On/Off 状态被保持住。 X0 SET M0 M0 DSW X20 Y20D0 K1 RST M0 M1029 当 X0=ON, DSW 指令执行。 当 X0=OFF,必须等到 DSW 动作一次循环完成, M1029=ON 之后,M0 才 OFF 2. 运算错误标志信号 应用指令的组合错误操作数指定对象超出范围,指令于执行中会有错误现象发生,下列的标志 信号导通、错误编号也会出现。 M1067 D1067 D1069 运算错误发生时, M1067=On, D1067 显示错误编号, D1069 显示错误发生的地址。 有其它的错误发生时,D1067 及 D1069 的内容被更新。(错误被解除时, M1067=Off) M1068 D1068 运算错误发生时,M1068=On、D1068 显示错误发生的地址。 有其它的错误发生时,D1068 的内容不会被更新,M1068 必须使用 RST 指令来 复位成 Off 否则将一直保持住。 3. 指令集 3-19 3. 功能扩展用的标志信号 有些应用指令可藉由专用标志信号来扩展原有的功能, 或直接利用标志信号来完成特殊功能应 用。 例如:通讯命令 RS,可利用 M1161 作为切换 8 位及 16 位传输模式。 指令使用的次数限制: 有些指令在程序中有使用次数限制,但是,可于操作数中使用变址寄存器来加以修饰,将指令功能发 挥的更大。 1. 程序中只能使用 1 次: API 60 (IST) API 155 (DABSR) 2. 程序中只能使用 2 次: API 77 (PR) 3. 程序中只能使用 8 次: API 64 (TTMR) 4. C232~C242: DHSCS, DHSCR , 这些指令合并使用次数不可超出 6 次。DHSZ 使用次数不可超 出 6 次。 5. C243, C245~C248, C251, C252: DHSCS, DHSCR 与 DHSZ , 这些指令合并使用次数不可超 出 4 次。一个 DHSZ 指令占用 2 次。 6. C244, C249, C250, C253, C254: DHSCS, DHSCR 与 DHSZ , 这些指令合并使用次数不可超 出 4 次。一个 DHSZ 指令占用 2 次。 程序执行中指令同时执行的限制 于程序中相同指令使用次数并无限制,但是同时被执行的次数是有限制。 1. 只可执行一次的指令: API 52 MTR, API 69 SORT, API 70 TKY, API 71 HKY, API 72 DSW, API 74 SEGL, API 75 ARWS, 2. 只可执行 4 次的指令: API 56 SPD, API 169 HOUR。 3. 高速计算器相关的指令并没有使用次数的限制 API 57 PLSY, API 58 PWM, API 59 PLSR, API 156DZRN, API 158 DDRVI, API 159 DDRVA 和 API 195 DPTPO,但是同一个扫描周 期内只能执行一个高速计算器指令。 4. 相关的通讯指令并没有使用次数的限制 API 80 RS, API 100 MODRD, API 101 MODWR, API 102 FWD, API 103 REV, API 104 STOP, API 105 RDST, API 106 RSTEF , API 150 MODRW, 但是相同通讯端口在同一个扫描周期内只能执行一个通讯指令。 应用指令对数值的处理方式 1. X、Y、M、S 等只有 On/Off 变化的装置称之为位装置(Bit Device),而 T、C、D、E、F 等专 门用来存放数值的装置称之为字装置(Word Device)。虽然说位装置只能作 On/Off 变化,但 是加上特定的宣告位装置也可以数值的型态被使用于应用指令的操作数当中,所谓的宣告是在位 装置的前面加上位数,它是以 Kn 来表现,n 的范围是 1 到 8。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-20 2. 16 位的数值可使用 K1~K4 而 32 位的数值则可使用 K1~K8。例如:K2M0 是由 M0~M7 所组成 的 8 位数值。 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M0M1 传送 等于 00000000 00001 1 1 1 11111111 D1 下位 下位 D1 1111000000000000 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b0b1 00000000 有效数据 3. 将 K1M0、K2M0、K3M0 传送至 16 位的寄存器当中,不足的上位资料补 0。将 K1M0、K2M0、 K3M0、K4M0、K5M0、K6M0、K7M0 传送至 32 位的寄存器也一样,不足的上位数据补 0。 4. 16 位(或 32 位)的运算动作中,操作数的内容若是指定 K1~K3(或 K4~K7)的位装置时,不 足的上位数据被视为 0。因此一般都是被认定为正数的运算。 M0 K2X0 D0BIN 由 X0~X7 所组成的 BCD 2 位数被变换成 BIN 型态传送至 D0 当中。 连续号码的指定 上面已经解释过,位装置可分组,以 4 个 bit 作为一个单元。KnM0 中的“n” 的定义是以 4 个 bit 为 单位的组的组数。K1 到 K4 允许 16 位数据操作,K1 到 K8 给 32 位操作。 因此位装置号码如上,请勿跳号以免造成混乱。此外,如果将 K4Y0 使用于 32 位的运算当中,上位 16 位被视为 0。32 位的数据请使用 K8Y0。 小数点操作 PLC 的内部数值运算一般是以 BIN 整数值为准。整数执行除算时,例:40÷3=13,余数为 1。整数 执行开平方动作时,小数点会被舍弃掉。但是如果使用小数点运算指令则可求出小数点。 与小数点有联系的应用指令如下表所示: FLT DECMP DEZCP DMOVR DRAD DDEG DEBCD DEBIN DEADD DESUB DEMUL DEDIV DEXP DLN DLOG DESQR DPOW INT DSIN DCOS DTAN DASIN DACOS DATAN DADDR DSUBR DMULR DDIVR 3. 指令集 3-21 二进制浮点数表示法 PLC 以 32 位的长度表示浮点数,而表示法系采用 IEEE754 的标准,格式如下: S exponent( )指數 mantissa( )尾數 8-bit 23-bit b31 b0 符號位 (Sign bit) 0:正數 1:負數 表达式: () 127;.121 =××− − BMBES 因此 32 位的浮点数的数目范围为±2-126 到±2+128 相当于±1.1755×10-38 到±3.4028×10+38。 范例一:以32位的浮点数表示23 步骤一: 将 23 转换成二进制数:23.0=10111 步骤二: 将二进制数正规化:10111=1.0111 ×24,其中 0111 为尾数,4 为指数。 步骤三: 求出指数部份的储存值 ∵E-B=4 →E-127=4 ∴E=131=100000112 步骤四: 组合符号位、指数、尾数成为浮点数。 0 10000011 011100000000000000000002=41B8000016 范例二:以 32 位的浮点数表示-23.0 -23.0 浮点格式与 23.0 的转换步骤完全相同,只需将符号位改为 1 即可。 1 10000011 011100000000000000000002=C1B8000016 DVP-PLC 使用 2 个连续号码的寄存器组成 32 位的浮点数,我们以寄存器(D1、D0)来存放一个二 进制浮点数为例,如下所示: S E7 E6 E5 E1 E0 A22 A21 A20 A6 A5 A4 A3 A2 A1 A0 b0b1b2b3b4b5b6b20b21b22b23b24b28b29b30b31 222 22222 2222 2227 6 5 1 0 -1 -2 -3 -17 -18 -19 -20 -21 -22 -23 D1(b15~b0) D0(b15~b0) 指数部分 有号数(8bits, ) 尾数部分共 个位23 尾数符号位 正 负(0 1:,:) 当为时内容为 b0~b31 0 0 隐藏的小数点位置ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-22 十进制浮点数 1. 二进制浮点数的内容比较无法被人所接受,因此,二进制浮点数可转换成十进制浮点数来供人 作判断。但是 DVP 系列 PLC 对小数点的运算仍旧是使用二进制浮点数。 2. 十进制浮点数是使用 2 个连续号码的寄存器来表现,较小编号的寄存器号码存放常量部份、较 大编号的寄存器号码存放指数部份。 就以寄存器(D1、D0)来存放一个十进制浮点数为例,如下所示。 10十进制浮点数 底数=[ ]* D0 [ ]指数 D1 底数 D0 = ±1,000~±9,999 指数 D1 = - 41~+35 此外,底数 100 不存在于 D0 的内容,因为,100 是以 1,000×10-1 来表现。十进制浮点 数的范围为±1175×10-41 到±3402×10+35。 3. 十进制浮点数可使用于下列的指令中。 二进制浮点数 → 十进制浮点数 的变换指令:(D EBCD) 十进制浮点数 → 二进制浮点数 的变换指令:(D EBIN) 4. 零标志信号(M1020)、借位标志信号(M1021)及进位标志信号(M1022)与浮点运算指令相 对应的标志信号如下所示: a) 零标志信号 :结果为 0 时,M1020=On b) 借位标志信号:结果超出最小处理单位时,M1021=On c) 进位标志信号:结果绝对值超出使用范围时,M1022=On 使用变址寄存器 E、F 来修饰操作数 变址寄存器为 16 位寄存器,E0~E7,F0~F7 共计 16 点。 E、F 与一般的数据寄存器一样的都是 16 位的数据寄存器,它 可以自由的被写入及读出。 使用 32 位长度的变址寄存器,E、F 组合如下: (E0、F0),(E1、F1)(E2、F2)…(E7、F7)。 F0 E0 E0F0 32位 上位 下位 16位 16位 如果要使用 32 位长度时,必须指定 E,此种情况下 F 就被 E 所涵盖,F 不能再使用否则会使得 E 的 内容不正确。(建议使用 MOVP 指令于开机时,就将 F 的内容清除为 0) 3. 指令集 3-23 如左图所示,操作数的内容随着 E、F 的内容作变 化即为 E、F 的修饰动作,称之为间接寻址。 以常量来说,例如 E0=8、K20E0 代表常量 K28(20+8)。当条件成立时,常量 K28 传送到寄存 器 D24 内。 MOV K20E0 D10F0 E0=8 F0=14 20+8=28 10+14=24 K28 D24 传送 可修饰的装置:P、X、Y、M、S、、KnX、KnY、KnM、KnS 、T、C、D。 可使用 E、F 作修饰的各部装置如上所示。但是 E、F 不可修饰本身,也不可以修饰 Kn。(K4M0E0 有效、K0E0M0 无效)于个别应用指令说明中,凡是于操作数表格中加入灰阶的操作数都可使用 E、 F 作修饰。 使用 E、F 修饰装置 P、I、X、Y、M、S、KnX、KnY、KnM、KnS、T、C、D,则修饰使用 16 位寄 存器,可指定 E 或 F。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-24 3.6 API 指令一览表(依功能排列) 程序流程控制 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 00 CJ - 条件转移 3 - 01 CALL - 调用子程序 3 - 02 SRET - - 子程序结束 1 - 03 IRET - - 中断返回 1 - 04 EI - - 中断允许 1 - 05 DI - - 中断禁止 1 - 06 FEND - - 主程序结束 1 - 07 WDT - 逾时监视定时器 1 - 08 FOR - - 循环范围开始 3 - 09 NEXT - - 循环范围结束 1 - 传送比较 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 10 CMP DCMP 比较设定输出 7 13 11 ZCP DZCP 区间比较 9 17 12 MOV DMOV 数据传送 5 9 13 SMOV - 移位传送 11 - 14 CML DCML 反转传送 5 9 15 BMOV - 全部传送 7 - 16 FMOV DFMOV 多点传送 7 13 17 XCH DXCH 数据交换 5 9 18 BCD DBCD BIN→BCD 变换 5 9 19 BIN DBIN BCD→BIN 变换 5 9 四则逻辑运算 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 20 ADD DADD BIN 加法 7 13 21 SUB DSUB BIN 减法 7 13 22 MUL DMUL BIN 乘法 7 13 23 DIV DDIV BIN 除法 7 13 3. 指令集 3-25 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 24 INC DINC BIN 加 1 3 5 25 DEC DDEC BIN 减 1 3 5 26 WAND DAND 逻辑与(AND)运算 7 13 27 WOR DOR 逻辑或(OR)运算 7 13 28 WXOR DXOR 逻辑异或(XOR)运算 7 13 29 NEG DNEG 求补码 3 5 循环移位与移位 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 30 ROR DROR 右循环移位 5 9 31 ROL DROL 左循环移位 5 9 32 RCR DRCR 附进位标志右循环 5 9 33 RCL DRCL 附进位标志左循环 5 9 34 SFTR - 位右移 9 - 35 SFTL - 位左移 9 - 36 WSFR - 字右移 9 - 37 WSFL - 字左移 9 - 38 SFWR - 移位写入 7 - 39 SFRD - 移位读出 7 - 数据处理 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 40 ZRST - 批次复位 5 - 41 DECO - 解碼 7 - 42 ENCO - 编码 7 - 43 SUM DSUM On 位数量 5 9 44 BON DBON On 位判定 7 13 45 MEAN DMEAN 平均值 7 13 46 ANS - - 信号警报器置位 7 - 47 ANR - 信号警报器重定 1 - 48 SQR DSQR BIN 开平方 5 9 49 FLT DFLT BIN 整数→二进制浮点数变换 5 9 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-26 高速处理 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 50 REF - I/O 状态实时刷新 5 - 51 REFF - 输入滤波器时间调整 3 - 52 MTR - - 矩阵分时输入 9 - 53 - DHSCS - 比较置位(高速计数器) - 13 54 - DHSCR - 比较复位(高速计数器) - 13 55 - DHSZ - 区间比较(高速计数器) - 17 56 SPD - - 脉冲频率检测 7 - 57 PLSY DPLSY - 脉冲输出 7 13 58 PWM - - 脉冲波宽调制 7 - 59 PLSR DPLSR - 附加减速脉冲输出 9 17 便利指令 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 60 IST - - 手动/自动控制 7 - 61 SER DSER 数据检索 9 17 62 ABSD DABSD - 绝对方式凸轮控制 9 17 63 INCD - - 相对方式凸轮控制 9 - 64 TTMR - - 示教式定时器 5 - 65 STMR - - 特殊定时器 7 - 66 ALT - On/Off 交替输出 3 - 67 RAMP DRAMP - 斜坡信号 9 17 68 DTM - 数据转换与搬移 9 - 69 SORT DSORT - 数据排序 11 21 外部 I/O 设备 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 70 TKY DTKY - 十键键盘输入 7 13 71 HKY DHKY - 十六键键盘输入 9 17 72 DSW - - 数位开关 9 - 73 SEGD - 七段显示器解碼 5 - 74 SEGL - - 七段显示器分时显示 7 - 3. 指令集 3-27 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 75 ARWS - - 方向开关控制 9 - 76 ASC - - ASCII 码变换 11 - 77 PR - - ASCII 码打印 5 - 串行 I/O 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 78 FROM DFROM 扩展模块 CR 数据读出 9 17 79 TO DTO 扩展模块 CR 数据写入 9 17 80 RS - - 串行数据传送 9 - 81 PRUN DPRUN 8 进制位传送 5 9 82 ASCII - HEX 转为 ASCII 7 - 83 HEX - ASCII 转为 HEX 7 - 84 CCD - 校验码 7 - 85 VRRD - 旋钮量读出 - - - 5 - 86 VRSC - 旋钮刻度读出 - - - 5 - 87 ABS DABS 绝对值运算 3 5 88 PID DPID - PID 运算 9 17 基本指令 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 89 PLS - - 上升沿检出 3 - 90 LDP - - 上升沿检出动作开始 3 - 91 LDF - - 下降沿检出动作开始 3 - 92 ANDP - - 上升沿检出串联连接 3 - 93 ANDF - - 下降沿检出串联连接 3 - 94 ORP - - 上升沿检出并联连接 3 - 95 ORF - - 下降沿检出并联连接 3 - 96 TMR - - 定时器 4 - 97 CNT DCNT - 计数器 4 6 98 INV - - 运算结果反转 1 - 99 PLF - - 下降沿检出 3 - 258 ATMR - - 接点型态定时器 5 - ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-28 通讯 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SX2 16 位 32 位 100 MODRD - - MODBUS 数据读取 7 - 101 MODWR - - MODBUS 资料写入 7 - 102 FWD - - 变频器正转指令 7 - 103 REV - - 变频器反转指令 7 - 104 STOP - - 变频器停止指令 7 - 105 RDST - - 变频器状态读取 5 - 106 RSTEF - - 变频器异常复位 5 - 107 LRC - LRC 校验码计算 7 - 108 CRC - CRC 校验码计算 7 - 150 MODRW - - MODBUS 资料读出/写入 11 - 206 ASDRW - - 台达伺服器通讯 7 - 113 ETHRW - - 以太网络通讯 - - 9 - 浮点运算 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 110 - DECMP 二进制浮点数比较 - 13 111 - DEZCP 二进制浮点数区间比较 - 17 112 DMOVR 浮点数值数据移动 9 116 - DRAD 角度→弧度 - 9 117 - DDEG 弧度→角度 - 9 118 - DEBCD 二进制浮点数→十进浮点数 - 9 119 - DEBIN 十进制浮点数→二进浮点数 - 9 120 - DEADD 二进制浮点数加法 - 13 121 - DESUB 二进制浮点数减法 - 13 122 - DEMUL 二进制浮点数乘法 - 13 123 - DEDIV 二进制浮点数除法 - 13 124 - DEXP 二进制浮点数取指数 - 9 125 - DLN 二进制浮点数取自然对数 - 9 126 - DLOG 二进制浮点数取对数 - 13 127 - DESQR 二进制浮点数开平方 - 9 128 - DPOW 浮点数权值指令 - 13 129 INT DINT 二进制浮点数→BIN 整数变换 5 9 3. 指令集 3-29 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 130 - DSIN 二进制浮点数 SIN 运算 - 9 131 - DCOS 二进制浮点数 COS 运算 - 9 132 - DTAN 二进制浮点数 TAN 运算 - 9 133 - DASIN 二进制浮点数 ASIN 运算 - 9 134 - DACOS 二进制浮点数 ACOS 运算 - 9 135 - DATAN 二进制浮点数 ATAN 运算 - 9 172 - DADDR 浮点数值加法 - 13 173 - DSUBR 浮点数值减法 - 13 174 - DMULR 浮点数值乘法 - 13 175 - DDIVR 浮点数值除法 - 13 附加指令 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 143 DELAY - 延迟指令 3 - 144 GPWM - - 一般用脉冲波宽调变 7 - 147 SWAP DSWAP 上/下字节交换 3 5 148 MEMR - 档案寄存器数据读出 - - 7 - 149 MEMW - 档案寄存器数据写入 - - 7 - 154 RAND DRAND 随机数值产生 7 13 168 MVM DMVM 指定位搬移 7 13 176 MMOV - 16→32 位数值转换 5 - 177 GPS - - (GPS)接收通讯指令 - 5 - 178 - DSPA - 太阳能板位置指令 - – 9 179 WSUM DWSUM 求和 7 13 202 SCAL - 比例运算 9 - 203 SCLP DSCLP 参数型比例运算 7 13 205 CMPT DCMPT 表格比较指令 9 17 207 CSFO - - 撷取速度与追随输出指令 - 7 - 定位控制 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 155 - DABSR - ABS 现在值读出 - 13 156 - DZRN - 原点回归 - 17 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-30 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 157 - DPLSV - 可调变脉冲输出 - 13 158 - DDRVI - 相对定位 - 17 159 - DDRVA - 绝对寻址 - 17 191 - DPPMR - 双轴相对点对点运动 - - 17 192 - DPPMA - 双轴绝对点对点运动 - - 17 193 - DCIMR - 双轴相对位置圆弧补间 - - 17 194 - DCIMA - 双轴绝对位置圆弧补间 - - 17 195 - DPTPO - 单轴建表式脉冲输出 - 13 197 - DCLLM - 闭合回路定位控制 - 17 198 - DVSPO - 可变速脉冲输出 - 17 199 - DICF 立即变更频率指令 - 13 实时时钟 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 160 TCMP - 实时时钟数据比较 11 - 161 TZCP - 实时时钟数据区间比较 9 - 162 TADD - 实时时钟数据加法运算 7 - 163 TSUB - 实时时钟数据减法运算 7 - 166 TRD - 实时时钟数据读出 3 - 167 TWR - 实时时钟数据写入 3 - 169 HOUR DHOUR - 计时仪 7 13 格雷码 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 170 GRY DGRY 格雷码变换(BIN→GRY) 5 9 171 GBIN DGBIN 格雷码逆变换(GRY→BIN) 5 9 矩阵 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 180 MAND - 矩阵与(AND)运算 9 - 181 MOR - 矩阵或(OR)运算 9 - 182 MXOR - 矩阵异或(XOR)运算 9 - 3. 指令集 3-31 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 183 MXNR - 矩阵同或(XNR)运算 9 - 184 MINV - 矩阵反相 7 - 185 MCMP - 矩阵比较 9 - 186 MBRD - 矩阵位读出 7 - 187 MBWR - 矩阵位写入 7 - 188 MBS - 矩阵位移位 7 - 189 MBR - 矩阵位循环移位 7 - 190 MBC - 矩阵位状态计数 7 - 接点型态逻辑运算 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 215 LD& DLD& - S1 & S2 5 9 216 LD| DLD| - S1 | S2 5 9 217 LD^ DLD^ - S1 ^ S2 5 9 218 AND& DAND& - S1 & S2 5 9 219 AND| DAND| - S1 | S2 5 9 220 AND^ DAND^ - S1 ^ S2 5 9 221 OR& DOR& - S1 & S2 5 9 222 OR| DOR| - S1 | S2 5 9 223 OR^ DOR^ - S1 ^ S2 5 9 接点型态比较指令 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 224 LD= DLD= - S1 = S2 5 9 225 LD> DLD> - S1 > S2 5 9 226 LD< DLD< - S1 < S2 5 9 228 LD<> DLD<> - S1 ≠ S2 5 9 229 LD<= DLD<= - S1 ≦ S2 5 9 230 LD>= DLD>= - S1 ≧ S2 5 9 232 AND= DAND= - S1 = S2 5 9 233 AND> DAND> - S1 > S2 5 9 234 AND< DAND< - S1 < S2 5 9 236 AND<> DAND<> - S1 ≠ S2 5 9 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-32 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 237 AND<= DAND<= - S1 ≦ S2 5 9 238 AND>= DAND>= - S1 ≧ S2 5 9 240 OR= DOR= - S1 = S2 5 9 241 OR> DOR> - S1 > S2 5 9 242 OR< DOR< - S1 < S2 5 9 244 OR<> DOR<> - S1 ≠ S2 5 9 245 OR<= DOR<= - S1 ≦ S2 5 9 246 OR>= DOR>= - S1 ≧ S2 5 9 296 LDZ> DLDZ> - | S1 - S2 | > | S3 | 7 13 297 LDZ>= DLDZ>= - | S1 - S2 | | S3 |≧ 7 13 298 LDZ< DLDZ< - | S1 - S2 | < | S3 | 7 13 299 LDZ<= DLDZ<= - | S1 - S2 | | S3 |≦ 7 13 300 LDZ= DLDZ= - | S1 - S2 | = | S3 | 7 13 301 LDZ<> DLDZ<> - | S1 - S2 | ≠ | S3 | 7 13 302 ANDZ> DANDZ> - | S1 - S2 | > | S3 | 7 13 303 ANDZ> = DANDZ> = - | S1 - S2 | | S3 |≧ 7 13 304 ANDZ< DANDZ< - | S1 - S2 | < | S3 | 7 13 305 ANDZ< = DANDZ< = - | S1 - S2 | | S3≦ | 7 13 306 ANDZ= DANDZ= - | S1 - S2 | = | S3 | 7 13 307 ANDZ< > DANDZ< > - | S1 - S2 | ≠ | S3 | 7 13 308 ORZ> DORZ> - | S1 - S2 | > | S3 | 7 13 309 ORZ>= DORZ>= - | S1 - S2 | | S3 |≧ 7 13 310 ORZ< DORZ< - | S1 - S2 | < | S3 | 7 13 311 ORZ<= DORZ<= - | S1 - S2 | | S3 |≦ 7 13 312 ORZ= DORZ= - | S1 - S2 | = | S3 | 7 13 313 ORZ<> DORZ<> - | S1 - S2 | ≠ | S3 | 7 13 字符装置位指令 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 266 BOUT DBOUT - 字符装置位输出 5 9 267 BSET DBSET - 字符装置位动作保持 On 5 9 3. 指令集 3-33 指令码 适应机种 指令步数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 268 BRST DBRST - 字符装置位清除 5 9 269 BLD DBLD - 字符装置位载人常开接点 5 9 270 BLDI DBLDI - 字符装置位载人常闭接点 5 9 271 BAND DBAND - 字符装置位串联常开接点 5 9 272 BANI DBANI - 字符装置位串联常闭接点 5 9 273 BOR DBOR - 字符装置位并联常开接点 5 9 274 BORI DBORI - 字符装置位并联常闭接点 5 9 浮点型接点比较指令 指令码 适用机种 指令地址数 API 16 位 32 位 P 指令 功能 ES2 EX2 SS2 SA2 SE SX2 16 位 32 位 275 - FLD= - S1 = S2 - 9 276 - FLD> - S1 > S2 - 9 277 - FLD< - S1 < S2 - 9 278 - FLD<> - S1 ≠ S2 - 9 279 - FLD<= - S1 ≦ S2 - 9 280 - FLD>= - S1 ≧ S2 - 9 280 - FAND= - S1 = S2 - 9 282 - FAND> - S1 > S2 - 9 283 - FAND< - S1 < S2 - 9 284 - FAND<> - S1 ≠ S2 - 9 285 - FAND<= - S1 ≦ S2 - 9 286 - FAND>= - S1 ≧ S2 - 9 287 - FOR= - S1 = S2 - 9 288 - FOR> - S1 > S2 - 9 289 - FOR< - S1 < S2 - 9 290 - FOR<> - S1 ≠ S2 - 9 291 - FOR<= - S1 ≦ S2 - 9 292 - FOR>= - S1 ≧ S2 - 9 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-34 3.7 API 指令一览表(依指令字母排列) 指令码 适用机种 指令地址数 API 16 位 32 位 P 指 令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 87 ABS DABS 绝对值 3 5 62 ABSD DABSD - 绝对方式凸轮控制 9 17 20 ADD DADD BIN 加法 7 13 66 ALT - On/Off 交替 3 - 218 AND& DAND& - S1 & S2 5 9 220 AND^ DAND^ - S1 ^ S2 5 9 219 AND| DAND| - S1 | S2 5 9 234 AND< DAND< - S1 < S2 5 9 237 AND<= DAND<= - S1 ≦ S2 5 9 236 AND<> DAND<> - S1 ≠ S2 5 9 232 AND= DAND= - S1 = S2 5 9 233 AND> DAND> - S1 > S2 5 9 238 AND>= DAND>= - S1 ≧ S2 5 9 93 ANDF - - 负缘检出串联连接 3 - 92 ANDP - - 正缘检出串联连接 3 - 302 ANDZ> DANDZ> - | S1 - S2 | > | S3 | 7 13 303 ANDZ>= DANDZ>= - | S1 - S2 | ≧ | S3 | 7 13 304 ANDZ< DANDZ< - | S1 - S2 | < | S3 | 7 13 305 ANDZ<= DANDZ<= - | S1 - S2 | ≦ | S3 | 7 13 306 ANDZ= DANDZ= - | S1 - S2 | = | S3 | 7 13 307 ANDZ<> DANDZ<> - | S1 - S2 | ≠ | S3 | 7 13 47 ANR - 警报点复归 1 - 46 ANS - - 警报点输出 7 - 75 ARWS - - 箭头键盘输入 9 - 76 ASC - - ASCII 码变换 11 - 82 ASCII - HEX 转为 ASCII 7 - 206 ASDRW - - 台达服务器通讯 7 - 258 ATMR - - 接点型态定时器 5 - 271 BAND DBAND - 字符装置位串联常开接点 5 9 272 BANI DBANI - 字符装置位串联常闭接点 5 9 18 BCD DBCD BIN→BCD 变换 5 9 19 BIN DBIN BCD→BIN 变换 5 9 269 BLD DBLD - 字符装置位载人常开接点 5 9 270 BLDI DBLDI - 字符装置位载人常闭接点 5 9 15 BMOV - 全部传送 7 - 44 BON DBON On 位判定 7 13 273 BOR DBOR - 字符装置位并联常开接点 5 9 274 BORI DBORI - 字符装置位并联常闭接点 5 9 266 BOUT DBOUT - 字符装置位输出 5 9 268 BRST DBRST - 字符装置位清除 5 9 267 BSET DBSET - 字符装置位动作保持 On 5 9 1 CALL - 呼叫子程序 3 - 3. 指令集 3-35 指令码 适用机种 指令地址数 API 16 位 32 位 P 指 令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 84 CCD - 总和检查 7 - 0 CJ - 条件跳跃 3 - 14 CML DCML 反转传送 5 9 10 CMP DCMP 比较设定输出 7 13 205 CMPT DCMPT 表格比较指令 9 17 97 CNT DCNT - 计数器 4 6 108 CRC - 和检查 CRC 模式 7 - 207 CSFO - - 撷取速度与追随输出指令 - 7 - 25 DEC DDEC BIN 减一 3 5 41 DECO - 译码器 7 - 143 DELAY - 延迟指令 3 - 5 DI - - 中断插入禁止 1 - 23 DIV DDIV BIN 除法 7 13 72 DSW - - 指拨开关输入 9 - 68 DTM - 数据转换与搬移 9 - 4 EI - - 中断插入致能 1 - 42 ENCO - 编码器 7 - 113 ETHRW - 以太网络通讯 - - 9 - 6 FEND - - 主程序结束 1 - 49 FLT DFLT BIN 整数→2 进小数点值变换 5 9 16 FMOV DFMOV 多点移动 7 13 8 FOR - - 巢串回路起始 3 - 78 FROM DFROM 扩充模块 CR 数据读出 9 17 102 FWD - - 变频器正转指令 7 – 171 GBIN DGBIN 格雷码逆变换 (GRY→BIN) 5 9 177 GPS - - (GPS)接收通讯指令 - 5 - 144 GPWM - - 一般用脉波波宽调变 7 - 170 GRY DGRY 格雷码变换 (BIN→GRY) 5 9 83 HEX - ASCII 转为 HEX 7 - 71 HKY DHKY - 16 键键盘输入 9 17 169 HOUR DHOUR - 时间表 7 13 24 INC DINC BIN 加一 3 5 63 INCD - - 相对方式凸轮控制 9 - 129 INT DINT 二进浮点数→BIN 整数变换 5 9 98 INV - - 运算结果反相 1 - 3 IRET - - 中断插入返回 1 - 60 IST - - 手动/自动控制 7 - 215 LD& DLD& - S1 & S2 5 9 217 LD^ DLD^ - S1 ^ S2 5 9 216 LD| DLD| - S1 | S2 5 9 226 LD< DLD< - S1 < S2 5 9 229 LD<= DLD<= - S1 ≦ S2 5 9 228 LD<> DLD<> - S1 ≠ S2 5 9 224 LD= DLD= - S1 = S2 5 9 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-36 指令码 适用机种 指令地址数 API 16 位 32 位 P 指 令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 225 LD> DLD> - S1 > S2 5 9 230 LD>= DLD>= - S1 ≧ S2 5 9 91 LDF - - 负缘检出动作开始 3 - 90 LDP - - 正缘检出动作开始 3 - 296 LDZ> DLDZ> - | S1 - S2 | > | S3 | 7 13 297 LDZ>= DLDZ>= - | S1 - S2 | ≧ | S3 | 7 13 298 LDZ< DLDZ< - | S1 - S2 | < | S3 | 7 13 299 LDZ<= DLDZ<= - | S1 - S2 | ≦ | S3 | 7 13 300 LDZ= DLDZ= - | S1 - S2 | = | S3 | 7 13 301 LDZ<> DLDZ<> - | S1 - S2 | ≠ | S3 | 7 13 107 LRC - 和检查 LRC 模式 7 - 180 MAND - 矩阵及 (AND) 运算 9 - 190 MBC - 矩阵位状态计数 7 - 189 MBR - 矩阵位旋转 7 - 186 MBRD - 矩阵位读出 7 - 188 MBS - 矩阵位位移 7 - 187 MBWR - 矩阵位写入 7 - 185 MCMP - 矩阵比较 9 - 45 MEAN DMEAN 平均值 7 13 184 MINV - 矩阵反相 - 7 - 148 MEMR 档案寄存器读取 - - 7 - 149 MEMW 档案寄存器写入 - 7 - 176 MMOV - 16→32 位数值转换 5 - 100 MODRD - - MODBUS 数据读取 7 - 150 MODRW - - MODBUS 资料读出/写入 11 - 101 MODWR - - MODBUS 资料写入 7 - 181 MOR - 矩阵或 (OR) 运算 9 - 12 MOV DMOV 数据移动 5 9 52 MTR - - 矩阵输入 9 - 22 MUL DMUL BIN 乘法 7 13 168 MVM DMVM 指定位搬移 7 13 183 MXNR - 矩阵互容或 (NOR) 运算 9 - 182 MXOR - 矩阵互斥或 (XOR) 运算 9 - 29 NEG DNEG 取负数(取 2 的补码) 3 5 9 NEXT - - 巢串回路结束 1 - 221 OR& DOR& - S1 & S2 5 9 223 OR^ DOR^ - S1 ^ S2 5 9 222 OR| DOR| - S1 | S2 5 9 242 OR< DOR< - S1 < S2 5 9 245 OR<= DOR<= - S1 ≦ S2 5 9 244 OR<> DOR<> - S1 ≠ S2 5 9 240 OR= DOR= - S1 = S2 5 9 241 OR> DOR> - S1 > S2 5 9 246 OR>= DOR>= - S1 ≧ S2 5 9 3. 指令集 3-37 指令码 适用机种 指令地址数 API 16 位 32 位 P 指 令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 95 ORF - - 负缘检出并联连接 3 - 94 ORP - - 正缘检出并联连接 3 - 308 ORZ> DORZ> - | S1 - S2 | > | S3 | 7 13 309 ORZ>= DORZ>= - | S1 - S2 | ≧ | S3 | 7 13 310 ORZ< DORZ< - | S1 - S2 | < | S3 | 7 13 311 ORZ<= DORZ<= - | S1 - S2 | ≦ | S3 | 7 13 312 ORZ= DORZ= - | S1 - S2 | = | S3 | 7 13 313 ORZ<> DORZ<> - | S1 - S2 | ≠ | S3 | 7 13 88 PID DPID - PID 运算 9 17 99 PLF - - 下微分输出 3 - 89 PLS - - 上微分输出 3 - 59 PLSR DPLSR - 脉波输出附加减速 9 17 57 PLSY DPLSY - 脉波输出 7 13 77 PR - - ASCII 码输出 5 - 81 PRUN DPRUN 8 进制位传送 5 9 58 PWM - - 脉波波宽调变 7 - 67 RAMP DRAMP - 倾斜信号 9 17 154 RAND DRAND 随机数值产生 7 13 33 RCL DRCL 附进位旗标左旋转 5 9 32 RCR DRCR 附进位旗标右旋转 5 9 105 RDST - - 变频器状态读取 5 – 50 REF - I/O 更新处理 5 - 51 REFF - 变更输入端反应时间 3 - 103 REV - - 变频器反转指令 7 – 31 ROL DROL 左旋转 5 9 30 ROR DROR 右旋转 5 9 80 RS - - 串行数据传输 9 - 106 RSTEF - - 变频器异常重置 5 – 202 SCAL - 比例运算 9 - 203 SCLP DSCLP 参数型比例运算 7 13 73 SEGD - 七段显示器解碼 5 - 74 SEGL - - 七段显示器扫描输出 7 - 61 SER DSER 多点比较 9 17 39 SFRD - 位移读出 7 - 35 SFTL - 位左移 9 - 34 SFTR - 位右移 9 - 38 SFWR - 位移写入 7 - 13 SMOV - 位数移动 11 - 69 SORT DSORT - 数据排序 11 21 56 SPD - - 速度侦测 7 - 48 SQR DSQR BIN 开平方根 5 9 2 SRET - - 子程序结束 1 - 65 STMR - - 特殊定时器 7 - 104 STOP - - 变频器停止指令 7 – ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-38 指令码 适用机种 指令地址数 API 16 位 32 位 P 指 令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 21 SUB DSUB BIN 减法 7 13 43 SUM DSUM On 位数量 5 9 147 SWAP DSWAP 上/下字节交换 3 5 162 TADD - 万年历数据加法运算 7 - 160 TCMP - 万年历数据比较 11 - 70 TKY DTKY - 10 键键盘输入 7 13 96 TMR - - 定时器 4 - 79 TO DTO 扩充模块 CR 数据写入 9 17 166 TRD - 万年历资料读出 3 - 163 TSUB - 万年历数据减法运算 7 - 64 TTMR - - 交导式定时器 5 - 167 TWR - 万年历资料写入 3 - 161 TZCP - 万年历数据区域比较 9 - 85 VRRD - 旋钮量读出 - - - 5 - 86 VRSC - 旋钮刻度读出 - - - 5 - 26 WAND DAND 逻辑及(AND)运算 7 13 7 WDT - 逾时监视定时器 1 - 27 WOR DOR 逻辑或(OR)运算 7 13 37 WSFL - 缓存器左移 9 - 36 WSFR - 缓存器右移 9 - 179 WSUM DWSUM 求和 7 13 28 WXOR DXOR 逻辑互斥或(XOR)运算 7 13 17 XCH DXCH 数据的交换 5 9 11 ZCP DZCP 区域比较 9 17 40 ZRST - 区域清除 5 - 155 - DABSR - ABS 现在值读出 - 13 134 - DACOS 二进浮点数 ACOS 运算 - 9 172 - DADDR 浮点数值加法 - 13 133 - DASIN 二进浮点数 ASIN 运算 - 9 135 - DATAN 二进浮点数 ATAN 运算 - 9 194 - DCIMA - 双轴绝对位置圆弧补间 - - 17 193 - DCIMR - 双轴相对位置圆弧补间 - - 17 197 - DCLLM - 闭回路定位控制 - 17 131 - DCOS 二进浮点数 COS 运算 - 9 117 - DDEG 径度→角度 - 9 175 - DDIVR 浮点数值除法 - 13 159 - DDRVA - 绝对寻址 - 17 158 - DDRVI - 相对定位 - 17 120 - DEADD 二进浮点数加法 - 13 118 - DEBCD 二进浮点数→十进浮点数 - 9 119 - DEBIN 十进浮点数→二进浮点数 - 9 110 - DECMP 二进浮点数比较 - 13 123 - DEDIV 二进浮点数除法 - 13 122 - DEMUL 二进浮点数乘法 - 13 3. 指令集 3-39 指令码 适用机种 指令地址数 API 16 位 32 位 P 指 令 功能 ES2 EX2 SS2 SA2 SX2 SE 16 位 32 位 127 - DESQR 二进浮点数开平方根 - 9 121 - DESUB 二进浮点数减法 - 13 124 - DEXP 二进浮点数取指数 - 9 111 - DEZCP 二进浮点数区域比较 - 17 54 - DHSCR - 比较清除(高速计数器) - 13 53 - DHSCS - 比较设定(高速计数器) - 13 55 - DHSZ - 区域比较(高速计数器) - 17 199 - DICF 立即变更频率指令 - 13 125 - DLN 二进浮点数取自然对数 - 9 126 - DLOG 二进浮点数取对数 - 13 112 - DMOVR 浮点数值数据移动 - 9 174 - DMULR 浮点数值乘法 - 13 157 - DPLSV - 可调变脉波输出 - 13 128 - DPOW 浮点数权值指令 - 13 192 - DPPMA - 双轴绝对点对点运动 - - 17 191 - DPPMR - 双轴相对点对点运动 - - 17 195 - DPTPO - 单轴建表式脉波输出 - 13 116 - DRAD 角度→径度 - 9 130 - DSIN 二进浮点数 SIN 运算 - 9 178 - DSPA - 太阳能板位置指令 - - 9 173 - DSUBR 浮点数值减法 - 13 132 - DTAN 二进浮点数 TAN 运算 - 9 198 - DVSPO - 可变速度脉波输出 - 17 156 - DZRN - 原点复归 - 17 283 - FAND< - S1 < S2 - 9 285 - FAND<= - S1 ≦ S2 - 9 284 - FAND<> - S1 ≠ S2 - 9 280 - FAND= - S1 = S2 - 9 282 - FAND> - S1 > S2 - 9 286 - FAND>= - S1 ≧ S2 - 9 277 - FLD< - S1 < S2 - 9 279 - FLD<= - S1 ≦ S2 - 9 278 - FLD<> - S1 ≠ S2 - 9 275 - FLD= - S1 = S2 - 9 276 - FLD> - S1 > S2 - 9 280 - FLD>= - S1 ≧ S2 - 9 289 - FOR< - S1 < S2 - 9 291 - FOR<= - S1 ≦ S2 - 9 290 - FOR<> - S1 ≠ S2 - 9 287 - FOR= - S1 = S2 - 9 288 - FOR> - S1 > S2 - 9 292 - FOR>= - S1 ≧ S2 - 9 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-40 3.8 API 指令详细说明 API 指令码 操作数 功能 00 CJ P 条件转移 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 范围 指令步数 P0~P255 CJ, CJP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:条件转移目的指标,P 编号可使用 E、F 修饰 指令说明: 1. 当 CJ 指令执行,该指令强制程序跳转到指定的程序标记处。当跳转实现,中间的程序步骤跳过。 这意味着他们不会执行。执行结果会加快程序扫描时间。 2. 指针 P 所指的程序若在 CJ 指令之前,需注意会发生 WDT 逾时错误,PLC 停止运转,请注意使 用。 3. CJ 指令可重复指定同一指标 P,但 CJ 与 CALL 不可指定同一指针 P,否则会产生错误。 4. :转移执行中各种装置动作情形说明: a) Y、M、S 保持转移发生前的状态。 b) 如果一般用定时器、累计型定时器、一般用计数器被 CJ 指令忽略,它们会冻结当前值。 c) 子程序用中断定时器是个例外,因为它们的执行与主程序无关。 d) 执行计数中的高速计数器会继续计数,且输出接点正常动作。 e) 一般用计数器停止执行。 f) 如果在条件转移之前定时器执行复位,在条件转移中装置仍会保持复位状态。 g) CJ 指令与指针目的地间的应用指令会被转移。在 CJ 指令执行之前,DHSCS,DHSCR,DHSZ, SPD, PLSY, PWM, PLSR,DDRVI 与 DDRVA 指令已经启动,它们会连续执行。否则 它们会像其它标准的应用指令一样被转移。 程序范例 1: 1. 当 X0=On 时,程序自动从地址 0 转移至地址 N(即指定的指针 P1)继续执行,中间地址跳过 不执行。 2. 当 X0=Off 时,程序如同一般程序由地址 0 继续往下执行,此时 CJ 指令不被执行。 X0 X1 X2 CJ P1 Y1 Y2 0 NP1 ()转移命令 3. 指令集 3-41 程序范例 2: 1. CJ 指令在 MC、MCR 指令间可使用在下列五种状况: a). 在 MC~MCR 之外。 b). 在 MC 外至 MC 内,如下图 P1 以下回路有效。 c). 同一 N 层 MC 内至 MC 内。 d). 在 MC 内至 MCR 外。 e). 自 MC~MCR 内跳至另一 MC~MCR 内。 X0 MC N0 X2 X3 X1 M1000 M1000 P1 P0 CJ CJ MC N1 N1 N0 P1 P0 Y1 Y0 MCR MCR 2. 执行 MC 指令时,PLC 会将之前开关接点的状态推入 PLC 内部自订的堆栈中,而此堆栈由 PLC 自行控制,使用者无法改变;而后当执行到 MCR 指令时,会由堆栈的最上层取出之前的开关接 点状态,当上面 2、4、5 的状况下时,则有可能会发生推入 PLC 内部堆栈与取出堆栈的次数不 相同的情况,遇到这种状况时,堆栈最多能堆入 8 层,而另外取出堆栈的值最多取到堆栈为空 时则不再取出,所以在搭配 CALL 或 CJ 等转移指令时须注意堆栈的堆入和取出。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-42 程序范例 3: 下表格为下列程序中,各个装置状态变化。 装置 CJ 执行之前的 接点状态 CJ 执行过程中的 接点状态 CJ 执行过程中的输出线圈的状态 M1, M2, M3 OFF M1, M2, M3 OFF→ON Y1 (*1),M20, S1 OFF Y, M , S M1, M2, M3 ON M1, M2, M3 ON→OFF Y1 (*1), M20, S1 ON M4 OFF M4 由 OFF→ON 定时器不作计时动作 10ms, 100ms 定时器(*2) M4 ON M4 由 ON→OFF 定时器立即停止计时并保持,M0 由 ON 到 OFF,定时器清零。 M6 OFF M6 OFF→ON 定时器 T240 不作计时动作 1ms,10ms, 100ms 累计 型定时器 M6 ON M6 ON→OFF 累计型定时器一旦计时动作被启 动,若遇到 CJ 指令时,则计时动 作停止但保持。 M0 由 OntOff,T240 仍保持 M7, M10 OFF M10 ON/OFF 触发 定时器不作计时动作 C0~C234 计数器 (*3) M7 OFF, M10 ON/OFF 触发 M10 ON/OFF 触发 计数器 C0 停止计数并保持,M0 Off 后,C0 继续计数 M11 OFF M11 OFF→ON 应用指令不执行 应用指令 M11 ON M11 ON→OFF 被跳过的应用指令不执行,但是 API 53~59、API 157~159 继续动 作 *1: Y1 为双重输出,M0 为 Off 时,由 M1 控制,M0 为 On 时,由 M12 控制。 *2: 子程序用定时器(T184~T199)被驱动后遇到 CJ 指令时,将继续计时动作,计时到达后,定时 器输出接点 On。 *3: 高速计数器(C232~C254) 被驱动后遇到 CJ 指令时,将继续计数,输出点也持续动作。 3. 指令集 3-43 CJ P0 M0 M1 M2 M4 M5 M6 M7 M10 M11 M0 M12 M13 END RST T240 RST C0 RST D0 Y1 CJ P63 S1 TMR T0 K10 RST T240 RST C0 MOV D0K3 CNT C0 K20 Y1 M20 TMR T240 K1000 P0 P63 M3ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-44 API 指令码 操作数 功能 01 CALL P 调用子程序 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 有效范围 指令步数 P0~P255 CALL, CALLP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 呼叫子程序的指针, P 可以用 E、F 修饰。 指令说明: 1. 当 CALL 指令执行,它强制程序通过指针启动子程序。 2. CALL 指令必须与 FEND(API 06)、SRET(API 02)共同使用。 3. 程序转移到子程序指针(位于 FEND 指令后的),直到遇到 SRET 指令。这强制该程序在梯形图 中立即执行原始 CALL 指令。 注意点: 1. 子程序请于 FEND 指令后编写。 2. 子程序必须在 SRET 指令后结束。 3. CALL 指针与 CJ 指针不能同时使用。 4. CALL 指令则可不限次数呼叫同一 CALL 子程序。 5. 子程序中再使用 CALL 指令呼叫其它子程序,包括本身最多可五层。(若进入第六层则该子程序 不执行) 3. 指令集 3-45 API 指令码 功能 02 SRET 子程序结束 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 不须接点驱动的指令。 自动返回 CALL 指令的下一个指令。 SRET: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 表示子程序结束。子程序执行结束由 SRET 返回主程序,执行原呼叫该子程序 CALL 指令的下一个指 令。 程序范例 1: 当 X0 为 On 时,则执行 CALL 指令,转移到 P2 执行所指定的子程序,当执行 SRET 指令时,则回 到地址 24,继续往下执行。 X0 X1 CALL P2 Y0 20 调用子程序 P2 24 FEND SRET P2 子程序 P2 子程序返回 Y1 Y2 M1 M2 程序范例 2: 1. 当 X20 为由 Off 到 On 的上升沿触发执行 CALL P10 指令,转移到 P10 执行所指定的子程序。 2. 当 X21 为 On 时,则执行 CALL P11,转移到 P11 执行所指定的子程序。 3. 当 X22 为 On 时,则执行 CALL P12,转移到 P12 执行所指定的子程序。 4. 当 X23 为 On 时,则执行 CALL P13,转移到 P13 执行所指定的子程序。 5. 当 X24 为 On 时,则执行 CALL P14,转移到 P14 执行所指定的子程序,当执行到 SRET 指令 时,则回到前一个 P※ 子程序继续往下执行。 6. 在 P10 子程序中执行到 SRET 指令后回到主程序。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-46 X0 X20 INC D0 Y0 CALL P10 X0 INC D1 Y1 FEND INC D10 X2 P10 Y2 X2 X11 CALL P11 INC D11 Y5 SRET INC D20 X2 P11 Y6 X12 CALL P12 X2 INC D21 Y7 SRET 子 程 序 主 程 序 X2 X13 X2 X2 X2 X14 X2 P13 P14 P12 INC D30 Y10 CALL P13 INC D31 Y11 SRET INC D40 Y12 CALL P14 INC D41 Y13 SRET INC D50 Y14 SRET END 子 程 序 子 程 序 子 程 序 子 程 序 3. 指令集 3-47 API 指令码 功能 03 IRET 中断返回 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 不须接点驱动的指令 中断子程序执行结束由 IRET 返回主程序 IRET: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 API 指令码 功能 04 EI 中断允许 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 不须接点驱动的指令 M1050~M1059 中断允许,解释说明与 DI(中断禁止)的一致, 更详细的描述请参考 DI。 EI: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 API 指令码 功能 05 DI 中断禁止 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 不须接点驱动的指令 DI 指令禁止 PLC 接受中断。 当驱动中断禁止的辅助继电器 M1050~M1059,即使是在中 断允许的范围内,相应的中断请求将不被激活。 DI: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 1. EI 表示程序中允许使用中断子程序,如外部中断、定时中断、高速计数器中断。 2. 程序中在 EI 指令到 DI 指令间允许使用中断子程序,在程序中若无中断插入禁止的区间时,则可 以不使用 DI 指令。 3. 中断用的指针必须要在 FEND 指令之后。 4. 中断程序执行中,禁止其它中断发生。 5. 当多数中断发生时,以执行者优先,同时发生以指针编号较小者优先。 6. 在 DI~EI 指令之间发生的中断要求无法立即执行,此要求会被记忆,并在中断许可范围内时,才 去执行中断子程序。 7. 当使用中断指针时,请勿重复使用以相同 X 输入接点驱动的高速计数器。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-48 8. 当中断处理中要实时 I/O 动作时,可在程序中写入 REF 指令更新 I/O 状态。 补充说明: ES2/SS2 中断指针(I): a) 外部中断: (I000/I001, X0), (I100/I101, X1), (I200/I201, X2),(I300/I301, X3),(I400/I401, X4), (I500/I501, X5), (I600/I601, X6) 和 (I700/I701, X7) 8 点。 (00 表示下降沿时中断,01 表示上 升沿时中断) b) 时间中断: I605~I699, I705~I799, 2 点。(时基 = 1ms) c) 高速计数器计数到达中断:I010, I020, I030, I040,I050, I060, I070 和 I080, 8 点(配合 API 53 DHSCS 指令产生中断信号) d) 通讯中断: I140, I150 与 I160 3 点。 e) 标志信号: 标志信号 功 能 M1050 外部中断, I000 / I001 禁止 M1051 外部中断, I100 / I101 禁止 M1052 外部中断, I200 / I201 禁止 M1053 外部中断, I300 / I301 禁止 M1054 外部中断, I400 / I401 禁止 M1055 外部中断, I500 / I501, I600 / I601, I700 / I701 禁止 M1056 时间中断,I605~I699 禁止 M1057 时间中断,I705~I799 禁止 M1059 比较中断插入,I010~ I080 禁止 M1280 I000 / I001 反向中断脉冲触发(上升沿/下降沿) *1 M1284 I400 / I401 反向中断脉冲触发(上升沿/下降沿) M1286 I600 / I601 反向中断脉冲触发(上升沿/下降沿) 注 1: 程序中原先设定 I000 中断(X0)为下降缘触发, 当 M1280 被设定为 On 时, 且 EI 指令启动, PLC 将自动将中断(X0)变为上升缘触发。若需改回下降缘触发则要清除 M1280=Off, 执行 DI 关闭中断后, 在重新启动 EI 指令。 3. 指令集 3-49 程序范例: PLC 执行时,当程序扫描到 EI 指令到 DI 指令间,X1=On 或 X2=On 时,则执行中断插入子程序 A 或 B,而当子程序执行至 IRET 时,则返回主程序并继续往下执行。 I 101 I 201 Y1 EI FEND X0 DI IRET IRET 程序中断插入允许范围 程序中断插入子程序 A Y0 Y0 EI 程序中断插入禁止范围 程序中断插入允许范围 程序中断插入子程序 BES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-50 API 指令码 功能 06 FEND 主程序结束 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 不须接点驱动的指令 FEND: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 1. 如果程序中有 CALL 指令或中断指令,使用 FEND 指令来结束主程序。如果程序中既没有 CALL 指令也没有中断指令,使用 END 指令来结束主程序。 2. 此指令代表主程序结束。它在 PLC 控制中与 END 指令功能一致。 3. CALL 的子程序须放在 FEND 指令后面。每个 CALL 子程序须用 SRET 指令结束。 4. 中断子程序须放在 FEND 后面。每个中断子程序须用 IRET 结束。 5. 当使用 FEND 指令,一个 END 指令也是必须的。但是,END 指令要放在最后,在主程序和子 程序之后。 6. 若使用了若干个 FEND 指令,CALL 指令和中断指令必须放在 FEND 与 END 之间。 7. 子程序的执行期间,如果 FEND 指令在 DRET 指令之前执行,指令会发生程序错误。 8. FOR 指令执行后,在 NEXT 指令执行前执行 FEND 指令会发生程序错误。 3. 指令集 3-51 CJ 指令动作流程 X0=ON 时 X1 CALL P63 P0 P63 CJ P0 I301 X0 0X0=OFF 动作流程 X1=OFF时 转移 时 P0 的动作流程主程序 主程序 主程序 CALL指令子程序 中斷子程序 EI DI FEND FEND SRET IRET ENDES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-52 CALL 指令动作流程 X1 CALL P63 P0 P63 CJ P0 I301 X0 0X0=OFF 动作流程 X1=OFF时 X0=OFF 的动作流程 X1=ON时主程序 主程序 主程序 CALL指令子程序 中斷子程序 EI DI FEND FEND SRET IRET END 3. 指令集 3-53 API 指令码 功能 07 WDT P 逾时监视定时器 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A WDT, WDTP: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 1. WDT 指令可用来清除 PLC 中的监控定时器的计时时间。当 PLC 的扫描(由地址 0 至 END 或 FEND 指令执行时间)超过 200ms 时,PLC ERROR 的指示灯会亮,使用者必须将 PLC 电源 Off 再 On,PLC 会依据 RUN/STOP 开关来判断 RUN/STOP 状态,若无 RUN/STOP 开关,则 PLC 会自动回到 STOP 状态。 2. 令逾时监视定时器动作的时机: a) When error occur in PLC system. PLC 系统发生异常。 b) 程序执行时间太长,造成扫描周期大于 D1000 的内容值。可以下列 2 种方法来改善。 i. 使用 WDT 指令 T1 T2 STEP0 END(FEND)WDT ii. 可由 D1000(出厂设置值为 200ms)的设置值改变逾时监视时间。 补充说明: 1. WDT 指令用于输入条件成立时的程序扫描。可编写程序强制 WDT 指令只在一个周期内执行。 PLC 用户可以使用 WDT 指令的脉冲型指令 WDTP。 2. PLC 适用机种的逾时监视定时器的默认设定值是 200ms。此时间限制可由用户自行定制,通过 编辑数据寄存器 D1000 即可。ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-54 程序范例: 若程序扫描周期为 300ms,此时,可将程序分割为 2 部份,并在中间放入 WDT 指令,使得前半及后 半程序都在 200ms 以下。 X0 300ms 程序 END END 150ms 程序 150ms 程序 WDT 将程序分割为两部份,前半部分 及后半部分程序都在 以下 200ms 逾时监视定时器重新计算3. 指令集 3-55 API 指令码 操作数 功能 08 FOR 循环范围开始 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** FOR: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 回路重复执行的次数。 API 指令码 功能 09 NEXT 循环范围结束 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 不须接点驱动的指令 NEXT: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 1. FOR 与 NEXT 指令用于循环需要时,这两个指令是不须接点驱动的指令。 2. “N”(循环次数)的指定范围 K1~K32767。若 N≦K1,N 仍是 K1. 3. 下列情况会产生错误: • NEXT 指令在 FOR 指令之前 • 有 FOR 指令没有 NEXT 指令。 • FEND 或 END 指令之后有 NEXT 指令时。 • FOR~NEXT 指令个数不同时。 4. FOR ~ NEXT 回路最多可使用 5 层,但要注意回路次数过多时,会使 PLC 扫描周期增加有可能 造成逾时监视定时器动作,而导致错误产生。可使用 WDT 指令来改善。ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-56 程序范例 1: A 程序执行 3 次后在到 NEXT 指令以后的程序继续执行。而 A 程序每执行一次 B 程序会执行四次, 所以 B 程序合计共执行 3 × 4 = 12 次。 FOR K3 FOR K4 NEXT NEXT AB 程序范例 2: 当 X7 = Off 时,PLC 会执行 FOR ~ NEXT 之间的程序,当 X7 = On 时,CJ 指令执行转移至 P6 处, FOR ~ NEXT 之间的程序跳过不执行。 X7 M0 M0 P6 MOV FOR MOV D0 D0 K3 K0 Y10 INC MEXT X10 D0 D1 CJ P6 3. 指令集 3-57 程序范例 3: 当不执行 FOR ~ NEXT 时,可使用 CJ 指令来转移。最内层 FOR ~ NEXT 循环在 X1 = On 时,CJ 指 令执行转移至 P0 处而跳过不执行。 X0 TMR T0 K10 P0 FOR K4X100 X0 INC D0 K2 X0 D1 K3 X0 D2 K4 X0 WDT D3 X1 CJ P0 FOR K5 X0X0 INC D4 NEXT NEXT NEXT NEXT NEXT END FOR INC FOR INC FOR INCES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-58 API 指令码 操作数 功能 10 D CMP P 比较设置输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * CMP, CMPP: 7 steps DCMP, DCMPP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:比较值 1 S2:比较值 2 D:比较结果 指令说明: 1. 将操作数 S1 和 S2 的内容作大小比较,其比较结果在 D 作表示。 2. 数值是 2 进制的形式。16 位指令,b15 为 1 时,表示为负数,32 位指令,则 b31 为 1 时,表示 为负数。 3. 操作数 D 占用 3 个连续装置。D, D +1, D +2 用于存储比较结果, 如果 S1 > S2,D = ON; 如果 S1 = S2, D +1 = ON;如果 S1 < S2,D+2=ON。 4. S1, S2 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 1. 如果操作数 D 设为 Y0,那么比较结果会显示在 Y0,Y1,Y2 中,如下所示。 2. 当 X20=ON,CMP 指令执行,Y0,Y1,Y2 其中的某个装置会 ON。当 X20=OFF,CMP 指令 停止执行并且 Y0,Y1,Y2 保持它们的当前值。 X20 CMP K10 D10 Y0 Y0 Y1 Y2 K10>D10 Y0 ON现在值时 为, K10=D10 Y1 ON,现在值时 为 K10<D10 Y2 ON,现在值时 为 3. 若要清除其比较结果请使用 RST 或 ZRST 指令。3. 指令集 3-59 API 指令码 操作数 功能 11 D ZCP P 区间比较 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** S * * * * * * * * *** D * * * ZCP, ZCPP: 9 steps DZCP, DZCPP: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:区间比较的下限值 S2:区间比较的上限值 S:比较值 D:比较结果 指令说明: 1. 与它的下限值 S1、它的上限值 S2 作比较,比较结果存放在 D 中。 2. 数值是二进制的形式时,如果 16 位的指令中 b15=1 或 32 位的指令中 b31=1,比较器会把该值 认作负数。 3. 操作数 S1 须比 S2 小。当 S1 > S2,指令执行时把 S1 作为上/下限值进行比较。 4. 操作数 D 占用 3 个连续的装置, D,D +1, D +2 储存比较结果。如果 S1 > S, D = ON; 如 果 S1 ≦ S ≦ S2, D +1 = ON;如果 S2 < S, D +2 = ON。 5. S1, S2, S 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 1. 指定装置为 M0,则自动占有 M0,M1 及 M2。 2. 当 X0=On 时,ZCP 指令执行,M0,M1 及 M2 其中之一会 On,当 X0=Off 时,ZCP 指 令不执行,M0,M1 及 M2 状态保持在 X0=Off 之前的状态。 X0 M0 M1 M2 ZCP If C10 < K10, M0 = On If K10 < C10 < K100, M1 = On If C10 > K100, M2 = On X0 K10 C10 M0K100 == 3. 若要清除其结果请使用 RST 或 ZRST 指令。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-60 API 指令码 操作数 功能 12 D MOV P 数据传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * * * * *** MOV, MOVP: 5 steps DMOV, DMOVP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据来源 D:数据搬移目的地 指令说明: 1. 当该指令执行时,将 S 的内容直接搬移至 D 内。当指令不执行时,D 内容不会变化。 2. S, D 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 1. 16 位数据搬移,须使用 MOV 指令。 a) 当 X0=Off 时,D10 内容没有变化,若 X0=On 时,将数值 K10 传送至 D10 数据寄存器 内。 b) 当 X1=Off 时,D10 内容没有变化,若 X1=On 时,将 T0 现在值传送至 D10 数据寄存器内。 2. 32 位数据搬移,须使用 DMOV 指令。 a) 当 X2=OFF 时, (D31, D30) 、 (D41, D40) 内容没有变化。 b) 当 X2=ON,将(D21,D20)传送至(D31, D30)数据寄存器内。同时,将 C235 现在值传送至 (D41, D40) 数据寄存器内。 X0 X1 X2 MOV K10 D0 MOV T0 D10 DMOV D20 D30 DMOV C235 D40 3. 指令集 3-61 API 指令码 操作数 功能 13 SMOV P 移位传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * *** m1 * * m2 * * D * * * * * *** n * * SMOV, SMOVP: 11 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据源。 m1:数据来源传送起始位数。 m2:数据来源传送位数的个数。 D:传送的目的 地装置 n:传送的目的地起始位数。 指令说明: 1. BCD 模式(M1168=OFF): 此模式下 SMOV 允许操作 BCD 数,与 SMOV 操作十进制数类似。也就是说,此指令复制操作 数 S(S 是 4 位 BCD 数)的指定位数并传送至操作数 D(D 同样也是 4 位 BCD 数)。 2. BIN 模式(M1168=ON): 此指令复制操作数 S(S 是 4 位十进制数)的指定位数并传送至操作数 D(D 同样也是 4 位十进制 数)。目标寄存器的现有数据被覆盖。 3. m1 的范围:1 – 4 4. m2 的范围:1 – m1 (不能大于 m1) 5. n 的范围:m2 – 4 (不能小于 m2)ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-62 程序范例: 1. 当 M1168=Off 时(BCD 模式),X0=On,指定 D10 的 10 进制数值的第 4 位数(也即千位数)开始 往低位计算的 2 位数内容传送至 D20 的 10 进制数值的第 3 位数(也即百位数)开始往低位计算的 2 位数中。而 D20 的 103 及 100 于本指令被执行后内容没有变化。 2. 当 BCD 值超过 0~9,999 的范围时,PLC 判定为运算错误,指令不执行,M1067、M1068=On, D1067 记录错误代码 0E18 (Hex)。 M1001 M1168 X0 SMOV D10 K4 K2 D20 K3 103 102 101 100 103 102 101 100 没变化没变化 自动变换 移位传送 自动变换 D10 (B IN 16 )位 D10 (B CD 4 )位数 D20 (B IN 16 )位 D20 (B CD 4 )位数 3. 如果在执行前 D10=H1234,D20=H5678,执行后 D10 的值保持不变,而 D20=H5128 程序范例 2: 当 M1168=On(BIN 模式)时,使用 SMOV 指令的话,D10、D20 并不会作 BCD 变换,而是以 BIN 型 态 4 个位为一个单位作传送。 M1000 M1168 X0 SMOV D10 K4 K2 D20 K3 没变化 移位传送 D10 (B IN 16 )位 位数 4 位数3 位数 2 位数 1 位数 4 位数 3 位数 2 位数 1 没变化 D20 (B IN 16 )位3. 指令集 3-63 程序范例 3: 将右 2 位指拨开关传送至 D2 的右 2 位,左 1 位指拨开关传送至 D1 的右 1 位数当中。 使用 SMOV 指令将 D1 的第 1 位传送至 D2 的第 3 位数将两组指拨开关合成 1 组。 X13~X10 X27~X20 PLC 642 81 81 81 102 101 100 M1000 BIN K2X20 D2 BIN K1X10 D1 SMOV D1 K1 K1 D2 K3 (X20~X27) BCD 2 D2(B IN)位数 (X10~X13) BCD 1 D1(B IN)位数 M1001 M1168ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-64 API 指令码 操作数 功能 14 D CML P 反转传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * * * * *** CML, CMLP: 5 steps DCML, DCMLP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:传送数据来源 D:传送的目的地装置 指令说明: 1. 将 S 的内容全部取反(0→1,1→0)传送到 D 当中。 2. S1, D 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例 1: 当 X10=ON 时,将 D1 的 b0~b3 内容反相后传送到 Y0~Y3。 X20 CML D1 K1Y0 D1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 符号位 正数 负数(0= 、1= ) 0 1 0 1 无数据 反相数据做传送 b 0b 1b 2b 3b 15 程序范例 2: 下图左边的回路当也可以使用 CML 指令来表现, 如下图右所示。 3. 指令集 3-65 X000 M0 M1 M2 M3 X001 X002 X003 X000 M0 M1 M2 M3 X001 X002 X003 M1000 CML K1X0 K1M0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-66 API 指令码 操作数 功能 15 BMOV P 全部传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * D * * * * * * n * * * * * BMOV, BMOVP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:来源装置起始 D:目的地装置起始 n:传送区块长度 指令说明: 1. 此指令用于传送多笔数据到新的寄存器。S 所指定的装置起始号码开始算 n 个寄存器的内容被 传送至 D 所指定的装置起始号码开始算 n 个寄存器当中,如果 n 所指定点数超过该装置的使用 范围时,只有有效范围被传送。 2. n 的范围 1~512. 程序范例 1: 当 X20=ON,D0~D3 的内容被传送到 D20~D23 中。 X20 D20 K4 D0 D1 D2 D3 D20 D21 D22 D23 n=4 D0BMOV 3. 指令集 3-67 程序范例 2: 如果指定位装置 KnX、KnY、KnM、KnS 作传送时,S 及 D 的位数必须相同。 M1000 K1M0 K1Y0 K3 M0 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 n=3 M11 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y10 Y11 Y12 Y13 BMOV 程序范例 3: 为了防止两个操作数所指定传送的号码重叠时,所造成的混乱,请注意两个操作数所指定号码大小的 安排。 当 S > D,BMOV 指令以1→2→3的顺序传送 X20 BMOV D20 D19 K3 D19 D20 D21 D20 D21 D22 2 1 3 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-68 API 指令码 操作数 功能 16 D FMOV P 多点传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * * * * * n * * FMOV, FMOVP: 7 steps DFMOV, DFMOVP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据的来源 D:目的地装置的起始 n:传送区块长度 指令说明: 1. S 的内容被传送至 D 所指定的装置起始号码开始算 n 个寄存器当中,如果 n 所指定点数超过该 装置的使用范围时,只有有效范围被传送 2. n 的范围:1~512 3. S 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 当 X20=ON 时,K10 被传送到由 D10 开始的连续 5 个寄存器(D10~D14)中。 X20 D10 K5FMOV K10 K10 K10 K10 K10 K10 K10 D10 D11 D12 D13 D14 n=5 3. 指令集 3-69 API 指令码 操作数 功能 17 D XCH P 数据交换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D1 * * * * * *** D2 * * * * * *** XCH, XCHP: 5 steps DXCH, DXCHP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D1:将互相交换的数据 1 D2:将互相交换的数据 2 指令说明: 1. 将 D1 与 D2 的内容互换。 2. 此指令最好以脉冲的方式执行(XCHP)。 3. D1, D2 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 当 X0=OFF→ON,D20 与 D40 的内容互换。 X0 XCHP D20 D40 D40 D20 120 40 执行前 执行后 40 120 D20 D40 补充说明: 1. 16 位指令当 D1 及 D2 所指定的装置相同时,且 M1303=On,则该装置的上下 8 位内容互相交 换。 2. 32 位指令当 D1 及 D2 所指定的装置相同时,且 M1303=On,则该 32 位装置个别上下 16 位内 容互相交换。 3. 当 X0=ON 时,且 M1303=ON,D100 的 16 位内容与 D101 的 16 位内容与 D101 的 16 位内容 互相交换。 X0 M1303 9 20 执行前 执行后 20 9 D100下 D100上 8 40 40 8 D101下 D101上 D100下 D100上 D101下 D101上 DXCHP D100 D100ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-70 API 指令码 操作数 功能 18 D BCD P BIN 到 BCD 变换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * *** D * * * * * *** BCD, BCDP: 5 steps DBCD, DBCDP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据来源 D:变换的结果 指令说明: 1. 数据来源 S 的内容(BIN 值,范围 0~9999)作 BCD 的转换,存于 D。 2. 在 BCD 变换结果若超过 0~9,999(16 位)或 0~99,999,999(32 位),M1067、M1068=On,D1067 记录错误代码 0E18 (Hex)。 3. S, D 操作数使用 F 装置, 仅可使用 16 位指令。 4. 标志位:M1067 (运算错误), M1068 (运算错误),D1067 (错误代码) 程序范例: 1. 当 X0=On 时,D10 的 BIN 值被转换成 BCD 值后,将结果的个位数存于 K1Y0(Y0~Y3)四个 bit 组件。 BCD D10 K1Y0 X0 2. 若 D10=001E (Hex)=0030(十进制),则执行结果 Y0~Y3=0000(BIN)。3. 指令集 3-71 API 指令码 操作数 功能 19 D BIN P BCD 到 BIN 转换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * *** D * * * * * *** BIN, BINP: 5 steps DBIN, DBINP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据来源 D:变换的结果 指令说明: 1. 数据来源 S 的内容(BCD:0~9,999)作 BIN 的转换,存于 D。 2. 数据来源 S 的内容有效数值范围:BCD(0~9,999),DBCD(0~99,999,999)。 3. 当 S 的数据内容并非为 BCD 值,则将会产生运算错误,M1067、M1068=On,D1067 记录错 误代码 0E18 (Hex)。 4. S, D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 标志位: M1067 (运算错误),M1068 (运算错误), D1067 (错误代码) 程序范例: 当 X0=ON, K1X20 的 BCD 值被转换成 BIN 值后,将结果存于 D10 中。 X0 BIN D10K1X20 补充说明: 1. 当 PLC 要从外界读取一个 BCD 型态指拨开关时,就必须使用 BIN 指令先将读取到的数据转换 成 BIN 值再储存在 PLC 内。 2. 当 PLC 要将内部储存的数据经由外界一个 BCD 型态的 7 段显示器显示出来时,就必须使用 BCD 指令先将要显示的内部数据转换成 BCD 值再送到 7 段显示器。 3. 当 X0=On 时,将 K4X20 BCD 值转换成 BIN 值传送到 D100,再将 D100 的 BIN 值转换成 BCD 值传送到 K4Y20。 BCD D100 K4Y20 X0 BIN D100K4X20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-72 X17 X0 42 81 101 100 66 103 102 81 8181 Y37 Y20 4 BCD 位数 值 使用 指令将 值存入 BIN BIN D100 使用 指令将 内容 BCD D100 变为 位数 值 4 BCD 4 BCD 位数 型态七段显示器 4 BCD 位数 型态指拨开关 3. 指令集 3-73 API 指令码 操作数 功能 20 D ADD P BIN 加法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * *** ADD, ADDP: 7 steps DADD, DADDP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被加数 S2: 加数 D: 和 指令说明: 1. 数据源(S1, S2)以 BIN 方式相加的结果存与于(D)。 2. 各数据的最高位为符号位 0 表示(正)1 表示(负)。因此可做代数加法运算。(例如:3+(-9)=-6) 3. S1, S2, D 操作数使用 F 装置, 仅可使用 16 位指令。 4. 标志位: M1020 (零标志), M1021 (借位标志), M1022 (进位标志) 程序范例 1: 16 位 BIN 加法: 当 X0=On 时,被加数 D0 内容加上加数 D10 的内容,将结果存在 D20 的内容中。D0 和 D10 没有被 改变。 X0 ADD D0 D10 D20 (D0) + (D10) = (D20) 程序范例 2: 32 位 BIN 加法: 当 X1=On 时,被加数(D31,D30)内容加上加数(D41,D40)的内容,将结果存在(D51,D50)中。(D31, D30) 和 (D41, D40)没有被改变。(D30, D40, D50 为低 16 位数据, D31, D41, D51 为高 16 位数据) X0 DADD D30 D40 D50 (D31, D30) + (D41, D40) = (D51, D50) 标志操作: 16 位指令: 1. 如果操作结果是”0”,零标志,M1020 被设置成 On。 2. 如果操作结果超出了-32,768,借位标志,M1021 被设置成 On。 3. 如果操作结果超出 32,767,进位标志,M1022 被设置成 On。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-74 32 位指令: 1. 如果操作结果是”0”,零标志,M1020 被设置成 On。 2. 如果操作结果超出-2,147,483,648,借位标志,M1021 被设置成 On。 3. 如果操作结果超出 2,147,483,647,进位标志,M1022 被设置成 On。 -2 -1 0 -32,768、 、 、 、 、 -1 0 1 32,767 0 1 2、、、 -2 -1 0 -2,147,483,648、 、 、 、 、 -1 0 1 2,147,483,647 0 1 2、 、 、 16 :位指令 零标志 零标志 零标志 借位标志 数据的最高位 为表负1 () 32 : 位指令 零标志 零标志 零标志 数据的最高位 为表正0 () 进位标志 借位标志 数据的最高位 为表负 1 () 数据的最高位 为表正0 () 进位标志 3. 指令集 3-75 API 指令码 操作数 功能 21 D SUB P BIN 减法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * *** SUB, SUBP: 7 steps DSUB, DSUBP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被减数 S2: 减数 D: 差 指令说明: 1. 两个数据源,S2 被 S1 以 BIN 的方式减去,相减结果存于 D。 2. 各数据的最高位为符号位,0 表示正,1 表示负,因此可做代数减法运算。 3. S1, S2, D 操作数使用 F 装置, 仅可使用 16 位指令。 4. 标志: M1020 (零标志), M1021 (借位标志), M1022 (进位标志)。加法指令的标志操作同样也可以 用于用于减法的指令。 程序范例 1: 16 位 BIN 减法: 当 X0 = On,将 D0 内容减掉 D10 内容,将结果存在 D20 的内容中. X0 SUB D0 D10 D20 (D0) − (D10) = (D20) 程序范例 2: 32 位 BIN 减法: 当 X20 = On,(D31,D30)内容减掉(D41,D40)的内容,将结果存在(D51,D50)之中。(D30,D40,D50 为 低 16 位数据,D31,D41,D51 为高 16 位数据) X20 DSUB D30 D40 D50 (D31, D30) − (D41, D40) = (D51, D50) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-76 API 指令码 操作数 功能 22 D MUL P BIN 乘法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * ** MUL, DMULP: 7 steps DMUL, DMULP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被乘数 S2: 乘数 D: 积 指令说明: 1. 将两个数据源(S1, S2)以有号数二进制方式相乘后的积存于 D。注意适用于正常的代数规则。 2. S1, S2 操作数使用 F 装置, 仅可使用 16 位指令。 3. D 操作数使用 E 装置, 仅可使用 16 位指令。 4. 符号位=0 为正数, 符号位=1 为负数。 5. 16 位 BIN 乘法运算: b15..............b0 b31.........b16 x = b15..............b0 b15...........b0 b15 为符号位 b15 为符号位 b15b31 ( )为符号位 即 的D+1 S D1 2 DS +1 D 为位装置时,可指定 K1~K4 构成 16 位,占用连续 2 组 16 位装置存放 32 位数据。 6. 32 位 BIN 乘法运算 X = b31 为符号位 B63 ( )为符号位 即 的D+3 b15b31 为符号位 D+1 DDD2S2SS1 S1+1 +1 +2+3 b31...b16 b15...b0 b63...b48b47...b32 b31...b16 b15...b0B31...b16 b15...b0 D 为位装置时,可指定 K1~K8 产生 32 位的结果,占用连续 2 组 32 位装置存放 64 位数据。 3. 指令集 3-77 程序范例: 16 位的 D10 的数值和 16 位的 D0 的数值相乘得到一个 32 位的结果存在(D21,D20)。高 16 位存储在 D21,低 16 位存放在 D20。正负由最高位的 Off/On 指示。Off 表示正的(0),同时 On 表示负的(1)。 X0 MUL D0 D10 D20 (D0) × (D10) = (D21, D20) 16 位 × 16 位 = 32 位 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-78 API 指令码 操作数 功能 23 D DIV P BIN 除法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * ** DIV, DIVP: 7 steps DDIV, DDIVP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被除数 S2: 除数 D: 商及余数 指令说明: 1. 将两个数据源:(S1)及( S2)以有号数二进制方式相除后的商及余数存于 D 。不是一个普通的代数 规则。 2. 除数为 0 时,指令不执行。M1067, M1068 = On ,D1067 记录错误代码 H0E19。 3. S1, S2 操作数使用 F 装置, 仅可使用 16 位指令。 4. D 操作数使用 E 装置, 仅可使用 16 位指令。 5. 16 位 BIN 除法运算: +1 =/ 商数 余数 b15.............b00 b15.............b00 b15.............b00 b15.............b00 S1 S2 D D D 为位装置时,可指定 K1~K4 构成 16 位,占用连续 2 组 16 位装置得到商及余数。 6. 32 位 BIN 除法运算: +1 / = +1 +1 b15..b00 余数 b15..b00 b15..b00 b15..b00 b31..b16 b15..b00 b31..b16 b15..b00 商数 S1 S1 S2 S2 D D +3D +2D D 为位装置时,,可指定 K1~K8 构成 32 位,占用连续 2 组 32 位装置得到商及余数。 程序范例: 当 X0=On 时,被除数 D0 除以除数 D10 而结果被指定放于 D20,余数指定放于 D21 内。所得结果的 正负由最高为的 Off/On 来代表正或负值。 X0 DIV D0 D10 D20 3. 指令集 3-79 API 指令码 操作数 功能 24 D INC P BIN 加一 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * * * * * *** INC, INCP: 3 steps DINC, DINCP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 目的地装置 指令说明: 1. 若指令不是脉冲执行型,则当指令执行时,程序每次扫描周期被指定的装置 D 内容都会加 1. 2. 本指令一般都是使用脉冲执行型指令 (INCP, DINCP)。 3. 16 位运算时,32,767 再加 1 则变为–32,768 。32 位运算时,2,147,483,647 再加 1 则变为 -2,147,483,648。 4. D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 本指令运算结果不会影响标志信号 M1020~M1022 。 程序范例: 当 X0 = Off → On 时,D0 内容自动加 1。 X0 INCP D0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-80 API 指令码 操作数 功能 25 D DEC P BIN 减一 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * * * *** DEC, DECP: 3 steps DDEC, DDECP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:目的地装置 指令说明: 1. 若指令不是脉冲执行型,当指令执行时,程序每次扫描周期被指定的装置 D 内容都会减 1。 2. 本指令一般都是使用脉冲执行型指令 (DECP, DDECP)。 3. 16 位运算时,–32,768 再减 1 则变为 32,767 。32 位运算时, -2,147,483,648 再减 1 则变为 2,147,483,647 。 4. D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 本指令运算结果不会影响标志信号 M1020~M1022。 程序范例: 当 X0 = Off → On 时,D0 内容自动减 1。 X0 DECP D0 3. 指令集 3-81 API 指令码 操作数 功能 26 WAND P 逻辑与运算 16 位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * *** WAND, WANDP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:数据来源装置 1 S2: 数据来源装置 2 D: 运算结果 指令说明: 1. 两个数据来源: S1 及 S2 作逻辑的’及’ (AND) 运算并将结果存于 D。 2. 逻辑的’及’ (AND) 运算之规则为任一为 0 结果为 0。 程序范例: 当 X0 = On 时,16 位 D0 与 D2 作 WAND,逻辑与(AND)运算, 将结果存于 D4 中。 WAND X0 D0 D2 D4 0000111111111111 000 00 000 0 0011 111 000 00 000000 0011 1 WAND b15 b00 S 1 S 2 D 执行前 执行后 D0 D2 D4 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-82 API 指令码 操作数 功能 26 DAND P 逻辑与运算 32 位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * ** S2 * * * * * * * * ** D * * * * * ** DAND, DANDP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 D: 运算结果 指令说明: 1. 32 位的逻辑与运算操作。 2. 两个数据来源: S1 及 S2 作逻辑的’及’ (AND) 运算并将结果存于 D。 3. 逻辑的’及’ (AND) 运算之规则为任一为 0 结果为 0。 程序范例: 当X1 = On时,32位 (D11, D10) 与 (D21, D20) 作DAND,逻辑与(AND)运算,将结果存于(D41, D40) 中。 X1 DAND D10 D20 D40 0000111111111111 0000000000011 111 000 00 000000 0 011 1 DAND b31 S1 S2 D 执行前 执行后 0000111111111111 0000000000011 111 000 00 000000 0011 1 b15 b0 D11 D10 D21 D20 D41 D40 3. 指令集 3-83 API 指令码 操作数 功能 27 WOR P 逻辑或运算 16 位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * *** WOR, WORP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 D: 运算结果 指令说明: 1. 两个数据来源: S1 及 S2 作逻辑的’或’ (OR) 运算并将结果存于 D。 2. 逻辑的’或’ (OR) 运算之规则为任一为 1 结果为 1。 程序范例: 当 X0 = On 时, 16 位 D0 与 D2 作 WOR,逻辑或(OR)运算,将结果存于 D4。 X0 WOR D0 D2 D4 00 111111 000 0 0 011 1 1 00 0011 1 WOR b15 b00 0000 0011 0111 0 1 111111111 S1 S2 D 执行前 执行后 1 D0 D2 D4 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-84 API 指令码 操作数 功能 27 DOR P 逻辑或运算 32 位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * ** S2 * * * * * * * * ** D * * * * * ** DOR, DORP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:数据来源装置 1 S2: 数据来源装置 2 D: 运算结果 指令说明: 1. 32 位的逻辑或运算操作。 2. 两个数据来源: S1 及 S2 作逻辑的’或’ (OR) 运算并将结果存于 D。 3. 逻辑的’或’ (OR) 运算之规则为任一为 1 结果为 1。 程序范例: 当 X1=On 时,32 位 (D11, D10)与(D21, D20)作 DOR,逻辑或(OR)运算,将结果存于(D41,D40)中。 X1 DOR D10 D20 D40 b31 S1 S2 D 执行前 执行后 D11 D10 DOR b 00 111111 000 0 0 011 1 1 00 0011 1 b15 b0 0000 0011 0111 0 1 111111111 D21 D20 D41 D40 00 1111110000 0011 000 0 0 011 1 10111 0 1 00 0011 1111111111 3. 指令集 3-85 API 指令码 操作数 功能 28 WXOR P 逻辑异或 16 位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * *** WXOR, WXORP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 D: 运算结果 指令说明: 1. 两个数据来源: S1 及 S2 作逻辑的’互斥或’ (XOR) 运算结果存于 D。 2. 逻辑的’互斥或’ (XOR) 运算之规则为两者相同结果为 0, 两者不同结果为 1。 程序范例: 当 X0 = On 时,16 位 D0 与 D2 作 WXOR,逻辑异或(XOR)运算,将结果存于 D4。 00 111111 000 0 0 011 1 1 00 0011 0 WOR b15 b00 0000 0011 0111 0 1 110011110 S1 S2 D WXOR 执行前 执行后 D0 D2 D4 X0 D0 D2 D4 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-86 API 指令码 操作数 功能 28 DXOR P 逻辑异或 32 位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * ** S2 * * * * * * * * ** D * * * * * ** DXOR, DXORP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 D: 运算结果 指令说明: 1. 32 位逻辑异或操作。. 2. 两个数据来源: S1 及 S2 作逻辑的’互斥或’ (XOR) 运算结果存于 D。 3. 逻辑的’互斥或’ (XOR) 运算之规则为两者相同结果为 0, 两者不同结果为 1。 程序范例: 当 X1 = On 时,32 位 (D11, D10) 与 (D21, D20) 作 DXOR ,逻辑异或(XOR)运算,将结果存于 (D41,D40)中。 X1 DXOR D10 D20 D40 b31 S1 S2 D 执行前 执行后 D11 D10 DXOR b D21 D20 D41 D40 11 1100 0 b15 1111 1100 00 00 111111 1111111 b0 1111 110000 111111 0001 000101 1001000001 000101 100100 11 1100 0001111111 3. 指令集 3-87 API 指令码 操作数 功能 29 D NEG P 求补码 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * * * * * *** NEG, NEGP: 3 steps DNEG, DNEGP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 求补码的装置 指令说明: 1. D 内容的各位全部相反 (0→1, 1→0), 后在加 1 存放于原寄存器。本指令可将负数的 BIN 值转换 成绝对值。 2. 本指令一般都是使用脉冲执行型指令 (NEGP, DNEGP)。 3. D 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例 1: 当 X0 从 Off → On 时, D10 内容的各位全部相反 (0→1, 1→0) 后在加 1 存放于原寄存器 D10 当 中。 X0 NEGP D10 程序范例 2: 求负数的绝对值: 1. 当 D0 的第 15 个位为“1”时, M0 = On。 (D0 表示为负数)。 2. 当 M0 = On 时,用 NEG 指令将 D0 取 2 的补码可得到其绝对值。 M1000 BON D0 K15M0 M0 NEGP D0 程式範例 3: 減法運算之差取絕對值, 當 X0=On 時: 1. 若 D0>D2 時, M0=On。 2. 若 D0=D2 時, M1=On。 3. 若 D0<D2 時, M2=On。 4. 此可得 D4 保持為正值 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-88 X0 CMP D0 D2 M0 M0 SUB D0 D2 D4 M2 SUB D2 D0 D4 M1 负数的表现及绝对值 1. 正负数是以寄存器最上位(最左边)的位内容来表现,为”0”时,为正数,为”1”时,为负数。 2. 遇到负数时,可使用 NEG 指令(API29)将它转成绝对值。 00 0000000000 0100 00 0100000000 0000 00 0000000000 0000 (D0=2) (D0=1) (D0=0) 111 1 1 111 1 11111 1 1 (D0=-1) 00 0100000000 0000 (D0)+1=1 111 1 1 111 1 11111 1 0 (D0=-2) 00 0000000000 0100 (D0)+1=2 111 1 1 011 1 11111 1 1 (D0=-3) 00 0100000000 0100 (D0)+1=3 111 1 1 011 1 11111 1 0 (D0=-4) 00 1000000000 0000 (D0)+1=4 111 1 1 111 1 01111 1 1 (D0=-5) 00 1100000000 0000 (D0)+1=5 100 0 0 100 0 00000 0 1 (D0=-32,765) 11 1111110111 1011 (D0)+1=32,765 100 0 0 100 0 00000 0 0 (D0=-32,766) 11 1011110111 1111 (D0)+1=32,766 100 0 0 000 0 00000 0 1 (D0=-32,767) 11 1111110111 1111 (D0)+1=32,767 100 0 0 000 0 00000 0 0 (D0=-32,768) (D0)+1=-32,768 100 0 0 000 0 00000 0 0 绝对值最大只可到 32,767 3. 指令集 3-89 API 指令码 操作数 功能 30 D ROR P 右循环移位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * * * * * *** n * * ROR, RORP: 5 steps DROR, DRORP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 将循环的装置 n:一次循环的位数 指令说明: 1. 将 D 所指定的装置内容一次相右循环 n 个位,这可能在每一个扫描。 2. 最后循环的一位的状态被传送到进位标志 M1022(进位标志)。 3. 本指令一般都是用脉冲执行型指令 (RORP, DRORP)。 4. D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 如果操作数 D 指定为 KnY,KnM,KnS 时, 只有 K4 (16 位)及 K8 (32 位)有效。 6. n 操作数有效范围: 1≤ n ≤16 (16 位), 1≤ n ≤32 (32 位)。 程序范例: 当 X0 从 Off → On 变化时,D10 的 16 个位以 4 个位为一组往右循环,如下图所示 b3 位在循环前会 被移动到进位标志 M1022。 011 10 101 0 0111 001 010111001111001 0 0 上位 下位 上位 下位 * X0 RORP D10 K4 右循环 16位 进位标志 进位标志 一次循环后 D10 D10 M1022M1022 M1022 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-90 API 指令码 操作数 功能 31 D ROL P 左循环移位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * * * *** n * * ROL, ROLP: 5 steps DROL, DROLP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 将循环的装置 n: 一次循环的位数 指令说明: 1. 将 D 所指定的装置内容一次向左循环 n 个位,这可能在每一个扫描。 2. 最后循环的一位的状态被传送到进位标志 M1022(进位标志)。 3. 本指令一般都是用脉冲执行型指令(ROLP, DROLP)。 4. D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 如果操作数 D 指定为 KnY,KnM,KnS, 只有 K4 (16 位)及 K8 (32 位)有效。 6. n 操作数有效范围: 1≤ n ≤16 (16 位), 1≤ n ≤32 (32 位)。 程序范例: 当 X0 从 Off → On 变化时,D10 的 16 个位以 4 个位一组往左循环,如下图所示,b12 位在循环前被 传送到进位标志 M1022 内。 X0 D10 K4 111 11 100 0 0011 000 11000001100110111 16位 左循环 一次循环后 进位标志 进位标志 D10 D10 上位 上位 下位 下位 ROLP M1022 M1022 3. 指令集 3-91 API 指令码 操作数 功能 32 D RCR P 附进位标志右循环 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * * * * * *** n * * RCR, RCRP: 5 steps DRCR, DRCRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 将循环的装置 n: 一次循环的位数 指令说明: 1. 将 D 所指定的装置内容包括进位标志 M1022 一次向右循环 n 个位,这可能在每一个扫描。 2. 最后循环的一位的状态被传送到进位标志 M1022(进位标志)。在下面的指令操作时,M1022 第 一个被传送到目的设备。 3. 本指令一般都是使用脉冲执行型指令 (RCRP, DRCRP)。 4. D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 如果操作数 D 指定为 KnY,KnM,KnS,只有 K4 (16 位)及 K8 (32 位)有效。 6. n 操作数有效范围: 1≤ n ≤16 (16 位), 1≤ n ≤32 (32 位)。 程序范例: 当 X0 从 Off →On 时,D10 的 16 个位联通进位标志 M1022 共 17 个位以 4 个位为一组往右循环,如 下图所示,b3 位在循环前被传送到进位标志 M1022 内。并且进位标志 M1022 原来的内容被传送到 b12 位。 000 11 100 0 1001 001 10001100111000 0 01 X0 D10 K4 右循环 16 位 进位标志 进位标志 一次循环后 下位 下位上位 上位 1D10 D10 RCRP M1022 M1022ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-92 API 指令码 操作数 功能 33 D RCL P 附进位标志左循环 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * * * *** n * * RCL, RCLP: 5 steps DRCL, DRCLP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:将循环的装置 n: 一次循环的任务 指令说明: 1. 将 D 所指定的装置内容包括进位标志 M1022 一次向左循环 n 个位,这可能在每一个扫描。 2. 最后循环的一位的状态被传送到进位标志 M1022(进位标志)。在下面的指令操作时,M1022 第 一个被传送到目的设备 3. 本指令一般都是使用脉冲执行型指令(RCLP, DRCLP)。 4. D 操作数使用 F 装置, 仅可使用 16 位指令。 5. 如果操作数 D 指定为 KnY,KnM,KnS,只有 K4 (16 位)及 K8 (32 位)有效。 6. n 操作数有效范围: 1≤ n ≤16 (16 位), 1≤ n ≤32 (32 位)。 程序范例: 当 X0 从 Off →On 时, D10 的 16 个位连同进位标志 M1022 共 17 个位以 4 个位一组往左循环,如 下图所示 b12 位在循环前被传送到进位标志 M1022。并且进位标志 M1022 原来的内容被传送到 b3 位。 X0 D10 K4 111 11 100 0 0011 000 110000010000111 1 16 bits 左循环 一次循环后 进位标志 进位标志 上位 下位 上位 下位 D10 D10 RCLP M1022 M10223. 指令集 3-93 API 指令码 操作数 功能 34 SFTR P 位右移 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * D * * * n1 * * n2 * * SFTR, SFTRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:移位装置的起始编号 D: 将移位装置的起始编号 n1: 将移位的数据长度 n2: 一次移位的位 数 指令说明: 1. 将 D 开始的起始编号,具有 n1 个数字符(移位寄存器长度)的位置,以 n2 位个数来右移。而 S 开 始起始编号以 n2 位个数移入 D 中来填补位空位。 2. 本指令一般都是使用脉冲执行型指令(SFTRP)。 3. n1, n2 操作数有效范围: 1≤ n2 ≤ n1 ≤1024 程序范例: 1. 当 X0 Off →On 时,由 M0~M15 组成 16 位,以 4 位作右移。并且从 X0 开始的 4 个位移动到从 M0 开始的数据的高 4 位。 2. 扫描一次的位左移依照下列编号n~r动作。 n M3~M0 → 进位 o M7~M4 → M3~M0 p M11~M8 → M7~M4 q M15~M12 → M11~M8 r X3~X0 → M15~M12 完成 X3 X2 X1 X0 M15 M14 M13 M12 M11 M10 M9 M8 M7 M6 34 5 4 个位一组向右移 M5 M4 M3 M2 M1 M0 12 进位ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-94 API 指令码 操作数 功能 35 SFTL P 左位移 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * D * * * n1 * * n2 * * SFTL, SFTLP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:移位装置起始编号 D: 将移位装置的起始编号 n1: 将移位的数据长度 n2: 一次移位的位数 指令说明: 1. 将 D 的起始编号,具有 n1 个数字元(移位寄存器长度)的位装置,以 n2 位个数来左移。而 S 开始 起始编号以 n2 位个数移入 D 中来填补位空位。 2. 本指令一般都是使用脉冲执行型指令 (SFTLP)。 3. n1, n2 操作数有效范围: 1≤ n2 ≤ n1 ≤1024。 程序范例: 1. 当 X0 Off →On 时, 由 M0~M15 组成 16 位以 4 位做左移。并且从 X0 开始的 4 个位移动到从 M0 开始的 4 位。 2. 扫描一次的位左移依照下列编号n~r动作。 n M15~M12 → 进位 o M11~M8 → M15~M12 p M7~M4 → M11~M8 q M3~M0 → M7~M4 r X3~X0 → M3~M0 完成 X0 SFTL X0 M0 K16 K4 1 2 3 4 个位一组向左移 进位 M15 M14 M13 M12 M11 M10 M9 M8 M7 X3 X2 X1 X0 4 5 M6 M5 M4 M3 M2 M1 M03. 指令集 3-95 API 指令码 操作数 功能 36 WSFR P 字右移 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * D * * * * * * n1 * * n2 * * WSFR, WSFRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 移动装置的起始编号 D: 将移位装置的起始编号 n1: 将移位的数据长度 n2: 一次移位的 字数 指令说明: 1. 将 D 开始的起始编号,具有 n1 个字长度的数据串列,以 n2 个字来右移。而 S 开始起始编号以 n2 字个数移入 D 中来填补字空位。 2. 本指令一般多时使用脉冲执行型指令(WSFRP)。 3. 当操作数 S ,D 使用位数据类型时,数据类型必须是匹配的。例如,一个类型是 KnX, KnY, KnM, KnS 另一个类型是 T, C, D。 4. 当使用操作数 S 和 D 位数据类型时,Kn 的值必须是匹配的。 5. n1, n2 操作数有效范围: 1≤ n2 ≤ n1 ≤512 程序范例 1: 1. 当 X0 从 Off →On 时,由 D20~D35 所组成的 16 个寄存器数据串列为移位絮语,以 4 个寄存器 来右移。并且从 D10 开始的 4 个字被移动到目标区域的高字中。 2. 扫描一次的字右移动作依照下列编号n~r动作。 n D23~D20 → 进位 o D27~D24 → D23~D20 p D31~D28 → D27~D24 q D35~D32 → D31~D28 r D13 ~D10 → D35~D32 完成 X0 WSFRP D10 K16D20 K4 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-96 D13 D12 D11 D10 D35 D34 D33 D32 D31 D30 D29 D28 D27 34 5 右移 个寄存器 4 D26 D25 D24 D23 D22 D21 D20 12 进位 程序范例 2: 1. 当 X0 从 Off →On 时,由 Y20~Y37 所组成的位寄存器数据串列为移位区域,以 2 个位数来右 移。 2. 扫描一次的字右移动作依照下列编号n~p动作。 n Y27~Y20 → 进位 o Y37~Y30 → Y27~Y20 p X27~X20 → Y37~Y30 完成 X0 WSFRP K1X20 K1Y20 使用 类型装置时 请指定相同的位数 Kn , K4 K2 X27 X26 X25 X24 Y37 Y36 Y35 Y34 Y33 Y32 Y31 Y30 Y27 Y26 Y25 Y24 Y23 Y22 Y21 Y20 12 3 X23 X22 X21 X20 右移 个位数2 进位3. 指令集 3-97 API 指令码 操作数 功能 37 WSFL P 字左运 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * D * * * * * * n1 * * n2 * * WSFL, WSFLP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 移位装置的起始编号 D: 将移位装置的起始编号 n1: 将移位的数据长度 n2: 一次移位的 字数 指令说明: 1. 将 D 开始的编号,具有 n1 个字符长度的数据串列,以 n2 个字来左移。而 S 开始起始编号以 n2 字符个数移入 D 中来填补字空位。 2. 本指令一般都是使用脉冲执行型指令 (WSFLP). 3. 当操作数 S ,D 使用位数据类型时,数据类型必须是匹配的。例如,一个类型是 KnX, KnY, KnM, KnS 另一个类型是 T, C, D。 4. 当使用操作数 S 和 D 位数据类型时,Kn 的值必须是匹配的。 5. n1, n2 操作数有效范围:1≤ n2 ≤ n1 ≤512 程序范例: 1. 当 X0 从 Off →On 时,由 D20~D35 所组成的 16 个寄存器数据串列为移位区域,以 4 个寄存器来 右移。并且 D10 开始的 4 个字被移动到目标区域的低 4 个字。 2. 扫描一次的字左移依照下列编号n~r动作。 n D35~D32 → 进位 o D31~D28 → D35~D32 p D27~D24 → D31~D28 q D23~D20 → D27~D24 r D13~D10 → D23~D20 完成 X0 WSFLP D10 K16D20 K4 1 3 4 5 2 4 registers in one group shift to the left Carry D13 D12 D11 D10 D35 D34 D33 D32 D31 D30 D29 D28 D27 D26 D25 D24 D23 D22 D21 D20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-98 API 指令码 操作数 功能 38 SFWR P 移位写入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * * * * * n * * SFWR, SFWRP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 移位写入数据串列装置 D: 数据串列起始编号 n: 数据串列长度 指令说明: 1. 将 D 起始编号开始 n 个字装置的数据串列定义为先入先出数据串列,以第一个编号装置作为指 针,当指令执行时,指针内容值先加 1,之 后 S 所指定的装置其内容值会写入先入先出数据串列 中由指针所制定的位置。 2. 如果指针 D 的内容超过“n-1” ,那么插入先入先出串列会停止并且进位标志 M1022 会被置 On。 3. 本指令一般都是使用脉冲执行型指令 (SFWRP)。 4. n 操作数有效范围: 2≤ n ≤512 程序范例: 1. 开始先将指针 D0 清楚为 0,当 X0=Off →On 变化时,D20 的内容被传送至 D1 当中,指针 D0 内容变成 1。变更 D20 的内容后,将 X0 再 Off →On 一次,则 D20 的内容被传送至 D2 当中, D0 内容变成 2。 2. 指令执行一次移位写入动作依照下列编号n~o动作。 nD20 的内容被传送至 D1 当中。 o指针 D0 内容变成 1。. X20 RST D0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0D20 X0 SFWRP D20 K10D0 预先D0内容 清除 为0 指针 n = 10 点 D0 = 3 2 1 补充说明: 本指令 API38 SFWR 与 API39 SFRD 可搭配使用,执行先入先出数据串列的写入读出控制。 3. 指令集 3-99 API 指令码 操作数 功能 39 SFRD P 移位读出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * D * * * * * *** n * * SFRD, SFRDP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据串列起始编号 D: 数据串列移位读出装置 n: 数据串列长度 指令说明: 1. 将 S 起始编号 n 个字装置的数据串列定义为先入先出数据串列,以第一个编号装置作为指针, 当指令执行时,指针内容值先减 1,之 后 S 所指定的装置其内容值会写入先入先出资料串行中由 指针所指定的位置。 2. 当指针的内容等于 0 时,本指令不再处理资料读出的动作,零标志信号 M1020=On。 3. 本指令一般都是使用脉冲执行型指令 (SFRDP)。 4. n 操作数有效范围:2≤ n ≤512 程序范例: 1. 当 X0 从 Off→ On 变化时,D1 的内容被传送至 D21 内, D9~D2 全部往右移位一个寄存器(D9 内容保持不变),指针 D0 内容减 1。 2. 执行指令一次移位读出动作依照下列编号 n~p动作。 n D1 的内容被读出传送至 D21 当中。 o D9~D2 全部往右移位一个寄存器。 p 指针 D0 内容减 1. D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D21 X0 SFRDP D0 K10D21 n = 10 点 读取数据 指针 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-100 API 指令码 操作数 功能 40 ZRST P 批次复位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D1 * * * * * * D2 * * * * * * ZRST, ZRSTP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D1: 批次复位起始装置 D2: 批次复位结束装置 指令说明: 1. 当操作数编号 D1 > D2,只有 D2 指定的操作数被清除。 2. 本指令一般都是使用脉冲执行型指令 (ZRSTP). 3. 操作数 D1 和 D2 必须是相同的数据类型,有效范围: D1 ≦ D2。 程序范例: 1. 当 X0 = On 时,M300 到 M399 被清除成 Off. 2. 当 X1 = On 时,C0 到 C127 全部被清除。 它们的当前值=0, 线圈输出清除成 Off。 3. 当 X20 = On 时,T0 到 T127 全部被清除.。它们的当前值=0, 线圈输出清除成 Off。 4. 当 X2 = On,时,步进点 S0 到 S127 被清除成 Off。 5. 当 X3 = On 时, 数据寄存器 D0 到 D100 数据被清除为 0。 6. 当 X4 = On 时,32 位计数器 C235 到 C254 全部清除。它们的当前值=0, 线圈输出清除成 Off。 ZRST M300 M399 ZRST C0 C127 ZRST T0 T127 ZRST S0 S127 ZRST D0 D100 ZRST C235 C254 X0 X1 X20 X2 X3 X4 补充说明: 1. 装置可以单独使用清除指令(RST), 如位装置 Y、M、S 和字装置 T、C、D。 2. 也可使用 API 16 FMOV 指令, 将 K0 多点传送到字装置 T、C、D、KnY、KnM、KnS 来达到清 除之功能。 3. 指令集 3-101 RST M0 X0 RST T0 RST Y0 FMOV K0 D10 K5 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-102 API 指令码 操作数 功能 41 DECO P 译码器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * * * * *** n * * DECO, DECOP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:译码来源装置 D:存放译码结果装置 n:译码位长度 指令说明: 1. 来源装置 S 的下位 “n” 位作译码,并将其“2n” 位长度存于 D.。 2. 本指令一般都是使用脉冲执行型指令 (DECOP)。 3. 当 D 为位装置时,,n=1~8,当 D 为字装置时, n=1~4。 程序范例 1: 1. 当 D 是位装置时, n 有效范围: 0< n 8≦ 。 但是如果 n=0 or n>8,,会发生错误。 2. 当 n=8 时, 可做最大译码 28= 256 点。 3. 当 X20 从 Off → On 时,指令将 X0~X2 内容值译码到 M100~M107。 4. 如果 S =3,,M103 (从 M100 开始算第 3 个位) = On。 5. 当指令执行后, X20 变为 Off.。已经做译码输出者照常动作。 DECOP X0 K3M100 X20 X2 X1 X0 M107 M106 M105 M104 M103 M102 M101 M100 011 10000 000 376 54 210 4 12 3 3. 指令集 3-103 程序范例 2: 1. 当 D 为字装置时, n 有效范围: 0< n 4≦ ,如果 n=0 or n>4,会发生错误。 2. 当 n=4 时,可做最大译码 24 = 16 点。 3. 当 X20 从 Off → On,时,指令将 D10 中 (b2~ b0)的内容值译码到 D20 的 (b7~b0)。D20 中未 被使用的位(b15~ b8) 全部变为 0。 4. D10 的下位 3 位作译码存放于 D20 的下位 8 位,上 8 位都位 0。 5. 当指令执行后, X20 变为 Off 后。 已经做译码输出者照常动作。 DECOP D10 K3D20 X20 0000000011111111 0 000 0000 00 001 00 0 01234567 124 b15 b15 b0 b0 全部都为0 指定为3时,会使用 D10的b2、b1、b0 译码后的结果 指定为3时,会占用位D20的八个位b0~b7 D10 D20 D10 b0 b1的、都为1 时, D20 b3=1的 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-104 API 指令码 操作数 功能 42 ENCO P 编码器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * *** D * * *** n * * DECO, DECOP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 编码来源装置 D: 存放编码结果的装置 n: 编码位长度 指令说明: 1. 来源装置 S 的下位“2n”位长度的数据作编码,并将结果存于 D。 2. 如果数据来源装置 S 有多位数位为 1 时,则处理由高位往低位的第 1 个为 1 的位。 3. 本指令一般都是使用脉冲执行型指令(ENCOP)。 4. S 为位装置时, n=1~8,当 S 为字装置时,n=1~4。 5. 如果数据来源 S 没有位为 1 时,则 M1067=M1068=On ,D1067 记录错误代码 H0E1A。 程序范例 1: 1. 当 S 为位装置时, n 有效范围: 0< n 8≦ 。如果 n=0 或者 n>8,,会发生错误。 2. 当 n=8 时, 可做最大编码 28 = 256 点。 3. 当 X0 从 Off → On 时, 指令将 23 位数据 (M0 to M7)编码存放于 D0 的下位 3 位(b2~b0)内。 D0 中未被使用的位 (b15~b3) 全部变为 0。 4. 指令执行后,X0 变为 Off 后,D 内数据不变。 ENCOP M0 K3D0 X0 0 000 0000 00 00 100 124 b15 b0 1 00 0 0 1 00 0 76543210 M7 M6 M5 M4 M3 M2 M1 M0 全部都为0 当操作数 指定为 时,将占用 00~M07n3 M 译码后的结果 操作数 指定为 时, 装置的状态将存储在在 0b0b1b2n3 D的 、 、 中M D0 程序范例 2: 1. 当 S 为字装置时, n 有效范围:0< n 4≦ 。如果 n=0 或者 n>4 时,会发生错误。 3. 指令集 3-105 2. 当 n=4 时, 可做 24 = 16 点编码。. 3. 当 X0 从 Off → On 时, the data in D10 内 23 位数据(b0~b7)编码存放于 D20 的下位 3 位 (b2~b0)内,D20 中未被使用的位 (b15~b3)全部变为 0。 4. 当指令执行后, X0 变为 Off ,D 内数据不变。 ENCOP D10 K3D20 X0 0 000 0000 00 00 100 b15 b0 1 65432 1 0 00 00000010100111 b15 b0 7 全部为0 数据无效 译码后的结果 D10 D20 当指定为3时,将占用三个位ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-106 API 指令码 操作数 功能 43 D SUM P ON 位数量 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * *** SUM, DSUMP: 5 steps DSUM, DSUMP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 来源装置 D: 存放计数值的目的地装置 指令说明: 1. 在 S 中,所有的位都包含“1”将被存储于 D。 2. 当使用 32 位指令的时候,D 会占用两个寄存器。 3. S, D 操作数使用 F 装置, 仅可使用 16 位指令。 4. 如果没有位 On, 那么 0 标志位 M1020=On。 程序范例: 当 X20 =On 时,D0 的 16 个位中,内容为“1”的位总数被存于 D2 当中。 X20 SUM D0 D2 000000011 100 0000 3 D2D0 3. 指令集 3-107 API 指令码 操作数 功能 44 D BON P ON 位判定 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** D * * * n * * * * *** BON, BONP: 7 steps DBON, DBONP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 来源装置 D: 存放判定结果的装置 n: 指定判定的位(自 0 开始编号) 指令说明: 1. 来源设备特定位的状态被表明在目标位置。 2. S 操作数使用 F 装置, 仅可使用 16 位指令。 3. 操作数 n 的有效范围 : n=0~15 (16 位), n=0~31 (32 位) 程序范例: 1. 当 X0 = On 时,若是 D0 的第 15 个位为“1”时,M0=On,为“0”时,M0=Off。 2. X0 变成 Off,M0 仍保持之前的状态。 X0 BON D0 M0 000000011 100 0000 D0 K15 b0 M0=Off b15 100000011 100 0000 D0 b0 M0=On b15 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-108 API 指令码 操作数 功能 45 D MEAN P 平均值 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * D * * * * * *** n * * * * * * * * *** MEAN, MEANP: 7 steps DMEAN, DMEANP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 将取平均值的起始装置 D: 存放平均值的装置 n: 取平均值的装置个数 指令说明: 1. 将 S 起始的 n 个装置内容相加后取平均值存入 D 中。 2. 如果计算中出现余数时,余数会被舍去。. 3. 如果 S 没有在有效范围内, 只有正常范围内的装置编号被处理。. 4. n 如果是 (1~64)以外的数值时,一个错误就会产生。 5. D 操作数使用 F 装置, 仅可使用 16 位指令。 6. 操作数 n 的有效范围 : n=1~64。 程序范例: 当 X10 = On 时,D0 开始算的 3 个(n=3)寄存器的内容全部相加,相加之后再除以 3 以求得平均值并 存于指定的 D10 当中,余数被舍去。 X10 MEAN D0 D10 K3 D0 D1 D2 D10 K112 K100 K113 K125 (D0+D1+D2)/3 D10执行后 余数 被舍去= 2 3. 指令集 3-109 API 指令码 操作数 功能 46 ANS 警报点输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * m * D * ANS: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 检测警报定时器 m: 计时时间设置 D: 警报点装置 指令说明: 1. ANS 指令是用来驱动警报点输出的专用指令。 2. 操作数 S 有效范围: T0~T183 操作数 m 有效范围: K1~K32,767 在 100 毫秒单位里。 操作数 D 有效范围: S912~S1023 见 ANR 更多的信息 3. 标志位: M1048 (On = 主动警报), M1049 (On = 启动警报) 程序范例: 如果警报装置 S999=On 并且 X3 = On 超过 5 秒钟, S999 将会保持 On 在 X3=Off 之后。 T10 将 会被恢复成 Off 当前值=0) X3 ANS T10 K50 S999 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-110 API 指令码 功能 47 ANR P 警报点复位 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 指令驱动的联系是必要的 ANR, ANRP: 1 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 1. ANR 指令是用来复位警报点的专用指令. 2. 复数个警报点同时 On 的时候,较小号码的警报点被复位。 3. 本指令一般都是使用脉冲执行型指令 (ANRP). 程序范例: 1. X20 与 X21 同时 On 超过 2 秒钟时,警报点 S912 = On。 如 X20 或 X21 变成 Off, 警报点 S912 会继续保持 On。 T10 会被复位成 Off,当前值为 0。 2. 当 X20 与 X21 同时 On 未满 2 秒钟时,T10 的当前值被复位成 0。 3. 当 X3 从 Off → On 时,动作中的警报点 S912~S1023 被复位。 4. 当 X3 再次从 Off → On 时,次小号码警报点被复位。 X20 ANS T10 K20 S912 X21 X3 ANRP 补充说明: 标志信号及特殊寄存器说明: 1. M1048: M1049 = On 时,任意警报点 S912~S1023 =On 时, M1048=On。 如果 M1049=Off, M1048 将不会受到影响,如果警报发生。 2. M1049: 当 M1049 = On 时, D1049 才会自动显示动作中最小的警报点号码。 警报点的应用: X0=前进开关 X1=后退开关 X2=前端定位开关 X3=后端定位开关 X4=警报点复位按钮 Y0=前进 Y1=前进 Y2=警报指示器 S912=前进警报点 S920=后退警报点 3. 指令集 3-111 Y0 ANS T0 K100 S912 X2 X4 ANRP M1000 M1049 Y1 ANS T1 K200 S920 X3 X0 Y0 X2 M1048 Y2 Y0 X1 Y1 X3 Y1 1. 当 M1049=On 时,警报器启用。如果 M1048=On,警报已经发生, D1049=最低警报点号码。 2. 如果 Y0=On > 10 秒对象未到达前端定位处 X2 时, S912=On。 3. 如果 Y1=On > 20 秒对象为到达后端定位处 X3 时, S920=On。 4. 当 X1=On,, Y1=On, 并且 X3=On 时, Y1 = Off。 5. 如果警报发生,警报指示灯 Y2=On。 6. 每一个激活的警报器都会被一个一个的重新设置,每一次这命令执行时,重置按钮 X4 =On。 最 低限的警报器在每一次命令执行时都会被重置。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-112 API 指令码 操作数 功能 48 D SQR P 平方开根 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * SQR, SQRP: 5 steps DSQR, DSQRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 将开平方根的来源装置 D: 存放结果的装置 指令说明: 1. 将 S 所指定的装置内容值开平方根后,存放于 D 所指定装置。 2. S 只可以指定正数。若指定负数时,会发生一个指令运算错误,指令不执行。M1067,M1068 = On, D1067 记录错误代码 H0E1B。 3. 运算结果 D 只求整数,小数点被舍弃。如果有小数点被舍弃,借位标志信号 M1021=On。 4. 运算结果 D = 0 时,零标志信号 M1020=On。 程序范例: 当 X20=On,将 D0 内容值开平方根后,存放于 D12. X20 SQR D0 D12 D0 D12 3. 指令集 3-113 API 指令码 操作数 功能 49 D FLT P BIN 整数→2 进制浮点 数变换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * D * FLT, FLTP: 5 steps DFLT, DFLTP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 变换来源装置 D: 存放变换结果的装置 指令说明: 1. M1081=Off 时,将 BIN 整数变换成 2 进浮点数。此时 16 位指令 FLT 中 S 变换来源装置占用 1 个寄存器,D 存放变换结果的装置占用 2 个寄存器。 a) 若转换结果的绝对值大于可表示的最大浮点值,则进位标志 M1022=On。 b) 若转换结果的绝对值小于可表示的最小浮点值,则借位标志 M1021=On。 c) 若转换结果为 0,,则零标志 M1020=On。 2. M1081=On 时,将 2 进浮点数值变换成 BIN 整数(小数点以下被舍弃)。此 时 16 位指令 FLT 中 S 变换来源装置占用 2 个寄存器,D 存放变换结果的装置占用 1 个寄存器,动作同 INT 指令。 a) 若转换结果超过 D 可表示的 BIN 整数范围(16 位为-32,768~32,767,32 位为 -2,147,483,648~2,147,483,647)则 D 取最大数或最小数表示,且进位标志 M1022=On。 b) 若转换结果有位数被舍弃,则借位标志 M1021=On。 c) 若 S 为 0,则零标志 M1020=On。 d) 转换后的 D 取 16 位储存。 程序范例 1: 1. M1081=Off 时,将 BIN 整数变换成 2 进浮点数值。 2. 当 X20 = On,时,将 D0(内为 BIN 整数)变换成 D13, D12 (2 进浮点值)。 3. 当 X21 = On 时,将 D1, D0(内为 BIN 整数)变换成 D21, D20(2 进浮点值) 4. 若 D0=K10, X20=On。转换后浮点数的 32 位数值为 H41200000,存 于 32 位寄存器 D12 (D13) 内。 如果 32 位寄存器 D0 (D1)=K100,000,则 X21=On,转换后浮点数的 32 位数值为 H4735000, 存于 32 位寄存器 D20 (D21)内。 M1002 RST M1081 X20 FLT D0 D12 X21 DFLT D0 D20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-114 程序范例 2: 1. M1081=On 时,将 2 进浮点数值变换成 BIN 整数(小数点以下被舍弃)。 2. 当 X20 = On 时, D0 ,D1 (内为 2 金浮点数值) 变换成 D12 (BIN 整数)。 若 D0 (D1) =H47C35000, 该浮点数表示的数值为 100,000.。以为大于 16 位寄存器 D12 所能表示的数值, 因此执行结果 D12=K32,767, M1022=On。 3. 当 X21=On 时, 将 D1、D0(内为 2 进小数点值)变换成 D21、D20(BIN 整数)。若 D0(D1)=H47C35000, 该浮点数值表示的数值为 100,000, 结果储存于 32 位寄存器 D20(D21) 内。 M1002 SET M1081 X20 FLT D0 D12 X21 DFLT D0 D20 程序范例 3: (D10) (X7~X0) K61.5 1 2 5 4 6 7 8 3 16 BIN位 BCD 2 位 (D21,D20) 2 进制浮点数值 (D200) BIN(D101,D100) 2 进制浮点数值 (D301,D300) 2 进制浮点数值 (D31,D30) 10 ( )进制浮点数值 监视用 (D41,D40) 32 位整数 (D203,D202) 2 进制浮点数值 (D401,D400) 2 进制浮点数值3. 指令集 3-115 M1000 FLT D10 D100 BIN K2X0 D200 FLT D200 D202 DEDIV K615 K10 DEDIV D100 D202 DEMUL D400 D300 DEBCD D20 D30 DINT D20 D40 D300 D400 D20 1 2 3 4 5 6 7 8 1. 将 D10(内为 BIN 整数)变换成 D101,D100(2 进浮点数值)。 2. 将 X7~X0 (BCD 值) 变换成 D200 (BIN 值)。 3. 将 D200 (BIN 整数) 变换成 D203, D202 (2 进浮点数值)。 4. 将 K615 ÷ K10 结果存于 D301, D300 (2 进浮点数值)。 5. 2 进浮点除法: (D101, D100) ÷ (D203, D202)结果存于 D401, D400 (2 进浮点数值)。 6. 2 进浮点乘法: (D401, D400) × (D301, D300) 结果存于 D21, D20 (2 进浮点数值). 7. 2 进浮点数值(D21, D20) 变换成 10 进浮点数值 (D31, D30)。 8. 2 进浮点数值(D21, D20)变换成 BIN 整数 (D41, D40)。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-116 API 指令码 操作数 功能 50 REF P I/O 状态即时刷新 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * n * * REF, REFP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: I/O 更新处理起始装置 n: I/O 更新处理数目 指令说明: 1. PLC 的输入/出端子的状态全部为程序扫描至 END 后,才作状态的更新,其中输入点的状态是 在程序开始扫描时,自外部输入点的状态读入存在输入点内存中,而输出端子在 END 指令后, 才将输出点内存内容送至输出装置。因此在运算过程中需要最新的输入/出数据,则可利用本指 令。 2. D 装置必须指定 X0、X10、Y0、Y10…等起始值为 0 的编号装置。数字输入/输出模块 I/O 点无 法使用此指令做立即更新处理。 3. D 装置指定的输入点及输出点仅限于主机的 I/O 点: z D 指定 X0 且 n <= 8, 则只有 X0~X7 会被更新, 如果 n > 8, 则主机上所有输入及输出点 都会被更新。 z D 指定 Y0 且 n = 4, 则只有 Y0~X7 会被更新, 如果 n > 8, 则主机上所有输入及输出点都 会被更新 z D 指定 X10 或 Y10 且 n 不管多少, 则主机上除了 X0~X7 或 Y0~Y3 之外,其余输入及输 出点皆会被更新。 4. EX2/SX2 主机专用:REF 指令执行前, 当 M1180 为 On 时, 则立即读取 A/D 值并更新至 D1110~D1113; 当 M1181 为 On, 则立即将 D1116 与 D1117 之 D/A 值输出。当 A/D 或 D/A 数 值立即更新完成之后,PLC 将自动清除 M1180 或 M1181 为 Off。 5. ES2/EX2 机种 n 操作数范围 n = 4~ 主机的 I/O 点, 且为 4 之倍数。 6. SS2/SA2/SE/SX2 机种 n 操作数范围 n = 8 主机的 I/O 点。 程序范例 1: 当 X0 = On 时,PLC 可以读到 X0~X7 输入点的状态,输入信号更新,并没有输入延迟。 X0 REF X0 K8 程序范例 2: 当 X0 = On 时,Y0~Y3 的 4 点输出信号将实时被送至输出端,不必到 END 指令才输出。 3. 指令集 3-117 X0 REF Y0 K4 程序范例 3: 当 X0 = On 时, 输入点 X10 及之后的点数, 输出点 Y4 及之后的点数皆会被更新。 X0 REF X10 K8 X0 REF Y4 K8 或 程序范例 4: EX2/SX2 主机专用:当 X0 = On 时并且设定 M1180 为 On,则不管 D 与 n 操作数输入为何数值,将 只会处理 A/D 模拟量, 并立即更新至 D1110~D1113。 X0 SET M1180 REF X0 K8 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-118 API 指令码 操作数 功能 51 REFF P 输入滤波器时间调整 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F n * * REFF, REFFP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: n:反应时间设置,单位为 ms。 指令说明: 1. PLC 提供一个输入过滤器,防止干扰,导致虚假的读数。PLC 的输入点 X0~X7 的过滤器是数字 滤波器, 使用 REFF 可以调整输入滤波器的响应时间。n 直接设置 D1020 (调节 X0~X7DE 响 应时间)。 2. 当 PLC 电源从 Off 到 On 或者 END 指令被完成,相应时间的值是 D1020 的值。 3. 在程序执行时,设置 D1020 的值可以使用 MOV 指令。 4. 响应时间可以改变通过 REFF 指令在程序执行中。在这个时候,相应时间被 REFF 指令制定将 会被移到 D1020 将会调整在下个扫描中。 5. n 的范围:= K0 ~ K20. 程序范例: 1. 当 PLC 电源从 Off →On, the response time of X0~X7 输入点的响应时间取决于 D1020 的值。 2. 当 X20=On 时, REFF K5 指令被执行,响应时间会被变更为 5ms,于下次扫描时做调整。 3. 当 X20=Off 时, REFF 指令将被执行,响应时间会变成 20ms,于下次扫描做调整。 X20 REFF K5 X0 Y1 X20 REFF K20 X1 Y2 END 补充说明: 当程序中使用中断插入子程序时, 或是使用高速计数器或是使用 API 56 SPD 指令时, 相对应输入端 信号不作任何延迟, 与本指令动作无关。 3. 指令集 3-119 API 指令码 操作数 功能 52 MTR 矩阵分时输入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * D1 * D2 ** * n * * MTR: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵扫描输入起始装置 D1: 矩阵扫描输出起始装置 D2: 矩阵扫描所对应起始装置 n: 矩阵扫描的行数 指令说明: 1. S 指定矩形所有连接输入端的起始号码, 一旦指定后, 该号码开始算连续 8 点为矩阵输入端。。 D1 指定那一个晶体管输出 Y 为矩阵扫描的起始号码。 2. 本指令由 S 起始的连续 8 个输入端, 以 D1 起始的 n 个外部输出点用矩阵扫描之方式读取 n 列的 8 个开关, 变成 8×n 的多点矩阵输入点。并将扫描读取的开关状态反应在 D2 起始之装置。 3. 最大输入可实现 64 输入(8 输入 x8 行)。 4. 当使用 8 点 8 列作矩阵输入时, 每一列的读取时间约 25ms, 8 列共 200ms, 因此 On/Off 速度快 于 200ms 的输入信号并不适用在矩阵输入。 5. 本指令的条件接点一般都使用常 On 接点 M1000。 6. 本指令每执行完一次矩阵扫描, 指令执行完毕旗号 M1029=On 一个扫描周期。 7. 本指令于程序中使用次数并无限制, 但是同时间仅有一个指令被执行。 8. 标志位: M1029 执行完成标志。 程序范例: 当PLC RUN,MTR 指令开始执行,外部2 行共16 个开关的状态被顺序读取并存放在内部继电器 M10~M17,M20~M27。 M1000 MTR X40 Y40 M10 K2 下图由X40~X47及Y40~Y41构成2列矩阵输入回路之外部接线图, 16个开关对应到内部继电器 M10~M17, M20~M27。搭配MTR指令使用。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-120 S/S X40 X41 X42 X43 X44 X45 X47X46 C Y40 Y41 Y42 Y43 Y44 Y45 Y47Y46 M10 X41 M20 M11 M12 M13 M14 M15 M16 M17 X42 X43 X44 X45 X46 X47 M21 M22 M23 M24 M25 M26 M27 0.1A/50V 对应输入装置 串接二极管 +24V24G 1N4148 以上图为例, X40 开始算的 8 点由 Y40~Y41 (n=2) 作矩阵扫描, D2 指定读入结果的起始号码为 M10, 代表第一列的开始被读入至 M10~M17, 第二列被读入至 M20~M27。 2 4Y41 Y40 25ms 25ms 读取第一行的输入信号 读取第二行的输入信号 每行的读取时间约为 1 3 补充说明: 1. 操作数 S 必须是 10 的倍数,例如 00,10,20,30 等,所以它可以是 X0,X10 等,并且占用 8 个连续装置。 2. 操作数 D1 应该是 10 的倍数,例如 00,10,20,30 等,所以它应该是 Y0,Y10 等,并且占 n 个 连续装置。 3. 操作数 D2 应该是 10 的倍数,例如. 00,10,20,30 等,所以它应该是 Y0,M0,S0 等。 4. 操作数 n 有效范围: n=2~8。 3. 指令集 3-121 API 指令码 操作数 功能 53 D HSCS 比较置位(高速计数 器) 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * ** S2 * D * * * DHSCS: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:比较值 S2: 高速计数器编号 D:比较结果 指令说明: 1. 高速计数器是以中断插入方式由对应的外部输入端 X0~X7 输入之计数脉冲, 当由 DHSCS 指令 S2 所指的高速计数器产生加 1 或减 1 变化时, DHSCS 指令会立即作比较动作, 当高速计数器现 在值等于由 S1 所指定的比较值时, 由 D 所指定之装置会立即变为 On, 之后即使比较结果变成 不相等, 该装置仍然保持 On 状态。 2. 若 D 所指定的装置为 Y0~Y3 时, 当 S1(比较值)与高速计数器现在值相等会实时输出到外部 Y0~Y3 输出端, 其余之 Y 装置会受扫描周期影响。而装置 M, S 均为立即动作, 不受扫描周期的 影响。 3. D 操作数范围也可指定 I0□0, □=1~8。 4. 高速计数器分为软件计数器与硬件计数器两种。其列表及说明请参考程序篇 2.9 节。而比较器也 分为软件计数比较器与硬件计数比较器两种。 5. DHSCS, DHSCR 指令软件计数比较器说明: z 软件计数比较器提供有 6 个比较器来比较设定或清除功能。 z 软件计数比较器之比较中断是依中断编号分别配置一个对应的软件比较器,需注意不可重 复使用相同中断编号, 最多不可使用超过 6 个软件比较器。 z 编写程序时不管是 DHSCS 或 DHSCR 指令, 其两个指令的设定或清除比较器最多不可超 过 6 个, 否则会有语法检查错误。 z 软件计数器之高速比较中断编号与软件计数比较器的使用对照表 计数器编号 C232 C233 C234 C235 C236 C237 DHSCS 高速比较中断 I010 I050 I070 I010 I020 I030 高速比较器设定 C232~C242 共享 6 个软件比较器 计数器编号 C238 C239 C240 C241 C242 DHSCS 高速比较中断 I040 I050 I060 I070 I080 高速比较器设定 C232~C242 共享 6 个软件比较器 z SS2/SA2 机种不支持软件计数器 C232。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-122 z SE 机种 C253 与 C254 为软件计数器,其高速比较中断编号为 I030 z 软件计数比较器方块图 软件计数器C232 计数值 软比较器件 x6 设定或清除1 设定或清除 2 设定或清除 6 软件计数器C233 软件计数器C242 6. DHSCS, DHSCR 指令硬件计数比较器说明: z 硬件比较器分别针对两组硬件计数器(A 群组及 B群组), 分别提供出各自专用的硬件比较 器, 而每组专用硬件比较器内部都有四个共享比较设定或清除功能。 z 编写程序时不管是 DHSCS 或 DHSCR 指令, 其两个指令的设定或清除专用硬件比较器最 多分别不可超过 4 个比较, 否则会有语法检查错误。 z 硬件计数比较器之比较中断是依中断编号分别配置一组对应的硬件比较器, 需注意不可重 复使用相同中断编号, 以及 I010~I040 只能供硬件比较器 A 群组设定, I050~I080 只能供硬 件比较器 B 群组设定。 z 使用者运用 DCNT 开启 C243 为高速计数器(硬件计数器 A), 可是 DHSCS 或 DHSCR 比较 指令却是用 C245(也是硬件计数器 A)来做比较来源计数器时, 则 PLC 内部会自动以 C243 计数值为计数来源值, 并且不会产生语法检查错误讯息。 z 硬件比较器之比较数值需在指令启动前,由设计者先指定比较数值之后再启动比较指令, 若是已经启动比较指令之后,需要进行比较值变更时,建议请先关闭比较指令,并重新设 定比较值之后,再开启比较指令。 z 高速比较指令启动中,若需要不关闭指令就可修改比较值,则须确认是否为有支持之机种 与版本,其有支持机种名称与韧体版本列表如下: 机种名称 ES2/EX2 SS2 SA2 SX2 SE 版本(含)以上 V3.20 V3.00 V2.60 V2.40 V1.00 备注:此高速比较值变化时须等到比较指令被扫描到时,才可更新至硬件比较器内 z 硬件计数器之高速比较中断编号与硬件计数比较器的使用对照表(SE 机种不适用) A 群组 B群组 硬件计数器 A1 A2 A3 A4 B1 B2 B3 B4 计数器编号 C243, C245~C248, C251,C252 C244, C249, C250, C253, C254 DHSCS 高速比较中断 I010 I020 I030 I040 I050 I060 I070 I080 高速比较设定与清除 共 4 个硬件比较器 A 共 4 个硬件比较器 B 3. 指令集 3-123 z SE 机种专用之高速比较中断编号与硬件计数比较器之使用对照表 A 群组 B群组 硬件计数器 A1 A2 B1 B2 计数器编号 C243, C245~C248, C251,C252 C244 DHSCS 高速比较中断 I010 I020 I050 I060 高速比较设定与清除 共 2 个硬件比较器 A 共 2 个硬件比较器 B z 硬件计数比较器方块图 硬件计算器 硬件计算器A B 计数值 计数值 A B 硬件比较器A×4 硬件比较器 B×4 A1 A1 A4 A4 B1 B1 B4 B4 设定或清除 设定或清除 设定或清除 设定或清除 中断 中断 中断 中断 I010 I040 I080 7. 软件与硬件计数比较器之不同点说明(不适用于 SE 机种): z 软件计数比较器最多可共享 6 个比较器;两组硬件计数比较器分别提供各 4 个比较器。 z 软件比较到达的时机 Æ 计数值等于比较值,不管是上数或下数 z V1.xx 版韧体之硬件比较到达的时机 Æ 计数状态为上数时,计数值等于比较值+1,计数 状态为下数时计数值等于比较值 -1。 z V2.00 版(含)以上韧体之硬件比较到达的时机 Æ 计数值等于比较值, 不管是上数或下数。 8. SE 机种之软件与硬件计数比较器之不同点说明: z 软件计数比较器最多可共享 6 个比较器; 两组硬件计数比较器分别提供各 2 个比较器。 z 软件比较到达的时机 Æ 计数值等于比较值, 不管是上数或下数 z 硬件比较到达的时机 Æ 计数状态为上数时, 计数值等于比较值+1, 计数状态为下数时计 数值等于比较值 -1。 程序范例 1: 使用软件计数比较器设定或清除 M0 M1000 DCNT C235 K100 DHSCS C235K100 M0 DHSCR C235K100 M0 z 当 M1235 = Off, C235 为上数,则比较设定指令 DHSCS, SET M0 于 C235 的数值由 99 Æ100 时,设定 M0 为 On ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-124 z 当 M1235 = On, C235 为下数,则比较设定指令 DHSCS, SET M0 于 C235 的数值由 101 Æ100 时,设定 M0 为 On) z 比较到达时序图如下: 计数值 上数 下数 时间 程式範例 2: 使用硬件计数比较器设定与清除 M0 M1000 DCNT C251 K100 DHSCS C251K100 M0 DHSCR C251K100 M0 z 当 C251 为上数时,则比较设定指令 DHSCS, SET M0 于 C251 的数值由 100Æ101 z 当 C251 为下数时,则比较设定指令 DHSCS, SET M0 于 C251 的数值由 100Æ99 z 比较到达时序图如下: 计数值 上数 下数 时间 3. 指令集 3-125 程式範例 3: 使用软件计数比较器设定执行中断子程序 M1000 DCNT C235 K100 DHSCS C235K100 I010 EI FEND I010 M1000 Y10 IRET END z C235 的数值由 99 Æ100 将立即进入 I010 中断附程序,Y10=On 备注: z 以上比较到达设定或清除组件的动作,如果指定组件是 Y4 ~ Y377 其中之一时,则实际输 出点设定或清除动作,最多会延迟 1 个扫描周期时间;但如果指定是 S、M 或 Y0~Y3 (SS2/SX2 機種為 Y0~Y5) 组件时,则会立即于比较到达时反应。 9. 中断高速计数值立即搬移功能: z 当 X1、X3、X4 与 X5 输入点当 R 清除功能, 并且使用者未使用相对应的外部输入中断时, 则可利用特 M 来指定触发上/下缘(Off/On)条件(同软件计数器说明); 但如果有使用外部输 入中断时, 则以外部中断触发条件优先选择, 并且当中断发生时, PLC 会自动将计数值搬 移至特 D 中(如下表所示), 并清除高速计数器。 z 计数器 C243 配合 X0 (计数输入), X1 (外部中断 I100/I101) 使用, 当外部中断发生时, 将会 把计数器现在值记录在 D1241, D1240 中, 并将计数器清除为 0。 z 计数器 C244 配合 X2 (计数输入), X3 (外部中断 I300/I301) 使用, 当外部中断发生时, 将会 把计数器现在值记录在 D1243, D1242 中, 并将计数器清除为 0。 z 计数器 C246, C248, C252 配合 X0 (计数输入), X4 (外部中断 I400/I401) 使用, 当外部中断 发生时, 将会把计数器现在值记录在 D1241, D1240 中, 并将计数器清除为 0。 z 计数器 C244, C250, C254 配合 X2 (计数输入), X5 (外部中断 I500/I501) 使用, 当外部中断 发生时, 将会把计数器现在值记录在 D1243 D1242 中, 并将计数器清除为 0。 特 D 编号 D1241, D1240 D1243, D1242 计数器编号 C243 C246 C248 C252 C244 C250 C254 外部中断 X1(I100/I101) X4(I400/I401) X3(I300/I301) X5(I500/I501) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-126 程式範例 4: 中断高速计数值立即搬移 M1000 DCNT C243 K100 EI FEND I101 M1000 IRET END DMOV D1240 D0 z C243 计数中,外部输入中断由 X1(I101)进入,立即执行 I101 中断子程序,C243 计数值立即搬 移至 D0 后 RST C243。 3. 指令集 3-127 API 指令码 操作数 功能 54 D HSCR 比较复位(高速计数器) 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * ** S2 * D * * * * DHSCR: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:比较值 S2:高速计数器编号 D:比较结果 指令说明: 1. 高速计数器是以中断插入方式由对应的外部输入端 X0~X17 输入的计数脉冲, 当由DHSCR 指令 S2 所指定的高速计数器编号产生+1 或 -1 变化时, DHSCR 指令会立即作比较动作, 当高速计数 器现在值等于由 S1 所指定的比较值时, 由 D 所指定的装置会变为 Off, 之后即使比较结果变 成不相等, 该装置仍然保持 Off 状态。 2. 若 D 所指定的装置为 Y0~Y3 时, 当比较值与高速计数器现在值相等, 会实时输出到外部 Y0~Y3 输出端(将指定的 Y 输出清除), 其余的 Y 装置会受扫描周期影响。而装置 M, S 均为立即 动作, 不受扫描周期的影响。 3. D 操作数可指定与 S2 相同高速计数器编号 C232~ C254。(SS2/SA2/SE 不支持 C232 计数器) 4. 高速计数器分为软件计数器与硬件计数器两种。其列表及说明请参考程序篇 2.9 节。而比较器也 分为软件计数比较器与硬件计数比较器两种。 5. 软件与硬件计数比较器说明, 请参考 API53 DHSCS。 6. 程序范例请参考 API53 DHSCS 程序范例 1, 程序范例 2。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-128 API 指令码 操作数 功能 55 D HSZ 区间比较(高速计数器) 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * ** S2 * * * * * * * * ** S * D * * * DHSZ: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:区间比较下限值 S2:区间比较上限值。 S: 高速计数器编号。 D:比较结果 (占用三个 连续的位装置)。 指令说明: 1. 区域比较下限值 S1 必须 ≦ 区域比较上限值 S2 。 2. 若 D 所指定的装置为 Y0~Y3 时, 当区域比较结果输出到外部 Y0~Y3 输出端, 其余的 Y 装置会 受扫描周期影响。而装置 M, S 均为立即动作, 不受扫描周期的影响。 3. 高速计数器分为软件计数器与硬件计数器两种。其列表及说明请参考程序篇 2.9 节。而比较器也 分为软件计数比较器与硬件计数比较器两种。 4. DHSZ 指令软件计数比较器说明: z 软件计数器与软件计数比较器的使用对照表 计数器编号 C232 C233 C234 C235 C236 C237 C238 C239 C240 C241 C242 高速比较设定清除 共享 6 个软件比较器 z 软件计数比较器方块图 软件计数器C232 计数值 软比较器件 x6 设定或清除1 设定或清除 2 设定或清除 6 软件计数器C233 软件计数器C242 z 软件区域比较器提共有 6 组专用区域比较器, 其区域比较指令 6 次的使用次数限制, 不受 DHSCS 或 DHSCR 指令使用次数所影响。 z SS2/SA2/SE 机种不支持软件计数器 C232。 3. 指令集 3-129 5. DHSZ 指令硬件计数比较器说明: z 硬件计数器与硬件计数比较器的使用对照表(不适用于 SE 机种) A 群组 B群组 硬件计数器 A1 A2 A3 A4 B1 B2 B3 B4 计数器编号 C243, C245~C248, C251,C252 C244, C249, C250, C253, C254 高速比较设定与清除 共 4 个硬件比较器 A 共 4 个硬件比较器 B z SE 机种专用之硬件计数器与硬件计数比较器之使用对照表 A 群组 B群组 硬件计数器 A1 A2 B1 B2 计数器编号 C243, C245~C248, C251,C252 C244 高速比较设定清除 共 2 个硬件比较器 A 共 2 个硬件比较器 B z 硬件计数比较器方块图 硬件计数器A 硬件计数器B 计数值 A 计数值 B 硬件比较器Ax4 硬件比较器Bx4 设定或清除A1 设定或清除B1 I010 A1中断 I010 B1中断 I010 B4中断 I040 A4中断 设定或清除A4 设定或清除B4 z 两组硬件区域比较器分别只能被使用一次, 并且也会分别占用掉两个硬件比较器, 举例: 当 DHSZ 指令使用硬件比较器 A 时, 此指令就会占用两个比较器 A3 与 A4, 所以 DHSCS 或 DHSCR 就只能再使用硬件比较器 A 两个。 z 当 DHSCS 已经使用 I030 或 I040 比较中断时, 则高速区域比较指令 DHSZ, 就不能再使用 硬件比较器 A3 与 A4; 相同原理, 当 DHSCS 已经使用 I070 或 I080 比较中断时, 则高速区 域比较指令 DHSZ, 也就不能再使用硬件比较器 B3 与 B4; 当有重复使用的文法检查错误 发生时, 其错误位置会指示在后写的指令。 z 当 SE 机种使用 DHSZ 指令指定使用硬件比较器之后,将会一次占用两个硬件比较器,此 时 DHSCS 与 DHSCR 指令就不能再重复使用到硬件比较器。 程序范例 1: 当比较结果指定装置为 Y0 时,Y0~Y2 会被自动占用。当 DHSZ 指令执行时及高速计数器 C246 在有 计数输入时,当计数值到达上下限值时,Y0~Y2 其中的一个将会 On。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-130 M1000 DCNT C246 K20000 DHSZ K1500 K2000 C246 Y0 Y0 Y1 Y2 C246 K1500 Y0 On现在值 时 为< , K1500 C246 K2000 Y1 On < ,< 现在值 时 为 C246 K2000 Y2 On > ,现在值 时 为 程序范例 2: 1. 使用 DHSZ 指令来做高低速停止控制, C251 为 AB 相高速计数器, 计数现在值为 0 时, 当 X10=On 时, DHSZ 指令比较计数现在值≦K2000 时, Y10 为 On。 2. 当条件接点 X10=Off 时, Y10~Y12 被清除为 Off。 X10 RST C251 ZRST Y10 Y12 M1000 DCNT C251 K10000 X10 DHSZ K2000 K2400 C251 Y10 3. 动作时序图 3. 指令集 3-131 2000 2400 变速传动设 备的速度 0 X10 Y10 Y11 Y12 高速前进 低速前进 停止 C251 计数器 的现在值 0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-132 API 指令码 操作数 功能 56 SPD 速度检测 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * * * * * * * * *** D * * * SPD:7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:外部脉冲输入端 S2:接收脉冲的时间 (ms) D:检测结果 t (占用 5 个连续装置) 指令说明: 1. SPD 指令会在 S2 (ms)指定的时间内对 S1 指定的输入点接收的脉冲个数进行计数并且把计数值 存入 D 指定的寄存器内。 2. ES2/EX2 机种 V0.92 版之前版本, S1 指定外部脉冲的输入端: 可使用输入点 X0, X2 X1 (X0/X1) X6, X7 输入模式 单相输入(支持 1 倍频) AB 相输入(支持 4 倍频) 单相输入(支持 1 倍频) 最大量测频率 100kHz 5kHz 10kHz 3. ES2/EX2 机种 V1.00 版之后版本, S1 指定外部脉冲的输入端: 可使用输入点 X0, X2 X1(X0/X1), X3(X2/X3), X5(X4/X5), X7(X6/X7) X4, X6 输入模式 单相输入(支持 1 倍频)AB相输入(支持 4 倍频) 单相输入(支持 1 倍频) 最大量测频率 100kHz 5KHz 10KHz 4. SS2/SA2/SE/SX2 机种, S1 指定外部脉冲的输入端: 可使用输入点 X0, X2 X1(X0/X1), X3(X2/X3), X5(X4/X5), X7(X6/X7) X4, X6 输入模式 单相输入(支持 1 倍频)AB相输入(支持 4 倍频) 单相输入(支持 1 倍频) 最大量测频率 SA2/SE/SX2: 100kHz SS2: 20kHz 除了 SA2/SE 的 X1(X0/X1) 为 30kHz 之外, 其余皆 5KHz 10KHz 5. D 占用 5 个连续的寄存器,D+1, D 为前一次脉冲的检测值,D+3, D+2 为当前脉冲的累计值, D+4 为计时的剩余时间,最大可达 32767 ms。 3. 指令集 3-133 6. 当本指令所指定的 X 输入点时, 该点不可再被使用当成高速计数器的脉冲输入端或当成外部中 断插入信号。 7. ES2/EX2 机种于 V0.92 版之前版本, 其指定的 X 输入点为 X0, X2, X6, X7 时, 输入模式为单相 输入, 若指定的 X 输入点为 X1 时, 会占用 X0, 形成输入模式为 AB 相输入。 8. ES2/EX2 机种于 V1.00 版之后版本与 SS2/SA2/SE/SX2 机种, 其指定的 X 输入点为 X0, X2, X4, X6 时, 输入模式为单相输入, 若指定的 X 输入点为 X1, X3, X5, X7 时, 会分别占用 X0, X2, X4, X6, 形成输入模式为 AB 相输入。 9. 本指令主要用于求出回转速度的比例值,而测得的的结果 D 的值与回转速度是成比例,可以用下 面的公式求得电机转速。 N: 转速。 n: 旋转设备转一圈所产生的脉冲数。 N= () ()rpmnt D 310060 × t: 被 S2 指定的检测时间(ms)。 程序范例: 当 X7=On 时, D2 计算由 X0 所输入的高速脉冲, 当计时 1000ms 之后自动将 D2 现在值存放于 D1, D0 当中, 并重新由 0 计算。 X7 SPD X0 K1000 D0 X7 X0 1000 1000ms 1000ms D2:现在值 D0:检测值 D2 内容值 D4 内容值 D4: (ms)剩余时间 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-134 API 指令码 操作数 功能 57 D PLSY 脉冲输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * PLSY: 7steps DPLSY: 13steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:脉冲输出频率 S2:脉冲输出数目 D:外部脉冲输出装置 (Y0, Y1, Y2, Y3) 指令说明: 1. S1 指定脉冲输出频率设定范围: 频率输出范围参照表 输出 Y0, Y2 Y1, Y3 16 位指令 SS2: 0~10,000Hz ES2/EX2/SA2/SE/SX2: 0~32,767 Hz 0~10,000Hz 频率输 出范围 32 位指令 SS2: 0~10,000Hz ES2/EX2/SA2/SE/SX2: 0~100,000Hz 0~10,000Hz 频率设定<= 0Hz 为不输出, 若超出最高输出频率以最高频率输出 2. S2 指定脉冲输出数目, 16 位指令可指定范围为 -32768~32,767 个, 32 位指令可指定范围为 -2,147,483,648~2,147,483,647 个。当指定脉冲输出数目设定为 0 时, 为正方向不限脉冲个数连 续输出。 3. D1220/D1221=K1 或 K2, S2 正负号代表正反方向。 4. PLSY 指令脉冲输出模式列表如下(不适用于 SE 机种): D1220 D1221 模式 输出 K0 K1 K2 K3# K0 K1 K2 K3# Y0 Pulse Pulse A CW Y1 Pulse Dir B Pulse Y2 Pulse Pulse A CCW Y3 Pulse Dir B Pulse Pulse: 脉冲 A: A 相脉冲 CW: 正转脉冲 Dir: 方向 B: B 相脉冲 CCW: 反转脉冲 # : 当 D1220=K3 时, D1121 的设定无效。 5. SE 机种 PLSY 指令脉波输出模式列表如下: D1220 D1221 模式 输出 K0 K1 K3# K0 K1 K3# 3. 指令集 3-135 Y0 Pulse Pulse CW Y1 Pulse Dir Pulse Y2 Pulse Pulse CCW Y3 Pulse Dir Pulse 6. PLSY 指令执行时, 指定 S1 脉冲输出频率由 D 脉冲输出装置输出 S2 脉冲输出数目。 7. 脉冲输出完成标志: 输出 Y0 Y1 Y2 Y3 完成标志 M1029 M1030 M1102 M1103 立即暂停标志 M1078 M1079 M1104 M1105 0.01~10Hz 输出标志 M1190 M1191 M1192 M1193 z 当脉冲输出模式 Y0 / Y1 指定为 Pulse / Dir (D1220=K1) 输出完成时, 完成标志 M1029 = On。 z 当脉冲输出模式 Y2 / Y3 指定为 Pulse / Dir (D1221=K1) 输出完成时, 完成标志 M1102 = On。 z 当脉冲输出模式 Y0 / Y2 指定为 CW / CCW (D1220=K3) 输出完成时, 完成标志 M1029 = On。 z 脉冲输出结束标志 M1029, M1030, M1102, M1103 在脉冲输出完毕后, 须由使用者将其清 除。 z 当 PLSY, DPLSY 指令 Off 时, 则脉冲输出结束标志都会自动变为 Off。 z M1190~M1192=On 时, 启动 PLSY Y0~Y3 高速输出可输出 0.01~10Hz。 8. 当 PLSY 指令执行后, Y 开始作脉冲输出, 此时, 若改变脉冲输出数目 S2, 对目前的输出是没有 影响的。若要改变脉冲输出数目, 须先将 PLSY 指令停止, 然后再改变脉冲输出数目。 9. S1 可在 PLSY 指令执行时更改。更改发生作用的时间, 是在程序执行到被执行的 PLSY 指令时 更改。 10. 脉冲输出的 Off Time 跟 On Time 比例为 1: 1。 11. S1, S2 操作数使用 F 装置, 仅可使用 16 位指令。 12. 本指令于程序中使用次数并无限制, 但是同时间可有 4 个指令被执行。当一个程序中有好几个高 速脉冲输出指令 (PLSY, PWM, PLSR) 都是针对 Y1 做输出, 则 PLC 只会以先执行的指令作设 定及输出。 程序范例: 1. 当 X0=On 时,Y0 输出 200 个 1KHZ 的频率脉冲,脉冲输出完毕后 M1029=On, 触发 Y20=On 。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-136 2. 当 X0=Off 时,Y0 的脉冲输出会马上停止。当 X0 再从 Off 变为 On 时,输出脉冲会重新开始。 X0 PLSY K1000 K200 Y0 M1029 Y20 123 200Y0输出 0.5毫秒 1毫秒 补充说明: 1. 标志信号说明: M1029: Y0 脉冲输出完毕后,M1029= On。 M1030: Y1 脉冲输出完毕后,M1030= On。 M1102: Y2 脉冲输出完毕后,M1102= On。 M1103: Y3 脉冲输出完毕后,M1103= On M1078: Y0 立即暂停旗标 M1079: Y1 立即暂停旗标 M1104: Y2 立即暂停旗标 M1105: Y3 立即暂停旗标 M1190 M1190=On 时,启动 PLSY Y0 高速输出,可输出频率:0.01~10Hz(SE 机种不支持) M1191 M1191=On 时,启动 PLSY Y1 高速输出,可输出频率:0.01~10Hz(SE 机种不支持) M1192 M1192=On 时,启动 PLSY Y2 高速输出,可输出频率:0.01~10Hz(SE 机种不支持) M1193 M1193=On 时,启动 PLSY Y3 高速输出,可输出频率:0.01~10Hz(SE 机种不支持) M1347: Y0 脉冲输出完成自动复位标志 M1348: Y1 脉冲输出完成自动复位标志 M1524: Y2 脉冲输出完成自动复位标志. M1525: Y3 脉冲输出完成自动复位标志 M1538: Y0 已暂停显示标志 M1539: Y1 已暂停显示标志 M1540: Y2 已暂停显示标志 M1541: Y3 已暂停显示标志 2. 特殊 D 寄存器说明: D1030: Y0 目前输出的脉冲个数 (Low word) D1031: Y0 目前输出的脉冲个数 (High word) 3. 指令集 3-137 D1032: Y1 目前输出的脉冲个数 (Low word) D1033: Y1 目前输出的脉冲个数 (High word) D1336: Y2 目前输出的脉冲个数 (Low word) D1337: Y2 目前输出的脉冲个数 (High word) D1338: Y3 目前输出的脉冲个数 (Low word) D1339: Y3 目前输出的脉冲个数 (High word) D1220: Y0,Y1 输出模式选择,请参考指令说明。 D1221: Y2,Y3 输出模式选择,请参考指令说明。 3. M1347, M1348, M1524, M1525 动作补充说明: 若启动 M1347,M1348, M1524, M1525, 则当脉冲输出指令 PLSY 执行完毕后, 将自动作复位的 动作, 亦即 PLSY 指令前的启动接点不需再由 Off→On 的动作, 若 PLC 扫描到该指令(假设该指 令启动接点为 True), 仍会产生脉冲输出动作。由于 PLC 是在 END 指令执行后, 才进行 M1347, M1348, M1524, M1525 的判断, 当判断为输出完毕后会自动关闭输出。因此 PLSY 指令脉冲输 出完毕后, 若 PLSY 指令为连续执行, 则下一次脉冲串的输出会有一个扫描时间的延迟。此功能 通常被应用于副程序或中断程序中, 有需要启动高速脉冲输出指令时。范例如下: 范例 1: M1000 EI FEND I 001 IRET M1000 DPLSY K1000 K1000 Y2 I 101 IRET SET M1524 END DPLSY K1000 K1000 Y0 SET M1347 说明: a) 中断 X0 每触发一次 Y0 就会输出 1000 个脉冲;中断 X1 每触发一次 Y2 就会输出 1000 个脉 冲。 b) 当用中断 X 触发 Y 脉冲输出时,此次脉冲输出完毕与下次中断 X 的触发输出时间至少要有一ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-138 个扫描周期的时间间隔。 范例 2: X1 M1347 PLSY K1000 K1000 Y0 X2 END 说明: 当 X1 及 X2 都为 On 时,Y0 的输出脉冲会一直持续。不过 Y0 的输出在每输出 1000 个脉冲之后 会有一个短暂的停顿(约一个扫描周期),然后再输出下一次的 1000 个脉冲。 3. 指令集 3-139 API 指令码 操作数 功能 58 PWM 脉冲宽度调制 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * PWM: 7steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:脉冲输出宽度 S2:脉冲输出周期 D: 脉冲输出装置(只能指定 Y0, Y1, Y2 ,Y3 ) 指令说明: 1. S1 脉冲输出宽度指定 t, S2 脉冲输出周期指定为 T, 但 S1 ≦ S2。(SE 机种不适用) 脉波输出宽度/周期范围参照表 输出 Y0 Y2 Y1 Y3 t 范围 0~1000 0~32767 脉波输出宽度 /周期范围 T 范围 1~1000 1~3,2767 单位切换旗标 M1112 M1113 M1070 M1071 高速输出启动旗标 M1116=On(单位 1us) M1117=On(单位 10us) 2. SE 机种专用, S1 脉波输出宽度指定 t, S2 脉波输出周期指定为 T, 但 S1 ≦ S2。 脉波输出宽度/周期范围参照表 输出 Y0 Y1 Y2 Y3 t 范围 0~1000 0~32767 脉波输出宽度 /周期范围 T 范围 1~1000 1~32767 单位切换旗标 M1112 M1070 M1113 M1071 3. D 脉冲输出装置: Y0, Y1, Y2 ,Y3 4. 本指令于程序中使用次数并无限制, 但是同时间可有 2 个指令被执行。当一个程序中有好几个高 速脉冲输出指令〈PLSY, PWM, PLSR〉都是针对 Y1 做输出, 则 PLC 只会以先执行的指令作设 定及输出。 5. 当 S1≦0 或 S2≦0 或 S1>S2 时视为错误(但 M1067 及 M1068 不会 On), 脉冲输出装置无输出, 当 S1=S2 频率波输出装置一直为 On。 6. 脉冲输出宽度 S1 , 脉冲输出周期 S2 可在 PWM 指令执行时更改。 7. 当 M1112=On, Y0 脉冲输出时间单位为 10μs, 当 M1112=Off, Y0 脉冲输出时间单位为 100μs。 8. 当 M1070=On, Y1 脉冲输出时间单位为 100μs, 当 M1070=Off, Y1 脉冲输出时间单位为 1ms。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-140 9. 当 M1113=On, Y2 脉冲输出时间单位为 10μs, 当 M1113=Off, Y2 脉冲输出时间单位为 100μs。 (SE 机种不适用) 10. SE 机种专用, 当 M1113=On, Y2 脉波输出时间单位为 100μs, 当 M1113=Off, Y2 脉波输出时间 单位为 1ms。 11. 当 M1071=On, Y3 脉冲输出时间单位为 100μs, 当 M1071=Off, Y3 脉冲输出时间单位为 1ms。 12. 当 M1116=On, 则 M1112 与 M1113 切换功能无效, Y0 与 Y2 的脉波输出时间单位同时为 1μs。 支持此功能旗标机种与版本(含以上)为 ES2 v3.00、SS2 v2.80、SA2 SE v2.60 及 SX2 v2.40。 13. 当 M1117=On, 则 M1070 与 M1071 切换功能无效, Y1 与 Y3 的脉波输出时间单位同时为 10μs。 支持此功能旗标机种与版本(含以上)为 ES2 v3.00、SS2 v2.80、SA2 SE v2.60 及 SX2 v2.40。 14. 当 SS2 机种启动此 M1116 高速输出功能时, 请务必注意最小输出宽度时间最好大于 20, 否则因 Y0, Y2 的硬件频宽限制, 其输出结果将无法得到正确的时间宽度。 程序范例: 当 X0=On 时, Y1 输出以下脉冲, 当 X0=Off 时, Y1 输出也变成 Off。 X0 PWM K1000 K2000 Y1 Output Y1 t=1000ms T=2000ms 标志信号及特殊寄存器说明: 1. 标志位说明 M1070: PWM 指令, Y1 脉冲输出单位时间切换, 当 M1070 Off 时, 为 1ms, M1070 On 时, 为 100µs M1071: PWM 指令, Y3 脉冲输出单位时间切换, 当 M1070 Off 时, 为 1ms, M1070 On 时, 为 100µs M1112 PWM 指令, Y0 脉冲输出单位时间切换, 当 M1112 Off 时, 为 100µs SE 为 1ms), M1070 On 时, 为 10µs(SE 为 100µs) M1113 PWM指令, Y2脉冲输出单位时间切换, 当M1113 Off时, 为100µs, M1070 On 时, 为 10µs M1116 PWM 指令, M1116=On, 则 Y0, Y2 脉波输出单位时间同为 1µs, M1112 与 M1113 切换功能无效。 M1117 PWM 指令, M1117=On, 则 Y1, Y3 脉波输出单位时间同为 10µs, M1070 与 M1071 切换功能无效。 2. 特殊寄存器说明: D1030: Y0 目前输出的脉冲个数 Low word 3. 指令集 3-141 D1031: Y0 目前输出的脉冲个数 High word D1032: Y1 目前输出的脉冲个数 Low word D1033: Y1 目前输出的脉冲个数 High word D1336: Y2 目前输出的脉冲个数 Low word D1337: Y2 目前输出的脉冲个数 High word D1338: Y3 目前输出的脉冲个数 Low word D1339: Y3 目前输出的脉冲个数 High word ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-142 API 指令码 操作数 功能 59 D PLSR 附加减速脉冲输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** S3 * * * * * * * * *** D * PLSR::9steps DPLSR:17steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:脉冲输出最大频率 (Hz) S2: 总的脉冲输出个数 S3:加减速时间(ms) D:脉冲输出装置 (只能指定 Y0, Y1, Y2 ,Y3 ) (SE 机种不支持输出 Y1, Y3) 指令说明: 1. S1 指定脉冲输出频率设定范围: 频率输出范围参照表 输出 Y0, Y2 Y1, Y3 16 位指令 SS2: 6~10,000Hz ES2/EX2/SA2/SE/SX2: 6~32,767Hz 6~10,000Hz 频率 输出 范围 32 位指令 SS2: 6~10,000Hz ES2/EX2/SA2/SE/SX2: 6~100,000Hz 6~10,000Hz 若设定< 6Hz 输出脉冲, 将以 6Hz 输出; 若是超出最高输出频率, 将以最高频率输出 2. 指定输出装置为 Y0, Y2 时, Y0 输出启始/结束频率为 D1340, Y2 输出启始/结束频率为 D1352。 3. 指定输出装置为 Y1, Y3 时, 启始/结束频率为 0Hz。 4. D1220/D1221=K1, S2 正负号代表正反方向。 5. PLSR 指令脉冲输出模式列表如下: D1220 D1221 模式 输出 K0 K1 K0 K1 Y0 Pulse Pulse Y1 Pulse Dir Y2 Pulse Pulse Y3 Pulse Dir Pulse: 脉冲 Dir: 方向 6. 指定输出装置为 Y0,Y2 时, 脉冲输出模式指定为 Pulse (D1220=K0, D1221=K0), S2 指定脉冲 输出数目, 16 位指令可指定范围为 1~32,767 个, 32 位指令可指定范围为 2,147,483,647 个。 3. 指令集 3-143 7. 指定输出装置为 Y0,Y2 时, 脉冲输出模式指定为 Pulse/Dir (D1220=K1, D1221=K1) S2 指定脉 冲输出数目, 16 位指令可指定范围为 1~32,767 个或-1~-32,768 个, 32 位指令可指定范围为 1~2,147,483,647 个或-1~-2,147,483,648 个。 8. 指定输出装置为 Y1,Y3 时, S2 指定脉冲输出数目, 16 位指令可指定范围为 1~32,767 个, 32 位指 令可指定范围为 2,147,483,647 个。 9. S3 加减速时间(ms), 最小 20ms。当指定输出装置为 Y1,Y3 时, 加速时间与减速时间相同, 不可 分开设定。当指定输出装置为 Y0,Y2 时, M1348=Off(Y0) , M1535=Off(Y2), 加速时间与减速时 间相同; 当 M1348=On, M1535=On, S3 为加速时间(ms) , Y0 减速时间由 D1348 设定, Y2 减速 时间由 D1349 设定。 10. PLSR 指令为附加减速功能的脉冲输出指令。脉冲从静止状态到目标速度作加速动作, 快到达目 标距离时, 作减速动作, 到达目标距离时, 脉冲停止输出。 11. 当 M1257=Off 时, Y0 及 Y2 加减速曲线为等速加减速。当 M1257=On 时, Y0 及 Y2 加减速曲线 为 S 形加减速。Y1 及 Y3 加减速曲线固定为等速加减速。 12. 当 PLSR 指令执行后, Y 开始作脉冲输出, 此时, 若改变 S1, S2, S3, 对目前的输出是没有影响的。 若要改变 S1, S2, S3, 须先将 PLSR 指令停止, 然后再修改。 13. 脉冲输出完成标志: 输出 Y0 Y1 Y2 Y3 完成标志 M1029 M1030 M1102 M1103 立即暂停标志 M1078 M1079 M1104 M1105 z 当脉冲输出模式 Y0/Y1 指定为 Pulse/Dir(D1220=K1) 输出完成时, 完成标志 M1029 = On。 z 当脉冲输出模式 Y2/Y3 指定为 Pulse/Dir(D1221=K1) 输出完成时, 完成标志 M1102 = On。 z 当 PLSR, DPLSR 指令重新启动时, 则脉冲输出结束标志都会自动变为 Off。 14. 在每段加速时, 因为每个频率乘以时间之后的脉冲数目不一定为整数, PLC 会取整数输出, 因此 每一个区段的时间并无法刚好都相等, 会有些误差, 误差值大小决定于频率的大小及相乘后舍 去的小数点值大小。PLC 会将脉冲输出不足的部分都补到目标频率那最后一个区段, 以确保输出 脉冲的个数正确。 15. 本指令于程序中使用次数并无限制, 但是同时间可有 4 个指令被执行。当一个程序中有好几个高 速脉冲输出指令 (PLSY, PWM, PLSR) 都是针对 Y1 做输出, 则 PLC 只会以先执行的指令作设 定及输出。 16. 当指令指定参数错误时, 将以最大或最小值为默认值输出. 程序范例: 1. 当 X0=On 时,PLSR 指令以 Y0 为输出,脉冲输出的最大频率值为 1,000Hz,D10 的值为欲输 出的全部脉冲总数,加减速时间各为 3,000ms。该指令的加减速动作各分为 20 步,输出频率以 每步 1,000/20 Hz 的方式增加或减少,每步的时间为 3000/20 ms。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-144 2. X0 变成 Off 时输出被中断,X0 再 On 时,脉冲输出计数 D1030, D1031 将继续累积输出。 3. 若是 Y0, Y2 输出, 则加减速区段为 20 段。若是 Y1, Y3 输出, 则加减速区段为 10 段。 X0 PLSR K1000 D10 K3000 Y0 脉冲速度(Hz) 每一次脉冲输出的时 间间隔量都固定是加 减速时间 的S 1/203 目标速度 1000Hz 每一次频率的变 化量都固定为最 高速 的S 1/201 时间(S)减速时间 (S )3 3000ms 以下 减速时间 (S )3 3000ms 以下 11 22 33 44 55 66 77 ...... 19 19 2020 20 段变速 20 段变速 S 2 输出脉冲数 标志信号及特殊寄存器说明: 1. 标志信号说明: M1029, M1030, M1102, M1103, M1078, M1079, M1104, M1105, M1538, M1539, M1540, M1541, M1347, M1348, M1524, M1525, 请参考 PLSY 指令标志信号说明。 M1108: 当 M1108= On, Y0 输出将减速停止, M1108= Off, Y0 未输出个数继续输出 M1109: 当 M1109= On, Y1 输出将减速停止, M1109= Off, Y1 未输出个数继续输出 M1110: 当 M1110= On, Y2 输出将减速停止, M1110= Off, Y2 未输出个数继续输出 M1111: 当 M1111= On, Y3 输出将减速停止, M1111= Off, Y3 未输出个数继续输出 M1156 当 M1156=On 时, 启动 X4 (I400/I401) 屏蔽对标中断发生立即减速暂停 Y0 高 速输出 M1257 高速脉冲输出 Y0, Y2 加减速为 S 曲线之启动旗标 M1158 当 M1158=On 时, 启动 X6 (I600/I601) 屏蔽对标中断发生立即减速暂停 Y2 高 速输出 M1534: Y0 减速时间独立设定标志, 须搭配 D1348 使用 M1535: Y2 减速时间独立设定标志, 须搭配 D1349 使用 2. 特殊寄存器说明: D1030~D1033, D1336~D1339, D1220, D1221, 请参考 PLSY 指令特殊寄存器说明。. D1026: M1156=On, Y0 屏蔽对标脉冲输出个数 (LOW WORD) 3. 指令集 3-145 D1027: M1156=On, Y0 屏蔽对标脉冲输出个数 (HIGH WORD) D1135: M1158=On, Y2 屏蔽对标脉冲输出个数 (LOW WORD) D1136: M1158=On, Y2 屏蔽对标脉冲输出个数 (HIGH WORD) D1232: Y0 对标后减速停止脉冲输出个数 (LOW WORD). D1233: Y0 对标后减速停止脉冲输出个数 (HIGH WORD). D1234: Y2 对标后减速停止脉冲输出个数 (LOW WORD). D1235: Y2 对标后减速停止脉冲输出个数 (HIGH WORD). D1340 第一组脉冲 CH0 (Y0,Y1)输出, 启始/结束频率 D1348: CH0(Y0, Y1) 脉冲输出, 当 M1534 = On,减速时间独立设定 D1349: CH1(Y2, Y3) 脉冲输出, 当 M1535 = On,减速时间独立设定 D1352 第二组脉冲 CH1 (Y2,Y3) 输出, 启始/结束频率 3. 对标功能动作如下说明: (下图以 Y0 为示意图) 频率 启动 结束频率/ D1340 目标频率 X4外部中断产生 X4中断一直未发生 时间 个数 D1348(减速时间) 对标后行走脉冲个数 加速时间 D1348(减速时间) z 当 SET M1156 起动, Y0 对应外部输入点 X4 为对标功能(Mark); 当 SET M1158 起动, Y2 对应外部输入点 X6 为对标功能(Mark)。 z 当启动对标功能时, 加减速时间自动分离, 使用者可以自行设定加速时间 S3 与减速时间 D1348(或 D1349), 设定范围 20ms~32767ms。 z 当启动对标功能并且对标后输出个数不为 0(即 D1232 与 D1234 不为 0), PLC 将会于对标 后执行指定输出脉波个数; 但若是对标后输出个数小于减速时间所设定之个数时, PLC 将 修改 D1232(或 D1234)为减速时间的输出个数; 若是对标后输出个数大于总脉波输出个数 的一半个数时, PLC 将会自动修改 D1232(D1234)为小于总脉波输出个数的一半个数。 z 对标后输出个数 D1232(或 D1234)为 32 位数值,预设为 0 时表示不启动此功能。 z Y0,Y2 对标相关参数: 相关参数 输出 对标 特 M 外部 输入点 减速时间 特 D 屏蔽对标脉冲 输出个数 对标后输出脉 冲个数 减速暂停 标志 已暂停标 志 Y0 M1156 X4 D1348 D1026, D1027 D1232, D1233 M1108 M1538ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-146 Y2 M1158 X6 D1349 D1135, D1136 D1234, D1235 M1110 M1540 范例 1: M0 Y0 M0 M1000 I401 SET M1156 DMOV K10000 D1232 DPLSR K100000 K1000000 K20 FEND INCP D0 IRET END 说明: z 当 M0 由 Off 变 On 时, Y0 开始输出脉冲, 外部输入中断 X4 进入, 将会开始输出 10000 个 脉冲后停止输出, 且 M1108 暂停减速中状态标志 On。如 X4 中断都未发生, 则脉冲输出 1,000,000 才停止输出。 z 当对标后减速至停止时, M1538 已暂停旗标将为 On, 此时若要将输出剩余脉冲个数输出完 毕, 只需将 M1108 设为 Off, 即可再重新输出。 4. 遮蔽功能(Mask)动作如下: (下图以 Y0 为示意图) 频率 目标频率 X4中断一直未发生 时间 个数 X4 中断产生无效 指定屏蔽个数 D1348 ( )减速时间 D1026,D1027 (32bits) D1232~D1233 对标后行走脉冲个数 X4等待 外部中断产生 X4外部中断产生 启动 结束频率/ D1340 ‹ 当 D1026 与 D1027 值不为 0 时, 会启动 Y0 输出遮蔽(Mask)功能, 当 D1026 与 D1027 值为 0 时, 会关闭遮蔽功能; 若运算无法达到目标速度输出, PLC 自动会清除 D1026 (32bits) (即关闭此 功能); 若遮蔽个数设定在加速区段内, PLC 将自动修改 D1026 个数为超过加速区段的输出个数; 3. 指令集 3-147 若遮蔽个数设定在减速区段内, 则 PLC 将自动修改 D1026 个数为减速区段(不含)之前的输出个 数。Y2 输出遮蔽功能设定与 Y0 设定说明相同。 范例 2: M0 Y0 M0 M1000 I401 SET M1156 DMOV DPLSR K100000 K1000000 K20 FEND INCP D0 IRET END DMOV K10000 D1232 K50000 D1026 说明: z 当 M0 由 Off 变 On 时, Y0 开始输出脉冲, 等待输出个数超过 50,000 个后, 外部输入中断 X4 进来, 将会开始行走 10,000 个脉冲后停止输出, 且 M1108 减速中状态标志为 On。如 X4 中断都未发生, 则脉冲输出 1,000,000 才停止输出。 z 如果脉冲输出未达 50,000 个, 外部输入中断 X4 进来, 将不会有减速停止动作产生。 补充说明: z 当对标(Mark)后输出个数功能与遮蔽(Mask)功能同时启动时, PLC 内部将会先检查遮蔽个 数是否符合设定范围值, 接着才会再检查对标后输出个数是否符合设定范围值; 若是这些 设定值在执行指令过后有被修改过,亦即表示先前的设定值超出范围。 z 当 PLSR 指令与定位指令(具有加减速输出脉波功能)被启动后, 使用者可利用 D1127(32bit 数值)查看加速区段输出个数, 以及 D1133(32bit 数值)查看减速区段输出个数。 z 在无加减速时间设定时,可用一段速输出脉冲。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-148 API 指令码 操作数 功能 60 IST 手动/自动控制 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D1 * D2 * IST: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:起始输入装置编号 (操作数 S 将占用 8 个连续的装置) D1 :自动运行模式下指定使用状态步进 点的最小编号。 D2:自动运行模式下指定使用状态步进点的最大编号。 指令说明: 1. 指令 IST 为一特定的步进阶梯控制流程初始状态的便利指令,配合特殊辅助继电器形成便利的 自动控制命令。 2. D1 及 D2 的范围为 S20~S911 并且 D1 < D2。 3. IST 指令在程序中只能使用一次。 程序范例 1: M1000 IST X20 S20 S60 1. 運轉模式 S: X20:手动操作 X21:原点回归操作 X22:步进操作 X23:一次循环操作 X24:连续操作 X25:原点回归启动 X26:连续操作启动 X27:连续操作停止 2. .当 IST 指令执行时,下表所示的特殊辅助继电器会自动切换。 M1040:移动禁止 M1041:移动开始 M1042:脉冲状态 M1047:STL 监视有效 S0:手动操作初始状态步进点 S1:原点回归初始状态步进点 S2:自动操作初始状态步进点 3. 当使用 IST 指令时,S10~S19 用于原点回归操作,此状态下步进点不能当成一般的步进点使用。 然而使用 S0~S9 步进点时,S0~S2 三个状态点分别被初始化为手动操作、原点回归操作、自动 操作用。因此在程序中必须先写这三个状态步进点的三个电路。 4. 当切换到 S1(原点回归)模式时,如果 S10~S19 有任何一点 On,那么原点回归将不会有任何 动作产生。 3. 指令集 3-149 5. 当切换到 S2(自动操作)模式时,如果 D1 ~D2 之间的 S 点有任何一点 On 或者 M1043=On, 那么自动操作将不会有任何动作产生。 程序范例 2:机械手臂控制(使用 IST 指令): 1. 动作要求:在此列中,要求分开大小两种皮球,并搬到不同的箱子存放。 2. 机械手臂动作:下降、夹取、上升、右移、下降、释放、上升、左移,依序完成皮球的搬运。 3. I/O 装置 大小 大小 球 传感器 X0 右限X2 (大球)左限X1 Y0 Y1 Y2Y3上限X4 下限X5 右限 小 X3 ( 球) 4. 运行模式 手动操作: 用单个按钮接通和切断负载的模式。 原点回归: 按下原点回归按钮, 使机械自动回归到原点的模式。 自动运行(单步运行/一次运行/连续运行): z 单步运行: 每次按自动启动按钮, 前进一个步进。 z 一次运行: 在原点位置按下自动启动按钮, 进行一次循环的自动运行并在原点停止。中途 按自动停止按钮, 其工作停止, 若再按启动按钮, 在此继续动作到原点停止。 z 连续运行: 在原点位置按自动启动按钮, 开始继续运行。若按停止按钮, 则运转至原点位 置后停止 5. 控制盘 电源启动 电源停止 原点回归启动 X35 自动启动 X36 自动停止 X37 夹取 上升 右移 释放 下降 左移 X20 X21 X22 X23 X24 X25 单步运行 X12 一次循环 X33 连续运行 X34手动操作 X10 原点回归 X11 z 大小球传感器 X0. z 机械手臂左限 X1、大球右限 X2、小球右限 X3、上限 X4、下限 X5。 z 机械手臂上升 Y0、下降 Y1、右移 Y2、左移 Y3、夹取 Y4。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-150 6. 启动电路 M1000 IST X30 S20 S80 X0 M1044 X1 Y4 7. 手动操作模式: X20 SET RST Y4 Y4S S0 X21 X22 Y1 Y0 X23 Y0 Y1 X24 X4 Y2 Y3 X25 X4 Y3 Y2 夹具释放 夹具夹紧 上升 下降 右移 左移 条件互锁 条件互锁 机械手臂上升至上限 (X4 On) 8. 原点回归模式: a) SFC 图: S1 S10 X35 S11 X4 S12 X1 RST Y4 RST Y1 Y0 RST Y2 Y3 SET M1043 夹具释放 下降停止 机械手臂上升至 (X4 On) 右移停止 左移至左限 ()X1 On 置位回原点完毕标志 RST S12 回原点完成3. 指令集 3-151 b) 梯形图: 夹具释放 下降停止 机械手臂上升至上限 (X4 On) 右移停止 左移至左限(X1 On ) 置位原点回归完毕标志 原点回归完成 X35 SET S10S S1 RST Y4S S10 RST Y1 Y0 X4 SET S11 RST Y2S S11 Y3 X1 SET S12 SET M1043S S12 RST S12 进入原点回归模式ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-152 9. 自动操作 (单步运行/一次循环/连续操作模式): a) SFC 图: S2 S20 S30 S31 M1044 X5 T0 Y1 SET Y0 S32 X4 X2 S50 Y1 Y2 S2 X1 M1041 X0 Y4 TMR T0 K30 S60 RST X5 Y4 TMR T2 K30 S70 T2 Y0 S80 X4 Y3 X1 S40 S41 X5 T1 SET Y0 S42 X4 X3 Y2 X0 Y4 TMR T1 K30 X3X2 X4 X5 X4 X4 3. 指令集 3-153 b) 梯形图: SET S20 SET S30 SET Y4 Y0 END X5 S31 S X4 TMR T0 SET S32 S2 S M1041 M1044 S20 S S30 S Y1 X0 SET S40 X5 X0 SET S31 T0 K30 Y2 S32 S X2 SET S50 X2 SET Y4 TMR T1 S40 S SET S41 T1 K30 Y0 S41 S X4 SET S42 Y2 S42 S X3 SET S50 X3 Y1 S50 S X5 SET S60 RST Y4 TMR T2 S60 S SET S70 T2 K30 Y0 S70 S X4 SET S80 Y3 S80 S X1 X1 RET S2 进入自动运行模式 左移至左限(X1 On) 机械手臂上升至上限 (X4 On ) 夹具夹紧 夹具夹紧 夹具释放 下降 下降 右移 右移 机械手臂上升至上限 (X4 On ) 机械手臂上升至上限 (X4 On ) X4 X4 X4 X5 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-154 标志信号及特殊寄存器说明: M1040: 步进点移动禁止。当 M1040=On 时,步进点的移动全部禁止。 1. 手动操作模式:M1040 一直保持 On。 2. 原点回归操作模式/一次循环操作模式:按下停止按钮及再按启动按钮之间的时间内 M1040 一直 保持 On。 3. 步进操作模式:M1040 一直保持 On,只有在启动按钮被按下时,M1040 变成 Off。 4. 连续操作模式:PLC 于 STOP→RUN 变化时,M1040 保持 On,启动按钮被按下时,M1040 变成 Off。 M1041: 步进点移动开始。反应初始步进点 S2 移动至下一步进点的特殊辅助继电器。 1. 手动操作模式/原点回归操作模式:M1041 保持 Off。 2. 步进操作模式/一次循环操作模式:M1041 只有在启动按钮被按下时,变成 On。 3. 连续操作模式:按下启动按钮时,保持 On;按下停止按钮时,保持 Off。 M1042: 启动脉冲。只有在启动按钮被按下时,送出一次脉冲。 M1043: 原点回归完毕。一旦 M1043 = On 则表示原点回归动作已经执行完毕。 M1044: 原点条件。在连续操作式下,原点条件 M1044 为 On 后才可执行初始步进点 S2 移动至下一步进点的 动作。 M1045: 全部输出回归禁止。 如果机台执行(机器不在原点位置) z 从手动(S0)→ 原点回归(S1) z 自动运转(S2)→ 手动(S0) z 自动运转(S2)→ 原点回归(S1) 1. 当 M1045=Off 时, 且 D1~D2 中的 S 有任何一点 On, SET Y 输出及动作中的步进点被清除 为 Off。 2. 当 M1045 =On 时, SET Y 输出被保留, 动作中的步进点被清除为 Off。 如果机台执行原点回归(机器在原点位置) z 原点回归(S1)→ 手动(S0) 不论 M1045=On 或 Off, SET Y 输出被保留, 动作中的步进点被清除为 Off。 3. 指令集 3-155 M1046: 1. STL 状态设置为 On。只要有任一步进点 S 为 On 时,M1046= On。 2. 当 M1047 被强制 On 之后,只要有任何一个 S 点 On,则 M1046 就会跟着 On,另外 D1040~D1047 会记录 S 点 On 之前 8 个点的编号。 M1047: STL 监视有效。当 IST 指令开始执行时,M1047 将被强制 On,并且只要 IST 指令的驱动条件一直为 On,M1047 在每个扫描周期内都会被强制 On 一次。此标志的动作是监控所有的 S 步进点。 D1040~D1047: 步进点 On 状态编号 1~8。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-156 API 指令码 操作数 功能 61 D SER P 数据检索 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * S2 * * * * * * * * *** D * * * * * * N * * * SER, SERP: 9steps DSER, DSERP: 17steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:多点比较的数据区块的起始装置。 S2:欲比较的数值数据。 D:存放比较结果的起始装置(占 用 5 个连续的装置)。 n:被比较的数据区块长度 指令说明: 1. S1 指定比较数据区块的起始寄存器;n 指定与 S2 指定数值的比较笔数;以 S1 为起始地址的 n 个寄存器的内容都与 S2 指定的数值向比较,比较结果存放于以 D 指定装置为起始地址的 5 个连 续寄存器内。 2. S2 操作数使用 F 装置, 仅可使用 16 位指令。 3. 使用 32 位指令时, 若指定寄存器, S1、S2、D、n 会指定 32 位寄存器。 4. n 操作数范围:n=1~256 (16 位指令);n=1~128 (32 位指令)。 程序范例: 1. 当 X0=On 时,由 D10~D19 组成的数据区块与 D0 作比较,结果存放在 D50~D52 中;当相等值 不存在时,D50~D52 的内容全部为 0 2. 大小比较以代数型态进行。(-10<2)。 3. 所有比较数据的最小值编号记录在 D53,最大值编号记录在 D54。当最小值最大值不只一个时, 只记录编号最大者。 X0 SER D10 D0 D50 K10 S1 内容值 比较数据 数据编号 比较结果 D 内容值 说明 D10 88 0 D504 总的相等值的数据个数 D11 100 1 相等 D51 1 第一个相等值的编号 D12 110 2 D52 8 最后一个相等值的编号 D13 150 3 D53 7 最小值的编号 D14 100 4 相等 D54 9 最大值的编号 D15 300 5 D16 100 6 相等 D17 5 7 最小值 D18 100 8 相等 D19 500 S2 D0=K100 9 最大值 n 3. 指令集 3-157 API 指令码 操作数 功能 62 D ABSD 绝对方式凸轮控制 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * S2 * * * D * * * n * * ABSD: 9steps DABSD: 17steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:比较数据表起始装置。 S2:计数器编号。 D:比较结果的起始装置。 n:多段比较的组数 (n=1~64)。 指令说明: 1. ABSD 指令用于在绝对方式凸轮控制的多段组数的比较。 2. DABSD 指令的 S2 也可指定高速计数器,但是高速计数器的现在值与设置值作比较时,比较结 果会受扫描周期的影响而无法作实时性的输出;若是要达成实时输出的要求时,请使用高速计数 器的专用比较指令 DHSZ。 3. S1 操作数使用 KnX、KnY、KnM、KnS 时,16 位指令须指定 n 为 K4,32 位指令须指定 n 为 K8。 程序范例: 1. 在 ABSD 指令被执行前使用 MOV 指令预先将各设置值写入至 D100~D107。编号为偶数的 D 寄 存器的内容为下限值,编号为奇数 D 寄存器的内容为上限值。 2. 当 X20=On 时,计数器 C10 的现在值与 D100~D107 等 4 组上下限值作区间比较,结果分别反 映在 M10~M13。 3. 当 X20=Off 时,原来 M10~M13 的 On/Off 状态不会改变。 X20 ABSD D100 C10 M10 K4 C10 RST C10 X21 CNT C10 K400 X21 4. 当 C10 现在值大于等于下限值且小于等于上限值时,对应组的 M10~M13 会 On。 下限值 上限值 C10 现在值 输出 D100= 40 D101=100 40≦C10≦100 M10=On D102=120 D103=210 120≦C10≦210 M11=On D104=140 D105=170 140≦C10≦170 M12=On ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-158 下限值 上限值 C10 现在值 输出 D106=150 D107=390 150≦C10≦390 M13=On 5. 当下限值大于上限值时,当 C10 现在值大于等于上限值且小于等于下限值时,对应组的 M10~M13 会 Off;当 C10 现在值小于上限值或大于下限值时,对应组的 M10~M13 会 On。范 例见下表所示的第三组数据。 下限值 上限值 C10 现在值 输出 D100= 40 D101=100 40≦C10≦100 M10=On D102=120 D103=210 120≦C10≦210 M11=On D104=140 D105= 60 60≦C10≦140 M12=Off D106=150 D107=390 150≦C10≦390 M13=On 4002000 40 100 120 210 60 140 150 390 M10 M11 M12 M13 3. 指令集 3-159 API 指令码 操作数 功能 63 INCD 相对方式凸轮控制 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * S2 * D * * * n * * INCD:9steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:比较数据表起始装置。 S2:计数器编号。 D:比较结果的起始装置。 n:多段比较的组数 (n=1~64)。 指令说明: 1. INCD 指令为多段比较指令,通常用于相对方式凸轮控制。 2. 当 INCD 指令的驱动条件为 On 时,S2 的现在值与 S1 的设置值作比较,每到达一个设置值, S2 的现在值被复位为 0 并重新计数(S2 新的计数值会再与下一个设置值相比较),并且 S2+1 (目 前执行之段数) 的内容值会加 1。当 INCD 指令的驱动条件为 Off 时,S2 及 S2+1 的内容值都会 复位为 0。 3. 当操作数 S1 被指定为 KnX, KnY, KnM, KnS 时,n 须指定为 K4。 4. 操作数 S2 须指定 C0~C198, 会占用 2 个连续编号计数器。 5. n 的组数比较完成时, 指令执行完毕 M1029 会 On 一次扫描周期。 程序范例: 1. 在 INCD 指令被执行前,使用 MOV 指令预先将各设置值写入至 D100~D104 当中,D100=15、 D101=30、D102=10、D103=40、D104=25。 2. 计数器 C10 的现在值依次与 D100~D104 的设置值作比较,每到达一个设置值,C10 的现在值 被复位为 0 并重新计数。而目前执行之段数被暂存于 C11 当中。 3. C11 的内容每次加 1 时,M10~M14 会做相对应动作,M10~M14 的动作请参考下面时序图。 4. 当 5 组数据都与 C10 比较完毕后,INCD 指令执行完毕标志 M1029 会 On 一个扫描周期。 5. 当 X0 由 On 变成 Off 时,C10 及 C11 全部被复位为 0,M10~M14 也全部变成 Off,当 X0 再度 On 时,本指令会再次从头执行。 INCD D100 C10 M10 K5 X0 CNT C10 K100 M1013 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-160 X0 M10 M12 M11 M13 M14 M1029 15 10 15 15 3030 40 25 111000 2 3 4 C10 C11 现在值 现在值 3. 指令集 3-161 API 指令码 操作数 功能 64 TTMR 可变定时器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * n * * TTMR:5steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:存储 TTMR 指令驱动条件 On 时间的装置。(占用 2 个连续编号装置) n:倍数设定(n=0~2)。 指令说明: 1. TTMR 指令驱动条件 On 时间以 100ms 为单位存放于 D +1 编号内,而开关 On 时间以秒为单 位乘以 n 倍数后存放于 D 内。 2. 倍数设定: n=0 时,D 以秒为单位,n=1 时,D 乘以 10 倍以 100ms 为单位,n=2 时,D 乘以 100 倍以 10ms 为单位。 3. TTMR 指令在程序中最多可使用 8 次。 程序范例 1: 1. 按钮开关 X0 被按住时间(X0 的 On 时间)被存入于 D1 当中,n 用来指定该时间的倍数,并将 位数时间存入于 D0 当中。由此,可使用按钮开关来调整定时器的设置值。 2. 当 X0 变成 Off 时,D1 的内容被复位为 0,但是 D0 内容没有变化。 X0 TTMR D0 K0 X0 D1 D0 D0D1 TT 按住时间(秒) 按住时间(秒) 3. 假设 X0 的 On 时间为 T 秒,而 D0、D1 与 n 之间的关系如下表 n D0 D1(单位:100 毫秒) K0 (单位:秒) 1×T D1=D0×10 K1 (单位:100 毫秒) 10×T D1=D0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-162 n D0 D1(单位:100 毫秒) K2 (单位:10 毫秒) 100×T D1=D0/10 程序范例 2:使用 TMR 指令写入 10 组设定时间 1. 将设置值预先写入 D100~D109。 2. 下列 T0~T9 定时器的计时单位为 0.1 秒,而可变定时器的计时单位为 1 秒 3. 将 1 位数指拨开关接于 X0~X3,使用 BIN 指令将指拨开关的设置值转换成 BIN 值并存放于 E 当 中。 4. X20 的 On 时间(以秒为单位)存放于 D200 当中。 5. M0 为可变定时器按钮 X10 放开后产生的一个扫描周期的脉冲。 6. 以指拨开关的设置值当成间接指定的指针,然后将 D200 的内容传送至 D100E(D100~D109)当 中。 M10 TMR T0 D100 M11 TMR T1 D101 M19 TMR T9 D109 M1000 BIN K1X0 E X20 TTMR D200 K0 X20 PLF M0 M0 MOV D200 D100E 补充说明: 程序中 TTMR 指令仅可使用 8 次,若在子程序或中断子程序中使用只可使用 1 次。 3. 指令集 3-163 API 指令码 操作数 功能 65 STMR 特殊定时器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * m * * D * * * STMR: 7steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:定时器编号(T0~T183) m:定时器设定值 (m=1~32,767),单位为 100ms。 D:起始输出装置(占用 4 个连续的装置)。 指令说明: 1. STMR 指令是一个用来产生 Off 延迟,一次触发及闪烁回路的专用指令。 2. STMR 指令所指定的定时器号码不可重复使用。 程序范例: 1. 当 X20=On 时,定时器 T0 的设定值为 5 秒,Y0 为 Off 延迟节点。 2. 当 X20 由 Off 变 On 时,Y0 一直为 On;当 X20 由 On 变 Off 时,Y0 会延迟 5 秒后 Off。 3. 当 X20 由 On 变 Off 时,Y1 On 5 秒后 Off。 4. 当 X20 由 Off 变 On 时, Y2 On 5 秒后 Off。 5. 当 X20 由 Off 变 On 时, Y3 延迟 5 秒后为 On;当 X20 由 Off 变 On 时,Y3 延迟 5 秒后一直为 Off。 X20 Y0 Y1 Y2 Y3 5 秒5 秒 5 秒5 秒 5 秒 5 秒5 秒 5 秒 X20 STMR T0 K50 Y0 6. 在驱动接点 X20 后面加一个 Y3 的常闭接点,则 Y1、Y2 可作闪烁回路输出。当 X20 变成 Off 时,Y0、Y1 及 Y3 延迟 5S 后变成 Off,T10 的内容被复位为 0。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-164 X20 STMR T10 K50 Y0 Y3 X20 Y1 Y2 5 秒 5 秒 Y0 Y3 5 秒 5 秒 5 秒 5 秒5 秒 3. 指令集 3-165 API 指令码 操作数 功能 66 ALT P On/Off 交替输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * * * ALT, ALTP:3steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:目的装置 指令说明: 1. ALT 指令执行时, D On/Off 交换。 2. 本指令最好使用脉冲执行型指令(ALTP)。 程序范例 1: 当第一次 X0 从 Off→On 时,Y0=On。第二次 X0 从 Off→On 时,Y0=Off。 X0 ALTP Y0 X0 Y0 程序范例 2: 使用单一开关控制启动与停止。一开始时, M0=Off 故 Y0=On、Y1=Off, 当 X10 作第一次 On/Off 时, M0=On 故 Y1=On、Y0=Off, 第二次 On/Off 时, MO=Off 故 Y0=On 而 Y1=Off。 X10 ALT M0 M0 Y0 M0 Y1 程序范例 3: 如下例所示, Y0 会产生闪烁的动作。当 X20=On 时, T0 每隔 2 秒产生一个脉冲, Y0 输出会依 T0 脉冲 做 On/Off 交替变化。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-166 X20 TMR T0 ALTP Y0 K20 T0 T0 3. 指令集 3-167 API 指令码 操作数 功能 67 D RAMP 斜坡信号 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * D * n * * * RAMP: 9steps DRAMP: 17steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:倾斜信号的起点设置值 S2:倾斜信号的终点设置值 D: 倾斜信号的现在值(占用两个连续的 装置) n:扫描次数(n=1~32,767)。 指令说明: 1. 本指令是一个求斜率的指令,斜率是否线性与扫描周期有绝对的关系,因此使用本指令时,通常 预先将扫描周期加以固定。 2. 当 RAMP 指令驱动节点由 Off 变为 On 时,倾斜信号的现在值会从倾斜信号的起点设置值向倾 斜信号的终点设置值变化,D+1 装置的值从 0 开始计数当前的扫描次数。倾斜信号的现在值存 储于 D 装置内,当前的扫描次数存储于 D+1 装置内。当倾斜信号的现在值变化至倾斜信号的终 点设置值时, D装置内容值及 D+1 内容值的变化见后面 M1026 的说明。当 RAMP 指令驱动节 点由 On 变为 Off 时,D 及 D+1 内容值的变化见后面 M1026 的说明。 3. 如果 n 操作数使用 D 装置时,注意 D 的内容须等待 RAMP 指令停止执行完才能变化,在指令正 在执行时 D 的内容不能变化。 4. 在程序中首先将 M1039 设置 On 即可固定扫描周期,再使用 MOV 指令将固定扫描周期设置值 写入至特殊数据寄存器 D1039 当中即可。假设该值为 30ms,以下述程序为例,如果固定扫描 周期为 30ms ,n=K100,则 D12 的值从 D10 的值变化至 D11 的值的时间为 3 秒(30ms×100)。 5. 当指令正在执行的时候,该指令的驱动信号 X20 变成 Off 时,指令会停止执行;当 X20 再度 On 的时候,D12 的内容被复位为 D10 的值而重新计算,D13 的值从 0 重新开始计数扫描次数。 6. 当 M1026=Off 且 RAMP 执行完成标志 M1029=On 时,D12 的内容值会被复位成 D10 的设置值。 7. 本指令若是与模拟信号输出搭配使用时,可执行缓冲启动/停止的动作。 程序范例: 预先将倾斜信号的起点设置值写入 D10 及倾斜信号的终点设置值写入 D11 内,当 X20=On 时,D12 的值会从 D10 设置值向 D11 的设置值增加,D12 的内容值从 D10 的设定值变化至 D12 当前值经过的 扫描次数存于 D13 当中。 X20 RAMP D10 D11 D12 K100 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-168 D10 D12 D11 D11 D12D10 D10<D11的时候 D10>D11的时候 扫描次数存放于 当中 D13 n次扫描 n次扫描 补充说明: M1026 (RAMP 模式选择) 的 On/Off, D12 的内容变化如下: X20 M1029 启动信号 M1026=ON X20 D13 M1029 启动信号 M1026=OFF 0 D13 100 0 100 D11 D10 D12 D11 D10 D12 3. 指令集 3-169 API 指令码 操作数 功能 68 DTM P 数据变换与传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * D * m * * * n * * * DTM: 9steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 来源起始装置。 D: 目标起始装置。 m: 参数设定。 n: 来源资料字符长度(n=1~256)。 指令说明: 1. m 操作数的参数设定请参照后续说明, 其使用组件为 K, H, D, 当参数设定码不在指定数值内, 则不会做任何转换或传送, 也无错误信息产生。 2. n 操作数表示来源数据将被转换的长度, 长度设定范围为 1~256, 超出最小或最大, 以最小或最 大值算, 其使用组件为 K, H, D。 3. m 参数设定说明: z 参数 k0: n=4 时, 8 位数据转换为 16 位数据(上 8 位、下 8 位), 转换图标说明如下 c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-bytec d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte z 参数 k1: n=4 时, 8 位数据转换为 16 位数据(下 8 位、上 8 位), 转换图标说明如下 c d e f Hi-byte Lo-byte cd ef Hi-byte Lo-bytec d e f Hi-byte Lo-byte cd ef Hi-byte Lo-byte ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-170 z 参数 k2: n=2 时, 16 位数据(上 8 位、下 8 位) 转换为 8 位数据, 转换图标说明如下 c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte z 参数 k3: n=2 时,16 位数据(下 8 位、上 8 位) 转换为 8 位数据, 转换图标说明如下 c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte c d e f Hi-byte Lo-byte z 参数 k4: n=3 时,8 位 HEX 数据(上 4 位、下 4 位)转换为 ASCII 数据, 转换图标说明如下 c d e Hi-byte Lo-byte cH dH eH eL Hi-byte Lo-byte dL cLc d e Hi-byte Lo-byte cH dH eH eL Hi-byte Lo-byte dL cL z 参数 k5: n=3 时, 8 位 HEX 数据(下 4 位、上 4 位)转换为 ASCII 数据, 转换图标说明如下 c d e Hi-byte Lo-byte cL dL eL eH Hi-byte Lo-byte dH cHc d e Hi-byte Lo-byte cL dL eL eH Hi-byte Lo-byte dH cH3. 指令集 3-171 z 参数 k6: n=4 时, 8 位 ASCII 数据转换为 HEX 数据(上 4 位、下 4 位), 转换图标说明如下; ASCII 转换数值有 0 ~ 9 (0x30~0x39), A ~ F (0x41~0x46), a ~ f (0x61~0x66)。 c d e f Hi-byte Lo-byte cd ef Hi-byte Lo-bytec d e f Hi-byte Lo-byte cd ef Hi-byte Lo-byte z 参数 k7: n=4 时, 8 位 ASCII 数据转换为 HEX 数据(下 4 位、上 4 位), 转换图标说明如下 c d e f Hi-byte Lo-byte dc fe Hi-byte Lo-bytec d e f Hi-byte Lo-byte dc fe Hi-byte Lo-byte z 参数 k8: 8 位全球定位数据转换为 32 位浮点数数据, 转换图标说明如下 dd mm1 mm2 mm3 Hi-byte Lo-byte dd.mm1mm2mm3 dd1dd0.mm1mm2mm3 32bit Floating (S+4=H4E) 4E dd1 dd0 mm1 mm2 mm3 45 S+0 –dd.mm1mm2mm3 32bit Floating (S+4 != H4E) S+1 S+2 S+3 S+4 S+5 S+6 S+7 S+8 S+9 S+10 32bit Floating (S+10=H45) D+0 D+0 –dd1dd0.mm1mm2mm3 32bit Floating (S+10 != H45) D+2 D+2 dd mm1 mm2 mm3 Hi-byte Lo-byte dd.mm1mm2mm3 dd1dd0.mm1mm2mm3 32bit Floating (S+4=H4E) 4E dd1 dd0 mm1 mm2 mm3 45 S+0 –dd.mm1mm2mm3 32bit Floating (S+4 != H4E) S+1 S+2 S+3 S+4 S+5 S+6 S+7 S+8 S+9 S+10 32bit Floating (S+10=H45) D+0 D+0 –dd1dd0.mm1mm2mm3 32bit Floating (S+10 != H45) D+2 D+2 z 参数 K9: 功能目的说明Æ客户仅需输入定位指令的总输出个数与预计执行时间,接着藉由 此最佳化公式寻找到最佳的频率设定。 最佳化输出频率换算说明Æ针对 PLSR, DDRVI, DCLLM 等具有加减速功能的脉波输出指 令,在经由指令内部转换公式之后,找出这些高速输出指令执行时的最佳化最高输出频率 与起始频率。 注意事项:1.当换算结果的频率超出 PLC 本身最高频率限制时,输出结果将会设定为 0。 2.当加速与减速时间总和超出总运行时间,则总运行时间会自动修改成加减速时间总和加 1 的数值。 来源与目的装置说明如下: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-172 S+0, S+1:脉波输出总个数(32 位) S+2:总运行时间(单位:ms) S+3:加速时间(单位:ms) S+4:减速时间(单位:ms) D+0, D+1:最佳化最高输出频率(单位:Hz)(32 位) D+2:最佳化起始频率(单位:Hz) 操作数 n:保留,可填任意值 z 参数 K11: 区域时间转换成当地实际经度(Longitude)的时间。 来源与目的装置说明如下: S+0, S+1:经度(32 位浮点数值)(东经为正数, 西经为负数) S+2: 时区(Time Zone) (16 位整数)(单位小时) S+3 ~ S+8:区域时间之年、月、日、时、分、秒 (16 位整数) D+0 ~ D+5:转换之后实际的年、月、日、时、分、秒(16 位整数) 操作数 n:保留,可填任意值 举例 : 输入东经 F121.55,时区= +8,区域时间 = 2011 年 1 月 6 日 AM 8:00:00 运算结果Æ 2011 年 1 月 6 日 AM 8:06:12 z 参数 K12: 16 位数值之多点区域比例值运算。 来源与目的装置说明如下(16 位数值): S:来源输入数值 S+1, S+2 … S+n:多点区域设定数值,其中 S+1 必须为最小设定值,S+2 必须大于 S+1, 以此由小到大规则设定,故 S+n 数值必须为最大设定值 D:输出比例值运算后的数值 D+1,D+2 … D+n:多点区域转换数值范围 n:多点区域设定值,设定值范围为 K2 ~ K50,此设定值超出范围时,将不会被执行 范例曲线图:(n 设定 K4) S+1 D+1 S+2 D+2 S+3 D+4 S+4 D+3 D S S+1 D+1 S+2 D+2 S+3 D+4 S+4 D+3 D S 范例说明: 1. 当 S 输入数值大于 S+1(简称 S1)且小于 S+2(简称 S2),以及 D+1 简称 D1、D+2 简称 D2,则 D = ( ( S – S1) x ( D2 – D1 ) / ( S2 – S1 ) ) + D1 2. 当 S 输入数值小于等于 S+1 时,则 D = D+1,当 S 输入数值大于等于 S+n 时,3. 指令集 3-173 则 D = D+n 3. 指令运算过程中都以浮点数值运算,但是输出数值将会去小数值之后,再以 16 位整数值输出。 z 参数 K13: 32 位数值之多点区域比例值运算。 来源与目的装置说明如参数 K12 说明,但 S 与 D 装置以 32 位数值表示 z 参数 K14: 浮点数值之多点区域比例值运算。 来源与目的装置说明如参数 K12 说明,但 S 与 D 装置以 32 位浮点数值表示 z 参数 K16: 字符串结合功能 其结合动作说明如下:先寻找目的 D 装置(下 8 位)的字结后缀(0x00 数值)的位置,然后将 来源 S 装置(下 8 位)的字开始复制到此位置,直到复制到 S 装置的结后缀(0x00)为止。 注意事项:操作数 n 为字符串结合后的最大长度设定(最大设定值不可超过 256),若是一 直未遇到结尾字,则第 n 个字将自动为结尾字。 其结合示意图如下: ‘A’ ‘B’ ‘C’ ‘D’ Hi-byte Lo-byte ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte 0x00 0x00 S+0 S+1 S+2 S+3 S+4 D+0 D+1 D+2 D+3 ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte ‘A’ D+0 D+1 D+2 D+3 ‘B’ ‘C’ ‘D’ 0x00 D+4 D+5 D+6 D+7 ‘A’ ‘B’ ‘C’ ‘D’ Hi-byte Lo-byte ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte 0x00 0x00 S+0 S+1 S+2 S+3 S+4 D+0 D+1 D+2 D+3 ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte ‘A’ D+0 D+1 D+2 D+3 ‘B’ ‘C’ ‘D’ 0x00 D+4 D+5 D+6 D+7 z 参数 K17: 字符串采取功能 其采取动作说明如下:将来源 S 装置(下 8 位)的 n 个字复制到 D 装置(下 8 位)的 n 个字, 并在第 D 装置 n+1 个位置上填入结后缀(0x00)。当采取过程中若是来源 S 装置有结尾字, 则将提早结束采取。 其采取示意图如下: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-174 ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte ‘A’ S+0 S+1 S+2 S+3 ‘B’ ‘C’ ‘D’ 0x00 S+4 S+5 S+6 S+7 ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte 0x00 D+0 D+1 D+2 D+3 n = k3 ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte ‘A’ S+0 S+1 S+2 S+3 ‘B’ ‘C’ ‘D’ 0x00 S+4 S+5 S+6 S+7 ‘a’ ‘b’ ‘c’ Hi-byte Lo-byte 0x00 D+0 D+1 D+2 D+3 n = k3 z 参数 K18: 字符串转浮点数值功能 其转换动作说明如下:将来源 S 装置(下 8 位)的 n 个字(不含小数点)转换成浮点数值,并储 存在 D 装置。 注意事项: 1. 操作数 n 为小数点左右的位数最大设定值(不可超出 8 位数,超出将以 8 位数算),当位 数超出最大设定值时,数值将自动被舍去不转换,例如: n = k6, 则字符串”123.45678” 将会只被转换出 123.456 的数值。 2. 当来源字符串中有不是 0~9 与小数点的字出现时,则在小数点之前的会被视为 0,而在 小数点之后的会被视为结束字。 3. 若是一个一个字转换至 n 个字中,都未转换到小数点,则自动以 n 个位数之浮点数值表 示。 其转换示意图如下: ‘1’ ‘2’ ‘3’ Hi-byte Lo-byte ‘.’ S+0 S+1 S+2 S+3 ‘4’ ‘5’ ‘6’ 0x00 S+4 S+5 S+6 S+7 123.456 32-bit Floating value D+0 D+1 ‘1’ ‘2’ ‘3’ Hi-byte Lo-byte ‘.’ S+0 S+1 S+2 S+3 ‘4’ ‘5’ ‘6’ 0x00 S+4 S+5 S+6 S+7 123.456 32-bit Floating value D+0 D+1 z 参数 K19: 浮点数值转字符串功能 其转换动作说明如下:将来源 S 装置的浮点数值转换出最多 n 个字(不含小数点)的字符串, 并储存在 D 装置。 注意事项: 1. 操作数 n 为小数点左右的位数最大设定值(不可超出 8 位数,超出将以 8 位数算),当位 数超出最大设定值时,数值将自动被舍去不转换,例如: n = k6, 则浮点数值 F123.45678 将会只被转换出”123.456”的字符串。 2. 当来源数值大于 n 位数的数值时,则在数值最左边的 n 个位数会被转换,例如:浮点数3. 指令集 3-175 值为 F123456.78,而 n = k4,则只会被转换出”1234”的字符串。 其转换示意图如下: ‘1’ ‘2’ ‘3’ Hi-byte Lo-byte ‘.’ D+0 D+1 D+2 D+3 ‘4’ ‘5’ ‘6’ 0x00 D+4 D+5 D+6 D+7 123.45678 32-bit Floating value S+0 S+1 n = k6 ‘1’ ‘2’ ‘3’ Hi-byte Lo-byte ‘.’ D+0 D+1 D+2 D+3 ‘4’ ‘5’ ‘6’ 0x00 D+4 D+5 D+6 D+7 123.45678 32-bit Floating value S+0 S+1 n = k6 3. 若 S 操作数转换出来的值只有小数,例如:0.1234,则 D 操作数的值为” .1234” (小数 点会是第一个位数)。 程序范例 1:参数 K2, K4 1. 当 M0=On 时, 将位于 D0 与 D1 内的 16 位数值转换成 ASCII 码, 并依上 byte、下 byte 方式传 送至 D10 排列。 2. 先将 16 位数值传送到下 8 位位置。 3. 再将 8 位 HEX 值转换为 ASCII。 M0 DTM D0 D2 K2 K2 DTM D2 D10 K4 K4 z 来源 D0, D1 数值: 寄存器 D0 D1 数值 H1234 H5678 z 第一个 DTM 指令执行结果, 取上 8bit 下 8bit,传送到 D2~D5 寄存器 寄存器 D2 D3 D4 D5 数值 H12 H34 H56 H78 z 第二个 DTM 指令执行结果, 取上 8bit 下 8bit,转换为 ASCII 并传送到 D10~D17 寄存器 寄存器 D10 D11 D12 D13 D14 D15 D16 D17 数值 H0031 H0032 H0033 H0034 H0035 H0036 H0037 H0038 程序范例 2: 参数 K9 1. 将预计脉波输出总个数、总执行时间、加速时间与减速时间分别先填入 D0 来源装置之后,然后 执行此换算公式,并送最佳化频率至定位指令执行。 2. 假设来源装置数值如下表: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-176 总输出个数 总运行时间 加速时间 减速时间 D0, D1 D2 D3 D4 K10000 K200 K50 K50 3. 换算最佳化结果如下表: 最高输出频率 总运行时间 D10, D11 D12 K70000 K3334 3. 指令集 3-177 API 指令码 操作数 功能 69 SORT 数据分类排序 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * m1 * * m2 * * D * n * * * SORT: 11steps DSORT: 21steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:原始数据表的起始装置 m1:被排序数据的组数(m1 =1~32) m2:每组数据的个数(m2 =1~6) D:存放分类排序结果数据表的起始装置 n:原始数据表分类排序的依据列(n=1~ m2),指定列的 分类排序以代数的形式从小到大排列。 指令说明: 1. 原始数据表分类排序的结果存储在以 D 指定的装置为起始装置的 m1 × m2 个寄存器内。因此, S 与 D 指定同一个缓存器的话, 排序结果将与原来被排序的数据 S 内容相同。 2. S 寄存器的起始号码的最右边编号指定 0 比较理想。 3. 本指令须经过 m1 次扫描后才能完成分类排序。分类排序执行完毕 M1029=On。 4. 此指令在程序没有使用次数限制,但在同一时间内只能执行一个 SORT 指令(程序中有多个 SORT 指令时,SORT 指令的驱动条件不能同时成立)。 5. 新增一维数据的排序功能, 当使用者将 m1 与 m2 设为 1, 就会启动此功能, 其中操作数 n 的功能 改定义为数据个数(n=1~32);此功能会以操作数 S 为起点, 撷取 n 个数据作排序, 再将排序结果 以操作数 D 为起点开始存放, 此功能仅须 1 次的扫描时间, 排序完成时,执行完毕标志信号 M1029=On;目前此功能支持 SS2 V3.0/SA2 V2.6/SX2 V2.4/ES2/EX2/ES2-C V3.2 以上机种版 本(含)。 程序范例: 当 X0=On 时,SORT 指令开始执行数据分类排序,分类排序完成时,M1029=On。在 SORT 指令执 行期间请勿更改正在分类排序的数据内容,如果需要更改分类排序的内容,须先把 SORT 指令的驱动 条件 Off,然后再修改分类排序的数据内容,之后再将 SORT 指令的驱动条件 On 重新执行分类排序 动作。 X0 SORT D0 K5 K5 D50 D100 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-178 1. 数据分类排序范例表 每组数据的个数:m2 数据列号 1 2 3 4 5 行 列 学生编号 英语 数学. 物理 化学 1 (D0)1 (D5)90 (D10)75 (D15)66 (D20)79 2 (D1)2 (D6)55 (D11)65 (D16)54 (D21)63 3 (D2)3 (D7)80 (D12)98 (D17)89 (D22)90 4 (D3)4 (D8)70 (D13)60 (D18)99 (D23)50 数据个数 m 1 5 (D4)5 (D9)95 (D14)79 (D19)75 (D24)69 2. 当 D100=K3 时的分类排序后的数据 每组数据的个数:m2 数据列号 1 2 3 4 5 行 列 学生编号 英语 数学. 物理 化学 1 (D50)4 (D55)70 (D60)60 (D65)99 (D70)50 2 (D51)2 (D56)55 (D61)65 (D66)54 (D71)63 3 (D52)1 (D57)90 (D62)75 (D67)66 (D72)79 4 (D53)5 (D58)95 (D63)79 (D68)75 (D73)69 数据个数 m 1 5 (D54)3 (D59)80 (D64)98 (D69)89 (D74)90 3. 当 D100=K3 时的分类排序后的数据 每组数据的个数:m2 数据列号 1 2 3 4 5 行 列 学生编号 英语 数学. 物理 化学 1 (D50)4 (D55)70 (D60)60 (D65)99 (D70)50 2 (D51)2 (D56)55 (D61)65 (D66)54 (D71)63 3 (D52)5 (D57)95 (D62)79 (D67)75 (D72)69 4 (D53)1 (D58)90 (D63)75 (D68)66 (D73)79 数据个数 m 1 5 (D54)3 (D59)80 (D64)98 (D69)89 (D74)90 3. 指令集 3-179 程序范例: (一维排序) 当 X0=On 时, 执行指定数据排序作业, 排序完成时, M1029=On。 给定 m1=K1 且 m2=K1, 所以程序会自动做一维排序, 并给定数据笔数 D100=K5, 数据内容 D0~D4 的 值依序如下 1. 预排序数据来源 D0~D4 如下: S 资料来源 D0 D1 D2 D3 D4 资料 75 65 98 60 79 2. 一维排序后数据内容 D50~D54 如下: D 资料结果 D50 D51 D52 D53 D54 資料 60 65 75 79 98 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-180 API 指令码 操作数 功能 70 D TKY 十键键盘输入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * D1 * * * * * *** D2 * * * TKY::7steps DTKY:13steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:按键输入起始装置(占用 10 个连续装置) D1:按键输入值存放装置 D2:按键输入信号指示(占 用 11 个连续装置)。 指令说明: 1. 本指令指定由 S 开始的 10 个外部输入点,这十个外部输入点被依序指定为 10 进制数字的 0 ~ 9。 这 10 个外部输入点分别接上 10 个按键,依据这 10 个按键被压下的先后顺序可输入 4 位 10 进 制数字 0 ~ 9,999 ( 16 位指令),或 8位 10 进制数字 0 ~ 99,999,999 ( 32 位指令),并将输入的 数值存放在 D1 内,而 D2 则存放键盘的状态。 2. 本指令在程序中没有使用次数的限制,但在同一时间内只能执行一个 TKY 指令(程序中有多个 TKY 指令时,TKY 指令的驱动条件不能同时成立)。 程序范例: 1. 用 TKY 指令指定从 X30 开始的 10 个外部输入点与编号为 0~9 的 10 个按键连接。当 X20=On 时,此指令执行并将键盘输入的数值以二进制值的形态存入 D0 中,而 M10~M19 用于对应存储 编号为 0~9 十个按键的动作状态,按键按下时其对应的 M 装置会 On。 X20 TKY X30 D0 M10 PLC 0 1 32 4 5 6 7 8 9 X33X32X31X30S/S X36X35X34 X40X37 X41+24V24G 3. 指令集 3-181 0 1 2 3 4 5 6 7 8 9 BCD 值 BIN 值 BCD 值 一位数字 码 BCD D0 103 102 101 100 数字按键 溢位 2. 如下列时序图所示,连接于数字键盘 X35、X33、X30、X31 的 4 个按键以1、2、3、4 的顺 序作按下的动作,则数值 5,301 被存储于 D0 当中,D0 最大可容纳的 4 位数为 9,999。如果按 键输入值超出其允许的范围时,最高位的数据位会溢出。 3. 在 X32 被按下后其它按键没有按下之前,M12=On;当有其它键按下时,M12=Off。其它的按 键操作过程和此过程相同,只是其它按键对应按 M 值不同而已。 4. 当 X30~X41 任一按键被按下时,M10~M19 当中的一点会对应 On。 5. 如果任一按键被按下时,M20=On。 6. 当驱动节点 X20 变成 Off 时,D0 的值无变化,但 M10~M20 状态全部变成 Off. X30 X31 X33 X35 1 2 3 4 1 2 3 4 M10 M11 M13 M15 M20 按键输入信号指示ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-182 API 指令码 操作数 功能 71 D HKY 十六键键盘输入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * D1 * D2 * * *** D3 * * * HKY:9steps DHKY:17steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:按键扫描输入起始装置(占用 4 个连续的装置) D1:按键扫描输出起始装置(占用 4 个连续的装 置)D2:按键输入值存放装置 D3:按键输入信号指示(占用 8 个连续装置)。 指令说明: 1. 本指令指定由 S 开始的连续 4 个外部输入点及由 D1 开始的连续 4 个外部输出点以矩阵扫 描的方式构成 16 键的键盘。键盘输入的数值存放在 D2 ,而 D3 则用于存储键盘的按键输入状 态,按键按下时,其对应的 D3 装置为 On,按键松开时,其对应的 D3 装置为 Off。 2. 本指令在每次执行时,当扫描到有按键按下时,执行完成标志 M1029 会 On 一个扫描周期。 3. 如果有两个或多个按键被同时被按下时,只有最先按下者有效。. 4. 由数字键盘输入的值存储于 D0 当中,使用 16 位指令 HKY 时,D0 可存储的数值范围为 0~ 9,999(最大可为 4 位数);当输入值超出其存储范围时,其最高数据位会溢出。使用 32 位指令 DHKY 时,D0 可存储的数值范围为 0~99,999,9999(最大可为 8 位数);当输入值超出其存储范 围时,其最高数据位会溢出。 5. 本指令在程序中没有使用次数的限制,但在同一时间内只能执行一个 HKY 指令(程序中有多个 HKY 指令时,HKY 指令的驱动条件不能同时成立)。. 程序范例: 1. 使用 HKY 指令构造一个 16 键的键盘,此键盘由 X20~X23 连续 4 个输入端与 Y20~Y23 连续 4 个输出端构成。当 X4=On 时,指令执行,由键盘输入的数值以二进制值的形式存入 D0 中,而 M0~M7 用于存储按键的动作状态,M0~M7 的详细动作参加下面的第 3,第 4 和及第 5 点的说 明。 X4 HKY X20 Y20 D0 M0 3. 指令集 3-183 2. 数字键输入: 0 1 2 3 4 5 6 7 8 9 BCD 值 BIN 值 BCD 值 一位数字 码 BCD D0 103 102 101 100 数字按键 溢位 3. 功能键输入: a) 当 A 键按下时,M0=On 并保持;当 D 键按下时,M0 变成 Off,M3=On 并保持。 b) 如果有两个或多个按键被同时被按下时,只有最先按下者有效。 F E D C B A M5 M4 M3 M2 M1 M0 4. 按键输入信号: a) 当 A~F 当中任何一个按键被按下时,M6 会 On 一个扫描周期。 b) 当 0~9 当中任何一个按键被按下时,M7 会 On 一个扫描周期。 5. 当 HKY 指令的驱动条件 X4=Off 时,D0 以前的值不变但 M0~M7 都复位为 Off。 6. 外部接线: Y23Y22Y21Y20C X23X22X21X20S/S CDEF 89AB 4567 0123 PLC( )晶体管输出 +24V24G ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-184 补充说明: 1. 本指被执行时,必须经过 8 个扫描周期才可以读取一个按键的输入值,如果扫描周期太长或太 短都可能造成读取按键输入值不正确。因此使用此指令时,程序中最好使用固定扫描周期。 a) 当扫描周期太短时,可能造成 I/O 来不及反应而无法读取正确的按键输入。因此程序中最好使用 固定扫描周期。 b) 当扫描周期太长时,可能会使按键反应变得迟钝,可将此指令写在时间中断子程序内。 2. 标志为 M1167 的功能: a) 当 M1167=On 时,HKY 指令用于输入十六进制数字 0~F。 b) 当 M1167=Off 时, HKY 指令会把 A~F 当功能键使用。 3. 指令集 3-185 API 指令码 操作数 功能 72 DSW 数字开关 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * D1 * D2 * * * n * * DSW: 9steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:指拨开关扫描输入起始装置 D1:指拨开关扫描输出起始装置 D2:指拨开关设定值存放装置 n: 指拨开关所连接的组数(n=1~2) 指令说明: 1. 本指令由 S 开始的连续 4 个或 8 个外部输入点及由 D1 开始的连续 4 个外部输出点扫描读取 1 组或 2 组 4 位数指拨开关(每个指拨开关有 4 个开关组成)的值,指拨开关设置值存放在 D2。 本指令执行完毕后,指令执行完成标志 M1029 会 On 一个扫描周期。 2. 当 n =K1 时,D2 操作数占用一个寄存器。 n =K2 时,D2 操作数会连续占用以 D2 为起始地址 的 2 个连续寄存器。 3. 本指令在程序中没有使用次数的限制,但在同一时间内只能执行一个 DSW 指令(程序中有多个 DSW 指令时,DSW 指令的驱动条件不能同时成立)。 程序范例: 1. 由 X20~X23 及 Y20~Y23 组成第一组指拨开关回路,由 X24~X27 及 Y20~Y23 组成第二组指拨 开关回路。当 X0=On 时,指令开始执行,第一组指拨开关的设置值被读入并转换成二进制数值 后存放至 D20 中,第二组指拨开关的设置值被读入并转换成二进制数值后存放至 D21 中。 X0 DSW X20 Y20 D20 K2 . 2. 当 X0=On 时,Y20~Y23 会自动循环扫描 On,每循环一次,执行完毕标志信号 M1029=On 一 个扫描周期。 3. 扫描用输出端 Y20~Y23 请使用晶体管输出。此外,请注意每一个 1、2、4、8 脚均必须串接一 个二极管(0.1A/50V)后再与 PLC 的输入端串接,二极管的串接方法见下面的指拨开关输入接 线图。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-186 X0 Y20 Y21 Y22 Y23 M1029 0.1s 0.1s 0.1s 0.1s 0.1s 0.1s 中断 执行完毕 循环操作 4. 指拨开关输入接线图: S/S X20 X21 X22 X23 X24 X25 X26 X27 Y23Y22Y21Y20C 1 2 48 1 2 48 PLC 10 10 10 100123 100 101 102 103 0V +24V BCD 指拨开关 必须串接一个 二极管 (1N4148) 第一组 第二组 补充说明: 当扫描端为继电器输出时,可使用下面的程序技巧来达成指拨开关的扫描。 1. 当 X30=On 的时候,DSW 指令被执行;当 X30 变成 Off 时,M10 会继续保持 On 直到 DSW 指 令的扫描端完成一次循环扫描输出时才 Off。 2. 如果驱动接点 X30 使用按钮开关,X30 每被按一次,DSW 指令的扫描端会循环扫描输出一次。 DSW 指令循环扫描输出完毕时,M10 才会被复位成 Off,指令才会停止执行。用下面的程序指 拨开关数据会被完整的读取,而按钮开关一直被按住时,扫描端才会有循环输出的动作,按钮开 关按下后立即松开时,DSW 指令的扫描端只循环扫描输出一次。因此,此种情况下,即使扫描 端使用继电器输出,继电器的寿命也可因为动次数不频繁而可长期使用。 M10 DSW X20 Y20 D20 K2 X30 SET M10 M1029 RST M10 3. 指令集 3-187 API 指令码 操作数 功能 73 SEGD P 7 段显示器译码 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** D * * * * * *** SEGD, SEGDP: 5steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:用于译码的来源装置 D:译码后的输出装置 指令说明: 由 S 装置的低 4 位组成的一个十六进制数字(0 ~ 9, A ~ F)会被译码成 7 位二进制数用于驱动七段显示 器,而译码结果存储在以 D 装置为起始装置的连续 8 个装置内。这样一个七段显示器就可以通过 SEGD 指令显示一个十六进制的数字。当 S 装置指定数据超出 4 个位时,仍将 S 装置的低 4 进行译码。 程序范例: 当 X20=On 时, D10 的低 4 位(bit0~bit3)的内容(0~F: 16 进制)被译码成 7 位二进制数存储于 Y20~Y27 当中。如 下表所示,可以将 Y20~Y27 和七段显示器的 a~g 对应相接。 这样就可以将 D10 低 4 位的内容显示在七段显示器上。 X20 SEGD D10 K2Y20 七段显示器译码表: 七段显示器各段状态 Y20 Y21 Y22 Y23 Y24 Y25 Y26 16 进制 S装置的低4位 二进制数 七段显示器的 构成 B0(a) B1(b) B2(c) B3(d) B4(e) B5(f) B6(g) 0 0000 On On On On On On Off 1 0001 Off On On Off Off Off Off 2 0010 On On Off On On Off On 3 0011 On On On On Off Off On 4 0100 Off On On Off Off On On 5 0101 On Off On On Off On On 6 0110 On Off On On On On On 7 0111 On On On Off Off Off Off 8 1000 On On On On On On On 9 1001 On On On On Off On On A 1010 On On On Off On On On B 1011 Off Off On On On On On C 1100 On Off Off On On On Off D 1101 Off On On On On Off On E 1110 On Off Off On On On On F 1111 On Off Off Off On On On ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-188 API 指令码 操作数 功能 74 SEGL 7 段显示器锁存显示 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * n * * SEGL: 7steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:欲显示于七段显示器的来源装置 D:七段显示器扫描输出起始装置 N:输出信号及扫描信号的正负逻辑设置(n=0~7) 指令说明: 1. 本指令占用以 D 装置为起始装置的连续 8 个或 12 个外部输出点,作为 1 组或 2 组七段显示器的 显示数据及扫描信号输出,4 个七段显示器为 1 组。SEGL 指令会将 S 装置的 BCD 码转换成 7 段显示器的驱动信号并且有控制信号可以锁存七段显示器输出显示。 2. n 决定着七段显示器的组数(1 组 4 个七段显示器),有 1 组或 2 组,并且 n 还决定着 PLC 输 出端及七段显示器的正负逻辑输出。 3. 用 SEGL 指令做七段显示器输出时,如果有 1 组七段显示器(4 个七段显示器),将占用 8 个 输出点;如果有 2 组七段显示器(8 个七段显示器),将占用 12 个输出点。 4. 本指令执行时,扫描输出端顺序循环动作。当此指令执行时其驱动条件变成 Off 后再变成 On 时, 扫描输出端将再重新执行。 5. SEGL 指令执行完毕标志位 M1029:SEGL 指令执行完完毕后,M1029 会 On 一个扫描周期。 6. 本指令在程序中没有使用次数的限制,但在同一时间内只能执行一个 SEGL 指令(程序中有多 个 SEGL 指令时,SEGL 指令的驱动条件不能同时成立)。 程序范例: 1. 当 X20=On 时,SEGL 指令开始执行,由 Y20~Y27 构成七段显示器扫描回路,D10 中的数值被 转换成 BCD 码后送到第一组七段显示器显示出来,D11 中的数值被转换成 BCD 码后送到第二 组七段显示器显示出来,若 D10 或 D11 中的数值超过 9,999 将发生运算错误。 X20 SEGL D10 Y20 K4 2. 当 X20=On 时,Y24~Y27 会自动循环扫描,每循环扫描一次需 12 个扫描周期,每循环扫描一 次,SEGL 指令执行完毕标志信号 M1029=On 一个扫描周期。 3. 一组 4 个七段显示器时, n=0~3。 a) 将己经译码的 7 段显示器的 1、2、4、8 各端各自并接后连接至 PLC 的 Y20~Y23,而各个七段 显示器的锁存端单独连接至 PLC 的 Y24~Y27。 3. 指令集 3-189 b) 当 X20=On 时,D10 的内容随着 Y14~Y17 的循环动作被顺序传送至七段显示器作显示。 4. 2 组 4 个七段显示器时,n=4~7。 a) 将已经译码的七段显示器 1、2、4、8 各端各自并接后连接至 PLC 的 Y30~Y33,而各个七段显 示器的锁存端与第一组共享 Y24~Y27。 b) .D10 的内容被传送到第一组七段显示器上做显示,D11 的内容被传送到第二组七段显示器作显 示。若 D10=K1234,D11=K4321,则第一组将会显示1234,第二组显示4321。 七段显示器扫描输出接线图 C Y20 Y21 Y22 Y23 Y24 Y25 Y26 Y27 Y30 Y31 Y32 Y33CC 1248 10 0 10 1 10 2 10 3 10 3 10 2 10 1 10 0 V+ 10 3 10 2 10 1 10 0 V+ 1 2 4 8 1 2 4 8 第一组 第二组 补充说明: 1. 执行本指令时,程序的扫描周期必须长于 10ms,若程序扫描周期短于 10ms 时,请利用固定扫 描周期功能将扫描周期固定在 10 ms。 2. 当 PLC 输出点为晶体管输出时,请使用合适的七段显示器。 3. n 的设置值:n 是用来设置晶体管输出为正极性或负极性回路,另外 n 还可设置连接的七段显 示器是一组 4 位数或者是二组 4 位数。 4. PLC 输出点必须选用为晶体管输出点,晶体管输出为 NPN 型式,采用开集极式输出,在电路的 连接上,输出必须连接一提升电阻至 VCC(小于 30VDC),这样当输出点 Y 导通时,输出信号为 低电位。 On PLC VCC Y 驱动 提升电阻 信号输出Y ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-190 5. BCD 码正逻辑(负极性)输出。 BCD 数值 Y 输出(BCD 码) 信号输出 b3 b2 b1 b0 8 4 2 1 A B C D 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 1 1 0 6. BCD 码负逻辑(正极性)输出 BCD 数值 Y 输出(BCD 码) 信号输出 b3 b2 b1 b0 8 4 2 1 A B C D 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 7. 扫描锁存(Latch)信号显示 正逻辑(负极性)输出 反逻辑(正极性)输出 Y 输出(锁存) 输出控制信号 Y 输出(锁存) 输出控制信号 1 0 0 1 8. 参数 n 设定值 七段显示器组数 一组 二组 BCD 码数据 Y 输出 + - + - 显示扫描锁存信号 + - + - + - + - 参数 n 设定值 0 1 2 3 4 5 6 7 ’+’: 正逻辑(负极性)输出, ‘-’: 反逻辑(正极性)输出 9. PLC 的晶体管输出极性与 7 段显示器的输入极性是否相同或者是不同时,可透过参数 n 的设置 值来相互匹配。 3. 指令集 3-191 API 指令码 操作数 功能 75 ARWS 方向开关控制 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * D1 * * *** D2 * n * * ARWS: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:按键输入起始装置。 D1:欲显示于七段显示器的装置。 D2:七段显示器扫描输出起始装置。 n: 输出信号及扫描信号的极性指示(n=0~3)。 指令说明: 1. 指令把 D1 的内容显示于七段显示器。D1 中值是标准的十进制模式 ,但是会自动转换为 BCD 的 形式用于显示在七段显示器上。每个显示的数字可被选中并编辑。所编写的程序可直接改变制定 装置的值。 2. S 操作数占用连续 4 点 3. D2 只可以被指定为 10 的倍数,例如:Y0,Y20 等等。 4. 此指令指定的输出点必须使用晶体管的输出点。 5. 使用此指令请固定扫描周期,或将此指令放在时间中断子程序中执行(I605~I699, I705~I799)。 6. 程序中使用此指令的次数没有限制,但同一时间内只允许执行一次。 程序范例: 1. 本指令执行,X20 定义为下键,X21 定义为上键,X22 定义为右键,X23 定义为左键,利用上 下左右键来执行外部设置值的操作及显示。将设置值存放于 D20 当中,设置值范围:0~9,999。 2. 当 X10=On 时,位数 103 为有效设置位数,如果按左按键时,则有效设置位数呈现 103→100→ 101→102→103→100 的方向循环跳动。 3. 如果按右移按键,则有效设置位呈现 103→102→101→100→103→102 的方向循环跳动。 在循环 的同时,由 Y24~Y27 所连接的位数指示灯也循环 On 作有效设置位数的指示。 4. 如果按往上加按键时,则有效设置位数的内容由 0→1→2→…8→9→0→1 作变化。如果按往下 减按键时,则有效设置位数的内容由 0→9→8→…1→0→9 作变化,同时,变化值也被显示在七 段显示器上。 X0 ARWS X20 D20 Y20 K0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-192 1 2 4 8 10 10 10 10 Y20 Y21 Y22 Y23 Y27 Y26 Y25 Y24 LED 位数指示 显示设置值的 位数七段显示器 4 X21 X20 X22X23 往上加 往下减 往左移 往右移 下面的 个开关用来移动4 位数的左右及设置值的加减 3. 指令集 3-193 API 指令码 操作数 功能 76 ASC ASCII 码变换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S D * * * ASC: 11 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:欲执行 ASCII 码变换的英文字母。 D:存放 ASCII 码的装置 指令说明: 1. 如果使用本指令,再连接七段显示器作显示的话,可直接以英文字母来显示错误信息。 2. 操作数 S 使用 WPLSoft 或 ISPSoft 输入 8 个英文字母。 3. 标志位:M1161 用于 8/16 模式交换。 程序范例: 当 X0=On,指定 A~H 变换成 ASCII 码暂存于 D0~D3 中。 X0 ASC A B C D E F G H D0 D0 D1 D2 b15 b0 42H (B) 41H (A) 44H (D) 43H (C) 46H (F) 45H (E) D3 48H (H) 47H (G) 上位 8 下位 8 当 M1161=On 时,每一个字母变换后的 ASCII 码会占 据一个寄存器的下 8 位( b7~b0),上 8 位无效填入 0, 也就是说以一个寄存器来存放一个字母。 上 位8 下位 8 b15 b0 D0 D2 D4 D6 D1 D3 D5 D7 00 H 00 H 00 H 00 H 00 H 00 H 00 H 00 H 41H (A) 42H (B) 43H (C) 44H (D) 45H (E) 46H (F) 47H (G) 48H (H) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-194 API 指令码 操作数 功能 77 PR ASCII 码打印 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * PR: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:存放 ASCII 码的装置(占用 4 个连续的装置)。 D:输出 ASCII 码的外部输出点(占用 10 个连续的 装置)。 指令说明: 1. 本指令会将存放在由 S 起始的 4 个寄存器内的 ASCII 码,从由 D 指定的输出点顺序输出。 2. PR 指令在同一程序中只可以使用 2 次。 3. 标志位:M1029 是执行完毕标志。 程序范例 1: 1. 先使用 ASC 指令将 A~H 变成 ASCII 码后存于 D0~D3 当中,再使用本指令将 A~H 顺序输出。 2. 当 M1027=Off 的时候,X20=On 变化时,指令执行,指定 Y20(下位位)~Y27(上位位)作数 据输出点,扫描信号指定 Y30,而执行中的监视信号指定为 Y31。此模式可执行 8 个字的顺序 输出。且在输出当中,如果条件接点 Off 的话,则会立即停止数据输出,输出全部变 Off。 3. 若指令执行中 X20 变成 Off,数据输出被中断,X20 再度 On 时,数据重新发送。 X20 PR D0 Y20 TTT T (ms):扫描时间 X20 启动信号 Y20~Y27 数据 Y30 扫描信号 Y31 执行中 ABCD H 3. 指令集 3-195 程序范例 2: 1. PR 指令是一个以 8 个位串行输出的指令当特殊辅助继电器 M1027=Off 时,最多可执行 8 个字 的串行输出当 M1027=On 时,则可执行 1~16 个字的串行输出。 2. 当 M1027=On 的时候,X20 由 Off→On 变化时,指令执行,指定 Y20(下位位)~Y27(上位 位)作数据输出点,扫描信号指定 Y30,而执行中的监视信号指定为 Y31。此模式可执行 16 个 字的顺序输出。且在输出当中,如果条件接点 Off 的话,则会将数据输出完成后停止。 3. 字符串中若碰到 00H(NUL)时,代表字符串结束,之后文字不被处理。 4. 条件接点 X20 为 On,数据输出后自动停止。但是,X20 若是一直为 On,M1029 不动作。 X20 PR D0 Y20 M1002 SET M1027 TTT 第一个字 最后一个字 T:扫描周期或中 断插入的时间 X20 启动信号 Y20~Y27 数据 Y30 扫描信号 Y31 执行中 M1029 执行完毕 补充说明: 1. 此指令必须使用晶体管型输出。 2. 使用本指令时,请固定扫描周期,或者是将本指令放在定时中断插入子程序当中执行。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-196 API 指令码 操作数 功能 78 D FROM P 扩展模块 CR 数据 读出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F m1 * * * m2 * * * D * n * * * FROM, FROMP: 9 steps DFROM, DFROMP: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: m1: 特殊模块所在之编号。 m2: 欲读取特殊模块之 CR(Controlled Register) 编号。 D: 存放 读取数据的位置。 n: 一次读取之数据笔数。 指令说明: 1. PLC 使用此指令来读取特殊模块的控制寄存器 (CR)数据。 2. m1 的范围: ES2/EX2/SS2: m1=0 ~ 7。SA2/SE/SX2: m1=0~107。 3. m2 的范围: ES2/EX2: m2=0 ~ 255。SS2: m2=0 ~ 48。SA2/SE/SX2: m2=0~499。 4. n 的范围: ES2/EX2: n=1~4 (16 位指令); n=1~2 (32 位指令)。SS2: n=1~(49-m2) (16 位指令); n=1~(49-m2)/2 (32 位指令)。SA2/SE/SX2: n=1~(499-m2) (16 位指令); n=1~(499-m2)/2 (32 位 指令)。 程序范例: 1. 将编号为 0 扩展模块的 CR#29 的内容读出至 PLC 的 D0 当中,CR#30 的内容读出至 PLC 的 D1 当中,一次读取二笔(n=2)。 2. X0=On 的时候指令被执行,X0 变成 Off 时,指令不被执行,之前读出的数据其内容没有变化。 X0 FROM K0 K29 D0 K2 3. 指令集 3-197 API 指令码 操作数 功能 79 D TO P 扩展模块 CR 数据 写入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F m1 * * * m2 * * * S * * * n * * * TO, TOP: 9 steps DTO, DTOP: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: m1:扩展模块所在的编号。 m2:欲写入扩展模块的 CR(Controlled Register)编号。 S:写入 CR 的 数据。 n:一次写入的数据笔数。 指令说明: 1. PLC 使用此指令将数据写入特殊模块控制寄存器 (CR)。 2. m1 的范围: ES2/EX2/SS2: m1=0 ~ 7。SA2/SE/SX2: m1=0~107。 3. m2 的范围: ES2/EX2: m2=0 ~ 255。SS2: m2=0 ~ 48。SA2/SE/SX2: m2=0~499。 4. n 的范围: ES2/EX2: n=1~4 (16 位指令); n=1~2 (32 位指令)。SS2: n=1~(49-m2) (16 位指令); n=1~(49-m2)/2 (32 位指令)。SA2/SE/SX2: n=1~(499-m2) (16 位指令); n=1~(499-m2)/2 (32 位 指令)。 程序范例: 1. 使用 32 位指令 DTO,程序的动作是将 D11、D10 的内容写入编号为 0 的扩展模块的 CR#13、 #12 当中,一次只写入一笔(n=1)。 2. X0=On 时,指令被执行,X0 变成 Off 时,指令不被执行,写入的数据没有变化。 X0 DTO K0 K12 D10 K1 指令操作数的规则: 1. m1:扩展模块的排列号码。PLC 主机所连接特殊模块的编号。特殊模块所在之编号算法是以最 靠近主机的模块编号为 0, 依序排列, 最多可挂 8 台扩展模块, 且不占用 I/O 点数。 2. m2:CR 的号码,扩展模块的内部内建多组 16 位长度的内存,称的为 CR (Controlled Register)。 CR 的编号以 10 进制编码#0~#48。特殊模块的各种运转情况及设定值均被包含在里面。 3. 如果使用 FROM/TO 指令时, 一次以一个编号的 CR 为读出/写入单位, 若是使用 DFROM/DTO 指令时, 一次以 2 个编号的 CR 为读出/写入单位。 上位元 16 下位元 16 指定的 號碼 CR CR #10 CR #9ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-198 4. 传送组数 n, 16 位指令的 n=2 与 32 位指令的 n=1 意义相同。 D0 D1 D2 D3 CR #5 CR #6 CR #7 CR #8 16 n=4 位指令 的时候 指定装置 指定 CR D0 D1 D2 D3 CR #5 CR #6 CR #7 CR #8 32 n=2 位指令 的时候 指定装置 指定 CR3. 指令集 3-199 API 指令码 操作数 功能 80 RS 串行数据传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * m * * * D * n * * * RS: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:传送数据的起始装置。 m:传送数据的笔数。 D:接收数据的起始装置。 n:接收数据的 笔数(n=0~256)。 指令说明: 1. RS 指令支持 COM1(RS-232),COM2(RS-485),COM3(RS-485) (COM3 仅适用于 ES2/EX2/SA2/SE;但不适用于 DVP-ES2-C 机种)。 2. 此指令专为主机使用串联式通讯接口所提供的便利指令, 只要在 S 来源数据寄存器事先存入字 数据并设定长度 m , 并设定接收数据寄存器 D 及长度 n 。 S 及 D 若使用 E、F 修饰时, 请 勿在指令执行期间变更 E 或 F 的设定值, 否则容易造成数据读取或写入错误。 3. 若不需要传送数据时,可将 m 指定为 K0,若不需要接收数据时,可将 n 指定为 K0。 4. 本指令在程序中的使用次数没有限制,但是同一个通讯端口同时只能有一个指令被执行。 5. RS 指令在执行当中变更传送数据的内容无效。 6. 许多接口设备如变频器等…若配备RS-485串行通讯, 且该设备的通讯格式也有公开即可由PLC 使用者以 RS 指令设计程序来传输 PLC 与接口设备的数据。 7. 若接口设备的通讯格式符合 MODBUS 的通讯格式, PLC 提供通讯便利指令 API 100 MODRD、 API 101 MODWR 及 API 150 MODRW 供使用者使用。详细使用说明请参考个别指令的说明。 8. 如果是 DELTA VFD 系列产品, PLC 提供通讯便利指令 API 102 FWD, API 103 REV, API 104 STOP, API 105 RDST, API 106 RSTEF。 9. 与 RS-485 通讯相关指令的标志及特殊数据寄存器, 请参考下列补充说明。 程序范例 1:COM2 RS-485 1. 先将发送数据内容预先写入 D100 开始的寄存器内,再将 M1122(送信要求标志)设为 On。 2. 当 X0=On 时,RS 指令执行,PLC 进入等待传送、接收数据的状态。PLC 开始执行,D100 开 始连续发送十笔数据,在发送结束时,M1122 会自动 RESET 成 Off(请勿利用程序复位 M1122), 等待约 1 ms 后开始接收外部传入的十笔数据,将其存入由 D120 开始的连续寄存器内。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-200 3. 当数据接收完毕标志(M1123)自动 On,程序中处理完接收数据后,须将 M1123 RESET 为 Off, 再度进入等待传送接收的状态。但请勿利用 PLC 程序连续执行 RST M1123。 M1002 MOV H86 D1120 SET M1120 发送要求脉冲 发送数据内容预先写入 SET M1122 MOV K100 D1129 X0 RS D100 K10 D120 K10 接收数据内容处理 RST M1123 M1123 接收完毕 设置通讯格式 9600,7,E,1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 复位结束完毕标志 程序范例 2:COM2 RS-485 8 位模式(M1161=On) /16 位模式(M1161=Off)切换: 8 位模式: 1. PLC 发送数据的头码、后缀由使用者利用 M1126、M1130,搭配 D1124~D1126 来设置,设置 完成后 PLC 在执行 RS 指令时,会自动发出使用者设置的头码、后缀。 2. 当 M1161=On 时,指定为 8 位转换模式,将 16 位数据分成上位 8 位,下位 8 位,上位 8 位被 省略,仅下位 8 位为有效数据可做数据的发送和接收。 M1000 M1161 D100 D120K4 K7RS X0 传送数据:(PLC→接口设备) STX D100下 D101下 D102下 D103下 ETX1 ETX2 头码 尾码 1 尾码 2来源数据寄存器 下 D100 8 位开始 长度=4 3. 指令集 3-201 接收数据:(接口设备→PLC) STX D100下 D101下 D102下 D103下 ETX1 ETX2 头码 尾码 1 尾码 2来源数据寄存器 下 D100 8 位开始 长度=4 3. PLC 接收数据会将外部机器传入数据包含头码、后缀一起接收,所以长度 n 的设置要注意。 16 位模式: 1. PLC 发送数据的头码、后缀由使用者利用 M1126、M1130,搭配 D1124~D1126 来设置,设置 完成后 PLC 在执行 RS 指令时,会自动发出使用者设置的头码、后缀。 2. 当 M1161=Off 时,指定为 16 位转换模式,将 16 位数据分成上位 8 位,下位 8 位做数据的发送 和接收。 M1001 M1161 D100 D120K4 K7RS X0 传送数据:(PLC→接口设备) STX D100下 D100上 D101下 D101上 ETX1 ETX2 头码 尾码 1 尾码 2来源数据寄存器 下 D100 8 位开始 长度=4 接收数据:(接口设备→PLC) D120下 D120上 D121下 D121上 D122下 D122上 D123下 头码 尾码 1 尾码 2接收数据寄存器由 下 D120 8 位开始 长度=7 3. PLC 接收数据会将外部机器传入数据包含头码、后缀一起接收,所以长度 n 的设置要注意。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-202 程序范例 3: COM2 RS-485 1. PLC 与 VFD-B 系列变频器联机 (变频器为 ASCII Mode、16 位 Mode,M1161=Off)。 2. 先将发送的数据内容预先写入 D100 开始的暂存器内,读取 VFD-B 参数地址从 H2101 开始的 6 笔数据。 M1002 MOV H86 D1120 SET M1120 发送要求脉冲 发送数据内容预先写入 SET M1122 MOV K100 D1129 X10 RS D100 K17 D120 K35 接收数据内容处理 RST M1123 M1123 接收完毕 设置通讯格式 9600,7,E,1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 复位接收完毕标志 PLC Ö VFD-B,PLC 发送“: 01 03 2101 0006 D4 CR LF” VFD-B Ö PLC, PLC 接受“: 01 03 0C 0100 1766 0000 0000 0136 0000 3B CR LF ” 用于发送数据的寄存器(PLC 发出数据) 寄存器 数据 说明 D100 下 ‘: ’ 3A H STX D100 上 ‘0’ 30 H ADR 1 D101 下 ‘1’ 31 H ADR 0 ADR (1,0)为变频器地址 D101 上 ‘0’ 30 H CMD 1 D102 下 ‘3’ 33 H CMD 0 CMD (1,0)为命令码 D102 上 ‘2’ 32 H D103 下 ‘1’ 31 H D103 上 ‘0’ 30 H D104 下 ‘1’ 31 H 起始数据地址 D104 上 ‘0’ 30 H D105 下 ‘0’ 30 H D105 上 ‘0’ 30 H D106 下 ‘6’ 36 H 数据(word)个数 D106 上 ‘D’ 44 H LRC CHK 1 D107 下 ‘4’ 34 H LRC CHK 0 LRC CHK (0,1)为错误校验码 D107 上 CR D H D108 下 LF A H END 3. 指令集 3-203 PLC 接受数据寄存器(VFD-B 响应信息) 寄存器 Data 说明 D120 下 ‘: ’ 3A H STX D120 上 ‘0’ 30 H ADR 1 D121 下 ‘1’ 31 H ADR 0 D121 上 ‘0’ 30 H CMD 1 D122 下 ‘3’ 33 H CMD 0 D122 上 ‘0’ 30 H D123 下 ‘C’ 43 H 数据(byte)个数 D123 上 ‘0’ 30 H D124 下 ‘1’ 31 H D124 上 ‘0’ 30 H D125 下 ‘0’ 30 H 地址 2101 H 的内容 D125 上 ‘1’ 31 H D126 下 ‘7’ 37 H D126 上 ‘6’ 36 H D127 下 ‘6’ 36 H 地址 2102 H 的内容 D127 上 ‘0’ 30 H D128 下 ‘0’ 30 H D128 上 ‘0’ 30 H D129 下 ‘0’ 30 H 地址 2103 H 的内容 D129 上 ‘0’ 30 H D130 下 ‘0’ 30 H D130 上 ‘0’ 30 H D131 下 ‘0’ 30 H 地址 2104 H 的内容 D131 上 ‘0’ 30 H D132 下 ‘1’ 31 H D132 上 ‘3’ 33 H D133 下 ‘6’ 36 H 地址 2105 H 的内容 D133 上 ‘0’ 30 H D134 下 ‘0’ 30 H D134 上 ‘0’ 30 H D135 下 ‘0’ 30 H 地址 2106 H 的内容 D135 上 ‘3’ 33 H LRC CHK 1 D136 下 ‘B’ 42 H LRC CHK 0 D136 上 CR D H D137 下 LF A H END 3. PLC COM2/COM3 亦提供便利指令 API105 RDST 变频器状态读取指令, 来读取 DELTA VFD 系列状态信息。. ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-204 程序范例 4: COM2 RS-485 1. VFD-B 系列变频器联机 (变频器为 RTU Mode,16 位 Mode,M1161=On),发送数据预先写入 欲写入 VFD-B 参数地址 H2000 写入内容为 H12。 2. 先将发送数据的内容预先写入 D100 开始的寄存器内,将会向 VFD-B 的参数地址 H2000 写入 H12 (正转启动)。 M1002 MOV H86 D1120 SET M1120 发送要求脉冲 发送数据内容预先写入 SET M1122 MOV K100 D1129 X0 RS D100 K8 D120 K8 接收数据内容处理 RST M1123 M1123 接收完毕 设置通讯格式 9600,7,E,1 通讯格式保持 设置通讯逾时时间100ms 置位送信要求 复位接收完毕标志 SET M1161 8 位模式 PLC Ö VFD-B,PLC 发送: 01 06 2000 0012 02 07 VFD-B Ö PLC,PLC 接收: 01 06 2000 0012 02 07 发送数据的寄存器(PLC 发送数据) 寄存器 数据 说明 D100 下 01 H Address D101 下 06 H 功能 D102 下 20 H D103 下 00 H 数据地址 D104 下 00 H D105 下 12 H 数据内容 D106 下 02 H CRC CHK Low D107 下 07 H CRC CHK High 接收数据寄存器(VFD-B 响应信息) 寄存器 数据 说明 D120 下 01 H Address 3. 指令集 3-205 寄存器 数据 说明 D121 下 06 H 功能 D122 下 20 H D123 下 00 H 数据地址 D124 下 00 H D125 下 12 H 数据内容 D126 下 02 H CRC CHK Low D127 下 07 H CRC CHK High 3. PLC COM2/COM3 也提供便利指令 API102 FWD 变频器正转,来设定 DELTA VFD 系列正转 启动功能。 程序范例 5: COM1 RS-232 1. 仅支持 8bit mode, 通讯格式与速率由 D1036 下 8 位设定。 2. 不支持 M1126/M1130/D1124~D1126 设定头尾码功能。 3. 16 位的数据可分为高八位与下八位。上八位将被忽略,低八位将用于传送与接收数据。 4. 预写入数据到 D0 开始的寄存器内,设置 M1312 为 On(发送请求标志位)。 5. 当 X0=On,RS 指令执行,PLC 将进入等待传送与接受数据的状态。PLC 传送从 D0 开始的 17 笔数据。传送结束时 M1312 会被设置为 Off(不需要使用程序来 RST M1312)。1ms 后,PLC 接 收 10 笔外部数据并且把它们存储到 D20 开始的连续的寄存器内。 6. 当接收完毕,M1314 设置为 On。当接收完数据需 PLC 程序设置 M1314=Off。千万不能用 PLC 程序连续执行 RST M1314=Off。 发送要求脉冲 发送数据内容预先写入 接收数据内容处理 设置通讯格式 9600,8,E,1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 复位接收完毕标志 M1002 MOV H87 D1036 SET M1138 MOV K100 D1249 X0 RS D100 K4 D120 K7 M1314 RST M1314 SET M1312 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-206 传送数据:(PLC→接口设备) D100L D101L D102L D103L S m 接收数据寄存器由 下 D100 8 位开始 长度=4 接收数据: (接口设备→PLC) 接收数据寄存器由 下 D120 8 位开始 长度=7 D120L D122L D123L D124L D125L D126LD121L S n 程序范例 6: COM3 RS-485 1. 只支持 8bit mode, 通讯格式与速率由 D1109 下 8 位设定。 2. 不支持 M1126/M1130/D1124~D1126 设定头尾码功能。 3. 16 位的数据可分为高八位与下八位。上八位将被忽略,低八位将用于传送与接收数据。 4. 设置 M1316=On,准备写入数据到 D0 开始的寄存器中。 5. 当 X0=On,RS 指令执行,PLC 将进入等待状态,等待传送与接受数据。PLC 传送 17 笔数据到 从 D0 开始的寄存器中。传送完毕后,M1316 会设为 Off(不需要使用程序来复位 M1316)。1ms 后,PLC 会接收到 10 笔数据并且储存在从 D20 开始的寄存器中。 6. 当接收完毕,M1318 将设置为 On。当接收完毕且要进行其它数据传送时,用 PLC 程序设置 M1318=Off。但 PLC 程序不能连续地 RST M1318。 M1002 MOV H87 D1109 SET M1136 MOV K100 D1252 X0 RS D100 K4 D120 K7 M1318 RST M1318 SET M1316 发送要求脉冲 发送数据内容预先写入 接收数据内容处理 设置通讯格式 9600,8,E,1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 复位接收完毕标志 3. 指令集 3-207 传送数据:(PLC→接口) D100L D101L D102L D103L S m 接收数据寄存器由 下 D100 8 位开始 长度=4 接受:(接口设备→PLC) 接收数据寄存器由 下 D120 8 位开始 长度=7 D120L D122L D123L D124L D125L D126LD121L S n 补充说明: 1. PLC COM1 (RS-232) 支持通讯指令 RS / MODRW 相关标志信号与特殊寄存器说明: 标志 功 能 说 明 动作 M1138 通讯设置保持用,PLC 在作第一次程序扫描完后会根据特殊数据 寄存器 D1036 的设置,作通讯协议设置的复位。在第二次程序 扫描开始,当 RS 指令执行的瞬间,都会先根据特殊数据寄存器 D1036 的设置,作通讯协议设置的复位,若使用者的通讯协议是 固定的,可将 M1138 设为 On。此时,每次通讯指令的执行便不 再作通讯协议设置的复位,即使改变 D1036 的设置,也不会改 变通讯协议。 使用者设 置及清除 M1139 ASCII/RTU 模式选择 (Off 时为 ASCII 模式 On 时为 RTU 模式) 使用者设 置及清除 M1312 送信要求, 当使用者利用通讯指令将数据传送与接收, 必须用脉 冲指令将 M1312 设为 On, 若上述指令开始执行, 则 PLC 执行数 据传送接收的动作。当上述指令执行数据传送完毕后会自动将 M1312 清除 使用者设 置,及系 统自动清 除 M1313 传送中 / 接收中指示 系统产生 M1314 通讯指令数据传送接收完毕 M1315 通讯指令数据接收错误标志. M1315 On 表示通讯接收发生错 误, 错误原因存放在 D1250. 系统自动 设定, 使 用者清除 特殊寄存器 功 能 说 明 D1036 PLC COM1 (RS-232) 通讯协议, 请参考下列表格说明 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-208 特殊寄存器 功 能 说 明 D1167 PLC COM1 (RS-232) RS 指令特定字符通讯接收中断请求 (I140), 当通讯接 收的字符 = D1167 的 Low Byte 时, 触发中断 I140。 支持指令: RS D1121 PLC COM1/COM2 通讯地址, 当 PLC COM1/COM2 当从站时的通讯地址 D1249 PLC COM1 接收逾时, 时间定义(ms), 使用者若有设定通讯逾时 D1249 若 超出设定值数据尚未接收完毕则会启动此标志, 通讯错误代码 D1250=K1。若 状态解除后必须将 M1315 清除为 Off。 D1250 PLC COM1 通讯错误代码 支持指令: MODRW 2. PLC COM2 (RS-485) 通讯指令 RS / MODRD / MODWR / FWD / REV / STOP / RDST / RSTEF / MODRW 相关标志信号与特殊寄存器说明: 标志 功 能 说 明 动作 M1120 通讯设定保持用, PLC 在第一次程序扫描完后会根据特殊数据寄 存器 D1120 的设定, 作通讯协议设定的重置。在第二次程序扫描 开始, 当通讯指令执行的瞬间, 都会先根据特殊数据寄存器 D1120 的设定, 作通讯协议设定的重置, 若使用者的通讯协议是 固定的, 可将 M1120 设为 On, 此时, 每次通讯指令的执行便不 再作通讯协议设定的重置, 即使改变D1120的设定, 也不会改变 通讯协议。 使用者设 定及清除 M1121 Off 时为 PLC 处于 RS-485 通讯数据发送中 系统产生 M1122 送信要求, 当使用者要利用通讯指令将数据传送与接收, 必须用 脉冲指令将 M1122 设为 On, 若上述指令开始执行, 则 PLC 执行 数据传送接收的动作。当上述指令数据传送完毕后会自动将 M1122 清除 使用者设 定, 系统 自动清除 M1123 接收完毕, 当 RS 指令执行完毕后会将 M1123 设为 On, 使用者 在程序中可利用 M1123 为 On 时, 处理所接收到的数据。当接收 到的数据处理完毕后, 必须将 M1123 清除为 Off 支持指令: RS 系统自动 设定, 使 用者清除 M1124 接收等待, 当 M1124 为 On 时, 表示 PLC 目前正等待接收资料 中 系统产生 M1125 接收状态解除, 当 M1125 被设定为 On 时, 则解除 PLC 传送接 收等待的状态。传送接收等待的状态解除后, 必须将 M1125 清 除为 Off 使用者设 定及清除 3. 指令集 3-209 标志 功 能 说 明 动作 M1126 RS 指令使用者/系统定义 STX/ETX 选择, 请参考下列表格说明 支持指令: RS M1130 RS 指令使用者/系统定义 STX/ETX 选择, 请参考下列表格说明 支持指令: RS 使用者设 定及清除 M1127 通讯指令数据传送接收完毕 支持指令: MODRD / MODWR / FWD / REV / STOP / RDST / RSTEF / MODRW 系统自动 设定, 使 用者清除 M1128 传送中 / 接收中指示 系统产生 M1129 接收逾时, 使用者若有设定通讯逾时 D1129 若超出设定值数据 尚未接收完毕则会启动此标志。若状态解除后必须将 M1129 清 除为 Off。 系统自动 设定, 使 用者清除 M1131 ASCII 模式时, 数据转换为 HEX 期间 M1131=On, 其余时间为 Off。 支持指令: MODRD / RDST / MODRW M1140 数据接收错误 支持指令: MODRD / MODWR / MODRW M1141 指令参数错误 支持指令: MODRD / MODWR / MODRW M1142 M1177=Off 时, VFD-A 便利指令数据接收错误 支持指令: FWD / REV / STOP / RDST / RSTEF 系统产生 M1143 ASCII/RTU 模式选择 (Off 时为 ASCII 模式 On 时为 RTU 模式) 支持指令: RS / MODRD / MODWR, M1177=On 时 FWD / REV / STOP / RDST / RSTEF / MODRW 使用者设 定及清除 M1161 8/16 位处理模式选择, On 为 8 位模式, Off 为 16 位模式 支持指令: RS M1177 M1177=Off 时(默认值), 支持 DELTA VFD-A 变频器。当 M1177=On 时, 支持其它 DELTA VFD 系列变频器 支持指令: FWD / REV / STOP / RDST / RSTEF 使用者设 定 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-210 特殊寄存器 功 能 说 明 D1038 PLC COM2 (RS-485) 通讯当从站时, 数据响应延迟时间设定, 设定范围 0~10,000, 时间定义(0.1ms) EASY PLC LINK 中, 可设定延迟发送下一笔通讯数据, 设定范围 0~10,000 (单位为一个扫描周期) D1050~D1055 当执行 MODRD / RDST 指令后, PLC 系统会自动将 D1070~D1085 的 ASCII 字符数据转换为 HEX, 16 进位数值存于 D1050~D1055。 支持指令: MODRD / RDST D1070~D1085 PLC内建 RS-485通讯便利指令, 该指令执行时, 所送出命令, 当接收端接收 后会回传讯息, 该讯息会储存于 D1070~D1085, 使用者可利用该寄存器的 内容, 检视回传数据。 支持指令: MODRD / MODWR / FWD / REV / STOP / RDST / RSTEF / MODRW D1089~D1099 PLC 内建 RS-485 通讯便利指令, 该指令执行时, 所送出的命令字符储存于 D1089~D1099, 使用者可根据该寄存器的内容, 检视命令是否正确。 支持指令: MODRD / MODWR / FWD / REV / STOP / RDST / RSTEF / MODRW D1120 PLC COM2 (RS-485) 通讯协议, 请参考下列表格说明 D1121 PLC COM1/COM2 通讯地址, 当 PLC COM1/COM2 当从站时的通讯地址 D1122 发送资料剩余字数。 D1123 接收数据剩余字数。 D1124 起始字符定义(STX), 请参考下列表格说明。 支持指令: RS D1125 第一结束字符定义(ETX1), 请参考下列表格说明。 支持指令: RS D1126 第二结束字符定义(ETX2), 请参考下列表格说明。 支持指令: RS D1129 PLC COM2 接收逾时, 时间定义(ms), 使用者若有设定通讯逾时 D1129 若超出设定值数据尚未接收完毕则会启动此标志。若状态解除后必须将 M1129 清除为 Off。 D1130 MODBUS 回传错误码记录。 支持指令: MODRD / MODWR / FWD / REV / STOP / RDST / RSTEF / MODRW 3. 指令集 3-211 特殊寄存器 功 能 说 明 D1168 PLC COM2 (RS-485) RS 指令特定字符通讯接收中断请求 (I150), 当通讯 接收的字符 = D1168 的 Low Byte 时, 触发中断 I150。 支持指令: RS D1256~D1295 PLC COM2(RS-485) 通讯便利指令 MODRW, 该指令执行时, 所送出的命 令字符储存于 D1256~D1295, 使用者可根据该寄存器的内容, 检视命令是 否正确。 支持指令: MODRW D1296~D1311 PLC COM2(RS-485) 通讯便利指令 MODRW, PLC 系统会自动将使用者指 定接收的寄存器内容的 ASCII 字符数据转换为 HEX, 16 进位数值。 支持指令: MODRW 3. PLC COM3 (RS-485) 通讯指令 RS / MODRW, M1177=On 时 FWD / REV / STOP / RDST / RSTEF 相关标志信号与特殊寄存器说明: 标志 功 能 说 明 动作 M1136 通讯设定保持用, PLC 在第一次程序扫描完后会根据特殊数据 寄存器 D1109 的设定, 作通讯协议设定的重置。在第二次程序 扫描开始, 当通讯指令执行的瞬间, 都会先根据特殊数据寄存 器 D1109 的设定, 作通讯协议设定的重置, 若使用者的通讯协 议是固定的, 可将 M1136 设为 On, 此时, 每次通讯指令的执 行便不再作通讯协议设定的重置, 即使改变 D1109 的设定, 也 不会改变通讯协议。 M1320 ASCII/RTU 模式选择 (Off 时为 ASCII 模式 On 时为 RTU 模式) 使用者设 定及清除 M1316 送信要求, 当使用者要利用通讯指令将数据传送与接收, 必须 用脉冲指令将 M1316 设为 On, 若上述指令开始执行, 则 PLC 执行数据传送接收的动作。当上述指令执行数据传送完毕后会 自动将 M1316 清除 使用者设 定, 系统 自动清除 M1317 传送中 / 接收中指示 系统产生 M1318 通讯指令数据传送接收完毕 M1319 通讯指令数据接收错误标志. M1319 On 表示通讯接收发生错 误, 错误原因存放在 D1253. 系统自动 设定, 使 用者清除 特殊寄存器 功 能 说 明 D1038 PLC COM3 (RS-485) 通讯当从站时, 数据响应延迟时间设定, 设定范围 0~10,000, 时间定义(0.1ms) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-212 特殊寄存器 功 能 说 明 D1109 PLC COM3 (RS-485) 通讯协议, 请参考下列表格说明 D1169 PLC COM3 (RS-485) RS 指令特定字符通讯接收中断请求 (I160), 当通讯接 收的字符 = D1169 的 Low Byte 时, 触发中断 I160。 支持指令: RS D1252 PLC COM3 接收逾时, 时间定义(ms), 使用者若有设定通讯逾时 D1252 若 超出设定值数据尚未接收完毕则会启动此标志, 通讯错误代码 D1253=K1。若 状态解除后必须将 M1319 清除为 Off。 D1253 PLC COM3 通讯错误代码 D1255 PLC COM3 通讯地址, 当 PLC COM3 当从站时的通讯地址 4. 通讯指令支持 PLC COM1/COM2/COM3 使用对应表: 动作 COM2 COM1 COM3 功 能 说 明 M1120 M1138 M1136 通讯设定保持用 M1143 M1139 M1320 ASCII/RTU 模式选择 D1120 D1036 D1109 通讯协议 协定 设定 D1121 D1121 D1255 PLC 通讯地址 M1161 - - 8/16 位处理模式选择 M1121 - - 通讯指令数据发送中 M1122 M1312 M1316 通讯指令送信要求 M1126 - - 仅 RS 指令使用者/系统定义 STX/ETX M1130 - - 仅 RS 指令使用者/系统定义 STX/ETX D1124 - - 仅 RS 指令起始字符定义(STX) D1125 - - 仅 RS 指令第一结束字符定义(ETX1) D1126 - - 仅 RS 指令第二结束字符定义(ETX2) D1129 D1249 D1252 通讯逾时异常时间, 时间定义 (ms) 发送 要求 D1122 - - 发送资料剩余字数 D1256 ~ D1295 - - 仅 MODRW 指令储存指令执行时所送出的指令字符 发送 要求 D1089 ~ D1099 - - 仅 MODRD / MODWR / FWD / REV / STOP / RDST / RSTEF 指令储存指令执行时所送出的指令字符 M1124 M1313 M1317 通讯指令接收等待中标志 M1125 - - 接收状态解除(解除传送接收等待的状态) 接收 中 M1128 - - 通讯指令传送/接收中指示 3. 指令集 3-213 动作 COM2 COM1 COM3 功 能 说 明 D1123 - - 接收数据剩余字数 D1070 ~ D1085 - - 除 RS 指令外,储存接收到的回传讯息 接收 中 D1168 D1167 D1169 仅 RS 指令通讯接收中断(分别为 I140、I150、I160)特定字符。 M1123 M1314 M1318 RS 通讯指令数据接收完毕标志 M1127 M1314 M1318 通讯指令数据传送接收完毕标志 M1131 - - ASCII 模式时, 数据转换为 HEX 中 D1296 ~ D1311 - - 仅 MODRW 指令使用者指定接收之寄存器内容的 ASCII 字符数据转换为 HEX 数据值储存 接收 完毕 D1050 ~ D1055 - - 仅 MODRD 指令使用者指定接收之寄存器内容的 ASCII 字符数据转换为 HEX 数据值储存 M1315 M1319 通讯指令数据接收错误标志 D1250 D1253 通讯错误代码 M1129 - - 接收逾时 M1140 - - 除 RS 指令外的通讯指令数据接收错误 M1141 - - MODRD / MODWR / MODRW 指令参数错误 (接受 讯息有 Exception Code) Exception Code 存放在 D1130 M1142 - - FWD / REV / STOP / RDST / RSTEF 指令中 VFD-A 接收错误 错误 讯息 D1130 - - MODBUS 回传错误码记录(Exception Code) 5. D1036 / D1120 / D1109: 通信协议, 其设定方法请参考下表: 内容 0 1 b0 数据长度 7 8 00 : 无(None) 01 : 奇同位(Odd) b1 b2 同位 11 : 偶同位(Even) b3 stop bits 1 bit 2 bit ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-214 内容 0 1 0001 (H1) : 110 0010 (H2) : 150 0011 (H3) : 300 0100 (H4) : 600 0101 (H5) : 1200 0110 (H6) : 2400 0111 (H7) : 4800 1000 (H8) : 9600 1001 (H9) : 19200 1010 (HA) : 38400 1011 (HB) : 57600 1100 (HC) : 115200 1101 (HD) : 500000 (COM2 / COM3 支持) 1110 (HE) : 31250 (COM2 / COM3 支持) b4 b5 b6 b7 1111 (HF) : 921000 (COM2 / COM3 支持) b8 起始字符选择 无 D1124 b9 第一结束字符选择 无 D1125 b10 第二结束字符选择 无 D1126 b15~b11 无定义 6. 当使用 RS 指令时, 在常用外围装置的通讯格式中, 会定义该控制字符串的起始字符及结束字符, 因此提供使用者可在 D1124~D1126 设定其起始字符及结束字符。或可利用本机所定义的起始字 符及结束字符。当使用者使用 M1126、M1130、D1124~D1126 来设定起始结束字符时, 其 RS-485 通信协议 D1120 的 b8~b10 须设为 1, 才有效, 其设定方法请参考下表: M1130 0 1 0 D1124: 使用者定义 D1125: 使用者定义 D1126: 使用者定义 D1124: H 0002 D1125: H 0003 D1126: H 0000(无设定) M1126 1 D1124: 使用者定义 D1125: 使用者定义 D1126: 使用者定义 D1124: H 003A(’:’) D1125: H 000D(CR) D1126: H 000A(LF) 7. COM2 通讯格式设定例子: 假设有一通讯格式: Baud rate 9600 7, N, 2 STX : “: ” ETX1 : “CR” 3. 指令集 3-215 ETX2 : “LF” 经由查表得知通讯格式为 H788 将其写入 D1120 即可。 b15 b0 0000011110001000 788 D1120 0 Don t care MOV H788 D1120 M1002 当有使用 STX, ETX1, ETX2 时, 须注意特殊辅助继电器 M1126 及 M1130 之间 On/Off 关系。 8. D1250(COM1)、D1253(COM3) 通讯错误代码说明: 通讯错误代码 错误说明 H0001 通讯逾时 H0002 检查码错误 H0003 接受讯息有 Exception Code H0004 传送功能码或数据错误 H0005 实际接收长度与预计接收长度不符 9. RS 指令特定字符通讯接收中断请求说明 (仅下八位有效) 通讯口 中断编号 特殊寄存器 COM1 I140 D1167 COM2 I150 D1168 COM3 I160 D1169 以标准 MODBUS 格式来说明: ASCII 模式 STX 起始字符= ‘: ’ (3AH) Address Hi Address Lo 通信地址: 8-bit 地址由 2 个 ASCll 码组合 Function Hi Function Lo 功能码: 8-bit 功能码由 2 个 ASCll 码组合 Data (n-1) ……. Data 0 数据内容: n×8-bit 数据内容由 2n 个 ASCll 码组合 LRC CHK Hi LRC CHK Lo LRC 检查码: 8-bit 检查码由 2 个 ASCll 码组合 END Hi END Lo 结束字符: END Hi=CR (0DH), END Lo=LF(0AH) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-216 通信协议以 MODBUS ASCII 模式: 每 byte 是由 2 个 ASCII 字符组合而成。例如: 数值是 64Hex, ASII 的表示方式为’64’, 分别由’6’(36Hex)、’4’(34Hex)组合而成。ASCII 的讯息字符意义: ’0’…’9’, A’…’F’ 每 个 16 进位制代表每个 ASCII 的讯息字符。 字符 ‘0’ ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’ ASCII code 30H 31H 32H 33H 34H 35H 36H 7H 字符 ‘8’ ‘9’ ‘A’ ‘B’ ‘C’ ‘D’ ‘E’ ‘F’ ASCII code 38H 39H 41H 42H 43H 44H 45H 46H 起始字符 (STX): : ‘: ’ (3AH) 通信地址(Address): ‘0’ ‘0’: 所有驱动器广播(Broadcast) ‘0’ ‘1’: 对第 01 地址驱动器 ‘0’ ‘F’: 对第 15 地址驱动器 ‘1’ ‘0’: 对第 16 地址驱动器以此类推﹒﹒﹒﹒﹒﹒, 最大可到第 255 地址 (‘F’ ‘F’) 功能码(Function): ‘0’ ‘2’: ‘0’ ‘3’: 读取多笔寄存器内容 0’ ‘5’: ‘0’ ‘6’: 写入一个 Word 内容至寄存器 ‘0’ ‘F’: ‘1’ ‘0’: 写入多笔寄存器内容 数据内容(Data Characters): 使用者的传送数据内容 LRC 检查码: 检查码(LRC Check) 由 Address 到 Data Content 结束加起来的值取 2 的补码。例如: 01H + 03H + 21H + 02H + 00H + 02H=29H, 然后取 2 的补码=D7H。. 结束字符: 固定为 END Hi=CR (0DH), END Lo=LF(0AH)3. 指令集 3-217 例如: 对驱动器地址 01H, 读出 2 个连续的寄存器内的数据内容如下表示: 起始寄存器地址 2102H 询问讯息字符串格式: 响应讯息字符串格式: 起始字符 ‘: ’ 起始字符 ‘: ’ ‘0’ ‘0’ 从站地址 ‘1’ 从站地址 ‘1’ ‘0’ ‘0’ 命令码 ‘3’ 命令码 ‘3’ ‘2’ ‘0’ ‘1’ 字节数 ‘4’ ‘0’ ‘1’ 起始数据地址 ‘2’ ‘7’ ‘0’ ‘7’ ‘0’ 数据内容(2102H) ‘0’ ‘0’ ‘0’ 接点个数字节 ‘2’ ‘0’ ‘D’ ‘0’ LRC 校验码 ‘7’ 数据内容(2103H) ‘0’ CR ‘7’ 结束字符 LF LRC 校验码 ‘1’ CR 结束字符 LF RTU 模式 字段名 数据 (16 进制) START 参考下列说明 Address 通信地址: 8-bit 二进制地址 Function 功能码: 8-bit 二进制 DATA (n-1) ……. DATA 0 数据内容: n×8-bit 资料 CRC CHK Low CRC CHK High CRC 检查码: 16-bit CRC 检查码由 2 个 8-bit 二进制组合 END 参考下列说明 起始(START)、结束(END): RTU 逾时定时器: 请参考下表: Baud rate(bps) RTU 逾时定时器 (ms) Baud rate (bps) RTU 逾时定时器 (ms) 300 40 9,600 2 600 21 19,200 1 1,200 10 38,400 1 2,400 5 57,600 1 4,800 3 115,200 1 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-218 通信地址(Address): 00 H: 所有驱动器广播(Broadcast) 01 H: 对第 01 地址驱动器 0F H: 对第 15 地址驱动器 10 H: 对第 16 地址驱动器以此类推…, 最大为 254 (FE H) 功能码(Function Code): 03 H: 读取多笔寄存器内容 06 H: 写入一个 Word 内容至寄存器 10 H: 写入多笔寄存器内容 数据内容(Data Characters): 使用者的传送数据内容 CRC 检查码: 检查码由 Address 到 Data content 结束。其运算规则如下: 步骤 1: 令 16-bit 寄存器 (CRC 寄存器)=FFFFH. 步骤 2: Exclusive OR 第一个 8-bit byte 的讯息指令与低位 16-bit CRC 寄存器, Exclusive OR , 将结果存入 CRC 寄存器内。 步骤 3: 右移一位 CRC 寄存器, 将 0 填入高位处。 步骤 4: 检查右移的值, 如果是 0 将步骤 3 的新值存入 CRC 寄存器内否则 Exclusive OR A001H 与 CRC 寄存器, 将结果存入 CRC 寄存器内。 步骤 5: 重复步骤 3~步骤 4, 将 8-bit 全部运算完成。 步骤 6: 重复步骤 2~步骤 5, 取下一个 8-bit 的讯息指令, 直到所有讯息指令运算完成。 最后, 得到的 CRC 寄存器的值, 即是 CRC 的检查码。值得注意的是 CRC 的检查 码必须交换放置于讯息指令的检查码中。 例如: 对驱动器地址 01H, 读出 2 个连续的寄存器内的数据内容如下表示: 起始寄存器地址 2102H 询问讯息格式: 响应讯息格式: 字段名 数据 (16 进制) 字段名 数据 (16 进制) 从站地址 01 H 从站地址 01 H 命令码 03 H 命令码 03 H 21 H 数据起始地址 02 H 数据个数(以字节为单 位) 04 H 00 H 17 H 数据个数(以字节为 单位) 02 H 数据内容(2102H) 70 H CRC 校验和低字节 6F H 00 H CRC 校验和高字节 F7 H 数据内容(2103H) 00 H CRC 校验和低字节 FE H CRC 校验和高字节 5C H 3. 指令集 3-219 COM2 (RS-485) 通讯程序标志时序图: M1002 MOV H86 D1120 SET M1120 发送要求脉冲 发送数据内容预先写入 SET M1122 MOV K100 D1129 X20 RS D100 K2 D120 K8 接收数据内容处理 RST M1123 M1123 接收完毕 设置通讯格式 9600,7,E,1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 复位接收完毕标志ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-220 时序图: 12312345678 3 2 1 0 3 2 1 0 4 5 6 7 8 D1122 M1131 M1129 M1128 D1123 M1127 M1125 M1124 M1123 M1122 M1121 X20 X0SET M1122 RS 指令执行 发送待机 送信要求 接收完毕 接收等待 接收状态解除 MODRD/RDST/ MODRW 数据 接收转换完毕 传送接收中 接收逾时 接收逾时计时器 由设置 D1129 MODRD/RDST/ MODRW 数据 转换为 HEX 发送数据 剩余字数 接收数据 剩余字数 立即转向 转换数据 收到完整笔数才停止计时 当接收逾时计数器到达则导通 ASCII HEX数据转换成 小于一个扫描周期 使用者在程序中使用会将状 态复位到初始发送待机状态 使用者须在程序中复位 数据传送完毕自动复位 3. 指令集 3-221 API 指令码 操作数 功能 81 D PRUN P 八进制传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * D * * PRUN, PRUNP: 5 steps DPRUN, DPRUNP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:传送来源装置 D:传送目的地装置 指令说明: 1. 操作数 S 以八进制的形式传送到操作数 D。 2. X, Y, M of KnX, KnY, KnM 为 10 的倍数,例如:X20,M20,Y20. 3. 当操作数 S 指定为 KnX,操作数 D 须指定为 KnM。 4. 当操作数 S 指定为 KnM,操作数 D 须指定为 KnY。 程序范例 1: 当 X3=On,以八进制的型态将 K4X10 的内容传送到 K4M10。 X3 PRUN K4X20 K4M10 X37 M27 X36 X35 X34 X33 X32 X31 X30 X27 X26 X25 X24 X23 X22 X21 X20 M17 M16 M15 M14 M13 M12 M11 M10M26 M25 M24 M23 M22 M21 M20 M19M18 没有变化 程序范例 2: 当 X2=On,以八进制的型态将 K4M10 的内容传送到 K4Y10。 X2 PRUN K4M10 K4Y20 此 位不被传送 2 Y27 M27 Y26 Y25 Y24 Y23 Y22 Y21 Y20 Y17 Y16 Y15 Y14 Y13 Y12 Y11 Y10 M17 M16 M15 M14 M13 M12 M11 M10M26 M25 M24 M23 M22 M21 M20 M19 M18ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-222 API 指令码 操作数 功能 82 ASCI P HEX 转为 ASCII 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * * D * * * * * * n * * ASCI, ASCIP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据来源起始装置 D:存放变换结果的起始装置 n:变换的位数 (n=1~256) 指令说明: 1. 16 位转换模式:当 M1161=Off 时,将 S 的 16 进制数据,将各个位数转换为 ASCII 码后,传送 到 D 的上 8 位及下 8 位中,转换的位数以 n 来设置。 2. 8 位换模式:当 M1161=On 时,将 S 的 16 进制数据,将各个位数转换为 ASCII 码后,传送到 D 的下 8 位中,转换的位数以 n 来设置( D 的上 8 位全部为 0)。 程序范例 1: 1. 当 M1161=Off,转换模式是 16-bit。 2. 当 X0=On 时,将由 D10 内的 4 个 16 进制数值转换成 ASCII 码传送到由 D20 起始的寄存器。 X0 ASCI D10 D20 K4 M1001 M1161 3. 假设条件: (D10) = 0123 H ‘0’ = 30H ‘4’ = 34H ‘8’ = 38H (D11) = 4567 H ‘1’ = 31H ‘5’ = 35H ‘9’ = 39H (D12) = 89AB H ‘2’ = 32H ‘6’ = 36H ‘A’ = 41H (D13) = CDEF H ‘3’ = 33H ‘7’ = 37H ‘B’ = 42H 4. 当 n=4,位的组成: 0000000100100011 0123 D10=0123 H D20 D21 0011000100110000 0011001100110010 上 下 上 下 1 31H 0 30H 3 33H 2 32H 3. 指令集 3-223 5. 当 n = 6 时,位的组成: 0000000100100011 0123 b15 0011011100110110 0011000100110000 D20 b0 0100010101100111 4567 b15 b0 b15 b0 D21b15 b0 0011001100110010 D22b15 b0 转换 D10=H 0123 D11=H 4567 7 37H 6 36H 1 31H 30H 3 33H 32H 0 2 6. 当 n = 1 to 16: n D K1 K2 K3 K4 K5 K6 K7 K8 D20 下 “3” “2” “1” “0” “7” “6” “5” “4” D20 上 “3” “2” “1” “0” “7” “6” “5” D21 下 “3” “2” “1” “0” “7” “6” D21 上 “3” “2” “1” “0” “7” D22 下 “3” “2” “1” “0” D22 上 “3” “2” “1” D23 下 “3” “2” D23 上 “3” D24 下 D24 上 D25 下 D25 上 D26 下 D26 上 D27 下 D27 上 无变化 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-224 n D K9 K10 K11 K12 K13 K14 K15 K16 D20 下 “B” “A” “9” “8” “F” “E” “D” “C” D20 上 “4” “B” “A” “9” “8” “F” “E” “D” D21 下 “5” “4” “B” “A” “9” “8” “F” “E” D21 上 “6” “5” “4” “B” “A” “9” “8” “F” D22 下 “7” “6” “5” “4” “B” “A” “9” “8” D22 上 “0” “7” “6” “5” “4” “B” “A” “9” D23 下 “1” “0” “7” “6” “5” “4” “B” “A” D23 上 “2” “1” “0” “7” “6” “5” “4” “B” D24 下 “3” “2” “1” “0” “7” “6” “5” “4” D24 上 “3” “2” “1” “0” “7” “6” “5” D25 下 “3” “2” “1” “0” “7” “6” D25 上 “3” “2” “1” “0” “7” D26 下 “3” “2” “1” “0” D26 上 “3” “2” “1” D27 下 “3” “2” D27 上 无变化 “3” 程序范例 2: 1. 当 M1161=On 时,指定为 8 位转化模式。 2. 当 X0=On 时,将 D10 内的 4 个 16 进制数值转换成 ASCII 码传送到由 D20 起始的寄存器。 X0 ASCI D10 D20 K4 M1000 M1161 3. 假设条件: D10=0123H,D11=4567H,D12=89ABH,D13=CDEFH 4. 当 n= 2 时,位的组成: 0000000100100011 0123 D10=0123 H 00 000 001100 0 00 00 0011001 3 33 2 100 0 100 00 D20=2 ASCII =32H的码 D21=3 ASCII =33H 的码 3. 指令集 3-225 5. 当 n=4,位的组成: 0000000100100011 0123 b15 00 0 00110 0 00 000 0011000 D20 b0 b15 b0 D21b15 b0 00 00 00110010 D22b15 b0 00 00 0011001 D23b15 b0 1 100 00 00 0 00 00 00 000 00 转换 D10= H 0123 30H0 31H1 32H2 33H3 6. 当 n = 1~16: n D K1 K2 K3 K4 K5 K6 K7 K8 D20 “3” “2” “1” “0” “7” “6” “5” “4” D21 “3” “2” “1” “0” “7” “6” “5” D22 “3” “2” “1” “0” “7” “6” D23 “3” “2” “1” “0” “7” D24 “3” “2” “1” “0” D25 “3” “2” “1” D26 “3” “2” D27 “3” D28 D29 D30 D31 D32 D33 D34 D35 无变化 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-226 n D K9 K10 K11 K12 K13 K14 K15 K16 D20 “B” “A” “9” “8” “F” “E” “D” “C” D21 “4” “B” “A” “9” “8” “F” “E” “D” D22 “5” “4” “B” “A” “9” “8” “F” “E” D23 “6” “5” “4” “B” “A” “9” “8” “F” D24 “7” “6” “5” “4” “B” “A” “9” “8” D25 “0” “7” “6” “5” “4” “B” “A” “9” D26 “1” “0” “7” “6” “5” “4” “B” “A” D27 “2” “1” “0” “7” “6” “5” “4” “B” D28 “3” “2” “1” “0” “7” “6” “5” “4” D29 “3” “2” “1” “0” “7” “6” “5” D30 “3” “2” “1” “0” “7” “6” D31 “3” “2” “1” “0” “7” D32 “3” “2” “1” “0” D33 “3” “2” “1” D34 “3” “2” D35 无变化 “3” 3. 指令集 3-227 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据来源装置 D:存放变换结果的起始装置 n:变换的 ASCII 码位数 (n=1~256) 指令说明: 1. 16 位转换模式:当 M1161=Off 时,指定为 16 位转换模式。S 的 16 进制数据上、下各 8 位的 ASCII 码转换为 16 进制数值,每 4 位数传送到 D,转换的 ASCII 码位数以 n 来设置。 2. 8 位转换模式:当 M1161=On 时,指定为 8 位转换模式。将 S 的 16 进制数据,将各个位数转 换为 ASCII 码后,传送到 D 的下 8 位中,转换的位数以 n 来设置。(D 的上八位都为 0) 程序范例 1: 1. 当 M1161=Off,指定为 16 位转换模式。 2. 当 X0=On,将 D20 起始的寄存器中的 ASCII 码转换为 16 进制数值,每 4 位数传送到 D10 起 始的寄存器中,转换的 ASCII 码位数 n=4。 X0 HEX D20 D10 K4 M1001 M1161 3. 假设条件: S ASCII 码 HEX 转换 S ASCII 码 HEX 转换 D20 下 H 43 “C” D24 下 H 34 “4” D20 上 H 44 “D” D24 上 H 35 “5” D21 下 H 45 “E” D25 下 H 36 “6” D21 上 H 46 “F” D25 上 H 37 “7” D22 下 H 38 “8” D26 下 H 30 “0” D22 上 H 39 “9” D26 上 H 31 “1” D23 下 H 41 “A” D27 下 H 32 “2” D23 上 H 42 “B” D27 上 H 33 “3” 4. 当 n=4,位的组成: API 指令码 操作数 功能 83 HEX P ASCII 转为 HEX 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * * D * * * * * * n * * HEX, HEXP: 7 steps ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-228 0100 1 0 1 110000000 0 0001 1 0 1 0 1011000 1001111011110111 CDE F D10 D20 D21 44H D 46H F 43H C 45H E 5. 当 n = 1~6: D n D13 D12 D11 D10 1 ***C H 2 **CD H 3 *CDE H 4 CDEF H 5 ***C H DEF8 H 6 **CD H EF89 H 7 *CDE H F89A H 8 CDEF H 89AB H 9 ***C H DEF8 H 9AB4 H 10 **CD H EF89 H AB45 H 11 *CDE H F89A H B456 H 12 使用的寄存器内 未被指定的部份 全部为 0 CDEF H 89AB H 4567 H 13 ***C H DEF8 H 9AB4 H 5670 H 14 **CD H EF89 H AB45 H 6701 H 15 *CDE H F89A H B456 H 7012 H 16 CDEF H 89AB H 4567 H 0123 H 程序范例 2: 1. 当 M1161=On 时,指定为 8 位转换模式。 X0 HEX D20 D10 K4 M1000 M1161 2. 假设条件: S ASCII 码 HEX 转换 S ASCII 码 HEX 转换 D20 H 43 “C” D25 H 39 “9” D21 H 44 “D” D26 H 41 “A” D22 H 45 “E” D27 H 42 “B” D23 H 46 “F” D28 H 34 “4” D24 H 38 “8” D29 H 35 “5” 3. 指令集 3-229 S ASCII 码 HEX 转换 S ASCII 码 HEX 转换 D30 H 36 “6” D33 H 31 “1” D31 H 37 “7” D34 H 32 “2” D32 H 30 “0” D35 H 33 “3” 3. 当 n=2 时,位的组成: 11100000 01 01 000 0000 101001 CD D10 D20 D21 00 0 1100 43H C 44H D 4. 当 n = 1~16: D n D13 D12 D11 D10 1 ***C H 2 **CD H 3 *CDE H 4 CDEF H 5 ***C H DEF8 H 6 **CD H EF89 H 7 *CDE H F89A H 8 CDEF H 89AB H 9 ***C H DEF8 H 9AB4 H 10 **CD H EF89 H AB45 H 11 *CDE H F89A H B456 H 12 使用的寄存器内 未被指定的部份 全部为 0 CDEF H 89AB H 4567 H 13 ***C H DEF8 H 9AB4 H 5670 H 14 **CD H EF89 H AB45 H 6701 H 15 *CDE H F89A H B456 H 7012 H 16 CDEF H 89AB H 4567 H 0123 H ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-230 API 指令码 操作数 功能 84 CCD P 校验码 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * D * * * * * n * * * CCD, CCDP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:数据来源起始装置 D:存放总和和检查结果。 n:数据个数(n=1~256) 指令说明: 1. 本指令用来作通信时,为了确保数据传输时的正确性所做的字符串总和检查。 2. 16 位转换模式︰当 M1161=Off 时,指定为 16 位转换模式。将 S 所指定寄存器起始号码开始 算的 n 个数据(以 8 位为单位)内容作加总,加总结果存放在 D 所指定的寄存器当中,而极性 位存放在 D +1 当中。 3. 8 位转换模式︰当 M1161=On 时,指定为 8 位转换模式。将 S 所指定寄存器起始号码开始算 的 n 个数据(以 8 位为单位,只有下 8 位有效)内容作加总,加总结果存放在 D 所指定的寄存 器当中,而极性位存放在 D +1 当中。 程序范例 1: 1. 当 M1161=Off,指定 16 位转换模式。 2. 当 X0=On 时,将 D0 所指定寄存器起始号码开始算的 6 个数据(以 8 位为单位 n=6 代表指定 D0~D2)内容作加总,加总结果存放在 D100 所指定的寄存器当中,而极性位存放在 D101 当 中。 X0 CCD D0 D100 K6 M1000 M1161 3. 指令集 3-231 D100 D101 000000 000011 11 11 00000000 00 0001 10 (S) 数据的内容 D0 下 D0 上 D1 下 D1 上 D2 下 D2 上 D100 D101 K100 = 0 1 1 0 0 1 0 0 K 111 = 0 1 1 0 1 1 1 1 K120 = 0 1 1 1 1 0 0 0 K202 = 1 1 0 0 1 0 1 0 K123 = 0 1 1 1 1 0 1 1 K211 = 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 奇数个 时 极性为 ,1 1 偶数个 时 极性为 ,1 0 K867 合计 极性 程序范例 2: 1. 当 M1161=On,指定 8 位转换模式。 2. 当 X0=On 时,将 D0 所指定寄存器起始号码开始算的 6 个数据(以 8 位为单位 n=6 代表指定 D0~D2)内容作加总,加总结果存放在 D100 所指定的寄存器当中,而极性位存放在 D101 当 中。 X0 CCD D0 D100 K6 M1000 M1161 D100 D101 000000 000011 11 11 00000000 00 0001 10 奇数个 时 极性为 ,1 1 偶数个 时 极性为 ,1 0 (S) 数据的内容 D0 下 D1 下 D2 下 D3 下 D4 下 D5 下 D100 D101 K100 = 0 1 1 0 0 1 0 0 K 111 = 0 1 1 0 1 1 1 1 K120 = 0 1 1 1 1 0 0 0 K202 = 1 1 0 0 1 0 1 0 K123 = 0 1 1 1 1 0 1 1 K211 = 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 K867 合计 极性ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-232 API 指令码 操作数 功能 85 VRRD P 电位器值读出 適用機種 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * D * * * * * * VRRD, VRRDP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: S: 电位器编号。 D: 存放电位器值的装置。 指令说明: 1. VRRD 指令用来读取 PLC 主机 2 点,编号为 No.0、No.1 的 VR 电位器变化量,并转换成 0~255 的数值,存放在 D 中。 2. 若将电位器值当成定时器的设置值,转动 VR 电位器即可改变定时器的设置时间。若是要获取超 过 255 以上的数值时,请将 D 乘上某定数即可。 3. S 操作数指定范围 S=0~1。 程序范例: 1. 当 X0=On 时,VRRD 指令指定编号为 No.0 的 VR 电位器的变化量转换成 8 位长度的 BIN 值 (0~255)并暂存于 D0 当中。 2. 当 X1=On 时,定时器 T0 以 D0 的内容值为定时器的设置值开始计时。 X1 TMR T0 D0 X0 VRRD K0 D0 补充说明: 1. VR 是 VARIABLE RESISTOR 可变电阻的简称。 2. SX2 主机内建 2 点 VR 电位器可搭配特 D 特 M 使用 装置编号 功 能 说 明 M1178 VR0 电位器启动 M1179 VR1 电位器启动 D1178 VR0 值 D1179 VR1 值 3. 指令集 3-233 API 指令码 操作数 功能 86 VRSC P 电位器刻度读出 適用機種 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * D * * * * * * VRSC, VRSCP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: S: 电位器编号。 D: 存放电位器刻度值的装置。 指令说明: 1. VRRD 指令用来读取 PLC 主机 2 点,编号为 No.0、No.1 的 VR 电位器刻度值(刻度值为 0~10), 并将刻度值,存放于 D 中,当电位器的位置刚好停于两个刻度之间时,以四舍五入取 0~10 的 整数值。 2. S 操作数指定范围 S=0~1。 程序范例 1: 当 X0=On 时,VRSC 指令指定编号为 No.0 的 VR 电位器的刻度值(0~10)存于 D10 当中。 X0 VRSC K0 D10 程序范例 2: 1. 当成指拨开关:相对应电位器刻度 0~10,M10~M20 当中只有一个点为 On。使 用 API 41 DECO 指令将电位器刻度译码至 M10~M25。 2. 当 X0=On 时,将指定编号为.1 的 VR 电位器的刻度值(0~10)存于 D1 当中。 3. 当 X1=On 时,使用 API 41 DECO 指令将电位器刻度译码至 M10~M25。 X0 VRSC K1 D1 X1 DECO D1 M10 K4 M10 M11 M20 刻度为 时 为 0 On, 刻度为 时 为 1 On, 刻度为 时 为 10 On, ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-234 API 指令码 操作数 功能 87 D ABS P 绝对值运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * * * *** ABS, ABSP: 3 steps DABS, DABSP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:欲取绝对值得装置。 指令说明: 1. 当此指令执行,被指定的组件 D 取绝对值。 2. 本指令一般都是使用脉冲执行型指令(ABSP, DABSP)。 3. D 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 当 X0 从 Off→On,D0 内容取绝对值。 X0 ABS D0 3. 指令集 3-235 API 指令码 操作数 功能 88 D PID PID 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * S3 * D * PID : 9 steps DPID: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:目标值(SV) S2:现在值(PV) S3:参数 (16 位指令占用 20 个连续的装置,32 位指令占用 21 个连续的装置) D:输出值(MV) 指令说明: 1. PID 运算控制的专用指令, 于取样时间到达后的该次扫描才执行 PID 运算动作。PID 表示“比例、 积分和微分”。PID 控制在机械设备、气动设备和电子设备中具有广泛的应用。 2. S1: 目标值(SV), S2: 现在值(PV), 16 位指令 S3~ S3+19、32 位指令 S3~ S3+20: 参数全 部设定完成后开始执行 PID 指令, 其结果暂存于 D 当中。 D 的内容请指定无停电保持功能的 数据寄存器区域。(如果要指定具停电保持的数据寄存器区域, 请于程序开头加入将该停电保持 区域的数据寄存器作初始化清除为 0)。 程序范例: 1. PID 指令执行前,需要把 PID 参数设置完成。 2. X0=On 的时候指令被执行,结果暂存于 D150 中。X0 变成 Off 时,指令不被执行,之前的数据 没有变化 D150 X0 D100D1D0PID 3. PID 指令时序图(最大操作时间是 80us) A + B BB BBA+B A+B#1 #2 采样时间 (Ts) 采样时间(Ts) 扫描周期扫描周期 注意: 1->PID 作期间方程式计算出来的时间时间 大约 2us) # 2- > 有 方程 式计 算下 的 I D 作 时间 大 约 us) #操 (7 没P操(8 补充说明: 1. PID 指令的使用次数没有限制,但是 S3~ S3+19 不可以重复。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-236 2. 16 位指令:S3 使用 20 个寄存器。在下面的例子中的 PID 指令的操作数 S3 占用 D100~D119 。 3. 于 PID 指令开始执行前必须先使用 MOV指令将设定值传送至参数所指定的寄存器区域里作设定 的动作, 如果参数所指定的寄存器为停电保持区域的寄存器时, 请使用 MOVP 指令执行一次传 送即可。 4. 16 位模式下的 S3 的参数表: 装置号码 功能 设置范围 说 明 S3: 采样时间(TS) 1~2,000 (单位: 10ms) 为本指令每多少时间去计算一次,并 更新输出值(MV)。TS 小于一次扫描周 期的话,PID 指令以一次扫描周期来 执行,TS=0 则不动作。即 TS 最小设 置值需大于程序扫描周期。 S3+1: 比例增益(KP) 0~30,000(%) 为 SV−PV 间的误差放大比例值 积分时间(KI) 0~30,000(%) 控制模式 K0~K8 S3+2: 积分时间常数(TI) 0~30,000 (ms) 控制模式 K10 微分增益(KD) -30,000~30,000(%) 控制模式 K0~K8 S3+3: 微分时间常数(TD) -30,000~30,000 (ms) 控制模式 K10 S3+4: 控制模式 0:自动控制方向 1:正 向 动 作 (E=SV-PV),当 E<0 时,与 E=0 的执行方式相同。 2:逆向动作(E=PC-SV),当 E<0 时,与 E=0 的执行方式相同。 3:温度控制专用的自动调整参数功能,调整完毕时将自动改 为 K4,并且填入最适用的 KP、KI 及 KD 等参数。 4:已调整过的温度控制专用功能(32bit 指令不提供此功能)。 5:自动控制方向模式, 输出值(MV)达饱和上下限时, 停止累积 积分量。 7: 手动控制一, 此时 MV 值由使用者自行决定, 但 PID 内部会 持续依据误差量进行累积积分量。建议使用于环境变化较慢 的控制环境。支持机种与版本:ES2/EX2/SS2/SA2/SX2 v2.00 版以上, SE v1.00 版以上。 8: 手动控制二, 此时 MV 值由使用者自行决定, 但 PID 内部累 积积分量停止积分, 直到手动切换至自动(建议使用 K5 模 式)时, PID 指令将依据最后输出值(MV), 自动转换出适当的 累积积分量做后续的控制输出。支持机种与版本: ES2/EX2/SS2/SA2/SX2 V2.00 版以上, SE V1.00 版以上。 10:TI / TD 模式: 此模式将积分与微分增益改成积分与微分时 间常数。 3. 指令集 3-237 装置号码 功能 设置范围 说 明 S3+5: 偏差值(E)不动作 范围 0~32,767 偏差量(E)等于 SV−PV 的误差值,当 设置 K0 即表示不启动此功能。例:设 置 5,则 E 在-5~5 的区间,偏差量(E) 将为 0 S3+6: 输出值(MV)饱和 上限 -32,768~32,767 例:设置 1,000,则输出值(MV)大于 1,000 时将以 1,000 输出,此值需大 于 S3+7 S3+7: 输出值(MV)饱和 下限 -32,768~32,767 例:设置-1,000,则输出值(MV)小于 -1,000 时将以-1,000 输出 S3+8: 积分值饱和上限 -32,768~32,767 例:设置 1,000,则积分值大于 1,000 时将以 1,000 输出且不再积分。此值 需大于等于 S3+9,否则上限值与下限 值将互换 S3+9: 积分值饱和下限 -32,768~32,767 例:设置-1,000,则积分值小于-1,000 时将以-1,000 输出且不再积分。若 S3+8 和 S3+9 都设置为 0,积分的上 限无效。 S3+10, 11: 暂存累积的积分 值 32 位浮点数范围 为累积的积分值,通常只供参考用, 但是使用者还是可以依需求清除或修 改,不过须以 32bit 浮点数修改的 S3 +12: 暂存前次 PV 值 -32,768~32,767 为前次测定值,通常只供参考用,但 是使用者还是可以依需求修改 S3 +13: ~ S3 +19: 系统用参数,使用者请勿使用 5. S3+1~3:当设置值超出上限值或下限值,会使用上/下限值。 6. 若使用者参数设置超出范围将以左右极限为其设置值,但动作方向(DIR)若超出范围,则预设 为 0 7. PID 指令也可以被使用在中断插入子程序、步进点及 CJ 指令当中。 8. 取样时间 TS 的最大差值为 -(1 次扫描周期+1ms)~+(1 次扫描周期),如果误差值对输出造 成影响的话,请将扫描周期加以固定,或使用在时间中断子程序内。 9. PID 的测定值(PV)在 PID 执行运算动作前必须是一个稳定值。如果要抓取特殊模块的输入值 作 PID 运算时,请注意这些模块的 A/D 转换时间。 10. 32 位指令 S3 占 21 个寄存器,若 S3 指定 PID 指令的参数设置区域为 D100~D120。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-238 11. 于 PID 指令开始执行前必须先使用 MOV指令将设定值传送至参数所指定的寄存器区域里作设定 的动作, 如果参数所指定的寄存器为停电保持区域的寄存器时, 请使用 MOVP 指令执行一次传 送即可。 12. 32 位 S3 参数表: 装置编号 功能 设置范围 说明 S3 : 取样时间(TS) 1~2,000 (单位:10ms) 为本指令每多少时间去计算一次,并 更新输出值(MV),TS 小于一次扫描周 期的话,PID 指令以一次扫描周期来 执行,TS=0 则不动作。 S3+1: 比例增益(KP) 0~30,000(%) 为 SV−PV 间的误差放大比例值 积分时间(KI) 0~30,000(%) 控制模式 K0~K2, K5 S3+2: 积分时间常数(TI) 0~30,000 (ms) 控制模式 K10 微分增益(KD) -30,000~30,000(%) 控制模式 K0~K2, K5 S3+3: 微分时间常数(TD) -30,000~30,000 (ms) 控制模式 K10 S3 +4: 控制模式 0: 自动控制方向 1:正向动作(E=SV-PV),E<0 与 E=0 的执行方式相同。 2:逆向动作(E=PV-SV),E<0 与 E=0 的执行方式相同。 5:自动控制方向模式, 输出值(MV)达饱和上下限时, 停止累积 积分量。 10:TI / TD 模式 S3 +5, 6: 32 位偏差量(E)不 作用范围 0~ 2,147,483,647 偏差量(E)等于 SV−PV 的误差值, 当 设定 K0 即表示不启动此功能。例: 设 定 5, 则 E 在-5~5 之区间,偏差量(E) 将为 0 S3 +7, 8: 32 位输出值饱和 上限(MV) -2,147,483,648~ 2,147,483,647 例: 设定 1000, 则输出值(MV)大于 1000 时将以 1000 输出, 需大于等于 S3+9、10, 否则上限值与下限值将互 换 S3 +9, 10: 32 位输出值饱和 下限 -2,147,483,648~ 2,147,483,647 例:设置-1,000,则输出值(MV)小于 -1,000 时将以-1,000 输出 S3 +11, 12: 32 位积分值饱和 上限 -2,147,483,648~ 2,147,483,647 例: 设定 1000, 则积分值大于 1000 时将以 1000 输出且不再积分。需大 于等于 S3+13、14, 否则上限值与下 限值将互换 S3 +13, 14: 32 位积分值饱和 下限 -2,147,483,648~ 2,147,483,647 例:设置-1,000,则积分值小于-1,000 时将以-1,000 输出且不再积分 S3 +15, 16: 32 位累积的积分 32 位浮点数范围 为累积的积分值,通常只供参考用,3. 指令集 3-239 装置编号 功能 设置范围 说明 值 但是使用者还是可以依需求清除或修 改,不过须以 32bit 浮点数修改的 S3 +17, 18: 32位的前次PV值 -2,147,483,648~2,14 7,483,647 为前次测定值,通常只供参考用,但 是使用者还是可以依需求修改 S3 +19, 20 系统用参数,使用者请勿使用。 32 位的 S3 参数说明与 16 位的参数说明大致上相同,其不同点只在于 S3+5 ~ S3+20 的间参数容量由 原本 16 位变为 32 位 PID 计算公式: 1. 当 S3+4 控制模式选择为 K0, K1, K2 及 K5 z PID 的运算分成自动, 正向动作, 逆向动作 3 种。而正逆向动作由 S3 +4 的内容来指定。 此外, 与 PID 运算有相关的设定值也是由 S3 ~ S3 +5 所指定的寄存器来设定。 z PID 的表达式: () () ()StPVKStEKtEKMV DIP *1** ++= 其中 ()StPV 表示 ()tPV 的微分值, 以及 ()S 1tE 表示 ()tE 的积分值, 当动作方向选择 正向或逆向动作时, 当 ()tE 值小于等于 0, 则被视为 0。 动作方向 PID 演算方式 正向动作、自动 ( ) ( ) ( )tPV-tSVtE = 逆向动作 ( ) ( ) ( )tSV-tPVtE = z 控制方块图: 下图中 S 表示微分的动作, 其动作定义为现在 PV 值减去前次 PV 值后, 再除 以取样时间的动作; 另外 1/S 表示积分的动作, 其动作定义为前次积分值加 上这次偏差量乘以取样时间的值; 最后图中的 G(S)表示受控装置。 虚线内为 指令PID G(s) S 1/S K I K P K D + + + - + z 由上述公式中可得知本指令与一般 PID 指令有所不同, 其不同点在于微分值使用上的变化, 为了避免一般 PID 指令于初次起动时所造成瞬间微分值过大的缺点, 因此本指令采用监看ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-240 测定值(PV)的微分状况, 当测定值(PV)变化量过大时, 则本指令将会降低输出值(MV)的输 出。 z 符号说明: MV : 输出值 ()tE : 偏差量。正向动作 () PVSVtE −= , 反向动作 ( ) SVPVtE −= PK : 比例增益 PV : 测定值 SV : 目标值 DK : 微分增益 ( )StPV : ()tPV 的微分值 IK : 积分增益 ()StE 1 : ()tE 的积分值 2. 当 S3+4 控制模式选择为 K3 及 K4 时, 温度控制专用功能的公式介绍: z 表达式将改为 () () () ⎥⎦ ⎤ ⎢⎣ ⎡ +⎟ ⎠ ⎞⎜ ⎝ ⎛+= StPVKStEKtEKMV D IP *111 其中偏差量固定为 () () ()tPV-tSVtE = z 控制方块图: 下图中的 1/KI 及 1/KP 的符号分别表示除以 KI 及除以 KP 的功能, 由于此控制 方块为温度控制专用的 PID 指令, 因此使用者需搭配 GPWM 指令一起使用。 其范例请参照实例三。 虚线内为 指令PID G(s) S 1/S 1/K I K D + + + - P + 1/K z 由于此功能是专为温度控制而设计的功能, 因此当取样时间(TS)设定为 4 秒(K400)时, 则表 示输出值(MV)的输出范围为 K0~K4000 之间, 并且搭配的 GPWM 指令的周期时间设定值 也需设为 4 秒(K4000)。 3. 指令集 3-241 z 当使用者在控制温度的环境下不知如何调整各项参数时, 可先选择 K3 这项自动调整功能, 等到指令内部调整完毕后(功能选择自动会设定为 K4), 使用者可再依控制结果修改成更佳 的参数。 3. 当 S3+4 控制模式选择为 K10 z 当使用 K10 模式时,原先 S3+2 与 S3+3 的两个参数分别被改为积分时间常数(TI)与微分时 间常数(TD)。 z 当 MV 输出值到达输出上限值时,其累积积分量将不再累加;反之,当 MV 输出值到达输 出下限值时,其累积积分量将不再递减。 z 表达式将改为 () () ()⎥⎦ ⎤ ⎢⎣ ⎡ ++×= ∫ tEdt dTdttETtEKMV D I P 1 其中偏差量固定为 () () ( )tPV-tSVtE = z 控制方块图: 虚线内为 指令PID G(s) S 1/S 1/T I T D + + + - P + K 注意事项和建议: 1. 由于可使用 PID 指令的控制环境很多,因此请适当的选取控制功能,例如:当选择温度自动调 整参数( S3+4=K3)功能时,就请勿使用于电机控制环境中,以免造成控制不当的现象发生。 2. 使用者于调整 KP、KI 及 KD 三个主要参数时(S3 +4 为 K0~K2, K5), 请先调整 KP 值(依经验值设定), 而 KI 及 KD 值先设定为 0, 等到调整到大致上可控制时, 再依序调整 KI 值(由小到大)以及 KD 值(由 小到大), 调整范例如范例四所示。其中 KP 值为 100 则表示 100%, 即对偏差值的增益为 1, 小于 100%将对偏差值衰减, 大于 100%将对偏差值放大。 3. 当使用者选用温度控制专用功能( S3+4=K3 及 K4)时,建议请使用在停电保持区的 D 寄存器来储 存参数,以免自动调整过的参数因停电后而消失。经过自动调整过的参数,并不能保证一定适用 于每个控制的环境,因此使用者当然可自行修改调整过的参数,不过建议最好只修改 KI 或 KD 数 值就好。 4. 本指令动作须配合许多参数值控制, 因此请勿随意设定参数值, 以免造成无法控制的现象。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-242 范例 1:使用 PID 指令于位置控制时的方块图(动作方向 S3+4 需设为 0) 位置命令 (SV) PID MV 受控装置 Encoder PV 范例 2:使用 PID 指令控制速度(动作方向 S3+4=K0) 速度命令()S PID S+MV 变频器 速度检测 装置 (P) + + 加减速命令 (SV) 加减速输出 (MV) 实际加减速度 (PV=S-P) 范例 3:使用 PID 指令于温度控制时的方框图(动作方向 S3+4 需设为 1) 温度命令 (SV) PID 加温MV) 加热装置 温度检测 实际温度 (PV) 装置 范例 4: PID 指令调整建议步骤 假设控制系统的受控体 G(s) 的转移函数为一阶的函数 () a+s b=sG (一般电机的模型均为此函数),命 令值 SV 为 1,取样时间 Ts 为 10ms。建议调整步骤如下: 步骤 1:首先将 KI 及 KD 值设为 0,接着先后分别设置 KP 为 5、10、20 及 40,并分别记录其 SV 及 PV 状态,其结果如下图所示。 3. 指令集 3-243 1.5 1 0.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 时间 (sec) K =40P K =20P K =10P SV=1 K =5P 步骤 2:观察上图后得知 KP 为 40 时,其反应会有过冲现象,因此不选用;而 KP 为 20 时,其 PV 反 应曲线接近 SV 值且不会有过冲现象,但是由于启动过快,因此输出值 MV 瞬间值会很大,所 以考虑暂不选用;接着 KP 为 10 时,其 PV 反应曲线接近 SV 值并且是比较平滑接近,因此考 虑使用此值;最后 KP 为 5 时,其反应过慢,因此也暂不考虑使用。 步骤 3:选定 KP 为 10 后,先调整 KI 值由小到大(如 1、2、4 至 8),以不超过 KP 值为原则;然后再调 整 KD 由小到大(如 0.01、0.05、0.1 及 0.2),以不超过 KP 的 10%为原则;最后可得如下图的 PV 与 SV 的关系图。 1.5 1 0.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 时间 (sec) PV=SV 点 K =10,K =8,K =0.2P ID 附注: 本范例仅供参考, 因此使用者还需依实际控制系统的状况, 自行调整其适合的控制参数。 范例 5: PID 指令手动(K7)与自动(K5)模式切换说明 假设 PID 参数皆已经完成设定, 并且指令启动时控制模式为 K7 手动控制, 则其控制曲线图如下: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-244 当手动模式(K7)切换至自动模式 K5 时, MV 输出值将由使用者设定的输出值, 切换成 PID 运算的输出 值。 范例 6: PID 指令手动(K8)与自动(K5)模式切换说明 假设 PID 参数皆已经完成设定, 并且指令启动时控制模式为 K8 手动控制, 则其控制曲线图如下: 当手动模式(K8)切换至自动模式 K5 时, 累积医分量将由最后 MV 输出值换算出适当积分量, 并且接着 转为 PID 指令运算后的输出值。 上述范例 5 与 6 之参考程序如下图所示, 图中 M0 为启动 PID 指令的标志, M1 为 ON 时开启手动控制 模式, M1 为 OFF 时切换为自动模式。 輸入 8 動模式K手 使用者手動控制 MV 出值輸 切換回 5 動模式K自 PID 令執行指 实例 1: 利用 PID 指令于压力控制系统。(使用范例 1 中的方框图) 控制目的: 使控制系统达成压力目标值。 控制特性说明: 3. 指令集 3-245 此系统需要渐渐达成控制目的,因此过快的达成控制目的时,可能会造成系统超控或无法负荷的现象。 建议解决方法: 方法一:利用较大的取样时间达成 方法二:利用延迟命令的功能达成,其控制方框图如下。 压力命令延迟压力命令值 PID MV MV 转 速度 转 速度 电压值 变频器 D1116D5 SV PV D1D0 D1110 电压 命令值 压力计 转 0 511 0 255 0V 5V 0 511 0V 10V 0rpm rpm 3000 A 波形 图 B 波形 图 应用: 命令值 命令值 A 波形图 B 波形图 280 0 0 280 250 200 150 100 50 D2 为命令间隔值 D3 为命令间隔时间 使用者依实际状况调整 tt 命令延迟功能程序范例: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-246 M1002 MOV K10 D3 M10 M0 TMR T0 D3 T0 RST T0 MOV K50 D2D1D0> MOV K-50 D2D1D0< MOV K0 D2D1D0= ADD D2 D1 D1 CMP D2 K0 M10 D0D1 < MOV D0 D1 M12 D0D1 > MOV D0 D1 M0 PID D1 D1116 D10 D5 实例 2: 速度控制与压力控制系统分别独立控制,使用范例二的方块图 控制目的: 速度控制使用开路控制一段时间后,再加入压力控制系统(PID 指令)作闭路控制,然后达成压力控制 目的。 控制特性说明: 由于此两系统的速度与压力之间,并无特定关系可找出来使用,因此本架构需先达成开路式的控制速 度目的,然后再依闭路式的压力控制,以达成控制的目标。另外如怕压力控制系统的控制命令过于变 化太快,则可考虑加入实例一里的命令延迟功能。其控制方块图如下图所示。 3. 指令集 3-247 速度命令 转 速度 电压值 变频器 D40 0 255 0rpm 3000rpm MV值 转换成 加减速值 D30 D32 D1116 D31 + + M3 M2=ON PID 压力表PV MVD5 D1 SV 压力命令 D0 延迟功能 ()可不加入 D1110 M0=ON M1=ON 部分程序实例如下: M1 MOV K0 D5 M3 MOV D40 D30 M2 MOV K3000 D32K3000D32> MOV K0 D32K0D32< ADD D30 D31 D32 MOV D32 D1116 M1 PID D1 D1110 D10 D5 M1002 MOV K1000 D40 M0 MOV D0 D1 DIV D32 K11 D32 MOV K255 D32K255D32>ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-248 实例 3:使用自动调整功能控制温度 控制目的: 利用自动调整功能计算出最佳的 PID 温度控制的参数。 控制说明: 由于一般使用者对于第一次控制的温度环境特性通常不太了解,因此可先使用自动调整功能 ( S3+4=K3)做一初步调整,待调整完毕后,本指令将自动修改控制功能为温度控制专用功能 ( S3+4=K4)。 本实例的控制环境为烤箱。范例程序如下图所示 M1002 MOV D20 END K4000 MOV D200K400 MOV D10K800 TO K2K0 K1K2 M1013 FROM K6K0 K1D11 M0 MOV D204K3 RST M0 M1 PID D11D10 D0D200 GPWM D20D0 Y0 自我调整功能的实验结果如下所示(M0 & M1 set On): S3+4 = k3 PID 控制区 S3+4 = k4 自动调整区 3 S3 3. 指令集 3-249 使用调整后参数做温度控制专用功能的实验结果如下所示: 由上图可看出经过自我调整后的温度控制结果还不错, 而且控制时间大约只使用了 20 分钟。接着验证 目标温度由 80 度修改成 100 度, 则得到的结果如下图所示: 由上图中可看出由 80 度所调整出来的参数使用到 100 度时, 还是可以达到控制温度的目的, 而 且控制时间也不会太长。ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-250 API 指令码 操作数 功能 89 PLS 上升沿检出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * PLS: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:上升沿输出装置 指令说明: 上升沿检出指令。当 X0=Off 到 On(上升沿触发)时,PLS 指令被执行,S 送出一次脉冲,脉冲宽度 为一次扫描周期。 程序范例: 梯形图: X0 M0PLS M0 Y0SET 指令码: 说明: LD X0 载入 X0 的 A 接点 PLS M0 M0 上升沿脉冲输出 LD M0 载入 M0 的 A 接点 SET Y0 Y0 动作保持(On) 时序图: X0 M0 Y0 一次扫描周期 3. 指令集 3-251 API 指令码 操作数 功能 90 LDP 上升沿检出动作开始 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * ** LDP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:装置用于检测转换开关的 Off 到 On。 指令说明: LDP 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的接点上升沿检 出状态存入累加器内。 程序范例: 梯形图: X0 X1 Y1 指令码: 说明: LDP X0 X0上升沿侦测动作开始 AND X1 串联 X1 的常开接点 OUT Y1 驱动 Y1 线圈 补充说明: 1. 各操作数使用范围请参考各系列机种功能规格表 2. 若 PLC 电源开启前,指定上升沿接点的状态为 On,则电源开启后该上升沿接点为 TRUE。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-252 API 指令码 操作数 功能 91 LDF 下降沿检出动作开始 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * LDF: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:装置用于检测转换开关的 On 到 Off。 指令说明: LDF 指令用法上与 LD 相同,但动作不同,它的作用是指当前内容保存,同时把取来的接点下降沿检 出状态存入累加器内。 程序范例: 梯形图: X0 X1 Y1 指令码: 说明: LDF X0 X0下降沿侦测动作开始 AND X1 串联 X1 的 A 接点 OUT Y1 驱动 Y1 线圈 3. 指令集 3-253 API 指令码 操作数 功能 92 ANDP 上升沿检出串联连接 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * ** ANDP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:串联的装置用于检测转换开关的 Off 到 On。 指令说明: ANDP 指令用于接点上升沿检出的串联连接。 程序范例: 梯形图: X1X0 Y1 指令码: 说明: LD X0 载入 X0 常开接点 ANDP X1 X1 上升沿侦测串联线圈。 OUT Y1 驱动 Y1 线圈。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-254 API 指令码 操作数 功能 93 ANDF 下降沿检出串联连接 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * ANDF: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 串联装置用于检测转换开关的 On 到 Off。 指令说明: ANDF 指令用于接点下降沿检出的串联连接。 程序范例: 梯形图: X1X0 Y1 指令码: 说明: LD X0 载入 X0 的常开接点 ANDF X1 X1 下降沿侦测串联连接 OUT Y1 驱动线圈 3. 指令集 3-255 API 指令码 操作数 功能 94 ORP 上升沿检出并联连接 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * ** ORP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:并联装置用于检测转换开关的 Off 到 On。 指令说明: ORP 指令用于接点上升沿检出的并联连接。 程序范例: 梯形图: X0 X1 Y1 指令码: 说明: LD X0 载入 X0 的常开接点 ORP X1 X1上升沿侦测并联连接 OUT Y1 驱动 Y1 线圈 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-256 API 指令码 操作数 功能 95 ORF 下降沿检出并联连接 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * ** ORF: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:并联装置用于检测转换开关的 On 到 Off。 指令说明: ORF 指令用于接点下降沿检出的并联连接。 程序范例: 梯形图: X0 X1 Y1 指令码: 说明: LD X0 载入 X0 常开接点 ORF X1 X1下降沿侦测并联连接 OUT Y1 驱动 Y1 线圈 3. 指令集 3-257 API 指令码 操作数 功能 96 TMR 定时器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * * TMR: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:定时器编号(T0~T255) S2:给定值(K0~K32,767,D0~D9,999) 指令说明: 当 TMR 指令执行时,其所指定的定时器线圈受电,定时器开始计时,当到达所指定的定时值(计时 值 >= 设定值),其接点动作如下: NO(Normally Open)接点 连续性 NC(Normally Closed)接点 不导通 程序范例: 梯形图: X0 T5TMR K1000 指令码: 说明: LD X0 载入 X0 的常开接点 TMR T5 K1000 T5 定时器设定值为 K1000 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-258 API 指令码 操作数 功能 97 CNT 16 位计数器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * * CNT: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:16 位的计算器编号(C0~C199) S2:给定值(K0~K32,767, D0~D9,999) 指令说明: 当 CNT 指令由 Off→On 执行,表示所指定的计数器线圈由失电→受电,则该计数器计数值加 1,当 计数到达所指定的定数值(计数值 = 设定值),其接点动作如下: NO(Normally Open)接点 导通 NC(Normally Closed)接点 不导通 当计数到达之后,若再有计数脉冲输入,其接点及计数值均保持不变,若要重新计数或作清除的动作, 请利用 RST 指令。 程序范例: 梯形图: X0 C20CNT K100 指令码: 说明: LD X0 载入 X0 常开接点 CNT C20 K100 C20 设定值设定为 K100 3. 指令集 3-259 API 指令码 操作数 功能 97 DCNT 32 位计数器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * * DCNT: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:32 位计数器编号(C200~C254) S2:给定值(K-2,147,483,648~K2,147,483,647, D0~D9,999) 指令说明: 1. DCNT 为 32 位计数器 C200 至 C254 的启动指令。 2. 一般用加减算计数器 C200~C231(SS2/SA2/SE/SX2 机种为 C200~C232),当 DCNT 指令由 Off →On 时,计数器的现在值将执行上数(加一)的动作或下数(减一)的动作,依特 M1200~M1231 的设定模式。 3. 高速用加减计数器 C232~C254 (SS2/SA2/SE/SX2 机种为 C233~C254),当该计数器的指定高 速计数脉冲输入由 Off→On,则执行计数动作。有关高速计数脉冲输入端为 (X0~X7) 及计数动 作 (上数,计数值加一;下数,计数值减一), 请参考第 2.12 节高速计数器说明。 4. 当 DCNT 指令 Off 时,该计数器停止计数,但原有计数值不会被清除,可使用指令 RST C2XX 清 除计数值及其接点, 或者使用 DMOV 指令搬移指定数值至计数器, 高速加减计数器 C232~C254 可使用外部指定输入点清除计数值及其接点。 程序范例: 梯形图: M0 C254DCNT K1000 指令码: 说明: LD M0 载入 M0 的常开接点 DCNT C254 K1000 C254 设置为 K1000 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-260 API 指令码 操作数 功能 98 INV - 运算结果反相 适用机种 ES2/EX2 SS2 SA2 SE SX2 操作数 描述 指令步数 N/A 反转 PLC 内部的当前值 INV: 1 step 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 指令说明: 将 INV 指令之前的逻辑运算结果反相存入累加器内。 程序范例: 梯形图: X0 Y1 指令码: 说明: LD X0 载入 X0 的常开接点 INV 运算结果取反相 OUT Y1 驱动 Y1 线圈 3. 指令集 3-261 API 指令码 操作数 功能 99 PLF 下降沿检出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * PLF: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:下降沿输出装置 指令说明: 下降沿检出指令。当 X0= On 到 Off(下降沿触发)时,PLF 指令被执行,M0 送出一次脉冲,脉冲长度 为一次扫描周期。 程序范例: 梯形图: X0 M0PLF M0 Y0SET 指令码: 说明: LD X0 载入 X0 的常开接点 PLF M0 M0下降沿脉冲输出 LD M0 载入 M0 的常开接点 SET Y0 Y0 动作保持(On) 时序图: X0 M0 Y0 一次扫描周期 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-262 API 指令码 操作数 功能 100 MODRD Modbus 数据读取 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * n * * * MODRD: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 联机装置地址 (K0~K254) S2: 欲读取数据的地址 n: 读取数据长度(K1<n≦K6) 指令说明: 1. MODRD 指令支持通讯端口 COM2(RS-485)。 2. MODRD 是针对 MODBUS ASCII / RTU 模式的通讯指令。 MODRD 指令可以从支持 MODBUS 通讯的外部设备读取 MODBUS 数据。台达 VFD 变频器内建的 RS-485 通讯接口皆符合 MODBUS 的通讯格式 (除了 VFD-A 系列)。 3. S2 欲读取数据的地址,若地址对于被指定的联机装置不合法,则会响应错误信息,错误代码将 会被存于 D1130, 同时 M1141 = On。 4. 联机外围装置回传的数据储存于 D1070 ~ D1085。接收完毕后,PLC 将会自动检查所接收的数 据是否有误,若发生错误则 M1140 = On。 5. 如果使用 ASCII 模式, PLC 会自动将回传主要的数据转为 Hex 并储存于 D1050 ~ D1055 中。 若使用 RTU 模式则 D1050 ~ D1055 无效。 6. 当 M1140 或 M1141 = On 后,再传送一笔正确数据给外围装置,若回传的数据正确则标志 M1140, M1141 会被清除。 7. 本指令于程序中使用次数并无限制, 但是同一个通讯端口同时间仅有一个指令被执行。 8. MODRD 指令前面启动条件不可使用接点上升沿 (LDP, ANDP, ORP)和接点下降沿 (LDF, ANDF, ORF)。否则存放在接收寄存器的数据会不正确。 9. 有关标志信号和特殊寄存器的详细资料请参考 RS 指令补充说明。 3. 指令集 3-263 程序范例 1: PLC 与 VFD-B 系列变频器通讯 (ASCII 模式,M1143= Off) MOV D1120H87 M1002 SET M1120 M1127 接收完毕 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms 接收数据内容处理 复位数据传送接收完毕标志 置位送信要求 X1 X0 MODRD K1 H2101 K6 设置通讯命令 数据长度 个 数据地址 装置地址 : H2101 6 word 01 接收数据以ASCII码形式储存在 自动将其内容 转换为数值储存于 D1070~D1085 PLC D1050~D1055 , . MOV D1129K100 SET M1122 RST M1127 PLC → VFD-B , PLC 传送: “01 03 2101 0006 D4” VFD-B → PLC , PLC 接收: “01 03 0C 0100 1766 0000 0000 0136 0000 3B” PLC 传送数据寄存器 寄存器 Data 说明 D1089 low byte ‘0’ 30 H ADR 1 D1089 high byte ‘1’ 31 H ADR 0 ADR (1,0) 为变频器地址 D1090 low byte ‘0’ 30 H CMD 1 D1090 high byte ‘3’ 33 H CMD 0 CMD (1,0) 为命令码 D1091 low byte 2’ 32 H D1091 high byte ‘1’ 31 H D1092 low byte ‘0’ 30 H D1092 high byte ‘1’ 31 H 起始数据地址 Starting Data Address D1093 low byte ‘0’ 30 H D1093 high byte ‘0’ 30 H D1094 low byte ‘0’ 30 H D1094 high byte ‘6’ 36 H 数据个数 (word) Number of Data(count by word) D1095 low byte ‘D’ 44 H LRC CHK 1 D1095 high byte ‘4’ 34 H LRC CHK 0 LRC CHK (0,1) 为错误校验码 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-264 PLC 接收数据寄存器 寄存器 Data 说明 D1070 low byte ‘0’ 30 H ADR 1 D1070 high byte ‘1’ 31 H ADR 0 D1071 low byte ‘0’ 30 H CMD 1 D1071 high byte ‘3’ 33 H CMD 0 D1072 low byte ‘0’ 30 H D1072 high byte ‘C’ 43 H 数据个数 (byte) Number of Data(count by Byte) D1073 low byte ‘0’ 30 H D1073 high byte ‘1’ 31 H D1074 low byte ‘0’ 30 H D1074 high byte ‘0’ 30 H 地址 2101 H 的内 容 PLC 自动将 ASCII 转换为 数值储存于 D1050 = 0100 H D1075 low byte ‘1’ 31 H D1075 high byte ‘7’ 37 H D1076 low byte ‘6’ 36 H D1076 high byte ‘6’ 36 H 地址 2102 H 的内 容 PLC 自动将 ASCII 转换为 数值储存于 D1051 = 1766 H D1077 low byte ‘0’ 30 H D1077 high byte ‘0’ 30 H D1078 low byte ‘0’ 30 H D1078 high byte ‘0’ 30 H 地址 2103 H 的内 容 PLC 自动将 ASCII 转换为 数值储存于 D1052 = 0000 H D1079 low byte ‘0’ 30 H D1079 high byte ‘0’ 30 H D1080 low byte ‘0’ 30 H D1080 high byte ‘0’ 30 H 地址 2104 H 的内 容 PLC 自动将 ASCII 转换为 数值储存于 D1053 = 0000 H D1081 low byte ‘0’ 30 H D1081 high byte ‘1’ 31 H D1082 low byte ‘3’ 33 H D1082 high byte ‘6’ 36 H 地址 2105 H 的内 容 PLC 自动将 ASCII 转换为 数值储存于 D1054 = 0136 H D1083 low byte ‘0’ 30 H D1083 high byte ‘0’ 30 H D1084 low byte ‘0’ 30 H D1084 high byte ‘0’ 30 H 地址 2106 H 的内 容 PLC 自动将 ASCII 转换为 数值储存于 D1055 = 0000 H D1085 low byte ‘3’ 33 H LRC CHK 1 D1085 high byte ‘B’ 42 H LRC CHK 0 3. 指令集 3-265 程序范例 2: PLC 与 VFD-B 系列变频器通讯 (RTU 模式, M1143= On) MOV D1120H87 M1002 SET M1120 MOV D1129K100 M1127 接收完毕 复位数据传送接收完毕 X1 接收数据以 数值形式 储存于 HEX D1070~D1085. X0 MODRD K1 H2102 K2 SET M1143 SET M1122 RST M1127 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms 接收数据内容处理 置位送信要求 设置通讯命令 数据长度 个 数据地址 装置地址 : H210 2 word 2 01 设置 模式RTU PLC → VFD-B , PLC 传送: 01 03 2102 0002 6F F7 VFD-B → PLC, PLC 接收: 01 03 04 1770 0000 FE 5C PLC 传送数据寄存器 寄存器 Data 说明 D1089 low byte 01 H 变频器地址 Address D1090 low byte 03 H 命令码 Function D1091 low byte 21 H D1092 low byte 02 H 起始数据地址 D1093 low byte 00 H D1094 low byte 02 H 数据个数 (word) D1095 low byte 6F H CRC CHK Low D1096 low byte F7 H CRC CHK High PLC 接收数据寄存器 寄存器 Data 说明 D1070 low byte 01 H 变频器地址 Address D1071 low byte 03 H 命令码 Function D1072 low byte 04 H 数据个数 (byte) D1073 low byte 17 H D1074 low byte 70 H 地址 2102 H 的内容 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-266 寄存器 Data 说明 D1075 low byte 00 H D1076 low byte 00 H 地址 2103 H 的内容 D1077 low byte FE H CRC CHK Low D1078 low byte 5C H CRC CHK High 程序范例 3: 1. PLC 与 VFD-B 系列变频器通讯 (ASCII 模式, M1143= Off),当通讯逾时、接收数据错误及发 送地址错误时的 Retry。 2. 当 X0= On 时 PLC 将装置地址 01 的 VFD-B 变频器数据地址 H2100 的数据读出,数据以 ASCII 码形式储存于 D1070~D1085。PLC 自动将其内容转换为 Hex 储存于 D1050~D1055。 3. 若通讯逾时则 M1129 = On ,程序中由 M1129 触发送信要求 M1122 再读取一次。 4. 若数据接收错误则 M1140 = On,程序中由 M1140 触发送信要求 M1122 再读取一次。 5. 若发送地址错误则 M1141 = On,程序中由 M1141 触发送信要求 M1122 再读取一次。 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 设置通讯命令 数据长度 个 数据地址 装置地址 : H21 6 word 00 01 M1002 MOV H87 D1120 SET M1120 RST M1127 M1127 RST M1129 MODRD K1 H2100 K 6 X0 X0 M1129 M1140 M1141 数据接收错误 Retry 发送地址错误 Retry 数据接收 接收数据内容处理 接收数据以 码形式储存于 自动将其内容转换为数值储存于 ASCII D1070-D1085. PLC D1050-D1055 复位数据接收完毕标志 复位通讯逾时标志 MOV K100 D1129 SET M1122 M1129 通讯逾时Retry 3. 指令集 3-267 API 指令码 操作数 功能 101 MODWR Modbus 数据写入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * n * * * MODWR: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 联机装置地址 (K0~K254) S2: 欲写入数据的地址 n: 欲写入的数据 指令说明: 1. MODWR 指令支持通讯端口 COM2(RS-485). 2. MODWR 是针对 MODBUS ASCII / RTU 模式的通讯指令。MODWR 指令可以从支持 MODBUS 通讯的外部设备写入 MODBUS 数据。台达 VFD 变频器内建 RS-485 通讯接口皆符合 MODBUS 的通讯格式 (除了 VFD-A 系列)。 3. S2 欲写入数据的地址,若地址对于被指定的装置不合法,则会响应错误信息,错误代码储存于 D1130,同时 M1141 = On。例如,8000H 对 VFD-B 不合法,则 M1141 = On, D1130=2。由 于错误代码是由外围装置产生,所以用户应当参考外围装置手册。在这种情况下,用户 需要参 考 VFD-B 系列使用手册。 4. 外围装置所回传的数据储存于 D1070 ~ D1085。接收完毕后,PLC 会自动检查所接收的数据是 否有误,若发生错误则 M1140 = On。 5. 当 M1140 或 M1141 = On 之后,再传送一笔正确数据给外围装置,若回传的数据正确则标志 M1140, M1141 会被清除。 6. 本指令于程序中使用次数并无限制, 但是同一个通讯端口同时间仅有一个指令被执行. 7. MODRW 指令(功能码是 H06, H0F 和 H10)前面启动条件若使用接点上升沿 (LDP, ANDP, ORP) 和接点下降沿 (LDF, ANDF, ORF),需先启动送信要求 M1122 才可正确动作。 8. 有关标志信号和特殊寄存器的详细资料请参考 RS 指令补充说明。 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-268 程序范例 1: PLC 与 VFD-B 系列变频器通讯 (ASCII 模式, M1143= Off) MOV D1120H87 M1002 SET M1120 M1127 RST M1127接收完毕 接收数据内容处理 复位接收完毕标志 X1 X0 接收数据以 码形式 储存于 ASCII D1070~D1085 MOV D1129K100 SET M1122 MODWR H0100K1 H1770 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求标志 设置通讯命令 数据 数据地址 装置地址 : H1770 H0100 01 PLC → VFD-B, PLC 传送: “01 06 0100 1770 71 ” VFD-B → PLC, PLC 接收: “01 06 0100 1770 71 ” PLC 传送信息 寄存器 Data 说明 D1089 low byte ‘0’ 30 H ADR 1 D1089 high byte ‘1’ 31 H ADR 0 ADR (1,0) 为变频器地址 D1090 low byte ‘0’ 30 H CMD 1 D1090 high byte ‘6’ 36 H CMD 0 CMD (1,0) 为命令码 D1091 low byte ‘0’ 30 H D1091 high byte ‘1’ 31 H D1092 low byte ‘0’ 30 H D1092 high byte ‘0’ 30 H 数据地址 D1093 low byte ‘1’ 31 H D1093 high byte ‘7’ 37 H D1094 low byte ‘7’ 37 H D1094 high byte ‘0’ 30 H 数据内容 D1095 low byte ‘7’ 37 H LRC CHK 1 D1095 high byte ‘1’ 31 H LRC CHK 0 LRC CHK (0,1) 为错误校验码 3. 指令集 3-269 PLC 接收响应信息 寄存器 Data 说明 D1070 low byte ‘0’ 30 H ADR 1 D1070 high byte ‘1’ 31 H ADR 0 D1071 low byte ‘0’ 30 H CMD 1 D1071 high byte ‘6’ 36 H CMD 0 D1072 low byte ‘0’ 30 H D1072 high byte ‘1’ 31 H D1073 low byte ‘0’ 30 H D1073 high byte ‘0’ 30 H 数据地址 D1074 low byte ‘1’ 31 H D1074 high byte ‘7’ 37 H D1075 low byte ‘7’ 37 H D1075 high byte ‘0’ 30 H 数据内容 D1076 low byte ‘7’ 37 H LRC CHK 1 D1076 high byte ‘1’ 31 H LRC CHK 0 程序范例 2: PLC 与 VFD-B 系列变频器通讯 (RTU 模式, M1143= On) 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms MOV D1120H87 M1002 SET M1120 置位送信要求标志 X1 M1127 RST M1127接收完毕 接收数据处理 复位接收数据完毕标志 接收数据以 数值形式 储存于 HEX D1070~D1085. 设置为 模式 RTU X0 MOV D1129K100 SET M1143 SET M1122 MODWR H2000K1 H12 设置通讯命令 写入数据 数据地址 装置地址 : H12 H2000 01 PLC → VFD-B, PLC 传送: 01 06 2000 0012 02 07 VFD-B → PLC, PLC 接收: 01 06 2000 0012 02 07 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-270 PLC 传送信息 寄存器 Data 说明 D1089 low byte 01 H 变频器地址 Address D1090 low byte 06 H 命令码 Function D1091 low byte 20 H D1092 low byte 00 H 数据地址 D1093 low byte 00 H D1094 low byte 12 H 数据内容 D1095 low byte 02 H CRC CHK Low D1096 low byte 07 H CRC CHK High PLC r 接收响应信息 寄存器 Data 说明 D1070 low byte 01 H 变频器地址 Address D1071 low byte 06 H 命令码 Function D1072 low byte 20 H D1073 low byte 00 H 数据地址 D1074 low byte 00 H D1075 low byte 12 H 数据内容 D1076 low byte 02 H CRC CHK Low D1077 low byte 07 H CRC CHK High 3. 指令集 3-271 程序范例 3: 1. PLC 与 VFD-B 系列变频器联机 (ASCII 模式, M1143= Off)。当通讯逾时、接收数据错误及发 送地址错误的 Retry。 2. 当 X0= On 时, PLC 将数据 H1770(K6000) 写入装置地址 01 的 VFD-B 变频器数据地址 H0100 内。 3. 若通讯逾时则标志 M1129 = On ,程序中由 M1129 触发送信要求 M1122 再写入一次。 4. 若数据接收错误则 Flag M1140 = On ,程序中由 M1140 触发送信要求 M1122 再写入一次。 5. 若发送地址错误则 Flag M1141 = On,程序中由 M1141 触发送信要求 M1122 再写入一次。 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求标志 设置通讯命令 数据 数据地址 装置地址 : H1770 H0100 01 M1002 MOV H87 D1120 SET M1120 MODWR K1 H0100 H1770 X0 X0 M1129 M1140 M1141 通信逾时 Retry 接收数据错误 Retry 发送地址错误 Retry RST M1127 M1127 RST M1129 接收完毕 接收数据处理 接收数据以 形式 储存于 ASCII D1070-D1085. 复位数据接收完毕标志 复位通讯逾时标志 MOV K100 D1129 SET M1122 M1129 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-272 API 指令码 操作数 功能 102 FWD 变频器正转 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * n * * * FWD: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 API 指令码 操作数 功能 103 REV 变频器反转 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * n * * * REV: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 API 指令码 操作数 功能 104 STOP 变频器停止 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 Type 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * n * * * STOP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 联机装置地址 S2:变频器运转频率 n: 模式选择 指令说明: 1. M1177=Off 时(默认值), FWD, REV, STOP 指令支持通讯端口 COM2(RS-485). 2. M1177=On 时, FWD, REV, STOP 指令支持通讯端口 COM2(RS-485), COM3(RS-485). 3. 先根据标志 M1177 决定这些台达变频器专用通讯指令支持的机种,当 M1177=Off 时(默认值), 支持 DELTA VFD-A 变频器。当 M1177=On 时,支持其它 DELTA VFD 系列变频器,例如:VFD-B、 VFD-S…。 3. 指令集 3-273 4. FWD, REV, STOP 指令于程序中使用次数并无限制, 但是同一个通讯端口同时间仅有一个指令 被执行. 5. 若 FWD, REV, STOP 指令前启动条件使用接点上升沿 (LDP, ANDP, ORP) 或接点下降沿 (LDF, ANDF, ORF) 时,需先启动送信要求 M1122/M1316,才能正确动作。 6. 相关标志信号与相关设置的特殊寄存器请参考 RS 指令补充说明。 7. M1177=Off:支持 DELTA VFD-A 变频器 S1 操作数范围: K0 ~ K31 S2 变频器运转频率。对 A 系列变频器设定值为 K0~K4,000 表示 0.0Hz~400.0Hz。 n 操作数范围: K1 or K2, n=1 为指定地址的变频器, n=2 为所有联机变频器。 外围装置回传的数据会被储存于 PLC 特殊寄存器 D1070~D1080, 接收完毕后, PLC 会自 动检查所接收的数据是否有误, 若发生错误则 M1142 会 On。若 n=2, PLC 不接收数据。 程序范例: COM2(RS-485) PLC 与 VFD-A 系列变频器通讯,通讯逾时及接收数据错误 retry 。 接收数据处理 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求标志 通信逾时 Retry 接收数据错误 Retry M1002 MOV H0073 D1120 SET M1120 MOV K100 D1129 RST M1127 M1127 X0 FWD K0 K500 K1 SET M1122 M1129 M1142 X0 接收完毕 设置通讯命令 数据地址 频率设置 为指定地址的变频器 : : 0 : 500Hz K1: 设置通讯格式 4800, 8, O, 1 接收数据以 码形式 储存于 的低字节 ASCII D1070~D1080 复位数据接收完毕标志 PLC VFD-A, PLC 传送: “C ♥ ☺ 0001 0500 ” VFD-A PLC, PLC 传送: “C ♥ ♠ 0001 0500 ” PLC 传送信息 寄存器 DATA 说明 D1089 low byte ‘C’ 43 H 命令起始字符 D1090 low byte ‘♥’ 03 H 校验码 D1091 low byte ‘☺’ 01 H 命令对象 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-274 寄存器 DATA 说明 D1092 low byte ‘0’ 30 H D1093 low byte ‘0’ 30 H D1094 low byte ‘0’ 30 H D1095 low byte ‘1’ 31 H 通讯地址 D1096 low byte ‘0’ 30 H D1097 low byte ‘5’ 35 H D1098 low byte ‘0’ 30 H D1099 low byte ‘0’ 30 H 运转命令 PLC 接收回应信息 寄存器 DATA 说明 D1070 low byte ‘C’ 43 H 命令起始字符 D1071 low byte ‘♥’ 03 H 校验码 D1072 low byte ‘♠’ 06 H 回复认可 (正确: 06H, 错误: 07 H) D1073 low byte ‘0’ 30 H D1074 low byte ‘0’ 30 H D1075 low byte ‘0’ 30 H D1076 low byte ‘1’ 31 H 通讯地址 D1077 low byte ‘0’ 30 H D1078 low byte ‘5’ 35 H D1079 low byte ‘0’ 30 H D1080 low byte ‘0’ 30 H 运转命令 M1177=On:支持其它 DELTA VFD 系列变频器 Range of S1: K0 ~ K255, 当站号为 k0 时表示对所有变频器进行广播通讯。 S2 频率值的设定值与数值单位, 请参考变频器使用手册, 但在 STOP 指令为保留参数。 n模式选择依指令说明如下: FWD 指令: 正转模式 n=0:一般正转模式, n=1JOG 正转模式, 其余数值也都将当 成一般正转模式。 REV 指令: 反转模式 n=0:一般反转模式, n=1JOG 反转模式, 其余数值也都将当 成一般反转模式。 STOP 指令: 为保留参数。 当正转模式为 JOG 正转模式时, 其 S2 的频率值将会无效, 如需修改 JOG 频率请参考变频 器使用手册。3. 指令集 3-275 程序范例: COM2 (RS-485) PLC 与 VFD-A 系列变频器联机 (ASCII 模式,M1143= Off), 通讯逾时 retry。 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求标志 接收完毕 设置通讯命令 数据地址 频率设置 : : : 500Hz 1 K0: FWD M1002 MOV H86 D1120 SET M1120 MOV K100 D1129 RST M1127 M1127 X0 FWD K1 K500 K0 SET M1122 M1129 X0 通讯逾时Retry 设置通讯格式9600, 7, E, 1 传送/接收数据完毕, 复位标志信号 接收数据处理 PLC VFD, PLC 传送: “:01 10 2000 0002 04 0012 01F4 C2 ” VFD PLC, PLC 传送: “:01 10 2000 0002 CD ” PLC 传送信息 Data 说明 ‘0’ 30 H ADR 1 ‘1’ 31 H ADR 0 变频器地址: ADR (1,0) ‘1’ 31 H CMD 1 ‘0’ 30 H CMD 0 命令码: CMD (1,0) ‘2’ 32 H ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H 数据地址 ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H ‘2’ 32 H 寄存器数目 ‘0’ 30 H ‘4’ 34 H 字节数 ‘0’ 30H ‘0’ 30 H ‘1’ 31 H ‘2’ 32 H 数据内容 1 H12 为正转启动 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-276 Data 说明 ‘0’ 30 H ‘1’ 31 H ‘F’ 46 H ‘4’ 34 H 数据内容 2 运转频率=K500Hz H01F4 ‘C’ 43 H LRC CHK 1 ‘2’ 32 H LRC CHK 0 LRC CHK (0,1) 为错误校验码 PLC 接收回应数据 Data 说明 ‘0’ 30 H ADR 1 ‘1’ 31 H ADR 0 ‘1’ 31 H CMD 1 ‘0’ 30 H CMD 0 ‘2’ 32 H ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H 数据地址 Data Address ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H ‘2’ 32 H 寄存器数目 Number of Register ‘C’ 43 H LRC CHK 1 ‘D’ 44 H LRC CHK 0 3. 指令集 3-277 API 指令码 操作数 功能 105 RDST 变频器状态读取 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * n * * * RDST: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 联机装置地址 n: 命令状态对象 指令说明: 1. M1177=Off 时(默认值), RDST 指令支持通讯端口 COM2(RS-485). 2. M1177=On 时, RDST 指令支持通讯端口 COM2(RS-485), COM3(RS-485). 3. 先根据标志 M1177 决定这些台达变频器专用通讯指令支持的机种,当 M1177=Off 时(默认值), 支持 DELTA VFD-A 变频器。当 M1177=On 时,支持其它 DELTA VFD 系列变频器,例如:VFD-B、 VFD-S…。 4. RDST 指令于程序中使用次数并无限制, 但是同一个通讯端口同时间仅有一个指令被执行. 5. RDST 指令前启动条件不可使用接点上升沿(LDP, ANDP, ORP) 和接点下降沿 (LDF, ANDF, ORF) ,否则存放在接收寄存器的数据会不正确。 6. 相关标志信号和相关设置的寄存器的详细资料请参考 RS 指令补充说明。 7. M1177=Off:支持 DELTA VFD-A 变频器 a) S 的范围: K0 ~ K31 b) n 的范围: K0 ~ K3 c) n: 命令状态对象(读取) n=0, 频率指令 n=1, 输出频率 n=2, 输出电流 n=3, 运转命令 d) 变频器回传的数据(11 个字符,可参考变频器使用手册) 储存于 D1070 ~ D1080 的低字 节。 ”Q, S, B, Uu, Nn, ABCD” 响应 说明 数据储存 Q 起始字符: ’Q’ (51H). D1070 下 S 校验码: 03H. D0171 下 B 命令认可 正确: 06H, 错误: 07H. D1072 下 U D1073 下 U 通讯地址 (地址为: 00~31). ”Uu” = (“00” ~ ”31”)以ASCII表示 D1074 下 N D1075 下 N 状态对象 (00 ~ 03).”Nn” = (“00 ~ 03”)以 ASCII 表示。 D1076 下 A D1077 下 B 状态数据”ABCD”的内容依状态对象(00 ~ 03)不同, 00 ~ 03 分别表示频率、电流及运转模式,请参考以下说明。 D1078 下 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-278 C D1079 下 D D1080 下 Nn = “00” 频率指令 = ABC.D (Hz) Nn = “01” 输出指令 = ABC.D (Hz) Nn = “02” 输出电流 = ABC.D (A) PLC 会自动将 ”ABCD” ASCII 字符转为数值储存于 D1050 内,例如,”ABCD” = “0600”,,则 PLC 会转为 K0600 (0258 H) 储存于 D1050 特殊寄存器内。 Nn = “03” 运转命令 ‘A’ = ‘0’ 停止, ‘5’ 寸动 (反转) ‘1’ 正转运转 ‘6’ 寸动(反转) ‘2’ 停止 ‘7’ 寸动(反转) ‘3’ 反转运转 ‘8’ 异常发生 ‘4’ 寸动(正转), PLC 会将”A” ASCII 转为数值储存于 D1051 内,例如”A” = “3”, 则 PLC 会转为 K3 储存于 D1051 特殊寄存器内。 ‘B’ = b7 b6 b5 b4 运转指令来源 0 0 0 0 数字操作器 0 0 0 1 第一段速 0 0 1 0 第一段速 0 0 1 1 第一段速 0 1 0 0 第一段速 0 1 0 1 第一段速 0 1 1 0 第一段速 0 1 1 1 第一段速 1 0 0 0 寸动频率 1 0 0 1 模拟信号频率指令 1 0 1 0 RS-485 通信接口 1 0 1 1 上/下控制 b3 = 0 无直流制动停止 1 有直流制动停止 b2 = 0 无直流制动启动 1 有直流制动启动 b1 = 0 正转 1 反转 b0 = 0 停止 1 运转 PLC 会将 ”B” 数值储存于特殊辅助继电器 M1168 (b0) ~ M1175 (b7). “CD” = “00” 无异常记录 “10” OcA “01” oc “11” Ocd “02” ov “12” Ocn “03” oH “13” GFF “04” oL “14” Lv “05” oL1 “15” Lv1 “06” EF “16” cF2 “07” cF1 “17” bb “08” cF3 “18” oL2 “09” HPF “19” PLC 会将”CD” ASCII 字符转为数组储存于 D1052 内, 例如 ”CD” = “16”,PLC 会转为 K16 储存于 D1052 特殊寄存器内。 8. M1177=On:支持其它 DELTA VFD 系列变频器 a) S1 的范围: K1~ K255。 b) 此指令将会读取变频器参数地址 2100H~2104H 之状态 (详细状态说明请参考变频器使用 手册),并于接收完成后储存于 PLC 的特 D1070 ~ D1074 之中;不过当读取通讯接收信3. 指令集 3-279 息错误或接收逾时发生时,此特 D 内容将不会被更改,因此建议要判断变频器状态信息 前,请先确认接收完成标志是否已有被设定。 程序范例: COM2 (RS-485) 1. PLC 与 VFD 系列变频器通讯(ASCII 模式, M1143= Off),通讯逾时 retry 。 2. 读取变频器参数地址 2100H~2104H 的状态, 储存于 PLC 的特 D1070 ~ D1074 之中。 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求标志 M1002 MOV H86 D1120 SET M1120 MOV K100 D1129 RST M1127 M1127 X0 RDST K1 K0 SET M1122 M1129 X0 通信逾时 Retry 接收数据处理 接收完毕 设置通讯命令 装置地址 保留 : : 1 K0: 设置通讯格式9600, 7, E, 1 复位数据接收完毕标志 接收数据以 码形式 储存于 ASCII D1070~D1074 PLC VFD-B, PLC 传送: “:01 03 2100 0005 D6 ” VFD-B PLC, PLC 传送: “:01 03 0A 00C8 7C08 3E00 93AB 0000 2A ” PLC 传送信息 Data 说明 ‘0’ 30 H ADR 1 ‘1’ 31 H ADR 0 ADR (1,0) 为变频器地址 ‘0’ 30 H CMD 1 ‘3’ 33 H CMD 0 CMD (1,0) 为命令码 2’ 32 H ‘1’ 31 H ‘0’ 30 H ‘0’ 30 H 起始数据地址 ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H ‘5’ 35 H 数据个数 (word) ‘D’ 44 H LRC CHK 1 ‘6’ 36 H LRC CHK 0 LRC CHK (0,1) 为错误校验码 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-280 PLC 接收响应信息 Data 说明 ‘0’ 30 H ADR 1 ‘1’ 31 H ADR 0 ‘0’ 30 H CMD 1 ‘3’ 33 H CMD 0 ‘0’ 30 H ‘A’ 41 H 数据个数 (byte) ‘0’ 30 H ‘0’ 30 H ‘C’ 43 H ‘8’ 38 H 内容地址 2100 H PLC 自动将 ASCII 码转为 16 进制并将数组储存于 D1070 = 00C8 H ‘7’ 37 H ‘C’ 43 H ‘0’ 30 H ‘8’ 38 H 内容地址 2101 H PLC 自动将 ASCII 码转为 16 进制并将数组储存于 D1071 = 7C08 H ‘3’ 33 H ‘E’ 45 H ‘0’ 30 H ‘0’ 30 H 内容地址 2102 H PLC 自动将 ASCII 码转为 16 进制并将数组储存于 D1072 = 3E00 H ‘9’ 39 H ‘3’ 33 H ‘A’ 41 H ‘B’ 42 H 内容地址 2103H PLC 自动将 ASCII 码转为 16 进制并将数组储存于 D1073 = 93AB H ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H 内容地址 2104 H PLC 自动将 ASCII 码转为 16 进制并将数组储存于 D1074 = 0000 H ‘2’ 32 H LRC CHK 1 ‘A’ 41 H LRC CHK 0 3. 指令集 3-281 API 指令码 操作数 功能 106 RSTEF 变频器异常复位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * n * * * RSTEF: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 联机装置地址 n: 命令对象 指令说明: 1. M1177=Off 时(默认值), RSTEF 指令支持通讯端口 COM2(RS-485). 2. M1177=On 时, RSTEF 指令支持通讯端口 COM2(RS-485), COM3(RS-485). 3. 先根据标志 M1177 决定这些台达变频器专用通讯指令支持的机种,当 M1177=Off 时(默认值), 支持 DELTA VFD-A 变频器。当 M1177=On 时,支持其它 DELTA VFD 系列变频器,例如:VFD-B、 VFD-S…。 4. RSTEF 指令于程序中使用次数并无限制, 但是同一个通讯端口同时间仅有一个指令被执行。 5. RSTEF 指令前启动条件使用接点上升沿 (LDP, ANDP, ORP) /接点下降沿(LDF, ANDF, ORF) 时,需先启动送信要求标志 M1122/M1316 ,才能正确执行。 6. 相关标志 信号和设置的特殊寄存器请参考 RS 指令补充说明。 7. M1177=Off:支持 DELTA VFD-A 变频器 a) S 的范围: K0 ~ K31 b) n 的范围: K1 or K2, n=1 為指定位址的變頻器, n=2 為所有連線變頻器。 c) RSTEF 指令, 对变频器执行异常发生后的重置指令。 d) 外围装置回传的数据储存于 D1070 ~ D1089,若 n = 2 则无回传数据。 8. M1177=On:可支持其它系列的台达变频器 a) S1 的范围: K0 ~ K255,当站号为 k0 时表示对所有变频器进行广播通讯。ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-282 程序范例: COM2 (RS-485) PLC 与 VFD 系列变频器联机 (ASCII 模式, M1143= Off), 通讯逾时。 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求标志 设置通讯格式9600, 7, E, 1 复位数据接收完毕标志 M1002 MOV H86 D1120 SET M1120 MOV K100 D1129 RST M1127 M1127 X0 RSTEF K1 K0 SET M1122 M1129 X0 通讯逾时 Retry 接收数据处理 接收完毕 设置通讯命令 装置地址 保留 : : 1 K0: PLC VFD, PLC 传送: “:01 06 2002 0002 D5 ” VFD PLC, PLC 接收: “:01 06 2002 0002 D5 ” PLC 传送信息: Data 说明 ‘0’ 30 H ADR 1 ‘1’ 31 H ADR 0 ADR (1,0) 为变频器地址 ‘0’ 30 H CMD 1 ‘6’ 36 H CMD 0 CMD (1,0) 命令码 ‘2’ 32 H ‘0’ 30 H ‘0’ 30 H ‘2’ 32 H 数据地址 ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H ‘2’ 32 H 数据内容 ‘D’ 44 H LRC CHK 1 ‘5’ 35 H LRC CHK 0 LRC CHK (0,1) 为校验码 3. 指令集 3-283 PLC 接收响应数据 Data 说明 ‘0’ 30 H ADR 1 ‘1’ 31 H ADR 0 ‘0’ 30 H CMD 1 ‘6’ 36 H CMD 0 ‘2’ 32 H ‘0’ 30 H ‘0’ 30 H ‘2’ 32 H 数据地址 ‘0’ 30 H ‘0’ 30 H ‘0’ 30 H ‘2’ 32 H 数据内容 ‘D’ 44 H LRC CHK 1 ‘5’ 35 H LRC CHK 0 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-284 API 指令码 操作数 功能 107 LRC P LRC 校验码计算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * n * * * D * LRC, LRCP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 校验码运算起始装置 (ASCII 模式) n: 运算组数 (n=K1~K256) D: 存放运算结果的起始装置 指令说明: 1. n: n 须为偶数. 若 n 超出范围,则运算错误,指令不执行。此时 M1067、 M1068 = On 同时 D1067 记录错误代码 H’0E1A。 2. 16 位转换模式: 当 M1161= Off 时,将 S 起始装置的 16 进位数据区分为上 8 位和下 8 位,将 各个位数做 LRC 校验码运算,传送到 D 的上 8 位及下 8 位中,运算的位数以 n 来设置。 3. 8 位转换模式: 当 M1161= On 时,将 S 起始装置的 16 进位数据区分为上 8 位(无效数据)和下 8 位,将各个位数做 LRC 校验码运算,传送到 D 的下 8 位中,运算的位数以 n 来设置。(D 的上 8 位全部为 0) 。 4. 标志位: M1161 8/16 位模式。3. 指令集 3-285 程序范例: PLC 与 VFD 系列变频器联机 (ASCII 模式, M1143=Off)、(8 位模式, M1161=On), 发送数据预先写入 读取 VFD 参数地址 H0708 开始之 6 笔数据。 M1002 MOV H86 D1120 SET M1120 发送要求脉冲 发送数据内容预先写入 SET M1122 MOV K100 D1129 X10 RS D100 K17 D120 K35 接收数据内容处理 RST M1123 M1123 接收完毕 设置通讯格式 9600,7,E,1 通讯格式保持 设置通讯逾时时间 100ms 置位送信要求 复位接收完毕标志 PLC VFD, PLC 传送: “: 01 03 0708 0006 E7 CR LF ” PLC 传送信息: 寄存器 Data 说明 D100 low byte ‘: ’ 3A H STX D101 low byte ‘0’ 30 H ADR 1 D102 low byte ‘1’ 31 H ADR 0 ADR (1,0) 为变频器地址 D103 low byte ‘0’ 30 H CMD 1 D104 low byte ‘3’ 33 H CMD 0 CMD (1,0) 为命令码 D105 low byte ‘0’ 30 H D106 low byte ‘7’ 37 H D107 low byte ‘0’ 30 H D108 low byte ‘8’ 38 H 起始数据地址 D109 low byte ‘0’ 30 H D110 low byte ‘0’ 30 H D111 low byte ‘0’ 30 H D112 low byte ‘6’ 36 H 数据个数 (word) D113 low byte ‘E’ 45 H LRC CHK 0 D114 low byte ‘7’ 37 H LRC CHK 1 LRC CHK (0,1) 为错误校验码 D115 low byte CR D H D116 low byte LF A H END ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-286 上列 LRC CHK (0,1) 为错误校验码,可由指令 LRC 算出(8 位模式, M1161= On). M1000 LRC D101 K12 D113 LRC 校验码: 01 H + 03 H + 07 H + 08 H + 00 H + 06 H = 19 H,然 后 取 2 的补码=E7H,此 时 ,‘E’(45 H) 存于 D113 的下 8 位,‘7’ (37 H)存于 D114 的下 8 位。 补充说明: 有一通讯数据之 ASCII 模式, 格式如下: STX ‘: ’ 起始字符= ‘: ’ (3AH) Address Hi ‘ 0 ’ Address Lo ‘ 1 ’ 通信地址: 8-bit 地址由 2 个 ASCll 码组合 Function Hi ‘ 0 ’ Function Lo ‘ 3 ’ 命令码: 8-bit 命令码由 2 个 ASCll 码组合 ‘ 2 ’ ‘ 1 ’ ‘ 0 ’ ‘ 2 ’ ‘ 0 ’ ‘ 0 ’ ‘ 0 ’ DATA (n-1) ……. DATA 0 ‘ 2 ’ 数据内容: n×8-bit 数据内容由 2n 个 ASCll 码组合 LRC CHK Hi ‘ D ’ LRC CHK Lo ‘ 7 ’ LRC 检查码: 8-bit 检查码由 2 个 ASCll 码组合 END Hi CR END Lo LF 结束字符: END Hi=CR (0DH), END Lo=LF(0AH) LRC 检查码: 由通信地址到数据内容结束加起来的值取 2 的补码即为检查码(LRC Check)。例如: 01H + 03H + 21H + 02H + 00H + 02H=29H, 然后取 2 的补码=D7H。 3. 指令集 3-287 API 指令码 操作数 功能 108 CRC P CRC 校验码计算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * n * * * D * CRC, CRCP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 校验码运算起始装置 (RTU 模式) n: 运算组数 (n=K1~K256) D: 存放运算结果装置 指令说明: 1. 若 n 超出范围,则视为运算错误,指令不执行。同时 M1067、M1068 = On ,D1067 记录错误 代码 H’0E1A。 2. 16 位转换模式: 当 M1161=Off 时, 将 S 起始装置其数据区分为上 8 位、下 8 位, 将各个位数做 CRC 检查码运算, 传送到 D 的上 8 位及下 8 位中, 运算的位数以 n 来设定。 3. 8 位转换模式: 当 M1161= On (16 位模式,M1161=Off) ,将 S 起始装置的数据区分为上 8 位 (无效数据)、下 8 位,将各个位数做 CRC 校验码运算,传送到 D 的下 8 位(D 的上 8 位全部 为 0)。 程序范例: PLC 与 VFD 系列变频器联机 (RTU 模式)、(16 位模式, M1161=On), 发送数据预先写入欲写入 VFD 参数地址 H0706 写入内容为 H1770。 M1002 MOV H86 D1120 SET M1120 发送要求脉冲 发送数据内容预先写入 SET M1122 MOV K100 D1129 X0 RS D100 K8 D120 K8 接收数据内容处理 RST M1123 M1123 接收完毕 设置通讯格式 9600,7,E,1 通讯格式保持 设置通讯逾时时间100ms 置位送信要求 复位接收完毕标志 SET M1161 8 位模式 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-288 PLC VFD, PLC 传送: 01 06 0706 1770 66 AB PLC 传送讯息 数据寄存器 Data 说明 D100 low byte 01 H Address D101 low byte 06 H Function D102 low byte 07 H D103 low byte 06 H 数据地址 D104 low byte 17 H D105 low byte 70 H 数据内容 D106 low byte 66 H CRC CHK 0 D107 low byte AB H CRC CHK 1 上列 CRC CHK (0,1)为错误码校验码可由指令 CRC 算出 (8 位模式,M1161= On). M1000 CRC D100 K6 D106 CRC 校验码: 此时, 66 H 存于 D106 的下 8 位,AB H 存于 D107 的下 8 位。3. 指令集 3-289 API 指令码 操作数 功能 110 D ECMP P 二进制浮点数比较 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * D * * * DECMP, DECMPP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 二进制浮点数比较值 1 S2: 进制浮点数比较值 2 D: 比较结果,占用连续 3 个装置 指令说明: 1. 比较值 S1 与比较值 S2 进行比较,比较的结果(>, =, <)用 D 装置中的 3 位表示。 2. S1 或 S2 来源操作数若是 K 或 H的话,指令会将该常数转换成二进制浮点数值来作比较。 程序范例: 1. 若指定装置为 M10 则自动占有 M10~M12。 2. 当 X0= On 时, DECMP 指令执行, M10~M12 其中之一会 On。 当 X0= Off, DECMP 指 令不执行, M10~M12 状态保持在 X0= Off 之前的状态。 3. 若需得到≧, ≦, ≠的结果时,可将 M10~M12 串并联即可取得。 4. 若要清除其结果请使用 RST 或 ZRST 指令。 X0 DECMP D0 D100 M10 M10 M11 M12 (D1,D0)>(D101,D100)当时,为ON 当时,为ON ( D1,D0)=(D101,D100) 当时,为 ON( D1,D0)<(D101,D100) ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-290 API 指令码 操作数 功能 111 D EZCP P 二进制浮点数区间比较 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * S * * * D * * * DEZCP, DEZCPP: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 区间比较的二进制浮点数下限值 S2: 区间比较的二进制浮点数上限值 S: 二进制浮点数比 较值 D: 比较结果,占用连续 3 点 指令说明: 1. 二进制浮点数比较值 S 在 S1~ S2 的范围内做比较,其比较结果(>, =, <)存在 D 中。 2. 若 S1 或 S2 来源操作数指定常数 K 或 H,指令会将该常数变成二进制浮点数值来作比较。 3. 操作数 S1 必须小于操作数 S2 的值, 当 S1>S2,则指令以二进制浮点数下限值 S1 作为上下 限值进行比较。 程序范例: 1. 若指定装置为 M10,则自动占有 M10~M12。 2. 当 X0= On 时,DEZCP 指令执行, M10~M12 其中之一会 On。当 X0= Off, DEZCP 指令不 执行, M10~M12 状态保持在 X0= Off 之前的状态。 3. 若要清除其结果请使用 RST 或 ZRST 指令。 X0 DEZCP D0 D10 D20 M10 M11 M12 当时,为 ( D1,D0)>(D21,D20) ON 当时,为ON (D1,D0) (D21,D20) < (D11,D10)< 当时为ON (D21 D20)>(D11,D10) , , M10 3. 指令集 3-291 API 指令码 操作数 功能 112 D MOVR P 浮点数值数据传送 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S D * * * * * * DMOVR, DMOVRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 浮点数值数据来源 D: 数据传送目的地 指令说明: 1. 该指令可直接在 S 操作数输入浮点数值。 2. 当该指令执行时,将 S 的内容直接搬移至 D,当指令不执行时, D 内容不会变化。 程序范例: 当 X0=Off 时, D10 、D11 内容没有变化。当 X0=On 时,将 F1.200E+0 浮点数现在值(输入浮点 数 F1.2 在梯形图上显示科学记号 F1.200E+0, 浮点位数可由 WPLSoft 上检视功能来设定)传送至 D10 、D11 数据寄存器内。 X0 DMOVR F1.200E+0 D10 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-292 API 指令码 操作数 功能 113 ETHRW 以太网络通讯指令 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * * * D * n * * * ETHRW: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SX2 操作数: S1: Ethernet 通讯 IP、通讯口与读写模式。 S2: 读写的装置通讯地址。 D: 来源或目的之 D 装置 组件。 n: 通讯数据长度(word 为单位),设定范围 k1~k96。 指令说明: 1. S1 操作数为 Ethernet 通讯 IP、通讯口与读写模式选择设定,此 S1 将连续占用 5 个 D 装置,其 功用说明如下: 1.1 通讯 IP 设定:将连续占用 2 个 D 组件,分别是 S1+0, S1+1 IP 定义 IP3.IP2.IP1.IP0 192.168.0.2 假设 S1 为 D100,则需输入 D100=H0002, D101=HC0A8 D100 (S1+0) D101 (S1+1) High Low High Low IP1 IP0 IP3 IP2 0 2 192 168 H’0002 H’C0A8 1.2 选择通讯口(S1+2):在 SE 上内建的 Ethernet 通讯口以及 EH3 的通讯卡皆编号为 K108; 当有连接左侧 Ethernet 模块时,其通讯口分别依其连接台数(最靠近主机的为第 1 台)编号 定义为 K100(第 1 台) ~ K107(第 8 台)。 1.3 通讯站号设定(S1+3):从站的通讯站号设定。 1.4 读写模式设定(S1+4):与 MODBUS 定义相同,目前支持的功能码为 H’03, H’04, H’06, H’10 2. S2 操作数为读写的装置通讯地址,其地址定义与 MODBUS 规范相同。 3. D 操作数为指定来源或目的之 D 装置组件。 4. n 操作数为通讯数据长度(word 为单位),可设定范围为 K1~K96,当设定超出范围时,指令自动 以最小或最大值执行。 5. 当指令每次刚启动时,即是通讯命令开始传送,此时不需要透过额外启动特殊旗志当做传送开始。 6. 此指令不限制使用次数,但是当任何一台模块被所属的 ETHRW 指令启动传送与接收时,则其 它 ETHRW 指令将无法再对相同的那一台模块进行发送通讯的命令,须等到完成接收或回复错 误发生之后,才能再继续进行下一次的通讯命令。 3. 指令集 3-293 7. 当通讯状态为接收中,但此通讯指令被强制关闭,则通讯接收也将立即关闭,并且不产生接收完 成或错误旗志。 8. D1394 为通讯接收逾时设定(预设 3000)(单位为 ms),数值范围为 1~32767,超出范围以默认值 3000 设定。 9. D1395 为存放接收完成时的状态旗志,其 bit0~8 分别表示哪一个模块的通讯口已经完成接收; 例如 SE 内建网络通讯口接收完成,则输入条件判断指令 BLD D1395 k8 就会成立。 10. D1396 为存放接收错误的状态旗志,其 bit0~8 分别表示哪一模块已经发生错误;例如左侧模块 第 1 台 EN01 的通讯口有接收错误发生,则输入条件判断指令 BLD D1396 k0 就会成立。 11. 此指令有被启动传送/接收时,不能进行在线编辑 PLC 程序之功能,否则有可能造成接收数据回 存错误发生。 12. 此指令支持机种与版本(含以上)为 SA2 v2.40, SX2 v2.20, 与 SE v1.00 程序范例: (使用 SE 机种内建 Ethernet 传送与接收) 设定 D100~D104 为通讯 IP(192.168.0.2), 通讯口(K108), 通讯站号(K1)与读取功能(H03),接着设定 读取 H1000 通讯地址的内容 2 笔;当 M0=On 时, ETHRW 指令发出读取通讯命令, 接着等待接收完 成后, 指令自动将接收完成旗志 D1394 的 bit8 设为 On, 并将接收数据放至 D10 与 D11。 MOV HC0A8 D101 MOV K108 D102 MOV K1 D103 MOV K3 D104 ETHRW D100 H1000 D10 K2 MOV H0002 D100 MOV D10 D20 M0 M1002 BLD D1395 K8ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-294 API 指令码 操作数 功能 116 D RAD P 角度 弧度 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DRAD, DRADP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源 (角度) D: 变换的结果 (弧度) 指令说明: 1. 使用下列公式将角度转换成弧度:: 弧度 = 角度 × (π/180) 2. 标志位: M1020 零标志,M1021 借位标志, M1022 进位标志。 若转换结果的绝对值大于可表示的最大浮点值,则进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,则借位标志 M1021= On。 若转换结果为 0,则零标志 M1020= On。 程序范例: 当 X0= On 时,指定二进制浮点数(D1, D0)的角度值,将角度值转换为弧度值后存于 (D11, D10)当中, 内容为二进制浮点数。 X0 DRAD D0 D10 D 1 D 0S D D11 D10 二进制浮点数 角度值 二进制浮点数 RAD ( x 值角度 π /180) 3. 指令集 3-295 API 指令码 操作数 功能 117 D DEG P 弧度 角度 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * D * DDEG, DDEGP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源 (弧度) D: 变换的结果 (角度) 指令说明: 1. 使用下列公式将弧度转换成角度: 角度 = 弧度 × (180/π) 2. 标志位: M1020 零标志,M1021 借位标志,M1022 进位标志。 若转换值的绝对值大于可表示的最大浮点值,则进位标志 M1022=On。 若转换值的绝对值小于可表示的最小浮点值,则借位标志 M1021=On. 若转换结果为 0,则零标志 M1020= On. 程序范例: 当 X0= On 时,指定二进制浮点数(D1, D0)的弧度值,将弧度值转换为角度值后存于 (D11, D10)当中, 内容为二进制浮点数。 X0 DDEG D0 D10 二进制浮点数 弧度值 二进制浮点数 RAD ( x 值度弧 180 / ) π D 1 D 0S D D 11 D 10 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-296 API 指令码 操作数 功能 118 D EBCD P 二进制浮点数十进制浮点数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * D * DEBCD, DEBCDP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源 D: 变换的结果 指令说明: 1. 将 S 所指定的寄存器中的二进制浮点数变换成十进制浮点数寄存于 D 所指定的寄存器当中。 2. PLC 是以二进制浮点数型态作浮点数运算的依据。 DEBCD 指令就是用来将二进制浮点数变换 成十进制浮点数型态的专用指令。 3. 标志位: M1020 零标志, M1021 借位标志,M1022 进位标志。 若转换结果的绝对值大于可表示的最大浮点值,则进位标志 M1022= On. 若转换结果的绝对值小于可表示的最小浮点值,则借位标志 M1021= On. 若转换结果为 0,则零标志 M1020= On. 程序范例: 当 X0= On 时 D1, D0 内的二进制浮点数被转换成十进制浮点数寄存于 D3,D2。 D0DEBCD X0 D2 D0D1 D2D3 二进制浮点数 23 8 1 位实数,指数 位,符号位 位 数学式表示:[D2] * 10 [D3]十进制浮点数 实数指数 3. 指令集 3-297 API 指令码 操作数 功能 119 D EBIN P 十进制浮点数二进制浮点数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * D * DEBIN, DEBINP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源 D: 变换的结果 指令说明: 1. 将 S 所指定的寄存器中的十进制浮点数变换成二进制浮点数并寄存于 D 所指定的寄存器当中。 2. 例如:S =1234, S +1= 3 将变换成 S =1.234 x 106 。 3. D 必须是二进制浮点数形式,S 和 S +1 中 分别用十进制表示实数和指数。 4. DEBIN 指令就是用来将十进浮点数变换成二进浮点数型态的专用指令。 5. 十进浮点数实数范围为 -9,999 ~ +9,999, 指数范围为 - 41~+35, 实际 PLC 十进浮点数的范围 为 ±1175×10-41 到±3402×10+35。若运算结果为 0, 则零标志 M1020=On。 程序范例 1: 当 X1= On 时,指定寄存器 D1,D0 中的十进制浮点数转换成二进制浮点数并寄存于 D3,D2 中。 D0DEBIN X1 D2 二进制浮点数 23 8 1 位实数,指数 位, 符号位 位 十进制浮点数 实数指数 D0D1 D2D3 [D0] * 10 [D1] 数学式表示: 程序范例 2: 1. 在进行浮点数运算前必须适用 FLT 指令 BIN 整数变换成二进制浮点数,变换的前提是被变换值 必须是 BIN 整数,然而,DEBIN 指令可将浮点数值变换成二进制浮点数。 2. 当 X0= On 时,将 K314 搬移到 D0 ,将 K-2 搬移到 D1,组成十进制浮点数型态 (3.14 = 314 × 10-2)。 K314MOVP X0 D0 D0DEBIN D2 K-2MOVP D1 K314 D0 [D1] K-2 D1 [D0] 314 x10 (D1 D0) (D3 D2), , 314 x10 -2 二进制浮点数 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-298 API 指令码 操作数 功能 120 D EADD P 二进制浮点数加法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * D * DEADD, DEADDP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被加数 S2: 加数 D: 和 指令说明: 1. S1 + S2 = D。S1 所指定的寄存器中的浮点数值加上 S2 所指定的寄存器浮点数值,和被存放至 D 所指定的寄存器当中。 2. 若 S1 或 S2 来源操作数指定常数 K 或 H 的话,指令会将该常数变换成二进制浮点数值来作加算。 3. S1 及 S2 可指定相同的寄存器编号, 此种情况下若是使用”连续执行”型态的指令时, 在条件接 点 On 的期间, 该寄存器于每一次扫描时, 均会被加算一次, 一般的情况下都是使用脉冲执行型 指令(DEADDP)。 4. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值, 进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值, 借位标志 M1021= On。 若转换结果为 0, 零标志 M1020= On。 程序范例 1: 当 X0= On 时,将二进制浮点数(D1, D0) 加上二进制浮点数(D3,D2) ,结果存于(D10,D11) 中。 D0DEADD X0 D2 D10 程序范例 2: 当 X0= On 时,将二进制浮点数(D11, D10) 加上 K1234 (自动转换为二进制浮点数) ,并将结果存于 (D21, D20)中。 D10DEADD X2 K1234 D20 3. 指令集 3-299 API 指令码 操作数 功能 121 D ESUB P 二进制浮点数减法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * D * DESUB, DESUBP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被减数 S2: 减数 D: 差 指令说明: 1. S1 − S2 = D。S1 所指定的寄存器内容减去 S2 所指定的寄存器内容,结果存放于 D 所指定的寄存 器当中,减算的动作全部以二进制浮点数型态进行。 2. S1 或 S2 来源操作数若是指定常数 K 或 H,指令会将该常数变换成二进制浮点数值来作减算。 3. S1 及 S2 可指定相同的寄存器编号 (S1 和 S2 可使用相同的装置)。此种情况下若是使用连续执 行型态的指令时,在条件接点 On 的期间,该寄存器于每一次扫描时,均会被减算一次。一般情 况下都是使用脉冲执行型指令(DESUBP)。 4. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值,进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,借位标志 M1021= On。 若转换结果为 0,零标志 M1020= On。 程序范例 1: 当 X0= On 时, 二进浮点数(D1, D0)减掉二进浮点数 (D3, D2) , 结果存放在(D11, D10)中。 D0DESUB X0 D2 D10 程序范例 2: 当X2=On时, 将K1234(自动变换为二进浮点数)减掉二进浮点数(D1, D0) , 结果存放在(D11, D10)中。 K1234DESUB X2 D0 D10 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-300 API 指令码 操作数 功能 122 D EMUL P 二进制浮点数乘法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * D * DEMUL, DEMULP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被乘数 S2: 乘数 D: 积 指令说明: 1. S1 × S2 = D。S1 所指定的寄存器内容乘以 S2 所指定的寄存器内容,积被存放于 D 所指定的寄存 器当中,乘算的动作全部以二进制浮点数型态进行。 2. S1 或 S2 来源操作数若是指定常数 K 或 H,指令会将该常数变换成二进制浮点数值来作乘算。. 3. S1 和 S2 能使用相同的寄存器编号 (S1 和 S2 可使用相同的装置)。此种情况下若使用连续执行 型态的指令,在条件接点 On 的期间,该寄存器于每一次扫描时,均会被乘算一次,一般的情况 下都是使用脉冲执行型指令 (DEMULP)。 4. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值,进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,借位标志 M1021= On。 若转换结果为 0,零标志 M1020= On。 程序范例 1: 当 X1= On 时, 二进浮点数(D1, D0)乘以二进浮点数 (D11, D10) , 将积存放于 (D21, D20)中。 D0DEMUL X1 D10 D20 程序范例 2: 当 X2= On 时, 将 K1234(自动变换为二进浮点数)乘以二进浮点数(D1, D0) , 结果存放在(D11, D10) 中。 K1234DEMUL X2 D0 D10 3. 指令集 3-301 API 指令码 操作数 功能 123 D EDIV P 二进制浮点数除法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * D * DEADD, DEADDP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 被除数 S2:除数 D: 商及余数 指令说明: 1. S1 ÷ S2 = D. S1 所指定的寄存器内容除以 S2 所指定的寄存器内容,商被存放于 D 所指定的寄存 器当中,除算的动作全部以二进制浮点数型态进行。 2. S1 或 S2 来源操作数若是指定常数 K 或 H,指令会将该常数变换成二进制浮点数值来作除算。. 3. 除数 S2 的内容若为 0,即被认定为“运算错误”,指令不执行。 4. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值,进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,借位标志 M1021= On。 若转换结果为 0,零标志 M1020= On。 程序范例 1: 当 X1= On 时,将二进制浮点数(D1, D0) 除以 (D11, D10) 将商存放至 (D21, D20)所指定的寄存器当 中。. D0DEDIV X1 D10 D20 程序范例 2: 当 X2= On 时,将二进制浮点数 (D1, D0) 除以 K1234 (自动转换为二进制浮点数) ,结果存放于(D11, D10)中。 D0DEDIV X2 K1234 D10 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-302 API 指令码 操作数 功能 124 D EXP P 二进制浮点数取指数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DEXP, DEXPP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 运算来源装置 D: 运算结果装置 指令说明: 1. 例如: 以 e =2.71828 为底数,S 为指数: 2. EXP [S +1, S ]=[ D +1, D ] 3. S 内容正负数都有效,指定 D 寄存器必须使用 32 位数据格式,运算时均以浮点数方式执行,所 以 S 需转换为浮点数值。 4. D 的操作数内容值= e S;e=2.71828 ,S 为指定的来源数据。 5. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值, 进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值, 借位标志 M1021= On。 若转换结果为 0, 零标志 M1020= On。 程序范例: 1. 当 M0= On 时,将(D0, D1)值转换成二进制浮点数并保存在寄存器(D10, D11)中。 2. 当 M1= On 时,(D10, D11) 为指数做 EXP 运算,其值为二进制浮点数值并存放于(D20, D21) 寄存器中。 3. 当 M2= On 时,将 (D20, D21)二进制浮点数值转换成十进制浮点数值并存于 (D30, D31)寄存 器中。 (此时,D31 为表示 D30 的 10 次幂方) M0 RST M1081 M1 DEXP D10 D20 M2 DEBCD D20 D30 DFLT D0 D10 3. 指令集 3-303 API 指令码 操作数 功能 125 D LN P 二进制浮点数取自然对数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * D * DLN, DLNP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 运算来源装置 D: 运算结果装置 指令说明: 1. 以 S 为操作数做自然对数 ln 运算: LN[S +1, S ]=[ D +1, D ] 2. S 的内容只有正数有效。指定 D 寄存器时必须使用 32 位数据模式,运算时均以浮点数方式执 行,所以 S 需转换为浮点数值。 3. eD=S, D=ln S; S 为指定的来源数据。 4. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值,进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,借位标志 M1021= On。 若转换结果为 0,零标志 M1020= On。 程序范例: 1. 当 M0= On 时,将 (D0, D1) 值转成二进制浮点数存于 (D10, D11)寄存器中。 2. 当 M1= On 时,将 (D10, D11) 寄存器内容为真数做 ln 运算,其值为二进制浮点数并存放于(D20, D21)寄存器中。 3. 当 M2= On 时,将 (D20, D21) 寄存器中二进制浮点数值转换成十进制浮点数值并存于(D30, D31)寄存器中。(此时, D31 表示为 D30 的 10 次幂方) M0 RST M1081 M1 DLN D10 D20 M2 DEBCD D20 D30 DFLT D0 D10 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-304 API 指令码 操作数 功能 126 D LOG P 二进制浮点数取对数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * D * DLOG, DLOGP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 运算底数装置 S2: 运算来源装置 D: 运算结果装置 指令说明: 1. 将内容 S1 及 S2 内容为操作数做 log 运算,结果存放于 D。 2. S1 、S2 内容值只有正数有效(S1 内容值正数和负数都有效)。指定 D 寄存器时必须使用 32 位数 据格式,运算时均以浮点数方式执行,故 S1 、S2 需转换为浮点数值。 3. S1 D= S2, 求 D 值→Log S1 S2= D 例: 已知 S1=5, S2=125, 求 D =log 5 125=? S1 D= S2 → 5D=125 →D =log 5 125=3 4. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值,进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,借位标志 M1021= On。 若转换结果为 0,零标志 M1020= On。 程序范例: 1. 当 M0= On 时,将 (D0, D1) 及 (D2, D3) 值转成二进制浮点数并分别存于 (D10, D11)、 (D12, D13) 寄存器中。 2. 当 M1= On 时,使用 32 位寄存器 (D10, D11) 和 (D12, D13) 为真数做 ln 运算,其值为二进制 浮点数,结果存于 32 位寄存器(D20, D21)中。 3. 当 M2= On 时,将 32 位寄存器(D20, D21) 中的值转换成十进制浮点数值并存于(D30, D31)寄 存器中。 (此时 D31 表示为 D30 的 10 次幂方) M0 RST M1081 M1 M2 DEBCD D20 D30 DFLT D0 D10 D2 D12 DLOG D10 D12 D20 DFLT 3. 指令集 3-305 API 指令码 操作数 功能 127 D ESQR P 二进制浮点数开平方根 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * D * DESQR, DESQRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 来源装置 D : 开平方根结果 指令说明: 1. S 所指定的寄存器内容被开平方,所得结果寄存于 D 所指定的寄存器内容,开平方的动作全部 以二进制浮点数型态进行。 2. S 来源操作数若指定常数 K 或 H,指令会将该常数变换成二进制浮点数值来做运算。 3. 若开平方根的结果 D 为 0 (zero), 零标志 M1020= On。 4. S 来源装置只有正数有效。负数时,视为 “运算错误” 指令不执行,M1067、 M1068 = On, D1067 记录错误代码“0E1B” 。 5. 标志位: M1020 (零标志) ,M1067 (指令执行错误) 。 程序范例 1: 当 X0= On 时,将二进制浮点数 (D1, D0)取平方根,并将结果存放至(D11, D10) 所指定的寄存器当 中。 D0DESQR X0 D10 (D1, D0) (D11 D10), 二进制浮点数 二进制浮点数 程序范例 2: 当 X2= On 时,将 K1234 (自动变换为二进制浮点数) 取开平方根,结果存放至(D11, D10)中。 K1234DESQR X2 D10 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-306 API 指令码 操作数 功能 128 D POW P 浮点数权值指令 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * D * DPOW, DPOWP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 底数装置 S2: 次幂数装置 D: 运算结果装置 指令说明: 1. 将二进制浮点数据 S1 及 S2 与次幂数相乘后存放于 D。 POW [S1+1, S1 ]^[ S2+1, S2 ]= D 2. S1 内容值只有正数有效。指定 D 寄存器时必须使用 32 位数据格式,运算时均以浮点数方式执行。 故 S1 、S2 需转换为浮点数值。 例: S1 S2=D, 求 D 值? 已知 S1=5 , S2=3 , 則 D =53=125 3. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 若转换结果的绝对值大于可表示的最大浮点值,进位标志 M1022= On。 若转换结果的绝对值小于可表示的最小浮点值,借位标志 M1021= On。 若转换结果为 0,零标志 M1020= On。 程序范例: 1. 当 M0= On 时,将(D0, D1) 的内容及 (D2, D3) 的内容转成二进制浮点数分别存于(D10, D11) 及 (D12, D13)32 位寄存器中。 2. 当 M1= On 时,将(D10, D11) 及 (D12, D13) 32 位寄存器的二进制浮点数做 POW 运算并将结 果存于 (D20, D21)32 位寄存器。 3. 当 M2= On 时,将(D20, D21) 32 位寄存器二进制浮点数值转成十进制浮点数值并存于(D30, D31)寄存器中。 (此时,D31 为表示 D30 的 10 次幂) M0 RST M1081 M1 D10 D12 M2 DEBCD D20 D30 D2 D12 D20DPOW DFLT DFLT D0 D103. 指令集 3-307 API 指令码 操作数 功能 129 D INT P 二进制浮点数BIN 正数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * D * INT, INTP: 5 steps DINT, DINTP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 来源装置 D:变换的结果 指令说明: 1. S 所指定的寄存器内容以二进制浮点数型态被变换成 BIN 整数寄存于 D 所指定的寄存器中,BIN 整数浮点数被舍弃。 2. 本指令的动作与 API 49 (FLT) 指令刚好相反。 3. 标志位: M1020 (零标志)、 M1021 (借位标志)、 M1022 (进位标志) 。 变换结果若为 0 时,零标志 M1020= On。 变换结果有浮点数被舍弃时,借位标志 M1021= On。 变换结果超出范围时 (溢位) ,进位标志 M1022= On。 16 位指令: -32,768~32,767 32 位指令: -2,147,483,648~2,147,483,647 程序范例: 1. 当 X0= On 时,将二进制浮点数(D1, D0) 变换成 BIN 正数将结果存放至 (D10)中。BIN 整数浮 点数被舍弃。 2. 当 X1= On 时,将二进制浮点数(D21, D20) 变换成 BIN 正数将结果存放至(D31, D30) 中。BIN 整数浮点数被舍弃。 INT X0 D0 D10 DINT X1 D20 D30 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-308 API 指令码 操作数 功能 130 D SIN P 二进制浮点数 SIN 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DSIN, DSINP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 指定的来源装置 (0°≦S<360°) D: 取 SIN 值结果 指令说明: 1. S 所指定的来源可指定为弧度或角度,由标志位 M1018 决定。 2. 当 M1018= Off,指定为弧度模式,RAD=角度 ×π/180. 3. 当 M1018= On,指定为角度模式,角度范围: 0°≦angle<360°. 4. 将 S 所指定的来源值求取 SIN 值后存于 D 所指定的寄存器当中。 5. 标志位: M1018:弧度/角度使用模式。 6. 下图显示弧度与结果的关系: S: R: 弧度数据 结果 R S -2 3 2 -2 23 222- 1 -1 0- 7. 若 D 装置的结果为 0,则零标志 M1020=On。 程序范例 1: M1018= Off,指定为弧度模式。当 X0= On,指定二进制浮点数(D1,D0)的弧度值,求取 SIN 值后 存于(D11, D10)。(D11, D10) 寄存器内容值为二进制浮点数。 M1002 RST M1018 X0 DSIN D0 D10 D1 D0 D11 D10 SIN 值 S D 二进制浮点数 RAD ( x /180)值角度 π 二进制浮点数 3. 指令集 3-309 程序范例 2: M1018= Off,指定为弧度模式。由输入端 X0 及 X1 来选择角度,转成弧度 RAD 值后求取 SIN 值。 D10FLT M1000 D14 K31415926 K1800000000 D20D14 D40 K30MOVP X0 D10 K60 X1 D10 D50D40 DEDIV DSIN D20 MOVP DEMUL (K 30 D10) (K 60 D10) (D10 D15, D14) ( /180) ( D21, D20)π (D15, D14) x /180角度 π (D41, D40) RAD 二进制浮点数 (D41 D40) RA D (D51, D50) SIN, 二进制 浮点数 二进制浮点数 二进制 浮 点 数 二进制浮点数 程序范例 3: M1018= On 指定为角度模式。 当 X0= On 时,指定(D1,D0)的角度值,角度范围为:0°≦角度值 <360°。求取 SIN 值后存于 (D11,D10) 当中,内容为二进制浮点数。 M1002 SET M1018 X0 DSIN D0 D10 D 1 D 0S D D 11 D 10 角度值 SIN () 值 二进制浮点数 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-310 API 指令码 操作数 功能 131 D COS P 二进制浮点数 COS 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DCOS, DCOSP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 指定来源值 (0°≦S<360°) D: 取 COS 值结果 指令说明: 1. S 所指定的来源可指定为弧度值或角度值,由标志位 M1018 决定。 2. 当 M1018= Off,指定为弧度模式。 RAD=角度 ×π/180. 3. 当 M1018= On,指定为角度模式。 角度范围: 0°≦角度<360°. 4. 将 S 所指定的来源值,求取 COS 值后存于 D 所指定的寄存器当中。 5. 下图显示弧度与结果的关系: S: R: 弧度 结果 S -2 3 2 -2 23 222- 1 -1 0- R 6. 标志位 M1018 弧度/角度切换:当 M1018= Off, S 指定为弧度值。当 M1018= On 时, S 指 定为角度值 (0~360)。 7. 若 D 的结果为 0,零标志 M1020=On。 程序范例 1: M1018= Off,指定为弧度模式。当 X0= On 时,指定(D1, D0)的弧度值,求取 COS 值后存放于(D11, D10)寄存器中。(D1, D0)中的弧度值和(D11, D10) 中的结果值均为二进制浮点数格式。 M1002 RST M1018 X0 DCOS D0 D10 D1 D0 D11 D10 COS 值 S D 二进制浮点数 RAD ( x /180)值角度 π 二进制浮点数3. 指令集 3-311 程序范例 2: M1018= On,指定为角度模式。当 X0= On,指定(D1, D0)的角度值,角度范围: 0°≦角度<360° 求取 COS 值后,以二进制浮点数形式存放于(D11, D10) 中。 M1002 SET M1018 X0 DCOS D0 D10 D 1 D 0S D D 11 D 10 角度值 COS 值 二进制浮点数 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-312 API 指令码 操作数 功能 132 D TAN P 二进制浮点数 TAN 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DTAN, DTANP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 指定的来源值 (0°≦S<360°) D: 取 TAN 值的结果 指令说明: 1. S 所指定的来源可指定为弧度或角度,由标志 M1018 决定。 2. 当 M1018= Off,指定为弧度模式。RAD=角度 ×π/180. 3. 当 M1018= On,指定为角度模式。角度范围: 0°≦角度<360°. 4. 将 S 所指定的来源值,求取 TAN 值后存于 D 所指定的寄存器当中。 5. 下图显示弧度与结果的关系: S: R: 弧度值 结果 R S-2 2 3 2 22- 1-1 03 2- - 1 6. 标志位 M1018 弧度/角度切换:当 M1018= Off, S 指定为弧度值。当 M1018= On 时, S 指 定为角度值 (0~360)。 7. 若 D 的结果为 0,零标志 M1020=On。 程序范例 1: M1018= Off,指定为弧度模式。 当 X0= On 时,指定二进制浮点数(D1, D0)的弧度值,求取 TAN 值 后存于(D11, D10)当中,内容为二进制浮点数。 M1002 RST M1018 X0 DTAN D0 D10 3. 指令集 3-313 D1 D0 D11 D10 TAN 值 二进制浮点数 S D 二进制浮点数 RAD ( x / 180)值角度 π 程序范例 2: M1018= On,指定为角度模式。当 X0= On 时,指定(D1, D0)的角度值,角度范围: 0°≦角度<360 °。求取 TAN 值后存于(D11, D10)当中,内容为二进制浮点数。 M1002 SET M1018 X0 DTAN D0 D10 D 1 D 0S D D 11 D 10 角度值 TAN () 值 二进制浮点数 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-314 API 指令码 操作数 功能 133 D ASIN P 二进制浮点数 ASIN 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DASIN, DASINP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 指定的来源(二进制浮点数) D: 取 ASIN 值结果 指令说明: 1. ASIN 值=SIN-1 2. 下图显示输入数据与结果的关系: S: R: ASIN 输入数据 值结果 R S 2 2- 0-1,0 1,0 3. 若 D 的结果为 0,零标志 M1020=On。 4. S 操作数指定的正弦值数值之十进浮点值只能介于 –1.0 ~ +1.0 之间, 若不在此范围内则 M1067/M1068 On 且指令不执行。 程序范例: 当 X0= On,指定二进制浮点数 (D1, D0),求取 ASIN 值后存于 (D11, D10)中,内容为二进制浮点数 格式。 DASIN X0 D0 D10 D1 D0 D11 D10 ASIN 值 二进制浮点数S D 二进制浮点数 3. 指令集 3-315 API 指令码 操作数 功能 134 D ACOS P 二进制浮点数 ACOS 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * D * DACOS, DACOSP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 指定的来源 (二进制浮点数) D: 取 ACOS 值结果 指令说明: 1. ACOS 值=COS-1 2. 下图显示输入数据与结果的关系: S: R: 输入数据 结果(弧度) R S 2 0 1,0-1,0 3. 若 D 的结果为 0,零标志 M1020=On。 4. S 操作数指定的余弦值数值之十进浮点值只能介于 –1.0 ~ 1.0 之间, 若不在此范围内则 M1067/M1068 On 且指令不执行。 程序范例: 当 X0= On,指定二进制浮点数 (D1, D0),求取 ACOS 值后存于 (D11, D10)。 (D11, D10)的内容为 二进制浮点数。 X0 D0 D10DACOS D1 D0 D11 D10 ACOS 值 二进制浮点数S D 二进制浮点数 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-316 API 指令码 操作数 功能 135 D ATAN P 二进制浮点数 ATAN 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DATAN, DATANP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 指定的来源 (二进浮点数) D: 取 ATAN 值结果 指令说明: 1. ATAN 值=TAN-1 2. 下图显示输入数据与结果的关系: S: R: 输入数据 结果 R S 2 2- 0 3. 若 D 的结果为 0,零标志 M1020=On。 程序范例: 当 X0= On,指定二进制浮点数(D1, D0), 求取 ACOS 值后存于(D11, D10)。(D11, D10) 的内容为二 进制浮点数。 DATAN X0 D0 D10 D1 D0 D11 D10 ATAN 值 二进制浮点数S D 二进制浮点数 3. 指令集 3-317 API 指令码 操作数 功能 143 DELAY P 延迟指令 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * DELAY, DELAYP: 3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 延迟时间 (K1~K1000), 单位延迟时间见指令说明。 指令说明(适用 ES2/EX2 V3.00 版 / SS2 V2.80 版 / SA2 V2.40 版 / SX2 V2.20 版 / SE V1.20 版 各 机种版本(含)以下): 1. 单位延迟时间为 100us。 2. 执行 DELAY 指令后,在每次扫描周期 DELAY 指令后面的程序执行会依使用者指定的时间作延 迟。 指令说明(适用 ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SX2 V2.40 版 / SE V1.40 版 各 机种版本(含)以上): 1. 依 M1148 旗标而定,单位延迟时间可为 100us (M1148 OFF) / 5us (M1148 ON) 2. M1148 为一次性 5us 单位延迟时间旗标。指令执行时,若 M1148 为 ON,单位延迟时间为 5us, 当指令执行完毕,会将 M1148 设为 OFF。 3. 执行 DELAY 指令后, 在每次扫描周期 DELAY 指令后面的程序执行会依使用者指定的时间作延 迟。 程序范例(适用 ES2/EX2 V3.00 版 / SS2 V2.80 版 / SA2 V2.40 版 / SX2 V2.20 版 / SE V1.20 版 各 机种版本(含)以下): 当X0由Off—>On外部中断产生时,中断子程序执行DELAY指令,延迟2ms后才执行后面程序X1=On 时,Y0 导通。 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-318 M1000 主程序 FEND I001 X1 Y0 IRET END EI REF Y0 K8 DELAY K20 T=2ms 中断输入 X0 输入 X1 输出 Y0 程序范例(适用 ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SX2 V2.40 版 / SE V1.40 版 各 机种版本(含)以上): 当 X0 由 Off—>On 外部中断产生时, 中断子程序执行 DELAY 指令, 延迟 1ms 后才执行后面程序 X1=On 时, Y0 导通。 M1000 SET M1148 主程序 FEND I001 X1 Y0 IRET END EI REF Y0 K8 DELAY K200 輸出Y0 T=1ms 輸入 1X 中斷輸入X0 补充说明: 1. 使用者可依实际情况来调整延迟时间。 2. DELAY 指令会受到通讯、高速计数器及高速脉冲输出指令影响而增加延迟时间。 3. 指定外部输出 (晶体管或继电器), 会受晶体管或继电器本身的延迟而增加延迟时间。3. 指令集 3-319 API 指令码 操作数 功能 144 GPWM 一般用脉冲波宽调变 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * D * * * GPWM: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 脉冲输出宽度 S2: 脉冲输出周期 (占用 3 个装置) D: 脉冲输出装置 指令说明: 1. S1 脉冲输出宽度指定 t:0~32,767ms. 2. S2 脉冲输出周期指定 T:1~32,767ms, S1 ≦ S2. 3. S2 +1 、S2 +2 为系统参数,请勿占用。 D 脉冲输出装置: Y,M 和 S。 4. GPWM 指令执行时,指定 S1 脉冲输出宽度与 S2 脉冲输出周期,由 D 脉冲输出装置输出。 5. 当 S1 ≦ 0时,脉冲输出装置无输出,当 S1 ≧ S2 时,脉冲输出装置一直为 On。 6. S1、S2 可在 GPWM 指令执行时更改。 程序范例: D0=K1000,D2=K2000,当 X0= On 时, Y20 输出以下脉冲。当 X0= Off 时, Y20 输出也变成 Off。 X0 GPWM D0 D2 Y20 t T t=1000ms T=2000ms 输出 Y20 补充说明: 1. 此指令是以扫描周期去计数,因此最大误差为 1 个 PLC 扫描周期。S1, S2 与 (S2 - S1) 的值必 须大于 PLC 扫描周期,否则 GPWW 输出会有错误动作。 2. 若将此指令置于子程序或中断中使用,则会产生 GPWM 输出不准确的情况发生,请特别注意。ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-320 API 指令码 操作数 功能 147 D SWAP P 上/下字节互换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * *** SWAP, SWAPP: 3 steps DSWAP, DSWAPP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 欲执行上/下字节互换的装置 指令说明: 1. 16 位指令时,上位 8 位与下位 8 位的内容互相交换。 2. 32 位指令时,两个寄存器的上位 8 位与下位 8 位的内容互相交换。 3. 本指令一般使用脉冲执行型指令 (SWAPP, DSWAPP) 。 4. D 操作数若适用 F 装置仅可使用 16 位指令。 程序范例 1: 当 X0=On 时,将 D0 的上 8 位与下位 8 位的内容互相交换。 D0SWAPP X0 D0 高位 低位 程序范例 2: 当 X0=On 时,将 D11 的上位 8 位与下位 8 位的内容互相交换,D10 的上位 8 位与下位 8 位的内容互 相交换。 D10DSWAP X0 高位 低位 D11 D01 低位高位 3. 指令集 3-321 API 指令码 操作数 功能 148 MEMR P 档案寄存器数据读出 适用机种 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F m * * * D * n * * * 7 steps 不支持 32 位指令 SS2 机种不支持 脉波执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: m:欲读取档案寄存器的编号。数值范围 K0 ~ K4999。 D:存放读取数据的位置,指定的 D 开始编号。D 组件使用范围 D2000~D9999。 n:读取之数据笔数。长度范围 K1~K5000。 指令说明: 1. 俱备 5,000 个 16 位之档案寄存器,编号从 K0~K4999。 2. 不支持 32 位指令读写。 3. m、D、n 操作数不在使用范围则视为运算错误,指令不执行,M1067、M1068=On,D1067 记录错误码 H’0E1A。 4. 档案暂存区内若未写入过数据时,其预设读出数值为-1。 5. 支持版本:ES2/EX2/SS2 机种 v2.80 版(含)以上,SA2 /SX2 机种 v2.40 版(含)以上;不适用于 DVP-ES2-C 机种。 6. 此档案寄存器功能不支持 M1101 功能,若是需要 PLC 启动执行 RUN 时,由档案寄存器加载数 据,则可使用 LD M1002 与 MEMR 指令搭配读取。 程序范例 : 1. 指令 MEMR 由档案寄存器中的第 10 个地址,读出 100 笔到 D2000 开始的 D 寄存器。 2. X0=On 的时候指令被执行,X0 变成 Off 时,指令不被执行,之前读出的数据其内容没有变化。 X0 MEMR K10 D2000 K100 ES2/EX2/SS2/SA2/SX/SE&TP 操作手册 - 程序篇 3-322 API 指令码 操作数 功能 149 MEMW P 档案寄存器数据写入 适用机种 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * m * * * n * * * 7 steps 不支持 32 位指令 SS2 机种不支持 脉波执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: S:欲写入数据的来源位置,从指定的 D 开始编号。D 组件使用范围 D2000~D9999。 m:欲写入档案寄存器的编号。数值范围 K0 ~ K4999。 n:写入之资料笔数。长度范围 K1~K100。 指令说明: 1. 俱备 5,000 个 16 位之档案寄存器,编号从 K0~K4999。 2. 不支持 32 位指令读写。 3. S、m、n 操作数不在使用范围则视为运算错误,指令不执行,M1067、M1068=On,D1067 记 录错误码 H’0E1A。 4. 基于档案寄存器以 FLASH ROM 做为永久保存之内存,因此仅开放 PLC 程序一次最多只能写入 100 个 word,并且写入时机点只有在条件接点 OFF 到 ON 时写入一遍。注意:此档案暂存区只 有写入 100,000 次寿命,请小心使用。 5. 支持版本:ES2/EX2/SS2 机种 v2.80 版(含)以上,SA2/SX2 机种 v2.40 版(含)以上;不适用于 DVP-ES2-C 机种。 程序范例 : 1. 指令 MEMW 由 D2000 开始的 D 寄存器,写入到档案寄存器中的第 10 个地址,且连续写入 100 笔。 2. X0 由 Off 变 On 的时候指令被执行一次。 MEMW D2000 K10 K100 X0 MEMW D2000 K10 K100 X0 3. 指令集 3-323 API 指令码 操作数 功能 150 MODRW MODBUS 读写数据 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * S3 * * * S * n * * * MODRW:11 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:联机装置地址(K1~K254) S2:通讯功能码 (K2(H02),K3(H03),K4(H04),K5(H05),K6(H06), K15(H0F),K16(H10),K23(H17)) S3, S, n: 其功能依功能码不同而异(详细说明请见指令说明)。 指令说明: 1. MODRW 指令支持通讯端口 COM1 (RS-232),COM2 (RS-485),COM3 (RS-485). (COM3 仅 适用于 ES2/EX2/SA2/SE;但不适用于 DVP-ES2-C 机种) 2. S1:联机装置地址。指定范围 K1~K254。功能码 K2,K3 ,K4 ,K23 不可指定地址为 K0。 3. S2: 通讯功能码 (Function Code)。目前仅支持上述功能码, 其余功能码将无法执行。请参考下 列程序范例。 功能码 命令说明 支持机种 H02 读取多笔位(Bit)装置 全系列机种 H03 读取多笔字符(Word)装置 全系列机种 H04 读取多笔字符(Word)装置 ES2/EX2 V2.6, SS2 V2.4, SA2/SX2 V2.0,SE V1.0 以上 H05 单笔位(Bit)装置状态写入 全系列机种 H06 单笔字符(Word)装置数据写入 全系列机种 H0F 多笔位(Bit)装置状态写入 全系列机种 H10 多笔字符(Word)装置数据写入 全系列机种 H17 多笔字符(Word)装置数据读取/写入 ES2/EX2 V3.2, SS2 V3.0, SA2 V2.6, SX2 V2.4 以上 4. S3: 欲读写数据的地址(Device Address)。联机装置的内部装置地址, 若地址对于被指定的装置 不合法, 则联机装置会响应错误讯息, PLC 将错误码储存, 同时错误旗标会 On。当使用功能码 K23 时,S3 只能使用 D 装置,并且定义 S3 为读取数据的地址,S3+1 为写入数据的地址。 z PLC COM 对应的错误标志及错误代码寄存器如下,详细说明请参考 API 80 的补充说明: PLC COM COM1 COM2 COM3 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-324 错误标志 M1315 M1141 M1319 错误代码 D1250 D1130 D1253 z 例如 8000H 对 DVP-PLC 不合法,如果是 COM2,则 M1141=On,D1130=2.。如果是 COM1,M1315=On,D1250 = 3。如果是 COM3,M1319=On,D1253 = 3。 5. S: 欲读写之数据(Source or Destination)。由使用者设定寄存器, 将欲写入数据长度的数据事先 存入寄存器内或数据读取后存放之寄存器。当 COM2 发送读取功能码(K2, K3 或 K4)时, 则此寄 存器将储存整个接收的通讯数据串, 而转换后数据被储存在 D1296~D1311, 详细说明请参考范 例 1 与范例 3。当 COM1 或 COM3 发送读取功能码(K2, K3 或 K4)时, 则此寄存器将直接储存转 换后数据, 详细说明请参考范例 2 与范例 4。当使用功能码 K23 时, S 为储存整个接收通讯数据 串的 D 装置组件索引, S+1 为储存写入数据的 D 装置组件索引。COM2 发送功能码 K23 时,不 会转换接收的通讯数据串储存在 D1296 ~ 1311。功能码 K23 详细说明请参考范例 13 与范例 14。 6. n: 读写数据长度(Data Length) z 在通讯功能码 H05 为表示 FORCE On/Off 的状态, n=0 表示 Off、n=1 表示 On。 z 在通讯功能码 H02、H03、H04、H0F、H10、H17 中为读写数据长度(Data Length) , 可 指定范围为 K1~Km, m 值依通讯模式及 PLC 通讯口说明如下, 其中 H02、H0F 单位为 Bit, H03、H04、H10、H17 单位为 Word。当使用功能码 H17, n 只能使用 D 装置, 并且 n 为 读取数据长度, n+1 为写入数据长度。 通讯功能码 通讯模式 通讯口 H02 H03/H04 H0F H10 H17 COM1(RS-232) K 64 K 16 K 64 K 16 K 16 COM2(RS-485) K 64 K 16 K 64 K 16 K 16 RTU COM3(RS-485) K 64 K 16 K 64 K 16 K 16 COM1(RS-232) K 64 K 16 K 64 K 16 K 16 COM2(RS-485) K 64 K 8 K 64 K 8 K 16 ASCII COM3(RS-485) K 64 K 16 K 64 K 16 K 16 7. S3 ,S, n 操作数依不同功能码其功能如下: 功能码 S3 S n H02 欲读取数据的地址 欲读取之数据存放寄存器 读取数据长度 H03 欲读取数据的地址 欲读取之数据存放寄存器 读取数据长度 H04 欲读取数据的地址 欲读取之数据存放寄存器 读取数据长度 H05 欲写入数据的地址 无意义 写入状态值 H06 欲写入数据的地址 欲写入数据存放寄存器 无意义 H0F 欲写入数据的地址 欲写入数据存放寄存器 写入数据长度 H10 欲写入数据的地址 欲写入数据存放寄存器 写入数据长度 3. 指令集 3-325 功能码 S3 S n H17 S3:欲读取数据的地址 S3+1:欲写入数据的地址 S:欲读取之数据存放寄存器 S+1:欲写入数据存放寄存器 n:读取数据长度 n+1:写入数据长度 8. 本指令于程序中使用次数并无限制,但是同一个通讯端口同时间仅有一个指令被执行。 9. MODRW (功能码 H02, H03, H04, H17)指令前面启动条件不可使用上升沿接点(LDP,ANDP, ORP) 和下降沿接点(LDF,ANDF,ORF),否则,存放在接收寄存器的数据将会不正确。 10. MODRW (功能码 H05,H06,H0F 及 H10) 指令前启动条件若使用上升沿接点 (LDP,ANDP, ORP)或下降沿接点 (LDF,ANDF,ORF),程序需先置位 M1122(COM2) / M1312(COM1) / M1316(COM3),方可正确执行。 11. 由于 MODRW 指令是依据送信要求来判定从哪一个通讯口传送,其判定顺序为 COM1Æ COM3 Æ COM2,因此建议每一个送信要求后,就请跟随着一条 MODRW 指令,这样才不会造成数据 读写目标位置错误的情况发生。 12. 相关标志信号信息和特殊寄存器的详细说明请参考 API 80 RS 指令说明。 程序范例 1:COM2(RS-485),通讯功能码 H02 1. 功能码 K2(H02) :读多笔位状态,最多可读取连续 64 bit. 2. PLC1 连接 PLC2:(M1143=Off,ASCII 模式),(M1143=On,RTU 模式) 3. 在 ASCII 或 RTU 模式,PLC COM2 会将传送出去的数据储存在 D1256~D1295,而且回传的 数据会被储存在 S 操作数开始连续的寄存器中,并且自动将转换后的 Hex 数值后储存 D1296~D1311。 4. PLC1 (PLC COM2) 与 PLC2(PLC COM1) 联机为例: z PLC1 读取 PLC2 的 Y0~Y17 状态如下说明: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-326 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 设置通讯格式 9600, 8, E, 1 通讯格式保持 设置通讯逾时时间 100ms MODRW K2K1 X0 H0500 D0 K16 联机装置地址 K1 功能码 读多笔位数据 K2 数据地址 Y0=H0500 数据存放寄存器 接收数据内容处理 ASCII : ASCII D0 PLC hex D1296 模式 接收数据以 码形式储存于使用者指定的的 开始的6个连续的寄存器, 自动将其内容转换为 数值存放在 特殊寄存器中。 RTU : ASC II D0 PLC hex D1296 模式 接收数据以 码形式储存于使用者指定的的 开始的17个连续的寄存器, 自动将其内容转换为 数值存放在 特殊寄存器中。 复位数据接收完毕标志 M1127 SET X0 M1122 置位送信要求标志 M1143=OFF ASCII 或RST M1143 M1143=ON RTUSET M1143 读写数据长度 Bit() z ASCII 模式 (M1143=Off): 当 X0 On 时开始执行 MODRW 指令功能码 02 功能 PLC1Ö PLC2,PLC1 传送:“01 02 0500 0010 E8” PLC2 ÖPLC1,PLC1 接收:“01 02 02 3412 B5” PLC1 传送数据寄存器 (传送信息) 寄存器 DATA 说明 D1256 下 ‘0’ 30 H ADR 1 D1256 上 ‘1’ 31 H ADR 0 ADR (1,0)为联机装置地址 D1257 下 ‘0’ 30 H CMD 1 D1257 上 ‘2’ 32 H CMD 0 CMD (1,0)为命令码 D1258 下 ‘0’ 30 H D1258 上 ‘5’ 35 H D1259 下 ‘0’ 30 H D1259 上 ‘0’ 30 H 起始数据地址 Y0=H0500 D1260 下 ‘0’ 30 H D1260 上 ‘0’ 30 H D1261 下 ‘1’ 31 H D1261 上 ‘0’ 30 H 数据 (bit) 个数 3. 指令集 3-327 寄存器 DATA 说明 D1262 下 ‘E’ 45 H LRC CHK 1 D1262 上 ‘8’ 38 H LRC CHK 0 LRC CHK (0,1) 为错误校验码 PLC1 接收数据寄存器 D0 (响应信息) 寄存器 DATA 说明 D0 下 ‘0’ 30 H ADR 1 D0 上 ‘1’ 31 H ADR 0 D1 下 ‘0’ 30 H CMD 1 D1 上 ‘2’ 33 H CMD 0 D2 下 ‘0’ 30 H D2 上 ‘2’ 32 H 数据(BYTE) 个数 D3 下 ‘3’ 33 H D3 上 ‘4’ 34 H D4 下 ‘1’ 31H D4 上 ‘2’ 32H 地址 0500H~ 0515H 的内容 PLC 自动将 ASCII 字符转换为数值 储存于 D1296=1234H D5 下 ‘B’ 52H LRC CHK 1 D5 上 ‘5’ 35 H LRC CHK 0 读取 PLC2 Y0~Y17 状态值 1234H 分析如下: 装置 状态 装置 状态 装置 状态 装置 状态 Y0 Off Y1 Off Y2 On Y3 Off Y4 On Y5 On Y6 Off Y7 Off Y10 Off Y11 On Y12 Off Y13 Off Y14 On Y15 Off Y16 Off Y17 Off z RTU 模式(M1143=On): 当 X0 On 时开始执行 MODRW 指令功能码 02 功能 PLC1Ö PLC2,PLC1 传送:“01 02 0500 0010 79 0A” PLC2 Ö PLC1,PLC1 接收:“01 02 02 34 12 2F 75” PLC 传送数据寄存器 (传送信息) 寄存器 DATA 说明 D1256 下 01 H Address D1257 下 02 H Function D1258 下 05 H D1259 下 00 H 起始数据地址 Y0=H0500 D1260 下 00 H D1261 下 10 H 数据(word) 个数 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-328 寄存器 DATA 说明 D1262 下 79 H CRC CHK Low D1263 下 0A H CRC CHK High PLC 接收数据寄存器 D0 (响应信息) 寄存器 DATA 说明 D0 下 01 H Address D1 下 02 H Function D2 下 02 H 数据 (Byte) 个数 D3 下 34 H D4 下 12 H 地址 H0500~H0515 的内容 PLC 自动将数值储存于 D1296=1234H D5 下 2F H CRC CHK Low D6 下 75 H CRC CHK High 读取 PLC2 Y0~Y17 状态值 1234H 分析如下: 装置 状态 装置 状态 装置 状态 装置 状态 Y0 Off Y1 Off Y2 On Y3 Off Y4 On Y5 On Y6 Off Y7 Off Y10 Off Y11 On Y12 Off Y13 Off Y14 On Y15 Off Y16 Off Y17 Off 程序范例 2:COM1(RS-232) / COM3(RS-485),通讯功能码 H02 1. 通讯功能码 K2(H02) :读取多笔位装置(Bit)状态,最多可读取连续 64 bit. 2. PLC1 连接 PLC2:(M1320=Off,ASCII Mode),(M1320=On,RTU Mode) 3. 在 ASCII 或 RTU mode,PLC COM1 / COM3 不会储存传送出去的数据,会将接收的数据储存 在 S 操作数开始的连续寄存器中。可利用 DTM 指令做数据转换与传送。 4. PLC1 (PLC COM3) 与 PLC2(PLC COM1) 联机为例: z PLC1 读取 PLC2 的 Y0~Y17 状态如下说明: z 若 PLC1 为 COM1 联机时,可将下面程序中修改如下即可。 1. D1109→D1036:通讯协议 2. M1136→M1138:通讯设定保持用 3. D1252→D1249:通讯逾时异常时间 4. M1320→M1139:ASCII/RTU 模式选择 5. M1316→M1312:通讯指令送信要求发送标志 6. M1318→M1314:通讯指令数据接收完毕标志 3. 指令集 3-329 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 MODRW K2K1 X0 H0500 D0 K16 连线装置地址 K1 功能码 读取多笔 数据 K2 Bit 数据地址Y0=H0500 数据存放寄存器 读写数据长度(bit) M1318 SET X0 M1316 ASCII 模式设置RST M1320 SET M1320 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms ASCII HEX D0 模式 接收回传数据转成 数值形式储存于使用者指定的 开始的寄存器。: RTU HEX D0 模式 接收回传数据以 数值形式储存于使用者指定的 开始的寄存器.: 设置送信要求 接收数据内容处理 RTU 模式设置 z ASCII Mode (COM3:M1320=Off,COM1:M1139=Off): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H02 功能 PLC1Ö PLC2,PLC1 传送:“01 02 0500 0010 E8” PLC2 ÖPLC1,PLC1 接收:“01 02 02 3412 B5” PLC1 接收数据寄存器 D0 寄存器 Data 说 明 D0 1234H 地址 0500H~ 0515H 的内容,PLC 自动将 ASCII 字符转换为数值 储存 读取 PLC2 Y0~Y17 状态值 1234H 分析如下: 装置 状态 装置 状态 装置 状态 装置 状态 Y0 Off Y1 Off Y2 On Y3 Off Y4 On Y5 On Y6 Off Y7 Off Y10 Off Y11 On Y12 Off Y13 Off Y14 On Y15 Off Y16 Off Y17 Off z RTU Mode (COM3:M1320=On COM1:M1139=On): 当 X0=On 时开始执行 MODRW 指令通讯功能码 H02 功能 PLC1Ö PLC2,PLC1 传送:“01 02 0500 0010 79 0A” PLC2 Ö PLC1,PLC1 接收:“01 02 02 34 12 2F 75” ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-330 PLC 接收数据寄存器 寄存器 Data 说 明 D0 1234 H 地址 0500H~ 0515H 的内容,PLC 自动将数值转换储存 读取 PLC2 Y0~Y17 状态值 1234H 分析如下: 装置 状态 装置 状态 装置 状态 装置 状态 Y0 Off Y1 Off Y2 On Y3 Off Y4 On Y5 On Y6 Off Y7 Off Y10 Off Y11 On Y12 Off Y13 Off Y14 On Y15 Off Y16 Off Y17 Off 5. COM1 / COM2 /COM3 当主站使用时相关设定: 动作 COM2 COM1 COM3 说 明 M1120 M1138 M1136 通讯设定保持用 M1143 M1139 M1320 ASCII/RTU 模式选择 D1120 D1036 D1109 通讯协议 协议设定 D1121 D1121 D1255 PLC 通讯地址 M1122 M1312 M1316 通讯指令送信要求发送标志 发送要求 D1129 D1249 D1252 通讯逾时异常时间,时间定义 (ms) 接收完毕 M1127 M1314 M1318 通讯指令数据接收完毕标志 - M1315 M1319 通讯指令数据接收错误标志 - D1250 D1253 通讯错误代码 M1129 - - 接收逾时 M1140 - - 通讯指令数据接收错误 M1141 - - Exception Code 存放在 D1130 错误信息 D1130 - - MODBUS 回传错误码记录(Exception Code) 程序范例 3:COM2(RS-485),通讯功能码 H03(通讯功能码 H04 同 H03) 1. 通讯功能码 K3(H03) :读取多笔字符装置(Word),最多可读取连续 16 个 Word,但是 PLC COM2 的 ASCII 最多只能读取 8 个 Word。 2. 在 ASCII 或 RTU mode,PLC COM2 会将传送出去的数据储存在 D1256~D1295,而且回传的 数据会被储存在 S 操作数开始连续的寄存器中,并且自动将转换后的 16 进位数据储存在 D1296~D1311。 3. PLC (COM2) 与 VFD-B 联机为例: z PLC 读取 VFD-B 状态,(M1143=Off,ASCII Mode ),(M1143=On,RTU Mode)。 3. 指令集 3-331 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 MODRW K3K1 X0 H2100 D0 K6 功能码 读取多笔数据 K3 数据地址 H2100 M1127 SET X0 M1122 ASCII 模式设置RST M1143 SET M1143 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms ASCII ASCII D0 模式 接收回传数据以 字符形式储存于使用者指定的 开始: RTU HEX D0 :模式 接收回传数据以 数值形式储存于使用者指定的 开始的 的寄存器 自动将其内容转换为 数值存放于,PLC HEX D1296~D1311 等特殊寄存器内。 寄存器。 连线装置地址 K1 数据存放寄存器 读写数据长度(word) 设置送信要求 RTU 模式设置 接收数据内容处理 z ASCII Mode (M1143=Off): 当 X0=On 时开始执行 MODRW 指令通讯功能码 H03 功能 PLC Ö VFD-B,PLC 传送:“01 03 2100 0006 D5” VFD-B Ö PLC,PLC 接收:“01 03 0C 0100 1766 0000 0000 0136 0000 3B” PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte ‘0’ 30 H ADR 1 D1256 High byte ‘1’ 31 H ADR 0 ADR (1,0)为联机装置地址 D1257 Low byte ‘0’ 30 H CMD 1 D1257 High byte ‘3’ 33 H CMD 0 CMD (1,0)为命令码 D1258 Low byte ‘2’ 32 H D1258 High byte ‘1’ 31 H D1259 Low byte ‘0’ 30 H D1259 High byte ‘0’ 30 H 起始数据地址 Starting Data Address D1260 Low byte ‘0’ 30 H D1260 High byte ‘0’ 30 H D1261 Low byte ‘0’ 30 H D1261 High byte ‘6’ 36 H 数据 (word) 个数 Number of Data(count by word) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-332 寄存器 Data 说 明 D1262 Low byte ‘D’ 44 H LRC CHK 1 D1262 High byte ‘5’ 35 H LRC CHK 0 LRC CHK (0,1) 为错误检查码 PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D0 low byte ‘0’ 30 H ADR 1 D0 high byte ‘1’ 31 H ADR 0 D1 low byte ‘0’ 30 H CMD 1 D1 high byte ‘3’ 33 H CMD 0 D2 low byte ‘0’ 30 H D2 high byte ‘C’ 43 H 数据 (BYTE) 个数 D3 low byte ‘0’ 30 H D3 high byte ‘1’ 31 H D4 low byte ‘0’ 30 H D4 high byte ‘0’ 30 H 地址 2100H 的 内容 COM2 自动将 ASCII 字符转换 为数值储存于 D1296 = 0100 H D5 low byte ‘1’ 31 H D5 high byte ‘7’ 37 H D6 low byte ‘6’ 36 H D6 high byte ‘6’ 36 H 地址 2101 H 的 内容 COM2 自动将 ASCII 字符转换为 数值储存于 D1297 = 1766 H D7 low byte ‘0’ 30 H D7 high byte ‘0’ 30 H D8 low byte ‘0’ 30 H D8 high byte ‘0’ 30 H 地址 2102 H 的 内容 COM2 自动将 ASCII 字符转换为 数值储存于 D1298 = 0000 H D9 low byte ‘0’ 30 H D9 high byte ‘0’ 30 H D10 low byte ‘0’ 30 H D10 high byte ‘0’ 30 H 地址 2103 H 的 内容 COM2 自动将 ASCII 字符转换为 数值储存于 D1299 = 0000 H D11 low byte ‘0’ 30 H D11 high byte ‘1’ 31 H D12 low byte ‘3’ 33 H D12 high byte ‘6’ 36 H 地址 2103 H 的 内容 COM2 自动将 ASCII 字符转换为 数值储存于 D1300 = 0136 H D13 low byte ‘0’ 30 H D13 high byte ‘0’ 30 H D14 low byte ‘0’ 30 H D14 high byte ‘0’ 30 H 地址 2105 H 的 内容 COM2 自动将 ASCII 字符转换为 数值储存于 D1301 = 0000 H D15 low byte ‘3’ 33 H LRC CHK 1 D15 high byte ‘B’ 42 H LRC CHK 0 3. 指令集 3-333 z RTU Mode (M1143=On): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H03 功能 PLC Ö VFD-B,PLC 传送:” 01 03 2100 0006 CF F4” VFD-B Ö PLC,PLC 接收:“01 03 0C 0000 0503 0BB8 0BB8 0000 012D 8E C5” PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte 01 H Address D1257 Low byte 03 H Function D1258 Low byte 21 H D1259 Low byte 00 H 起始数据地址 Starting Data Address D1260 Low byte 00 H D1261 Low byte 06 H 数据 (word) 个数 Number of Data (count by word) D1262 Low byte CF H CRC CHK Low D1263 Low byte F4 H CRC CHK High PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D0 low byte 01 H Address D1 low byte 03 H Function D2 low byte 0C H 数据(Byte) 个数,Number of Data (Byte) D3 low byte 00 H D4 low byte 00 H 地址 2100 H 的内容 COM2 自动将数值储存于 D1296= 0000 H D5 low byte 05 H D6 low byte 03 H 地址 2101 H 的内容 COM2自动将数值储存于D1297 = 0503 H D7 low byte 0B H D8 low byte B8 H 地址 2102 H 的内容 COM2自动将数值储存于D1298 = 0BB8 H D9 low byte 0B H D10 low byte B8 H 地址 2103 H 的内容 COM2自动将数值储存于D1299 = 0BB8 H D11 low byte 00 H D12 low byte 00 H 地址 2104 H 的内容 COM2自动将数值储存于D1300 = 0000 H D13 low byte 01 H D14 low byte 2D H 地址 2105 H 的内容 COM2自动将数值储存于D1301 = 012D H D15 low byte 8E H CRC CHK Low D16 low byte C5 H CRC CHK High ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-334 程序范例 4:COM1(RS-232) / COM3(RS-485),通讯功能码 H03 (通讯功能码 H04 同 H03) 1. 通讯功能码 K3(H03) :读取多笔字符装置(Word),最多可读取连续 16 个 Word,但是 PLC COM2 的 ASCII 最多只能读取 8 个 Word。 2. PLC COM1/COM3 会将接收的数据储存在 S 操作数开始的连续寄存器中。可利用 DTM 指令做 数据转换与传送。 3. PLC (COM3) 与 VFD-B 联机为例: z PLC 读取 VFD-B 状态,(M1320=Off,ASCII Mode ),(M1320=On,RTU Mode)。 z 若 PLC 为 COM1 联机时,可将下面程序中修改如下即可。 1. D1109→D1036:通讯协议 2. M1136→M1138:通讯设定保持用 3. D1252→D1249:通讯逾时异常时间 4. M1320→M1139:ASCII/RTU 模式选择 5. M1316→M1312:通讯指令送信要求发送标志 6. M1318→M1314:通讯指令数据接收完毕标志 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 MODRW K3K1 X0 H2100 D0 K6 连线装置地址 K1 功能码 读取多笔数据 K3 数据地址 H2100 数据存放寄存器 读写数据长度(word) M1318 SET X0 M1316 ASCII 模式设置RST M1320 SET M1320 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms ASCII HEX D0 模式 接收回传数据转成 数值形式储存于使用者指定的 开始的寄存器: 。 RTU HEX D0 :模式 接收回传数据以 数值形式储存于使用者指定的 开始的寄存器。 设置送信要求 接收数据内容处理 RTU 模式设置 z ASCII Mode (COM3:M1320=Off,COM1:M1139=Off): 当 X0=On 时开始执行 MODRW 指令通讯功能码 H03 功能 PLC Ö VFD-B,PLC 传送:“01 03 2100 0006 D5” VFD-B Ö PLC,PLC 接收:“01 03 0C 0100 1766 0000 0000 0136 0000 3B” 3. 指令集 3-335 PLC 接收数据寄存器 寄存器 Data 说 明 D0 0100 H 地址 2100H 的内容,PLC 自动将 ASCII 字符转换为数值储存 D1 1766 H 地址 2101 H 的内容,PLC 自动将 ASCII 字符转换为数值储存 D2 0000 H 地址 2102 H 的内容,PLC 自动将 ASCII 字符转换为数值储存 D3 0000 H 地址 2103 H 的内容,PLC 自动将 ASCII 字符转换为数值储存 D4 0136 H 地址 2104 H 的内容,PLC 自动将 ASCII 字符转换为数值储存 D5 0000 H 地址 2105 H 的内容,PLC 自动将 ASCII 字符转换为数值储存 z RTU Mode (COM3:M1320=On COM1:M1139=On): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H03 功能 PLC Ö VFD-B,PLC 传送:” 01 03 2100 0006 CF F4” VFD-B Ö PLC,PLC 接收:“01 03 0C 0000 0503 0BB8 0BB8 0000 012D 8E C5” PLC 接收数据寄存器 寄存器 Data 说 明 D0 0000 H 地址 2100H 的内容,PLC 自动将数值转换储存 D1 0503 H 地址 2101 H 的内容,PLC 自动将数值转换储存 D2 0BB8 H 地址 2102 H 的内容,PLC 自动将数值转换储存 D3 0BB8 H 地址 2103 H 的内容,PLC 自动将数值转换储存 D4 0136 H 地址 2104 H 的内容,PLC 自动将数值转换储存 D5 012D H 地址 2105 H 的内容,PLC 自动将数值转换储存 程序范例 5:COM2(RS-485),通讯功能码 H05 1. 通讯功能码 K5(H05):Force On/Off 位装置(Bit)。 2. PLC1 连接 PLC2:(M1143=Off,ASCII Mode),(M1143=On,RTU Mode)。 3. n = 1 表示 Force On (Force 数据=FF00H),n = 0 表示 Force Off (Force 数据=0000H)。 4. 在 ASCII 或 RTU mode,PLC COM2 会将传送出去的数据储存在 D1256~D1295,而且回传的 数据会被储存在 D1070~D1085。 5. PLC1 (PLC COM2) 与 PLC2(PLC COM1) 联机为例: z PLC1 Force On PLC2 的 Y0 如下说明: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-336 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 MODRW K5K1 X0 H0500 D0 K1 功能码 位装置 K5 Force On/Off 保留 Force On (force =FF00H)状态 数据 M1127 SET X0 M1122 RST M1143 SET M1143 连线装置地址 K1 数据地址Y0=H0500 ASCII 模式设定 数据传送接收完毕标志复位 设定通讯协议9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms ASCII ASCII 模式 接收回传数据以 字符形式储存于 等特殊寄存器内: D1070~D1076 。 RTU HEX :模式 接收回传数据以 数值形式储存于 等特殊寄存器内D1070~D1076 。 设置送信要求 接收数据内容处理 RTU 模式设定 z ASCII Mode (M1143=Off): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H05 功能 PLC1 Ö PLC2,PLC 传送:“01 05 0500 FF00 6F” PLC2 Ö PLC1,PLC 接收:“01 05 0500 FF00 6F” PLC1 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 low byte ‘0’ 30 H ADR 1 D1256 high byte ‘1’ 31 H ADR 0 ADR (1,0)为联机装置地址 D1257 low byte ‘0’ 30 H CMD 1 D1257 high byte ‘5’ 35H CMD 0 CMD (1,0)为命令码 D1258 low byte ‘0’ 30 H D1258 high byte ‘5’ 35 H D1259 low byte ‘0’ 30 H D1259 high byte ‘0’ 30 H 数据地址 Data Address D1260 low byte ‘F’ 46 H D1260 high byte ‘F’ 46 H Force 数据 high byte D1261 low byte ‘0’ 30H D1261 high byte ‘0’ 30 H Force 数据 low byte D1262 low byte ‘6’ 36 H D1262 high byte ‘F’ 46 H LRC CHK 1 LRC CHK 0 LRC CHK (0,1) 为错误检查码 3. 指令集 3-337 PLC1 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 low byte ‘0’ 30 H ADR 1 D1070 high byte ‘1’ 31 H ADR 0 D1071 low byte ‘0’ 30 H CMD 1 D1071 high byte ‘5’ 35H CMD 0 D1072 low byte ‘0’ 30 H D1072 high byte ‘5’ 35 H D1073 low byte ‘0’ 30 H D1073 high byte ‘0’ 30 H 数据地址 Data Address D1074 low byte ‘F’ 46 H D1074 high byte ‘F’ 46 H Force 数据 high byte D1075 low byte ‘0’ 30H D1075 high byte ‘0’ 30 H Force 数据 low byte D1076 low byte ‘6’ 36 H LRC CHK 1 D1076 high byte ‘F’ 46 H LRC CHK 0 z RTU Mode (M1143=On) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H05 功能 PLC1Ö PLC2,PLC1 传送:“01 05 0500 FF00 8C F6” PLC2 ÖPLC1,PLC1 接收:“01 05 0500 FF00 8C F6” PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte 01 H Address D1257 Low byte 05 H Function D1258 Low byte 05 H D1259 Low byte 00 H 数据地址 Data Address D1260 Low byte FF H D1261 Low byte 00 H 数据内容 Data content (On=FF00H) D1262 Low byte 8C H CRC CHK Low D1263 Low byte F6 H CRC CHK High PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte 01 H Address D1071 Low byte 05 H Function ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-338 寄存器 Data 说 明 D1072 Low byte 05 H D1073 Low byte 00 H 数据地址 Data Address D1074 Low byte FF H D1075 Low byte 00 H 数据内容 Data content (On=FF00H) D1076 Low byte 8C H CRC CHK Low D1077 Low byte F6 H CRC CHK High 程序范例 6:COM1(RS-232) / COM3(RS-485),通讯功能码 H05 1. 通讯功能码 K5(H05):Force On/Off 位装置(Bit)。 2. PLC1 连接 PLC2:(M1320=Off,ASCII Mode ),(M1320=On,RTU Mode)。 3. n = 1 表示 Force On (Force 数据=FF00H),n = 0 表示 Force Off (Force 数据=0000H)。 4. PLC COM1/COM3 接收的数据不做处理。 5. PLC1 (PLC COM3) 与 PLC2(PLC COM1) 联机为例: z PLC1 Force On PLC2 的 Y0 如下说明: z 若 PLC1 为 COM1 联机时,可将下面程序中修改如下即可。 1. D1109→D1036:通讯协议 2. M1136→M1138:通讯设定保持用 3. D1252→D1249:通讯逾时异常时间 4. M1320→M1139:ASCII/RTU 模式选择 5. M1316→M1312:通讯指令送信要求发送标志 6. M1318→M1314:通讯指令数据接收完毕标志 H87MOV M1002 D1109 SET M1136 K100MOV D1252 MODRW K5K1 X0 H0500 D0 K1 功能码 位装置 K5 Force On/Off 保留 Force On (force =FF00H)状态 数据 SET X0 M1316 RST M1320 SET M1320 连线装置地址 K1 数据地址Y0=H0500 ASCII 模式设置 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 RST M1318 M1318 数据传送接收完毕标志复位 ASCII 模式 接收回传数据不处理: RTU 模式 接收回传数据不处理: 接收数据内容处理 3. 指令集 3-339 z ASCII Mode(COM3:M1320=Off,COM1:M1139=Off): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H05 功能 PLC1 Ö PLC2,PLC 传送:“01 05 0500 FF00 6F” PLC2 Ö PLC1,PLC 接收:“01 05 0500 FF00 6F”,接收的数据不做处理。 z RTU Mode(COM3:M1320=On,COM1:M1139=On): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H05 功能 PLC1Ö PLC2,PLC1 传送:“01 05 0500 FF00 8C F6” PLC2 ÖPLC1,PLC1 接收:“01 05 0500 FF00 8C F6” ,接收的数据不做处理。 程序范例 7:COM2(RS-485),通讯功能码 H06 1. 通讯功能码 K6(H06) :单笔字符装置(Word)数据写入。 2. S 操作数填入要被写入 VFD-B 的值。 3. 在 ASCII 或 RTU mode,PLC COM2 会将传送出去的数据储存在 D1256~D1295,而且回传的 数据会被储存在 D1070~D1085。 4. PLC (PLC COM2) 与 VFD-B 联机为例: z PLC 对 VFD-B 单笔字符装置(Word)数据写入,(M1143=Off,ASCII Mode ),(M1143=On, RTU Mode) 如下说明: H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 MODRW K6K1 X0 H2000 D50 K1 连线装置地址K1 功能码 写入一笔 数据 K6 Wor d 数据地址 H2000 数据存放寄存器 D50=H1770 写入数据长度 M1127 SET X0 M1122 RST M1143 SET M1143ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 ASCII ASCII D1070~D1078模式 接收回传数据以 字符形式储存于特殊寄存器 内: RTU HEX D1070~D1078:模式 接收回传数据以 数值形式储存于特殊寄存器 内 接收数据内容处理 z ASCII Mode(M1143=Off) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H06 功能 PLC Ö VFD-B,PLC 传送:“01 06 2000 1770 52” VFD-B Ö PLC,PLC 接收:“01 06 2000 1770 52” ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-340 PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte ‘0’ 30 H ADR 1 D1256 High byte ‘1’ 31 H ADR 0 ADR (1,0)为联机装置地址 D1257 Low byte ‘0’ 30 H CMD 1 D1257 High byte ‘6’ 36 H CMD 0 CMD (1,0)为命令码 D1258 Low byte ‘2’ 32 H D1258 High byte ‘0’ 30 H D1259 Low byte ‘0’ 30 H D1259 High byte ‘0’ 30 H 数据地址 Data Address D1260 Low byte ‘1’ 31 H D1260 High byte ‘7’ 37 H D1261 Low byte ‘7’ 37 H D1261 High byte ‘0’ 30 H 数据内容 Data content D50 (H1770=K6000) D1262 Low byte ‘5’ 35 H LRC CHK 1 D1262 High byte ‘2’ 32 H LRC CHK 0 LRC CHK (0,1) 为错误检查码 PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte ‘0’ 30 H ADR 1 D1070 High byte ‘1’ 31 H ADR 0 D1071 Low byte ‘0’ 30 H CMD 1 D1071 High byte ‘6’ 36 H CMD 0 D1072 Low byte ‘2’ 32 H D1072 High byte ‘0’ 30 H D1073 Low byte ‘0’ 30 H D1073 High byte ‘0’ 30 H 数据地址 Data Address D1074 Low byte ‘1’ 31 H D1074 High byte ‘7’ 37 H D1075 Low byte ‘7’ 37 H D1075 High byte ‘0’ 30 H 数据内容 Data content D1076 Low byte ‘6’ 36 H LRC CHK 1 D1076 High byte ‘5’ 35 H LRC CHK 0 z RTU Mode (M1143=On) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H06 功能 PLC Ö VFD-B,PLC 传送:“01 06 2000 1770 8C 1E” VFD-B → PLC,PLC 接收:“01 06 2000 1770 8C 1E” 3. 指令集 3-341 PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte 01 H Address D1257 Low byte 06 H Function D1258 Low byte 20 H D1259 Low byte 00 H 数据地址 Data Address D1260 Low byte 17 H D1261 Low byte 70 H 数据内容 Data content D50 (H1770=K6000) D1262 Low byte 8C H CRC CHK Low D1263 Low byte 1E H CRC CHK High PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte 01 H Address D1071 Low byte 06 H Function D1072 Low byte 20 H D1073 Low byte 00 H 数据地址 Data Address D1074 Low byte 17 H D1075 Low byte 70 H 数据内容 Data content D1076 Low byte 8C H CRC CHK Low D1077 Low byte 1E H CRC CHK High 程序范例 8:COM1(RS-232) / COM3(RS-485),通讯功能码 H06 1. 通讯功能码 K6(H06) :单笔字符装置(Word)数据写入。 2. S 操作数填入要被写入 VFD-B 的值。 3. PLC COM1/COM3 接收的数据不做处理。 4. PLC (PLC COM3) 与 VFD-B 联机为例: z PLC 对 VFD-B 单笔字符装置(Word)数据写入,(M1320=Off,ASCII Mode ),(M1320=On, RTU Mode)。 z 若 PLC 为 COM1 联机时,可将下面程序中修改如下即可。 1. D1109→D1036:通讯协议 2. M1136→M1138:通讯设定保持用 3. D1252→D1249:通讯逾时异常时间 4. M1320→M1139:ASCII/RTU 模式选择 5. M1316→M1312:通讯指令送信要求发送标志 6. M1318→M1314:通讯指令数据接收完毕标志 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-342 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 MODRW K6K1 X0 H2000 D50 K1 连线装置地址K1 功能码 写入一笔 数据 K6 Word 数据地址 H2000 数据存放寄存器 D50=H1770 写入数据长度 M1318 SET X0 M1316 RST M1320 SET M1320ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 ASCII 模式 接收回传数据不处理: RTU 模式 接收回传数据不处理: 接收数据内容处理 z ASCII Mode (COM3:M1320=Off,COM1:M1139=Off): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H06 功能 PLC Ö VFD-B,PLC 传送:“01 06 2000 1770 52” VFD-B Ö PLC,PLC 接收:“01 06 2000 1770 52”,接收的数据不做处理。 z RTU Mode (COM3:M1320=On,COM1:M1139=On): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H06 功能 PLC Ö VFD-B,PLC 传送:“01 06 2000 1770 8C 1E” VFD-B → PLC,PLC 接收:“01 06 2000 1770 8C 1E”,接收的数据不做处理。 程序范例 9:COM2(RS-485),通讯功能码 H0F 1. 通讯功能码 K15(H0F):多笔位装置(Bit)状态写入,最多可写入连续 64 bit。 2. PLC1 连接 PLC2:(M1143=Off,ASCII Mode),(M1143=On,RTU Mode)。 3. 在 ASCII 或 RTU 模式,PLC COM2 会将传送出去的数据储存在 D1256~D1295,而且回传的 数据会被储存在 D1070~D1085。 4. PLC1 (PLC COM2) 与 PLC2(PLC COM1) 联机为例: z PLC1 Force On/Off PLC2 的 Y0~Y17 状态如下说明: PLC1 要 Force On/Off PLC2 Y0~Y17 状态值 K4Y0=1234H 如下: 装置 状态 装置 状态 装置 状态 装置 状态 Y0 Off Y1 Off Y2 On Y3 Off Y4 On Y5 On Y6 Off Y7 Off Y10 Off Y11 On Y12 Off Y13 Off Y14 On Y15 Off Y16 Off Y17 Off 3. 指令集 3-343 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 MODRW K15K1 X0 H0500 D0 K16 M1127 SET X0 M1122 RST M1143 SET M1143 连线装置地址K1 功能码 多笔 状态写入 K15 Bit 数据地址 H0500 数据存放寄存器 写入数据长度 ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 ASCII ASCII D1070~D1078模式 接收回传数据以 字符形式储存于特殊寄存器 内: RTU HEX D1070~D1078:模式 接收回传数据以 数值形式储存于特殊寄存器 内 接收数据内容处理 z ASCII Mode (M1143=Off) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H0F 功能 PLC1 Ö PLC2,PLC 传送:“ 01 0F 0500 0010 02 3412 93 ” PLC2 Ö PLC1,PLC 接收:“ 01 0F 0500 0010 DB ” PLC1 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte ‘0’ 30 H ADR 1 D1256 High byte ‘1’ 31 H ADR 0 ADR (1,0)为联机装置地址 D1257 Low byte ‘0’ 30 H CMD 1 D1257 High byte ‘F’ 46 H CMD 0 CMD (1,0)为命令码 D1258 Low byte ‘0’ 30 H D1258 High byte ‘5’ 35 H D1259 Low byte ‘0’ 30 H D1259 High byte ‘0’ 30 H 数据地址 Data Address D1260 Low byte ‘0’ 30 H D1260 High byte ‘0’ 30 H D1261 Low byte ‘1’ 31H D1261 High byte ‘0’ 30 H 数据 (bit) 个数 Number of Data(count by bit) D1262 Low byte ‘0’ 30 H D1262 High byte ‘2’ 32 H Byte Count ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-344 寄存器 Data 说 明 D1263 Low byte ‘3’ 33 H D1263 High byte ‘4’ 46 H D1264 Low byte ‘1’ 33 H D1264 High byte ‘2’ 46 H 数据内容 Data contents D0 寄存器内容值(1234H) D1265 Low byte ‘9’ 39 H LRC CHK 1 D1265 High byte ‘3’ 33 H LRC CHK 0 LRC CHK (0,1) 为错误检查码 PLC1 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte ‘0’ 30 H ADR 1 D1070 High byte ‘1’ 31 H ADR 0 D1071 Low byte ‘0’ 31 H CMD 1 D1071 High byte ‘F’ 46 H CMD 0 D1072 Low byte ‘0’ 30 H D1072 High byte ‘5’ 35 H D1073 Low byte ‘0’ 30 H D1073 High byte ‘0’ 30 H 数据地址 Data Address D1074 Low byte ‘0’ 30 H D1074 High byte ‘0’ 30 H D1075 Low byte ‘1’ 31 H D1075 High byte ‘0’ 30 H 数据 (bit) 个数 Number of Data(count by bit) D1076 Low byte ‘D’ 44 H LRC CHK 1 D1076 High byte ‘B’ 42 H LRC CHK 0 z RTU Mode (M1143=On) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H0F 功能 PLC1 Ö PLC2,PLC1 传送:“01 0F 0500 0010 02 34 12 21 ED” PLC2 Ö PLC1,PLC1 接收:“01 0F 0500 0010 54 CB” PLC1 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte 01 H Address D1257 Low byte 0F H Function D1258 Low byte 05 H D1259 Low byte 00 H 数据地址 Data Address D1260 Low byte 00 H D1261 Low byte 10 H 数据 (bit) 个数 Number of Data(count by bit) 3. 指令集 3-345 寄存器 Data 说 明 D1262 Low byte 02 H Byte Count D1263 Low byte 34 H 数据内容 1 D0 寄存器内容值(H34) D1264 Low byte 12 H 数据内容 2 D1 寄存器内容值(H12) D1265 Low byte 21 H CRC CHK Low D1266 Low byte ED H CRC CHK High PLC1 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte 01 H Address D1071 Low byte 0F H Function D1072 Low byte 05 H D1073 Low byte 00 H 数据地址 Data Address D1074 Low byte 00 H D1075 Low byte 10H 数据 (bit) 个数 Number of Data(count by bit) D1076 Low byte 54H CRC CHK Low D1077 Low byte CB H CRC CHK High 程序范例 10:COM1(RS-232) / COM3(RS-485),通讯功能码 H0F 1. 通讯功能码 K15(H0F):多笔位装置(Bit)状态写入,最多可写入连续 64 bit。 2. PLC1 连接 PLC2:(M1320=Off,ASCII Mode ),(M1320=On,RTU Mode)。 3. PLC COM1/COM3 接收的数据不做处理。 4. PLC1 (PLC COM3) 与 PLC2(PLC COM1) 联机为例: z PLC1 Force On/Off PLC2 的 Y0~Y17 状态如下说明: PLC1 要 Force On/Off PLC2 Y0~Y17 状态值 K4Y0=1234H 如下: 装置 状态 装置 状态 装置 状态 装置 状态 Y0 Off Y1 Off Y2 On Y3 Off Y4 On Y5 On Y6 Off Y7 Off Y10 Off Y11 On Y12 Off Y13 Off Y14 On Y15 Off Y16 Off Y17 Off z 若 PLC1 为 COM1 联机时,可将下面程序中修改如下即可。 1. D1109→D1036:通讯协议 2. M1136→M1138:通讯设定保持用 3. D1252→D1249:通讯逾时异常时间 4. M1320→M1139:ASCII/RTU 模式选择 5. M1316→M1312:通讯指令送信要求发送标志 6. M1318→M1314:通讯指令数据接收完毕标志 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-346 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 MODRW K15K1 X0 H0500 D0 K16 连线装置地址K1 功能码 写入 笔 数据 K15 Bit 多 数据地址 H0500 数据存放寄存器 写入数据长度 M1318 SET X0 M1316 RST M1320 SET M1320ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 ASCII 模式 接收回传数据不处理: RTU 模式 接收回传数据不处理: 接收数据内容处理 z ASCII Mode(COM3:M1320=Off,COM1:M1139=Off): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H0F 功能 PLC1 Ö PLC2,PLC 传送:“ 01 0F 0500 0010 02 3412 93 ” PLC2 Ö PLC1,PLC 接收:“ 01 0F 0500 0010 DB ” ,接收的数据不做处理。 z RTU Mode (COM3:M1320=On,COM1:M1139=On): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H0F 功能 PLC1 Ö PLC2,PLC1 传送:“01 0F 0500 0010 02 34 12 21 ED” PLC2 Ö PLC1,PLC1 接收:“01 0F 0500 0010 54 CB” ,接收的数据不做处理。 程序范例 11:COM2(RS-485),通讯功能码 H10 1. 通讯功能码 K16(H10) :多笔字符装置(Word)数据写入,最多可写入连续 16 个 Word,但是 PLC COM2 的 ASCII 最多只能写入 8 个 Word. 2. 在 ASCII 或 RTU 模式,PLC COM2 会将传送出去的数据储存在 D1256~D1295,而且回传的 数据会被储存在 D1070~D1085. 3. PLC (PLC COM2) 与 VFD-B 联机为例: z PLC 写入 VFD-B 多笔字符装置(Word)数据,(M1143=Off,ASCII Mode ),(M1143=On, RTU Mode)。 3. 指令集 3-347 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 MODRW K16K1 X0 H2000 D50 K2 连线装置地址K1 功能码 写入多笔 数据 K16 Word 数据地址 H2000 数据存放寄存器 D50=H1770, D51=H12 写入数据长度 M1127 SET X0 M1122 RST M1143 SET M1143ASCII 模式设定 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设定 ASCII ASCII D1070~D1078模式 接收回收数据以 字符形式储存于特殊寄存器 内: RTU HEX D1070~D1078模式 接收回收数据以 数值形式储存于特殊寄存器 内: 接收数据内容处理 z ASCII Mode (M1143=Off) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H10 功能 PLC ÖVFD-B,PLC 传送:“01 10 2000 0002 04 1770 0012 30” VFDÖPLC,PLC 接收:“01 10 2000 0002 CD” PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte ‘0’ 30 H ADR 1 D1256 High byte ‘1’ 31 H ADR 0 ADR (1,0)为联机装置地址 D1257 Low byte ‘1’ 31 H CMD 1 D1257 High byte ‘0’ 30 H CMD 0 CMD (1,0)为命令码 D1258 Low byte ‘2’ 32 H D1258 High byte ‘0’ 30 H D1259 Low byte ‘0’ 30 H D1259 High byte ‘0’ 30 H 数据地址 Data Address D1260 Low byte ‘0’ 30 H D1260 High byte ‘0’ 30 H D1261 Low byte ‘0’ 30 H D1261 High byte ‘2’ 32 H 寄存器数目 Number of Register D1262 Low byte ‘0’ 30 H D1262 High byte ‘4’ 34 H Byte Count ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-348 寄存器 Data 说 明 D1263 Low byte ‘1’ 31 H D1263 High byte ‘7’ 37 H D1264 Low byte ‘7’ 37 H D1264 High byte ‘0’ 30 H 数据内容 1 Data contents D50 (H1770=K6000) D1265 Low byte ‘0’ 30 H D1265 High byte ‘0’ 30 H D1266 Low byte ‘1’ 31 H D1266 High byte ‘2’ 32 H 数据内容 2 Data contents D51 (H0012=K18) D1267 Low byte ‘3’ 33 H LRC CHK 1 D1267 High byte ‘0’ 30 H LRC CHK 0 LRC CHK (0,1) is error check PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte ‘0’ 30 H ADR 1 D1070 High byte ‘1’ 31 H ADR 0 D1071 Low byte ‘1’ 31 H CMD 1 D1071 High byte ‘0’ 30 H CMD 0 D1072 Low byte ‘2’ 32 H D1072 High byte ‘0’ 30 H D1073 Low byte ‘0’ 30 H D1073 High byte ‘0’ 30 H 数据地址 Data Address D1074 Low byte ‘0’ 30 H D1074 High byte ‘0’ 30 H D1075 Low byte ‘0’ 30 H D1075 High byte ‘2’ 32 H 寄存器数目 Number of Register D1076 Low byte ‘C’ 43 H LRC CHK 1 D1076 High byte ‘D’ 44 H LRC CHK 0 z RTU Mode (M1143=On) 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H10 功能 PLC ÖVFD-B,PLC 传送:“01 10 2000 0002 04 1770 0012 EE 0C” VFD-BÖPLC,PLC 接收:”01 10 2000 0002 4A08” PLC 传送数据寄存器 (传送信息) 寄存器 Data 说 明 D1256 Low byte 01 H Address D1257 Low byte 10 H Function 3. 指令集 3-349 寄存器 Data 说 明 D1258 Low byte 20 H D1259 Low byte 00 H 数据地址 Data Address D1260 Low byte 00 H D1261 Low byte 02 H 寄存器数目 Number of Register D1262 Low byte 04 H Byte Count D1263 Low byte 17 H D1264 Low byte 70 H 数据内容 1 Data contents D50 (H1770=K6000) D1265 Low byte 00 H D1266 Low byte 12 H 数据内容 1 Data contents D51 (H0012=K18) D1262 Low byte EE H CRC CHK Low D1263 Low byte 0C H CRC CHK High PLC 接收数据寄存器 (响应信息) 寄存器 Data 说 明 D1070 Low byte 01 H Address D1071 Low byte 10 H Function D1072 Low byte 20 H D1073 Low byte 00 H 数据地址 Data Address D1074 Low byte 00 H D1075 Low byte 02 H 寄存器数目 Number of Register D1076 Low byte 4A H CRC CHK Low D1077 Low byte 08 H CRC CHK High 程序范例 12:COM1(RS-232) / COM3(RS-485),通讯功能码 H10 1. 通讯功能码 K16(H10) :多笔字符装置(Word)数据写入,最多可写入连续 16 个 Word,但是 PLC COM2 的 ASCII 最多只能写入 8 个 Word. 2. PLC COM1/COM3 接收的数据不做处理。 3. PLC (PLC COM2) 与 VFD-B 联机为例: z PLC 写入 VFD-B 多笔字符装置(Word)数据,(M1320=Off,ASCII Mode ),(M1320=On, RTU Mode)。 z 若 PLC1 为 COM1 联机时,可将下面程序中修改如下即可。 1. D1109→D1036:通讯协议 2. M1136→M1138:通讯设定保持用 3. D1252→D1249:通讯逾时异常时间 4. M1320→M1139:ASCII/RTU 模式选择 5. M1316→M1312:通讯指令送信要求发送标志 6. M1318→M1314:通讯指令数据接收完毕标志 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-350 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 MODRW K16K1 X0 H2000 D50 K2 连线装置地址K1 功能码 写入多笔 数据 K16 Word 数据地址 H2000 数据存放寄存器 D50=H1770, D51=H12 写入数据长度 M1318 SET X0 M1316 RST M1320 SET M1320ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 ASCII 模式 接收回传数据不处理: RTU 模式 接收回传数据不处理: 接收数据内容处理 z ASCII Mode (COM3:M1320=Off,COM1:M1139=Off): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H10 功能 PLC ÖVFD-B,PLC 传送:“01 10 2000 0002 04 1770 0012 30” VFDÖPLC,PLC 接收:“01 10 2000 0002 CD” ,接收的数据不做处理。 z RTU Mode (COM3:M1320=On,COM1:M1139=On): 当 X0=On 时,开始执行 MODRW 指令通讯功能码 H0F 功能 PLC ÖVFD-B,PLC 传送:“01 10 2000 0002 04 1770 0012 EE 0C” VFD-BÖPLC,PLC 接收:”01 10 2000 0002 4A08” ,接收的数据不做处理。 程序范例 13: COM2(RS-485), 通讯功能码 H17 1. 通讯功能码 K23(H17) : 多笔字符装置(Word)数据读取/写入, 最多可读取/写入连续 16 个 Word. 2. 在 ASCII 或 RTU mode, 回传的数据会被储存在 S 操作数索引开始连续的,寄存器中 3. PLC -A(PLC COM2) 与 另一台 PLC-B 联机为例: z PLC-A 读取/写入 PLC-B 多笔字符装置(Word)数据, (M1143=Off, ASCII Mode ), (M1143=On, RTU Mode)。 3. 指令集 3-351 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 MODRW K23K1 X0 D0 D10 D20 功能码 读取 写入多笔 数据K23 / Word D0 D1 为读取数据地址 为写入数据地址 D10 D11 为读取数据存放寄存器索引 为写入数据存放寄存器索引 D20 , D21为读取数据长度 为写入数据长度 M1127 SET X0 M1122 RST M1143 SET M1143 接收数据内容处理 H1100MOV D0 读取数据地址为H1100 H1000MOV D1 写入数据地址为H1000 K3000MOV D10 读取数据存放寄存器为D3000 K4000MOV D11 写入数据存放寄存器为D4000 K2MOV D20 读取数据长度为K2 K2MOV D21 ASC ASC D3000 RTU HEX D3000 II II模式:接收回传数据以 字符形式储存于使用者指定之 开始之寄存器 模式:接收回传数据以 数值形式储存于使用者指定之 寄存器 ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 连线装置地址K1 写入数据长度 K2 z ASCII Mode (M1143=Off) 当 X0=On 时, 开始执行 MODRW 指令通讯功能码 H17 功能 PLC-A ÖPLC-B, PLC-A 传送: “01 17 1100 0002 1000 0002 04 1770 0012 06” PLC-BÖPLC-A, PLC-A 接收: “01 17 04 0100 1766 66” PLC-A 接收数据寄存器 (响应讯息) 寄存器 Data 说 明 D3000 Low byte 01 H Address D3001 Low byte 17 H Function D3002 Low byte 04 H 资料 (Byte) 个数, Number of Data (Byte) D3003 Low byte 01 H D3004 Low byte 00 H 地址 1100H 的内容 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-352 D3005 Low byte 17 H D3006 Low byte 66 H 地址 1101H 的内容 D3007 Low byte 77 H CRC CHK Low D3008 Low byte 01 H CRC CHK High 程序范例 14: COM1(RS-232) / COM3(RS-485), 通讯功能码 H17 1. 通讯功能码 K23(H17) : 多笔字符装置(Word)数据謮取/写入, 最多可读取/写入连续 16 个 Word 2. PLC COM1/COM3 会将接收的数据储存在 S+1 操作数索引开始的连续寄存器中。可利用 DTM 指令做数据转换与搬移。 3. PLC -A(PLC COM3) 与 PLC-B 联机为例: z PLC-A 写入 PLC-B 多笔字符装置(Word)数据, (M1320=Off, ASCII Mode ), (M1320=On, RTU Mode)。 z 若 PLC-A 为 COM1 联机时, 可将下面程序中修改如下即可。 1. D1109→D1036: 通讯协议 2. M1136→M1138: 通讯设定保持用 3. D1252→D1249: 通讯逾时异常时间 4. M1320→M1139: ASCII/RTU 模式选择 5. M1316→M1312: 通讯指令送信要求发送旗志 6. M1318→M1314: 通讯指令数据接收完毕旗志 3. 指令集 3-353 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 MODRW K23K1 X0 D0 D10 D20 M1318 SET X0 M1316 RST M1320 SET M1320 接收数据内容处理 H1100MOV D0 H1000MOV D1 K3000MOV D10 K4000MOV D11 K2MOV D20 K2MOV D21 功能码 读取 写入多笔 数据K23 / Word D0 D1 为读取数据地址 为写入数据地址 D10 D11 为读取数据存放寄存器索引 为写入数据存放寄存器索引 D20 , D21为读取数据长度 为写入数据长度 读取数据地址为H1100 写入数据地址为H1000 读取数据存放寄存器为D3000 写入数据存放寄存器为D4000 读取数据长度为K2 ASC ASC D3000 RTU HEX D3000 II II模式:接收回传数据以 字符形式储存于使用者指定之 开始之寄存器 模式:接收回传数据以 数值形式储存于使用者指定之 寄存器 ASCII 模式设置 数据传送接收完毕标志复位 设置通讯协议 9600,8,E,1 通讯协议保持 通讯协议逾时时间 100ms 设置送信要求 RTU 模式设置 连线装置地址K1 写入数据长度 K2 z ASCII Mode (COM3: M1320=Off, COM1: M1139=Off): 当 X0=On 时, 开始执行 MODRW 指令通讯功能码 H17 功能 PLC-A ÖPLC-B, PLC-A 传送: “01 17 1100 0002 1000 0002 04 1770 0012 06” PLC-BÖPLC-A, PLC-A 接收: “01 17 04 0100 1766 66” PLC-A 接收数据寄存器 (响应讯息) 寄存器 Data 说 明 D3000 0100H 地址 1100H 的内容, PLC 自动将 ASCII 字符转换为数值储存 D3001 1766H 地址 1101H 的内容, PLC 自动将 ASCII 字符转换为数值储存 z RTU Mode (COM3: M1320=On, COM1: M1139=On): 当 X0=On 时, 开始执行 MODRW 指令通讯功能码 H17 功能 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-354 PLC-A ÖPLC-B,PLC-A 传送: “01 17 2100 0002 2000 0002 04 1770 0012 A702” PLC-BÖPLC-A, PLC-A 接收:”01 17 04 0100 1766 7701” PLC-A 接收数据寄存器 (响应讯息) 寄存器 Data 说 明 D3000 0100 H 地址 1100H 的内容, PLC 自动将数值转换储存 D3001 1766 H 地址 1101H 的内容, PLC 自动将数值转换储存 3. 指令集 3-355 API 指令码 操作数 功能 154 D RAND P 随机数值产生 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D * * * * * *** RAND,RANDP:7 steps DRAND,DRANDP:13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:随机数产生的范围下限 S2:随机数产生的范围上限 D:随机数产生的结果 指令说明: 1. 16 位操作数 S1,S2 使用范围:K0 ≦ S1 ,S2 ≦K32,767,32 位操作数 S1,S2 使用范围:K0 ≦ S1 ,S2 ≦K2,147,483,647。 2. 操作数 S1 ≦操作数 S2 ,若使用者输入 S1 > S2,PLC 判断为运算错误,指令不执行。M1067 、 M1068=On,D1067 记录错误代码 0E1A(HEX)。 程序范例: 当 X0=On,RAND 指令产生介于范围下限 D0 与范围上限 D10 的随机数,将结果存放到 D20 内。 X0 RAND D0 D10 D20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-356 API 指令码 操作数 功能 155 D ABSR ABS 现在值读出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * D1 * * * D2 * * * * * ** DABSR:13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:自伺服来的输入信号 (占用连续 3 点) D1:对伺服的控制信号 (最多占用连续 3 点) D2:由伺 服读取的 ABS 绝对位置数据(最多占用连续 4 点) 。 指令说明(适用 ES2/EX2 V3.00 版/ SA2 V2.40 版 / SE V1.20 版 / SX2 V2.20 版 / SS2 各机种版本 (含)以下): 1. 本指令提供与三菱伺服驱动器 MR-J2 型伺服 (附绝对位置检查功能)连续做绝对位置(ABS)数 据读出功能。 2. API 155 没有 16 位指令,仅有 32 位指令。DABSR 在程序中只能使用一次。 3. S 从伺服来的输入信号,会占用连续 3 点 S,S +1,S +2。 其中 S 、 S +1 连接服务器端的 ABS (bit0,bit1) 做数据传送。S +2 连接伺服传送数据准备完毕。 4. D1 控制伺服的控制信号,会占用连续 3 点 D1,D1+1,D1+2。 其中 D1 连接伺服端 Servo ON (SON),D1+1 连接伺服端 ABS 传送模式,D1+2 连接伺服 ABS 要求。 S D1 ELC-PC12NNDT ABS(bit 0) ABS(bit 1) SERVO ON SERVO AMP MR-J2-A CN1B D01 4 19 10 6 ZSP TLC SG 5 8 9 SON ABSM ABSR X0 X1 X2 24G S/S +24V Y0 Y1 Y2 C VDD 3 传送数据准备完成 ABS 要求 ABS 传送模式 5. D2 从伺服读取的 ABS 绝对位置数据 (32 bit) ,会占用连续 2 点 D2,D2+1。其 中 D2 为下 16 位,D2+1 为上 16 位。 6. 当 DABSR 开始执行读出动作,指令完成后执行完毕标志 M1029=On,标志须由使用者将其清 除。 3. 指令集 3-357 7. 指令 DABSR 驱动条件请指定常 On 接点。若 DABSR 开始执行读出动作时驱动条件变为 Off, 则 ABS 现在值读出会中断造成数据不正确,请注意。 8. 读取完毕后若 DABSR 指令使驱动器接点变为 Off,则 D1 的 Servo ON (SON) 信号也会变为 Off,且指令被禁止。 指令说明(适用于 ES2/EX2 V3.20 版 / SA2 V2.60 版 / SE V1.40 版 / SX2 V2.40 版 各机种版本(含) 以上): 1. 本指令提供与三菱伺服驱动器 MR-J2 型伺服 (附绝对位置检查功能)、台达伺服驱动器 ASDA-A2 型伺服(适用韧体版本:v1.045 sub12(含)以上)连续做绝对位置(ABS)数据读 出功能。 2. M1177 为搭配伺服驱动器机种选择。M1177=Off 时,搭配三菱伺服驱动器 MR-J2 型伺服,相关 设定参考上段说明。M1177=On 时,搭配台达伺服驱动器 ASDA-A2 型伺服,相关设定参考后 续说明。 3. API 155 没有 16 位指令, 仅有 32 位指令。DABSR 在程序中只能使用一次。 4. S 从伺服来的输入信号, 会占用连续 3 点。S、S+1、S+2 分别连接服务器端 ABSR, ABSD, ABSW。 5. D1 控制伺服的控制信号, 会占用连续 2 点。D1、D1+1 分别连接伺服端 ABSE、ABSQ,详细配 线请参考下列配线例。 PLC 控制器 DVP32ES200T ABSR ABSD ABSE ABSQ SERVO DRIVE ASDA-A2 CN1 DO2+ 5 3DO3+ DOx+ 8 9 DIx- DI4- COM- X0 X1 X2 S/S UP0 Y4 Y5 ZP0 VDD 17 ABSW 6. D2 从伺服读取的 ABS 绝对位置数据, 会占用连续 4 点。其中 D2 为绝对型坐标系统状态 (P0-50), D2+1 为编码器绝对位置(圈数)(P0-51), D2+2 为编码器绝对位置(圈内脉波数或 PUU) (P0-52)之下 16 位 D2+3 为编码器绝对位置(圈内脉波数或 PUU)(P0-52)之上 16 位。 7. 当 DABSR 开始执行读出动作, 指令完成后执行完毕旗标 M1580 = On。若指令执行过程中发生 错误旗标 M1581 = On。 8. 指令 DABSR 驱动条件请指定常 On 接点。若 DABSR 开始执行读出动作时驱动条件变为 Off, 则 ABS 现在值读出会中断造成数据不正确, 请注意。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-358 9. 当输入讯号使用 X0 ~ X7 高速点,指令执行时间约 2 秒;当输入讯号使用 X10 之后的一般点, 指令执行时间约 2.5 秒。以上指令执行时间会受程序扫描时间影响。 程序范例(适用 ES2/EX2 V3.00 版 / SA2 V2.40 版 / SE V1.20 版 / SX2 V2.20 版 / SS2 各机种版本 (含)以下): 1. 当 X7=On 时,从三菱伺服 MR-J2 读取 ABS 绝对位置数据存放在寄存器 D0 ~ D1 内。同时启动 一定时器 T0 计时 5 秒。若超出 5 秒,ABS 绝对位置数据(32 bit)仍未读取完毕,将会启动 M10=On 表示 ABS 绝对位置数据读出异常。 2. 在做系统联机时,请将 PLC PV 机种与 SERVO AMP 的电源输入设为同时或 SERVO AMP 的电 源先启动。 X7 DABSR X0 Y4 D0 S D1 D2 TMR T0 K50 M11 M10 T0 SET M11 M1029 ABS 读出完毕 执行完毕标志 读出逾时 ABS 绝对位置数据读出异常 ABS 绝对位置数据读出异常 程序范例(适用 ES2/EX2 V3.20 版 / SA2 V2.60 版 / SE V1.40 版 / SX2 V2.40 版 各机种版本(含) 以上): 1. 当 X7=On 时, 从台达 ASDA-A2 伺服读取 ABS 绝对位置数据存放在寄存器 D0 ~ D3 内。依旗 标 M1580、M1581 判断绝对位置读取是否成功。 X7 DABSR X0 Y4 D0 SET M11 M1580 ABS 絕對位置資料讀出完畢 執行完畢旗志 SET M12 M1581 ABS 絕對位置資料讀出錯誤 執行錯誤旗志 X7 SET M1177 搭配台達 伺服ASDA-A2 补充说明: 搭配三菱伺服驱动器 MR-J2 型伺服: 3. 指令集 3-359 1. 指令 DABSR 绝对位置数据读取的时序图说明: SON ABSM TLC ABSR ZSP D01 AMP 输出 SERVO ON ABS(bit 1) ABS(bit 0) ABS 要求 ABS 传送模式 32 + 6 位现在位置数据 位检查数据 控制器输出 AMP 输出 AMP 输出 传送数据准备完毕 2. 当指令 DABSR 开始执行,便会驱动 Servo ON (SON) 与 ABS 传送模式做输出。 3. 通过传送数据准备完毕标志和 ABS 要求信号可一方面确认双方的传送及接收,另一方面做 32 位现在值数据和 6 位检查数据的数据传输。 4. 数据传输由 ABS (bit0,bit1) 两位传递。 5. 此指令适用于附绝对位置检测功能的伺服电机,如三菱 MR-J2-A 伺服驱动器。 6. 初次的 ABS 现在值读出请使用下列方法选择一种进行: z 以附清除信号功能执行原点回归 API 156 ZRN 指令,完成原点复位。 z 以 JOG 运转或是手动等位置调整进行装置的原点开始之后,对伺服驱动器输入清除信号。 清除信号的输入是否使用 PLC 控制器输出,请参考下图所示的外部开关。详细 PLC 与三 菱 MR-J2-A 伺服驱动器配线图请参考 API 159 DRVA。 CR 8 SG 10 清除 以三菱 为例 MR-J2-A ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-360 API 指令码 操作数 功能 156 D ZRN 原点回归 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * ** S2 * * * * * * * * ** S3 * D * DZRN:17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:原点回归速度 S2:寸动速度 S3:近点信号 (DOG) D:脉冲输出装置 指令说明: 1. S1 目标频率范围 6Hz~100kHz,S2 寸动频率需比 S1 目标频率小,且 S2 寸动频率即为启动频率。 2. S3 与 D 操作数须参照输入与输出装置搭配组合使用,请勿变更使用;当 S3 操作数输入 X4 时, 则 D 操作数只能选择 Y0;当 S3 操作数输入 X6 时,则 D 操作数只能选择 Y2。 3. M1307 为启动(On)/关闭(Off) CH0(Y0,Y1)和 CH1(Y2,Y3)负极限开关功能,需在指令启动前设为 On。M1305 and M1306 可改变 Y1 and Y3 方向信号脚位,在指令启动前设为 On 才有效。 CH0(Y0,Y1)对应负极限开关为 X5;CH1(Y2,Y3)对应负极限开关为 X7。所有功能、输入与输出 点配置如下列表: 通道 输入点 CH0(Y0,Y1) CH1(Y2,Y3) 备注 近点 DOG X4 X6 M1307=On 启动负极限 X5 X7 负极限上升沿/下降沿触 发选择 (Off 上升沿 / On 下降沿) M1584 M1585 请参照第 7 点说明 改变方向信号脚位 M1305 M1306 原点位置选择 M1106 M1107 请参照第 8 点说明 M1346=On 启动输出清除脉波 Y4 Y5 请参照第 9 点说明 M1308 = Off (寻找 Z 相次数) D1312 != 0 X2 X3 请参照第 10 点说明 D1312 != 0 M1308 = On (输出指定脉波数) 请参照第 11 点说明 4. D 操作数选择 Y0 时方向信号自动为 Y1;D 操作数选择 Y2 时方向脚位自动为 Y3。 5. 当指令运行至原点之后,输出结束标志 M1029(CH0),M1102(CH1)会被设定为 On,并且自动 清除输出现在位置为 0。 6. 当 DZRN 指令启动之后,若是程序中有 I400/I401(X4) 或 I600/I601(X6)外部输入中断子程序, 将不能被执行;直到 DZRN 指令被关闭之后才能恢复使用。同样地,若是启动指令也启动了负 极限开关(X5 或 X7)时,则 I500501(X5)或 I700/I701(X7)的外部输入中断子程序,也不能被执行。 3. 指令集 3-361 7. 支持 ES2/EX2/ES2-C 机种 V3.20 版以上、SS2 机种 V3.0 版以上、SA2 机种 V2.80 版以上、SX2 机种 V2.60 版以上及 SE 机种 V1.4 版以上。 8. 原点位置选择功能,原点复归的预设原点位置为近点(DOG)往负方向刚好离开近点开关(输入点 OnÆOff)时的位置(如模式 1 所示) ,若是使用者需要变更原点位置为近点(DOG)往正方向刚好 离开近点开关的位置,则需在启动 DZRN 指令之前,先设定 M1106(CH0),M1107(CH1)为 On。 (注:支持 ES2/EX2 机种 V1.20 版以上) 9. 启动输出清除脉波功能,当近点(DOG)离开近点开关并且确定即将结束时,会再多输出一个脉波 (On 宽度约为 20ms),等此脉波由 On 变为 Off 时,才会正式输出结束旗标。此功能可参照下 面动作示意图之状况 4 的图示。(注:支持 ES2/EX2 机种 V1.20 版以上) 10. 当 D1312 设定不为 0 且 M1308=Off,则启动寻找 Z 相次数功能。D1312 为正数值(最大为 10) 表示往正方向寻找 Z 相讯号,D1312 为负数值(最小为-10)表示往负方向寻找 Z 相讯号;举例: 假设 D1312 为 k-2,则表示当近点(DOG)离开近点开关后,并且以寸动频率往负方向开始寻找到 第 2 次的 Z 相讯号(固定正缘触发)出现时立即停止。此功能可参照下面动作示意图之状况 5 的图 示。(注:支持 ES2/EX2 机种 V1.40 版以上,SS2/SX2 机种 V1.20 版以上) 11. 当 D1312 设定不为 0 且 M1308=On,则启动输出指定脉波个数功能。D1312 为正数值(最大为 30000)表示往正方向输出,D1312 为负数值(最小为-30000)表示往负方向输出脉波;举例:假 设 D1312 为 k-100,则表示当近点(DOG)离开近点开关后,并且继续以寸动频率往负方向再输 出 100 个脉波后立即停止。此功能可参照下面动作示意图之状况 6 的图示。(注:支持 ES2/EX2 机种 V1.40 版以上,SS2/SX2 机种 V1.20 版以上) 12. 动作示意图: 状况 1:现在位置>0 即于 DOG 点正方向,且不使用负极限开关 反向输出 Off On 结束标志M1029/M1102 DOG : X4/X6信号 频率 目标频率 JOG频率 时间 启动 碰到近点 信号DOG 离开近点 信号DOG On Off 状况 2:现在位置=0 即于 DOG 点上,且不使用负极限开关 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-362 Off On On Off 反向输出 结束标志M1029/M1102 DOG : X4/X6信号 频率 JOG频率 时间 启动 离开近点 信号DOG 状况 3:现在位置<0 即于 DOG 点负向位置,且开启负极限开关功能(M1307=On) Off On On Off On 负极限开关X5/X7 碰到极限开关 Off 反向输出 结束标志M1029/M1102 DOG : X4/X6信号 频率 目标频率 JOG频率 时间 启动 碰到近点 信号DOG 离开近点 信号DOG 反向输出正向输出 离开极限开关 状况 4:现在位置>0 即于 DOG 点正向位置,并且启动输出清除脉波功能(M1346=On) Time Freq. X4 Start Meet DOG Left DOG OnOff Ta rg et speed Jog speed OnOffM1029 Y4 Off On Time Freq. X4 Start Meet DOG Left DOG OnOff Ta rg et speed Jog speed OnOffM1029 Y4 Off On 状况 5:现在位置>0 即于 DOG 点正向位置,启动寻找 Z 相 2 次(D1312 = -2,M1308=Off) 与输出清除脉波功能(M1346=On) 3. 指令集 3-363 Ta rg et speed Time Freq. X4 Start Meet DOG Left DOG OnOff Jog speed OnOffM1029 Y4 Off On X2 2nd Z phase in Ta rg et speed Time Freq. X4 Start Meet DOG Left DOG OnOff Jog speed OnOffM1029 Y4 Off On X2 2nd Z phase in 状况 6:现在位置>0 即于 DOG 点正向位置,启动负输出 100 个脉波(D1312 = -100,M1308=On) Target speed Time Freq. X4 Start Meet DOG Left DOG OnOff Jog speed OnOffM1029 Y0 100th pulse out 1st pulse out Target speed Time Freq. X4 Start Meet DOG Left DOG OnOff Jog speed OnOffM1029 Y0 100th pulse out 1st pulse out 程序范例一: 当 M0=On 时,以 20KHz 频率从 Y0 输出脉冲开始做原点回归动作,当碰到近点信号(DOG) X4=On 时,变成以寸动速度 1KHz 频率从 Y0 输出脉冲直到 X4=Off 后停止。 M0 DZRN K20000 K1000 X4 Y0 程序范例二: 当 M0=On 时,以 20kHz 频率从 Y0 输出脉波开始做原点复归动作,当碰到近点信号(DOG)X4=On 时减速变成以寸动速度 1kHz 频率输出脉波直到 X4=Off 后,再寻找 X2(Z 相)输入脉波到第 2 次上 缘触发讯号出现,并再从 Y4 输出一个脉波(On 宽度 20ms)后结束(M1029=On)。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-364 MOV K-2 D1312 RST M1308 SET M1346 M0 M0 DZRN K20000 K1000 X4 Y0 MOV K-2 D1312 RST M1308 SET M1346 M0 M0 DZRN K20000 K1000 X4 Y0 3. 指令集 3-365 API 指令码 操作数 功能 157 D PLSV 附旋转方向脉冲输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** D1 * D2 ** * DPLSV:13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:脉冲输出目标频率。 D1:脉冲输出装置(Y0,Y2) D2:脉冲方向输出装置 (Y1,Y3)。 指令说明: 1. 本指令输出模式仅支持脉冲+方向。 2. S 指定脉冲输出频率,可指定范围为-100,000Hz ~ +100,000 Hz。其中正负号代表正反方向。 而在脉冲输出中仍可任意变更脉冲输出频率,但变更频率与前次频率为不同方向时,则此指令 将自动停止输出一个扫描周期后再重新输出目标频率。 3. D1 脉冲输出装置。可指定 CH0(Y0) 和 CH1(Y2)。 4. D2 旋转方向信号的输出装置。若指定为 Y 输出时,只可指定 CH0(Y1) 和 CH1(Y3)。 5. D2 脉冲方向输出装置,对应 S 的正负做动作,当 S 为正 (+) 时 D2 为 Off,当 S 为负 (-) 时 D2:On。 6. M1305,M1306 可改变 CH0,CH1 D2 脉冲方向输出信号,当 S 为负 (-) 时 D2 为 On,如果 在指令启动前 SET M1305(M1306) 则 D2 将为 Off. 7. PLSV 指令并无加减速的设置,请使用 API 67RAMP 指令来做脉冲输出频率的加减。 8. 当 PLSV 指令执行脉冲输出中,若驱动条件变为 Off 则不做加减速直接停止。 程序范例: 当 M10 = On 时,Y0 以 20KHz 频率输出脉冲,Y1 = Off 表示为正方向。 M10 DPLSV K20000 Y0 Y1 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-366 API 指令码 操作数 功能 158 D DRVI 相对定位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D1 * D2 * * * DRVI:9 steps DDRVI:17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:脉冲输出数目 (目标装置) S2:脉冲输出频率 D1:脉冲输出装置 D2:脉冲方向输出装置。 指令说明: 1. 本指令输出模式仅支持脉冲+方向。 2. S1 指定脉冲输出数目 (相对定位)。32 位指令可指定范围为-2,147,483,648 ~ +2,147,483,647。 正号 (+) 和负号 (-) 代表正反方向。 3. S2 指定脉冲输出频率。32 位指令可指定范围为 6 ~ 100,000Hz. 4. D1 为脉冲输出装置。可以指定 CH0(Y0),CH1(Y2)。 5. D2 旋转方向信号输出装置,若指定为 Y 输出时,只可指定 CH0(Y1) ,CH1(Y3)。 6. D2 为旋转方向信号,对应 S1 的正负做动作,当 S1 为负号 (-),D2 为 On。当 S1 为正 (+),D2 为 Off,D2 并步会立即 Off,需等指令执行接点开关 Off 时,D2 =Off。 7. 指定脉冲输出数目 S1 会变成 CH0(Y0,Y1) 脉冲的现在值寄存器(D1031 上位,D1030 下位) 32 位数据,CH1(Y2,Y3) 脉冲的现在值寄存器(D1337 上位,D1336 下位) 32 位数据内容值之相 对位置。在反方向时,现在值寄存器内容值会减少。 8. D1343 (D1353)为 CH0 (CH1)加/减速时间设置。加减速时间不可低于 20ms,若 低 于 20ms 或高 于 32,767ms 则将以 20ms 来执行 (默认值 = 100ms)。设置范围为 20 ~ 32,767ms。 9. D1340 (D1352)为 CH0 (CH1)启动/结束频率设置。若 S2 指定脉冲输出频率小于或等于启动/结 束频率时,将会以启动/结束频率当成脉冲输出频率执行。指定范围为 6 ~ 32,767Hz。 10. M1305 (M1306)可改变 CH0 (CH1) D2 方向脚位信号,当 S1 为负值 D2 为 On,如果在指令启动 前置位 M1305(M1306) 则 D2 将为 Off。 11. CH0 、CH1 可利用(M1534,D1348) 、(M1535,D1349)选择是否须要加减速分离,当 M1534 、 M1535=On ,CH0 、CH1 减速时间由 D1348 、D1349 决定。 12. 当指令执行时 M1078(M1104)=On,Y0(Y2) 将立即暂停输出且 M1538(M1540)=On 代表已暂停 中,当 M1078(M1104)=Off 、M1538(M1540)=Off,Y0(Y2) 将输出剩余的脉冲个数 13. DRVI/DDRVI 指令有支持对标功能(Mark)与遮蔽功能(Mask)请参考 API 59 PLSR 说明 3. 指令集 3-367 程序范例: 当 M10= On 时,以 2KHz 频率从 Y0 输出脉冲数目 20000 个(相对指定),Y1= Off 表示正方向。 M10 DDRVI K20000 K2000 Y0 Y1 补充说明: 1. 相对定位方式的动作说明:指将从现在位置开始的移动距离以正/负符号来指定的方式,也可叫 做相对定位方式。 +3,000 -3,000 0 现在位置 F0 加速第一段速 (D1340) 最小值:10Hz 减速最后一段速 2. 相对定位的设置项目与加减速的设置: a) 启动 Y0 说明: 初始值: 100ms Y0(D1343) S1 Y0(D1340) S2 Y0 (D1340) 最小值: 6Hz 最小值: 6Hz Y0(D1343) 加速斜率 脉冲输出频率 减速 输出脉冲数加减速时间加减速时间 初始值: 100ms 现在位置 加速 S2 加速取样时间 b) 本指令可在程序中多次使用,但是每次 PLC 执行程序时只能启动一组指令。例如,若启动 Y0 这一组时,则其它使用同 Y0 输出的指令将不会被执行,所以启动指令的顺序是由先启动者先 执行为原则。 c) 当After Y0(Y2)被DDRVI指令启动后,则一般的Y0(Y2)输出功能将会被取消掉,同时的Y1(Y3) 也是如此。等到 DDRVI 指令关闭后,一般输出功能也将恢复。 d) 指令启动后,其所有参数将不接受修改,直到指令关闭。 3. 标志信号说明: M1029: CH0 (Y0,Y1) 脉冲输出完毕后,M1029=On M1102: CH1 (Y2,Y3) 脉冲输出完毕后,M1102=On M1078: CH0 (Y0,Y1) 立即暂停标志 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-368 M1104: CH1 (Y2,Y3) 立即暂停标志 M1108: CH0 (Y0,Y1) 脉冲输出减速暂停标志 M1110: CH1 (Y2,Y3) 脉冲输出减速暂停标志 M1156: 当 M1156=On 时,启动 Y0 对应外部中断 I400/I401(X4) 对标功能(Mark) M1158: 当 M1158=On 时,启动 Y2 对应外部中断 I600/I601(X6) 对标功能(Mark) M1305: CH0 (Y0,Y1) 脉冲方向输出信号反向标志 M1306: CH1 (Y2,Y3) 脉冲方向输出信号反向标志 M1347: CH0 (Y0,Y1) 脉冲输出完成自动复位标志 M1524: CH1 (Y2,Y3) 脉冲输出完成自动复位标志 M1534: 当 M1534=On 时,CH0 (Y0,Y1) 减速时间分开设定,须褡配 D1348 M1535: 当 M1535=On 时,CH1 (Y2,Y3) 减速时间分开设定,须褡配 D1349 M1538: CH0 (Y0,Y1) 已暂停中显示标志 M1540: CH1 (Y2,Y3) 已暂停中显示标志 4. 特殊寄存器说明: D1030: CH0 (Y0,Y1) 目前输出脉冲个数 Low word D1031: CH0 (Y0,Y1) 目前输出脉冲个数 High word D1336: CH1 (Y2,Y3) 目前输出脉冲个数 Low word D1337: CH1 (Y2,Y3) 目前输出脉冲个数 High word D1340: CH0 (Y0,Y1) 脉冲输出,启始/结束频率(默认值= K100) D1352: CH1 (Y2,Y3) 脉冲输出,启始/结束频率(默认值=K100) D1343: CH0 (Y0,Y1) 脉冲输出,加减速时间设定 (默认值=K100) D1353: CH1 (Y2,Y3) 脉冲输出,加减速时间设定(默认值=K100) D1348: 当 M1534 On 时,CH0 (Y0,Y1) 脉冲输出,可设定减速时间 (默认值=K100) D1349: 当 M1535 On 时,CH1 (Y2,Y3) 脉冲输出,可设定减速时间 (默认值=K100) D1232: CH0 (Y0,Y1)对标(Mark)后减速停止脉冲输出个数 (LOW WORD). D1233: CH0 (Y0,Y1) 对标(Mark)后减速停止脉冲输出个数 (HIGH WORD). D1234: CH1 (Y2,Y3) 对标(Mark)后减速停止脉冲输出个数 (LOW WORD). D1235: CH1 (Y2,Y3) 对标(Mark)后减速停止脉冲输出个数 (HIGH WORD). D1026: M1156=On,Y0 屏蔽对标脉冲输出个数 (LOW WORD). D1027: M1156=On,Y0 屏蔽对标脉冲输出个数 (HIGH WORD). D1135: M1158=On,Y2 屏蔽对标脉冲输出个数 (LOW WORD). D1136: M1158=On,Y2 屏蔽对标脉冲输出个数 (HIGH WORD). 3. 指令集 3-369 API 指令码 操作数 功能 159 D DRVA 绝对定位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** D1 * D2 ** * DRVA:9 steps DDRVA:17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:脉冲数目 (目标装置) S2:脉冲输出频率 D1:脉冲输出装置 D2:脉冲方向信号的输出装置 指令说明: 1. 本指令输出模式仅支持脉冲+方向。 2. S1 指定脉冲输出数目(绝对寻址),可指定范围为-2,147,483,648 ~ +2,147,483,647 个,其中正 负号代表正反方向。 3. S2 指定脉冲输出频率,可指定范围为 6 ~ 100,000Hz。 4. D1 脉冲输出装置,可以指定 CH0(Y0) 与 CH1(Y2)。 5. D2 脉冲方向输出装置,若指定为 Y 输出时,只可指定 CH0(Y1) 与 CH1(Y3)。 6. S1 所设定的参数为目标位置,实际输出脉冲个数= S1 - 现在位置。当为正数时,正转运行,D2 方 向信号=Off,为负数时,反转运行,D2 方向信号=On。 7. 指定脉冲输出数目 S1 会变成 CH0(Y0,Y1)脉冲的现在值寄存器(D1031 上位,D1030 下位)32 位数据,CH1(Y2,Y3)脉冲的现在值寄存器(D1339 上位,D1338 下位) 32 位数据,CH2(Y4, Y5)脉冲的现在值寄存器(D1337 上位,D1336 下位)32 位数据内容值的相对位置。在反方向时, 现在值寄存器内容值会减少。 8. D1343 (D1353)为 CH0 (CH1) 起始频率加速至输出频率与减速至结束频率的加减速时间设定, 加减速时间不可低于 20ms,若低于 20ms 或高于 32,767ms,则将以 20ms 输出,出厂默认值 为 100ms。可指定范围为 20 ~ 32,767ms。 9. D1340 (D1352)为 CH0 (CH1) 启动/结束频率设定,若 S2 指定脉冲输出频率小于等于启动/结 束频率时,将会以启动/结束频率当成脉冲输出频率执行。可指定范围为 6 ~ 32,767Hz。 10. M1305 (M1306)可改变 CH0 (CH1) D2 脉冲方向输出信号,当反转运行 D2 为 On,如果在指令启 动前 SET M1305(M1306) 则 D2 将为 Off. 11. CH0 and CH1 可利用(M1534,D1348) and (M1535,D1349)选择是否须要加减速分离,当 M1534 and M1535=On CH0 and CH1 减速时间由 D1348 and D1349 决定。 12. 当指令执行时 M1078(M1104)=On,Y0(Y2) 将立即暂停输出且 M1538(M1540)=On 代表暂停中, 当 M1078(M1104)=Off M1538(M1540)=Off,Y0(Y2) 将输出剩余的脉冲个数 13. DRVA 指令不支持对标功能(Mark)与屏蔽功能。ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-370 程序范例: 当 M10=On 时,以 2kHz 频率从 Y0 输出脉冲数目 20,000 个(绝对指定),Y1=Off 表示为正方向。 M10 DRVA K20000 K2000 Y0 Y1 补充说明: 1. 绝对寻址方式的动作说明:指自原点(0 点)开始的距离指定的方式,也可叫做绝对寻址方式。 +3,000 0 0 原点 目标位置 F0 加速 第一段 速 (D1340) 最小值:10 Hz 减速最后一段速 2. 绝对寻址的设定项目与加减速的设定: a) Y0 输出: 初始值:100ms 加减速时间 初始值:100ms Y0(D1343) 加减速时间 输出脉冲数 S 1 加速取样时间 加速第一段速 Y0(D1340) 现在位置 输出脉冲频率 S 2 减速最后一段速 Y0 (D1340) 最小值:6Hz 最小值:6Hz 加速斜率 Y0(D1343) b) 本指令可同时编写多个使用同组输出于使用者程序中,但是每次 PLC 程序执行时只能启动一 组指令,例如已有指令起动 Y0 这一组输出时,则其它使用同 Y0 输出的指令将不会被执行; 所 以启动指令的顺序是由先启动者先执行为原则。 c) 指令启动后,其所有参数将不接受修改,直到指令关闭。 标志信号说明请参考指令 DDRVI 的补充说明。3. 指令集 3-371 API 指令码 操作数 功能 160 TCMP P 实时时钟比较 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** S3 * * * * * * * * *** S * * * D * * * TCMP,TCMPP:11 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:设置比较时间的“时”,设置范围为 K0~K23 S2:设置比较时间的“分”,设置范围为 K0~K59 S3: 设置比较时间的“秒”,设置范围为 K0~K59 S:实时时钟现在时间 (占用连续 3 个装置) D:比较 结果 (占用连续 3 个装置) 指令说明: 1. 将 S1,S2,S3 里的时钟数值与 S 起始的实时时钟现在值做比较,其比较结果在 D 作表示。 2. S 为实时时钟现在时间的”时”,内容为 K0~K23。 S +1 为实时时钟现在时间的”分”,内容为 K0~K59. S +2 为实时时钟现在时间的”秒”,内容为 K0~K59. 3. 通常 S 所指定的实时时钟现在时间是预先使用 TRD 指令将实时时钟现在时间读入后再使用 TCMP 指令进行比较,若 S 内容值超出范围,则视为运算错误,指令不执行,M1067=On、 M1068=On,D1067 记录错误代码 0E1A (HEX) 。 程序范例: 1. 当 X0= On 时,指令执行,将(D20~D22)实时时钟时间现在值与设置值 12:20:45 做比较,将结 果显示到 M10~M12。当 X0 由 On→Off 变化时,指令不被执行,但 M10~M12 之前的 On/Off 状 态仍被保持住。 2. 若需得到≧,≦,≠的结果时,可将 M10~M12 串并联即可取得。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-372 X0 M10 TCMP K12 K20 K45 D20 M10 M11 M12 12:20:45当 ON 12:20:45当 ON 12:20:45当 > = < D20 时 D21 分 D22 秒 D20 时 D21 分 D22 秒 D20 时 D21 分 D22 秒 的时候,为ON 的时候,为ON 的时候,为ON 3. 指令集 3-373 API 指令码 操作数 功能 161 TZCP P 实时时钟数据区间比较 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * S * * * D * * * TZCP,TZCPP:9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:设置比较时间的下限值(占用连续 3 个装置)。 S2:设置比较时间的上限值(占用连续 3 个装置)。 S:实时时钟现在时间(占用连续 3 个装置)。 D:比较结果(占用连续 3 个装置)。 指令说明: 1. 将 S 所指定的实时时钟时间与 S1~ S2 所指定的时间的上下限值进行区间比较,其比较结果在 D 作表示。 2. S1 ,S1 +1,S1 +2:设置比较时间下限值的“时”,“分”,“秒” 。 3. S2,S2 +1,S2 +2:设置比较时间上限值的“时”,“分”,“秒” 。 4. S ,S +1,S +2:为实时时钟现在时间的“时”,“分”,“秒” 。 5. 通常 S 所指定的实时时钟时间是预先使用 TRD 指令读入后再使用 TZCP 指令进行比较。若 S, S1,S2 内容值超出范围,则视为运算错误,指令不执行,M1067=On、 M1068=On,D1067 记录错误代码 0E1A (HEX) 。 6. 当 S < S1 且 S < S2 时,则 D 为 On。 当 S > S1 且 S > S2,则 D+2 为 On。其余状态则 D +1 为 On. (下限值 S1 须小于上限值 S2.) 程序范例: 当 X0= On 时,TZCP 指令执行,M10~M12 = On。 当 X0=Off 时,指令不被执行,M10~M12 状态 保持在 X10=off 之前的状态。 X0 TZCP D0 D20 D10 M10 M10 M11 M12 的时候,为 On> D10 ( )时 D11 ( )分 D12 ( )秒 的时候,为 On= D10 ( )时 D11 ( )分 D12 ( )秒 的时候,为 On < D10 ( )时 D11 ( )分 D12 ( )秒 D0 ( )时 D1 ( )分 D2 ( )秒 D0 ( )时 D1 ( )分 D2 ( )秒 = D20 ( )时 D21 ( )分 D22 ( )秒 < > D20 ( )时 D21 ( )分 D22 ( )秒 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-374 API 指令码 操作数 功能 162 TADD P 实时时钟数据加算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * D * * * TADD,TADDP:7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:时间被加数(占用连续 3 个装置)。 S2:时间加数(占用连续 3 个装置)。 D:时间和(占用连 续 3 个装置)。 指令说明: 1. S1 + S2 = D. 将 S1 所指定的实时时钟数据时、分、秒与 S2 所指定的实时时钟时间数据时、分、 秒相加,所得到的结果存于指定 D 寄存器时分秒中。 2. 若 S1,S2 内容值超出范围,则视为运算错误,指令不执行,M1067=On,M1068=On,D1067 记录错误代码 0E1A (HEX) 。 3. 若加算结果大于 24 小时,进位标志 M1022=On,D 显示加算总值减掉 24 小时所得的结果。 4. 若加算结果为 0 (0 时,0 分,0 秒),零标志 M1020= On. 程序范例: 当 X0= On 时,指令被执行,将 D0~D2 所指定的实时时钟数据时、分、秒与 D10~D12 所指定的实 时时钟数据时、分、秒相加,所得结果存于指定的寄存器 D20~D22 中,得到加算后的时、分、秒。 08:10:20 06:40:06 14:50:26 X0 TADD D0 D10 D20 D0 08( ) 时 D1 10( ) 分 D2 20( ) 秒 D20 14( ) 时 D21 50( ) 分 D22 26( ) 秒 D10 06( ) 时 D11 40( ) 分 D12 06( ) 秒 若加算结果大于 24 小时,进位标志 M1022=On。 X0 TADD D0 D10 D20 18:40:30 11:30:08 06:10:38 D0 18( ) 时 D1 40( ) 分 D2 30( ) 秒 D20 06( ) 时 D21 10( ) 分 D22 38( ) 秒 D10 11( ) 时 D11 30( ) 分 D12 08( ) 秒 3. 指令集 3-375 API 指令码 操作数 功能 163 TSUB P 实时时钟数据减算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * D * * * TSUB,TSUBP:7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:时间被减数(占用连续 3 个装置)。 S2:时间减数(占用连续 3 个装置)。 D:时间差(占用连 续 3 个装置)。 指令说明: 1. S1 − S2 = D. 将 S1 所指定的实时时钟数据时分秒减掉 S2 所指定的实时时钟数据时分秒,所得到 的结果暂存于指定的 D 寄存器中。 2. 若 S1,S2 内容值超出范围,则视为运算错误,指令不执行,M1067=On、 M1068=On,D1067 记录错误代码 0E1A (HEX) 。 3. 若减算结果为负数时 (小于 0),借位标志 M1020= On。该负数加上 24 小时所得的结果显示在 D 所指定的寄存器当中。 4. 若减算结果为 0 (0 时,0 分,0 秒),零标志 M1020= On。 5. 除使用 TRD 指令外,使用 MOV 指令传送实时时钟的值到三个特殊寄存器 D1315 (时),D1314 (分),D1313 (秒)中,以读取实时时钟的现在值。 程序范例: 当 X0= On 时,TSUB 指令被执行,将 D0~D2 所指定的实时时钟数据时、分、秒与 D10~D12 所指 定的实时时钟数据时、分、秒相减,所得到的结果存于指定 D20~D22 寄存器中。 20:20:05 14:30:08 05:49:57 X0 TSUB D0 D10 D20 D0 20( ) 时 D1 20( ) 分 D2 05( ) 秒 D20 05( ) 时 D21 49( ) 分 D22 57( ) 秒 D10 14( ) 时 D11 30( ) 分 D12 08( ) 秒 若减算结果为负数时 (小于 0),借位标志 M1021= On。 X0 TSUB D0 D10 D20 05:20:30 19:11:15 10:09:15 D0 05( ) 时 D1 20( ) 分 D2 30( ) 秒 D20 10( ) 时 D21 09( ) 分 D22 15( ) 秒 D10 19( ) 时 D11 11( ) 分 D12 15( ) 秒 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-376 API 指令码 操作数 功能 166 TRD P 实时时钟数据读出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * TRD,TRDP:3 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:实时时钟现在时间读出后存放的装置 (连续占用 7个装置) 指令说明: 1. 实时时钟提供年、星期、月、日、时、分、秒,共 7 组数据存放于 D1319~D1313。当 TRD 指 令的功能就是直接将实时时钟时间读出至指定的 7 个寄存器中。 2. SS2 机种之实时时钟仅提供在有电源的状况下才可正常进行计时的功能。实时时钟数据 D1319~D1313 为停电保持,重新上电将从最后断电之时刻继续计时。建议重新上电请重新校正 实时时钟。 3. SA2/SE V1.0 及 ES2/EX2/SX2 V2.0 机种之实时时钟,当电源关闭时还可正常运行约一至二周 时间(依环境温度而有差异),因此当机台距离上次上电运行有一至二周的时间,建议请重新校 正实时时钟。 4. D1319 只读取公元年份的右 2 位,如果要读取全部 4 位请参考补充说明。 5. 相关标志信号,请参考补充说明。 程序范例: 当 X0=On 时,将实时时钟现在时间读出至寄存器 D0~D6 中。 D1318 的内容:1 表示星期一,2 表示星期二,…,7 表示星期日。 X0 TRD D0 特 D 项目 内容 一般 D 项目 D1319 年 (公元) 00~99 → D0 年 (公元) D1318 星期 (Mon.~Sun.) 1~7 → D1 星期(Mon.~Sun.) D1317 月 1~12 → D2 月 D1316 日 1~31 → D3 日 D1315 时 0~23 → D4 时 D1314 分 0~59 → D5 分 D1313 秒 0~59 → D6 秒 补充说明: 1. API 内建的实时时钟,其校正方法有以下两种: 3. 指令集 3-377 z 校正时刻专用指令 详细请参考 TWR (API 167)指令. z 使用外围装置 使用 WPLSoft / ISPSoft (编辑软件) 来设定 2. 公元年份显示 4 位数: z 年份通常的情况下只显示 2 位数 (例如:2003 年只显示 03),若要显示 4 位数的请于程序 起始位置打入下列程序: M1002 SET M1016 显示 位数公元年份4 z 公元年份的显示由原本的 2 位数切换成 4 位 (右 2 位+ 2000)。 于公元年份 4 位数显示的模式下若要写入新的设定时间时,也只能写入 2 位数,而此 2 位 数的有效值为“00-99”,反应至公元年份为 “2000-2099”。 例如,00= 2000 年,50= 2050 年,99= 2099 年 z 实时时钟旗号: 编号 名称 功能 M1016 实时时钟公元年 显示 Off 时 D1319 显示公元年右 2 位 On 时 D1319 显示公元年右 2 位加上 2000 M1017 ±30 秒校正 由 Off→On 触发时作校正。 (0-29 秒时归 0, 30-59 秒时,分加 1、秒归 0。 编号 名称 范围 D1313 秒 0-59 D1314 分 0-59 D1315 时 0-23 D1316 日 1-31 D1317 月 1-12 D1318 星期 1-7 D1319 年 0-99 (公元右 2 位) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-378 API 指令码 操作数 功能 167 TWR P 实时时钟数据写入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * TWR,TWRP:5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D:欲写入实时时钟新设置值装置 (占用连续 7 个装置) 指令说明: 1. 本指令将 S 的内容值设置为实时时钟的新时间。 2. 若 S 内容值中有设定值超出范围,除了视为运算错误,PLC 会自动以最小有效值写入, M1067=On、 M1068=On,D1067 记录错误代码 0E1A (HEX)。 3. 相关旗号信号与实时时钟特性说明,请参考 TRD 指令说明。 程序范例 1: 当 X0= On 时,将新时间写入实时时钟。 X0 TWRP D20 一般 D 项目 内容 特 D 项目 D20 年(公元) 00~99 → D1319 年(公元) D21 星期 (Mon.~Sun.) 1~7 → D1318 星期(Mon.~Sun.) D22 月 1~12 → D1317 月 D23 日 1~31 → D1316 日 D24 时 0~23 → D1315 时 D25 分 0~59 → D1314 分 新的设置时间 D26 秒 0~59 → D1313 秒 实时时钟 程序范例 2: 1. 实时时钟现在时间设置,将时间调整为 2004/12/15,星期二,15:27:30。 2. D0~D6 的内容为新的实时时钟设置时间。 3. 当 X0= On 时,更换实时时钟的现在时间为设置值。 4. 当 X1=On 时,实时时钟作±30 秒校正动作。 “校正” 的意思是当实时时钟的秒针在 1~29 秒时, 会被自动归“0”秒而分针不变 。当实时时钟的秒针在 30~59 秒时,也会被自动归为“0”秒,而分 钟加 1 分钟。 3. 指令集 3-379 X0 MOV K04 D0 MOV K3 D1 MOV K12 D2 MOV K26 D3 MOV K15 D4 MOV K27 D5 MOV K30 D6 TWR D0 M1017 X1 年 (2004) 星期 星期三 () 月十二月() 日 时 分 秒 将设置的时间写至万年历 30 秒校正 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-380 API 指令码 操作数 功能 168 D MVM P 指定位搬移 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * *** S2 * * * * * * * * *** D * * * * * * *** MVM,MVMP:7 steps DMVM,DMVMP:13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:来源装置。 S2:指定遮蔽 (off) 的 bit。 D:D =(S1 & S2) | ( D & ~S2)。 指令说明: 1. S1 与 S2 做逻辑的’及’ (AND)运算,D 与~S2 做逻辑的’及’ (AND)运算,再将前 2 者运算结果做 逻辑的’或’ (OR) 运算存入 D 中。 2. 逻辑的’及’ (AND) 运算之规则为任一为 0 结果为 0。 3. 逻辑的’或’ (OR) 运算之规则为任一为 1 结果为 1。 程序范例 1 : 当 X0 = On 时,16 位 D0 与 H’FF00 做逻辑及 (AND) 运算,D4 与 H’00FF 做逻辑及 (AND) 运 算,再将前 2 者运算结果做逻辑的’或’ (OR) 运算,将结果存入 D4 中。 MVM X0 D0 HFF00 D4 010101011 101010 111 11 100 0 0011 000 101 10 000000 0010 AND b15 b0 执行前 执行后 D0=HAA55 HFF00 D4=HAA34 HAA00 001101000 010010 0000001111100 111 000 00 000110 0001 AND b15 b0 D4=H1234 H00FF H0034 OR 101 10 000110 0011 程序范例 2 : 程序代码简化 WAND X0 HFF00 D110 D100 MVM X0 D110 HFF00 D100 WAND H00FF D120 D0 WOR D0 D100 D100 MVM D120 H00FF D100 = 3. 指令集 3-381 API 指令码 操作数 功能 169 D HOUR 计时仪 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** D1 * D2 * * * HOUR:7 steps DHOUR:13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:设置导通时间 D1:测量中的现在时间值,单位:小时(占用 2 个连续装置) D2:输出装置 指令说明: 1. 当时间到达 S 中设置的导通时间时 D2 导通,单位为时,设置范围为 K1~K32,767. D1 的范围为 K0~K32,767。 D1+1 为未满 1 个小时的现在时间值,设置范围:K0~K3,599,单位为秒。 2. 若使用输入接点导通时间做计时,当到达设置时间时(以小时为单位),会将输出装置导通。可提 供使用者管理机械的运作计时或维修。 3. 当输出装置导通后,定时器会继续计时。 4. 16 位指令测量中的现在值到达最大数值 (32,767 小时、 3,599 秒)时,会停止计时测量。若要 重新计时 D1 与 D1+1 须清除为 0。32 位指令测量中的现在时间到达最大数值 (2,147,483,647 小时,3,599 秒)时,会停止计时测量。若要重新计时 D1 - D1+2 须清除为 0。 5. S 操作数使用 F 装置,仅可使用 16 位指令。 6. HOUR 指令在程序中可使用 4 次。 程序范例 1: 16 位指令:当 X0=On 时,Y20 = On,开始计时,当到达 100 小时 Y0 = On ,而 D0 会记录测量中 的现在时间值(单位:小时,若 D0 不足 1 小时,单位为秒,其范围为 0~3599)。 HOUR Y20 K100 Y0D0 Y20 X0 程序范例 2: 32 位指令当 X0=On 时,Y10 导通,开始计时,当到达 40000 小时 Y0 导通,而 D1、D0 会记录测量 中的现在时间值(单位:小时),D2 会记录测量中不足 1 小时的现在时间值 0~3599(单位:秒)。 Y10 DHOUR K40000 D0 Y0 X0 Y10 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-382 API 指令码 操作数 功能 170 D GRY P BIN → GRAY 码变换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * *** D * * * * * *** GRY, GRYP: 5 steps DGRY, DGRYP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 来源装置 D: 存放 GRAY 码的装置 指令说明: 1. 将 S 所指定装置的内容值(BIN 值)变换格雷码(GRAY CODE)后存放到 D 所指定的装置中。 2. S 的有效范围如下所示: 16 位指令: 0~32,767 32 位指令: 0~2,147,483,647 3. 如果超出此范围,视为运算错误,此时指令不执行,M1067=On,M1068=On,D1067 记录错误 代码 0E1A(HEX) 。 4. S, D 操作数使用 F 装置, 仅可使用 16 位指令。 范例说明: 当 X0=On 时,将常数 K6513 变换格雷码(GRAY CODE)后存放到 K4Y20 中。 X0 GRY K6513 K4Y20 00011 100 011 1 1000 b15 b0 K6513=H1971 000 0 0 00 001111111 K4Y20 Y37 Y20 GRAY 6513 3. 指令集 3-383 API 指令码 操作数 功能 171 D GBIN P GRAY 码 → BIN 变换 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * * *** D * * * * * *** GBIN, GBINP: 5 steps DGBIN, DGBINP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 存放 GRAY 码的来源装置 D: 存放变换后 BIN 值的装置 指令说明: 1. 将 S 所指定装置的内容值(格雷码(GRAY CODE))变换成 BIN 值后存放到 D 所指定的装置 中。 2. 本指令将连接于 PLC 输入端的绝对位置型编码器(此编码器的输出值通常是格雷码)的内容变 换成 BIN 值存放到指定的寄存器当中。 3. S 的有效范围如下所示: 16 位指令 :0~32,767 32 位指令:0~2,147,483,647 4. 如果超出此范围时,视为运算错误,指令不执行。 5. S, D 操作数使用 F 装置, 仅可使用 16 位指令。 程序范例: 当 X20=On 时,将 X0~X17 输入点所连接的绝对位置型编码器的格雷码(GRAY CODE)变换成 BIN 值后存放到 D10 中。 X20 GBIN K4X0 D10 0001 10111000 b15 b0 H1971=K6513 000 0 00111111 X17 X0 GRAY CODE 6513 K4X0 01 0 1 0010 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-384 API 指令码 操作数 功能 172 D ADDR P 浮点数值加法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * D * DADDR, DADDRP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 浮点数值被加数 S2: 浮点数值加数 D: 和 指令说明: 1. S1 、S2 操作数可输入浮点数值。 2. DADDR 指令可直接在 S1、S2 操作数输入浮点数值(例如: F1.2),或以寄存器 D 存放浮点数值。 3. 当 S1、S2 操作数,以寄存器 D 存放浮点数值,其功能与 API 120 EADD 相同。 4. 当 DADDR 指令执行时,D 操作数将会存放浮点数值运算后的结果。 5. S1、S2 可指定相同的寄存器编号,此种情况下若是使用连续执行型态的指令时,在条件接点 On 的期间,该寄存器于每一次扫描时,均会被加算一次,一般的情况下都是使用脉冲执行型指令 (DADDRP)。 6. 若运算结果的绝对值大于可表示的最大浮点数值,则进位标志 M1022=On。 若运算结果的绝对 值小于可表示的最大浮点数值,则错位标志 M1021=On。若运算结果为 0,则零标志 M1020=On。 程序范例 1: 当 X0=On 时, 将 F1.200E+0 浮点数值(输入浮点数 F1.2 在梯形图上显示科学记号 F1.200E+0, 浮点 位数可由WPLSoft上检视功能来设定), 加上 F2.200E+0 浮点数值, 其运算结果为 F3.400E+0 存放 至 (D10, D11) 数据寄存器内。 X0 DADDR F1.200E+0 D10F2.200E+0 程序范例 2: 当 X0=On 时,将浮点数值(D1, D0)+浮点数值(D3, D2) ,结果存放在 (D11,D10)中。 X0 DADDR D0 D2 D10 3. 指令集 3-385 API 指令码 操作数 功能 173 D SUBR P 浮点数值 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * D * DSUBR, DSUBRP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 浮点数值被减数 S2: 浮点数值减数 D: 差 指令说明: 1. S1 、S2 操作数可输入浮点数值。 2. DSUBR 指令可直接在 S1 、S2 操作数输入浮点数值(例如:F1.2),或以寄存器 D 存放浮点数 值进行运算。 3. 当 S1 、S2 操作数,以寄存器 D 存放浮点数值,其功能与 API 121 ESUB 相同。 4. 当 DSUBR 指令执行时,D 操作数将会存放浮点数值运算后的结果。 5. S1 、S2 可指定相同的寄存器编号,此种情况下若是使用连续执行型态的指令时,在条件接点 On 的期间,该寄存器于每一次扫描时,均会被减算一次,一般的情况下都是使用脉冲执行型指令 (DSUBRP)。 6. 若运算结果的绝对值大于可表示的最大浮点数值,则进位标志 M1022=On. 若运算结果的绝对值 小于可表示的最大浮点数值,则错位标志 M1021=On. 若运算结果为 0,则零标志 M1020=On。 程序范例 1: 当 X0=On 时, 将 F1.200E+0 浮点数值(输入浮点数 F1.2 在梯形图上显示科学记号 F1.200E+0, 浮点 位数可由 WPLSoft 上检视功能来设定), 减去 F2.200E+0 浮点数值, 其运算结果为 F-1.000E+0 存放 至 D10, D11 数据寄存器内。 X0 DSUBR F1.200E+0 D10F2.200E+0 程序范例 2: 当 X0=On 时,将浮点数值(D1, D0) -浮点数值(D3, D2) ,结果存放在 (D11, D10)中。 X0 DSUBR D0 D2 D10 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-386 API 指令码 操作数 功能 174 D MULR P 浮点数值乘法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * D * DMULR, DMULRP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 浮点数值被乘数 S2: 浮点数值乘数 D:积 指令说明: 1. S1 、S2 操作数可输入浮点数值。 2. DMULR 指令可直接在 S1、S2 操作数输入浮点数值(例如: F1.2) ,或以寄存器 D 存放浮点数 值进行运算。 3. 当 S1、S2 操作数,以寄存器 D存放浮点数值,其功能与 API 122 EMUL 相同。 4. 当 DMULR 指令执行时,D 操作数将会存放浮点数值运算后的结果。 5. S1、S2 可指定相同的寄存器编号,此种情况下若是使用连续执行型态的指令时,在条件接点 On 的期间,该寄存器于每一次扫描时,均会被乘算一次,一般的情况下都是使用脉冲执行型指令 (DMULRP)。 6. 若运算结果的绝对值大于可表示的最大浮点数值,则进位标志 M1022=On。 若运算结果的绝对 值小于可表示的最大浮点数值,则错位标志 M1021=On。 若运算结果为 0,则零标志 M1020=On。 程序范例 1: 当 X0=On 时, 将 F1.200E+0 浮点数值(输入浮点数 F1.2 在梯形图上显示科学记号 F1.200E+0, 浮点 位数可由 WPLSoft 上检视功能来设定), 乘上 F2.200E+0 浮点数值, 其运算结果为 F2.640E+0 存放至 (D10, D11) 数据寄存器内。 X0 DMULR F1.200E+0 D10F2.200E+0 程序范例 2: 当 X1=On 时, 将浮点数值 (D1, D0) × 浮点数值(D11, D10)将积存放至 (D21, D20) 数据寄存器内。 X1 D0 D10 D20DMULR 3. 指令集 3-387 API 指令码 操作数 功能 175 D DIVR P 浮点数值除法 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * D * DDIVR, DDIVRP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 浮点数值被除数 S2: 浮点数值除数 D: 商 指令说明: 1. S1 、S2 操作数可输入浮点数值。 2. DDIVR 指令可直接在 S1、S2 操作数输入浮点数值(例如: F1.2) ,或以寄存器 D 存放浮点数值 进行运算。 3. 当 S1、 S2 操作数,以寄存器 D存放浮点数值,其功能与 API 123 EDIV 相同。 4. 当 DDIVR 指令执行时,D 操作数将会存放浮点数值运算后的结果。 5. 若除数 S2 = 0,即被认定为运算错误,指令不执行, M1067, M1068=On, D1067 记录错误代码 H’0E19。 6. 若运算结果的绝对值大于可表示的最大浮点数值,则进位标志 M1022=On。 若运算结果的绝对 值小于可表示的最大浮点数值,则错位标志 M1021=On. 若运算结果为 0,则零标志 M1020=On。 程序范例 1: 当 X0=On 时, 将 F1.200E+0 浮点数值(输入浮点数 F1.2 在梯形图上显示科学记号 F1.200E+0, 浮点 位数可由 WPLSoft 上检视功能来设定), 除以 F2.200E+0 浮点数值, 其运算结果为 F0.545E+0 存放 至 (D10, D11) 数据寄存器内。 X0 DDIVR F1.200E+0 D10F2.200E+0 程序范例 2: 当 X1=On 时,将浮点数值 (D1, D0) 除以浮点数值 (D11, D10) 将商存放至 (D21, D20)数据寄存器 内。 X1 DDIVR D0 D10 D20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-388 API 指令码 操作数 功能 176 MMOV P 16→32 位数值转换 适用机种 ES2/EX2 SS2 SA2 SE SX2 字装置 位装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * * * D * * * MMOV, MMOVP: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据的来源(16 位) D: 数据传送的目的地(32 位) 指令说明: 将 16 位装置 S 中的数据传送到 32 位的装置 D 中, 其中指定的数据来源的符号位被重复的复制存放在 数据传送的目的地高 16 位。 程序范例 : 1. 当 X23=On 时,D4 的数据传送到 D6 和 D7。 X23 MMOV D4 D6 0011 1 0 0 0 11 1 1000 b15 b0 00 0 001111 D7, D6 1 11111111 b31 b16 1 b0b15 D4 0 1 1 00 111111111 “+“ 号0 1 “-“号 2. 在以上的例子中, D4 的 b15 位数据传送到(D7/D6)的 b15 到 b31 位,变成负数(和 D4 的 一样) 3. 指令集 3-389 API 指令码 操作数 功能 177 GPS (GPS)接收通讯指令 適用機種 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字符装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * D * GPS: 5 steps 脉冲执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: S: 输入接收命令码。 D: 目标起始装置。 指令说明: 1. GPS 接收通讯指令适用通讯端口: COM1(RS-232), 其使用之通讯格式固定为 9600,8,N,1, 通讯 协议为 NMEA-0183, 通讯频率为 1Hz。 2. S 操作数为输入接收命令码, K0 表示接收$GPGGA, K1 表示接收$GPRMC。 3. D 操作数为接收完成后存放之位置, 最多将连续占用 17 个 word,请勿重复使用, 其输入与输出 参数分别说明如下表所示: z S为 K0 时, 接收$GPGGA, D 参数表示: 编号 功能说明 数值范围 数据型态 备注 D + 0 时 0 ~ 23 Word D + 1 分 0 ~ 59 Word D + 2 秒 0 ~ 59 Word D + 3~4 纬度(Latitude) 0 ~ 90 Float dd.mmmmmm D + 5 北纬或南纬 0 or 1 Word 0(+)ÆNorth, 1(-)ÆSouth D + 6~7 经度(Longitude) 0 ~ 180 Float ddd.mmmmmm D + 8 东经或西经 0 or 1 Word 0(+)ÆEast, 1(-)ÆWest D + 9 经纬度是否为有效值 0, 1, 2 Word 0 为无效值 D + 10~11 海拔值 0 ~9999.9 Float 单位为米 D + 12~13 纬度 -90 ~ 90 Float 单位: ±dd.ddddd D + 14~15 经度 -180 ~ 180 Float 单位: ±ddd.ddddd z S为 K1 时, 接收$GPRMC, D 参数表示: 编号 功能说明 数值范围 数据型态 备注 D + 0 时 0 ~ 23 Word D + 1 分 0 ~ 59 Word D + 2 秒 0 ~ 59 Word D + 3~4 纬度(Latitude) 0 ~ 90 Float dd.mmmmmm ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-390 编号 功能说明 数值范围 数据型态 备注 D + 5 北纬 或 南纬 0 or 1 Word 0(+)ÆNorth, 1(-)ÆSouth D + 6~7 经度(Longitude) 0 ~ 180 Float ddd.mmmmmm D + 8 东经 或 西经 0 or 1 Word 0(+)ÆEast, 1(-)ÆWest D + 9 经纬度是否为有效值 0, 1, 2 Word 0 为无效值 D + 10 日 1 ~ 31 Word D + 11 月 1 ~ 12 Word D + 12 年 2000 ~ Word D + 13~14 纬度 -90 ~ 90 Float 单位: ±dd.ddddd D + 15~16 经度 -180 ~ 180 Float 单位: ±ddd.ddddd 4. 使用 GPS 指令时需将 COM1 当 master 模式运用, 也即是需设定 M1312 先启动 COM1 为接收 开始, 当 M1314 标志位为 On 时, 即表示接收完成; 但是如果 M1315 为 On 时, 即表示可能是检 查码错误(D1250=K2)或接收逾时(D1250=K1)发生。 5. 相关搭配特 M 与特 D 说明如下: 编 号 功 能 说 明 M1312 启动接收功能 M1313 接收中标志位 M1314 接收完成标志位 M1315 接收错误标志位 M1138 固定 COM1 通讯格式 D1036 COM1 通讯格式设定 D1249 接收逾时设定(建议大于 1 秒) D1250 接收错误代码 6. 建议接收完成之后与抓取经纬度值之前, 请先确认 D+9 的数值是否不为 0, 若是为 0 时即表示经 纬度值是无效的不能使用。 7. 当指令接收发生错误时, 其前一次储存于 D 操作数内的数值将不会被清除, 且保持前一次数值。 程序范例: 抓取$GPGGA 命令 1. 先设定 COM1 通讯格式 M1002 MOV H81 D1036 SET M1138 MOV K2000 D1249 設定通訊協定 9600,8,N,1 通訊協定保持 設定通訊逾時時間 2s 3. 指令集 3-391 2. 接着启动 M0 开始接收$GPGGA 命令 M0 GPS K0 D0 SET M1312 M0 M1314 M1315 Y0 Y1 3. 当接收完成时, 则 M1314 为 On, 当接收失败时, 则 M1315 为 On; 最后接收完成的数据将被放 到 D0 开始的位置。 編號 功能說明 編號 功能說明 D0 时 D8 东经或西经 D1 分 D9 经纬度是否为有效值 D2 秒 D10~D11 海拔值 D3~D4 纬度(Latitude) D12~D13 纬度 D5 北纬或南纬 D14~D15 经度 D6~D7 经度(Longitude) 4. GPS 模块(LS20022)引脚定义与图示: GPS 模块引脚 1 2 3 4 5 定义 VCC(+5V) Rx Tx GND GND 5. PLC 的 COM1 端口引脚定义与图示: COM1 引脚 1 2 3 4 5 6 7 8 定义 VCC(+5V) -- Rx Tx -- -- GND 12 345 67 8 12 345 67 8 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-392 API 指令码 操作数 功能 178 D SPA 太阳能板位置指令 適用機種 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * D * DSPA: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: S: 输入参数来源起始装置。 D: 输出参数目标起始装置。 指令说明: 1. 此指令为免费提供之功能,仅供非商业行为使用,若需使用此指令运算功能于商业行为者,请向 相关单位申请许可后,方可销售其设备。 2. S 操作数将连续占用 208 个 word 的寄存器, 必要输入的参数如下述表格说明: 编号 功能说明 数值范围 数据型态 备注 S + 0 年 2000 ~ Word S + 1 月 1 ~ 12 Word S + 2 日 1 ~ 31 Word S + 3 时 0 ~ 23 Word S + 4 分 0 ~ 59 Word S + 5 秒 0 ~ 59 Word 请输入当地经度的正确 时间,其换算公式请参 照 DTM(参数 k11)指 令,简单说明如第 6 点 S + 6~7 秒数差 (Δt) ± 8000 Float S + 8~9 当地时区 ± 12 Float 西经为负数 S + 10~11 经度(Longitude) ± 180 Float 西经为负数, 单位: 度 S + 12~13 纬度(Latitude) ± 90 Float 南纬为负数, 单位: 度 S + 14~15 海拔高度(Elevation) 0~ 6500000 Float 单位:公尺 S + 16~17 大气压力(Pressure) 0 ~ 5000 Float 单位:毫巴 S + 18~19 年平均温度 -273~6000 Float 单位 °C S + 20~21 表面倾斜度(Slope) ± 360 Float S + 22~23 方位角(Azimuth)旋转角度 ± 360 Float S + 24~25 日出与日落大气差 ± 5 Float S +26~207 保留给系统内部运算用 3. D 操作数将连续占用 8 个 word 的寄存器, 必要输出的参数如下述表格说明: \ 3. 指令集 3-393 编号 功能说明 数值范围 数据型态 备注 D + 0~1 俯仰角(Zenith) 0 ~ 90 Float 平躺为 0 D + 2~3 方位角(Azimuth) 0 ~ 360 Float 正北为 0 D + 4~5 表面入射角(Incidence) 0 ~ 90 Float D + 6 俯仰角(Zenith)转换为 DA 数值 0 ~ 2000 Word 1LSB = 0.045 度 D + 7 方位角(Azimuth)转换为 DA 数值 0 ~ 2000 Word 1LSB = 0.18 度 4. 由于此指令运算时间将会达 50ms, 因此建议最快 1 秒计算一次即可, 避免占用太多 PLC 运算时 间。 5. 俯仰(Zenith)角度定义:0° 如图 1a 所示,45° 如图 1b 所示 图 1a 图 1b 6. 方位(Azimuth)角度定义如图 2 所示: N 0° 90° 180° 270° N 0° 90° 180° 270° 图 2 7. 当地经度的正确时间定义:假设现在台北时间为 AM8:00:00,经度为东经 121.55 度,则台北当 地经度上正确时间应为 AM8:06:12,其转换方法请参考 API 68 DTM 指令(参数 k11)说明。 程序范例: 1. 输入参数由 D4000 开始分别输入为 2009 年 3 月 23 日 10:10:30, 秒数差为 0 秒, 时区为+8, 经 纬度值为: 东经+119.192345, 北纬 +24.593456, 海拔为 132.2M, 大气压 820m, 年平均温度为 15.0 度 C, 表面倾斜 30 度角, 方位角旋转-10 度角。 M0 DSPA D4000 D5000 M1013 2. 输出结果存放于 D5000 俯仰角(Zenith)为 F37.2394 度, D5002 方向角(Azimuth)为 F124.7042。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-394 API 指令码 操作数 功能 179 D WSUM P 求和 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * n * * * D * * * WSUM, WSUMP: 7 steps DWSUM, DWSUMP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 求和的起始装置 n: 求和的装置个数 D: 存放和的装置 指令说明: 1. 将 S 起始的 n 个装置内容相加后存入 D 中。 2. 如果 S 没有在有效范围内, 只有正常范围内的装置编号被处理。. 3. 操作数 n 的有效范围 : n=1~64, 超出范围最小以 1 计算, 最大以 64 计算。 程序范例: 当 X10 = On 时,D0 开始算的 3 个(n=3)寄存器的内容全部相加,相加之后存于指定的 D10 当中。 X10 WSUM D0 D10K3 D0 D1 D2 D10 K338 K100 K113 K125 (D0+D1+D2) D10执行后 3. 指令集 3-395 API 指令码 操作数 功能 180 MAND P 矩阵与(AND)运 算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * S2 * * * * * * * D * * * * * * n * * * MAND, MANDP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 矩阵来源装置 1 S2: 矩阵来源装置 2 D:运算结果 n: 数组长度 (n=K1~K256) 指令说明: 1. 两个矩阵来源依数组长度 n 将 S1 及 S2 作矩阵的‘与’(AND)运算并将结果存于 D。 2. 矩阵的‘与’(AND)运算规则为两位均为 1 结果方为 1,否则为 0。 3. 若 S1, S2, D 操作数指定 KnX, KnY,KnM,KnS ,只可指定 n=4。 程序范例 : 当 X0=On 时,16 为寄存器 D0~D2 共 3 行与 16 位寄存器 D10~D12 共 3 行作 MAND(矩阵与(AND) 运算),将结果存于 16 位寄存器 D20~D22 共 3 行中。 X0 MAND D0 D10 D20 K3 1111111111 110000 1111111111 110000 1111111111 110000 b15 b0 MAND S1 S2 D 1 1 00011100000000 11 00011100000000 1 1 00011100000000 1 1 000000000000 11 000000000000 11 000000000000 00 00 00 D0 D1 D2 D10 D11 D12 D20 D21 D22 执行前 执行后 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-396 矩阵指令说明: 1. 矩阵是 1 个以上连续的 16 位寄存器所组成,组成矩阵的寄存器个数称为矩阵的长度 n,一个矩 阵共有 16 X n 个位(点),其运算单位一次只有一个位(点)。 2. 矩阵指令是将 16 X n 个矩阵位(序号由 b0 – b16n-1)当作一连串单点的集合,而且此集合中指定 某一单点作运作,而不将点当作数值看待。 3. 矩阵指令主要处理单点对多点(矩阵)或多点对多点的状态处理,如搬移,拷贝,比较,搜寻等, 是极为方便和重要的应用指令。 4. 在矩阵指令运作中,通常需要有一个 16 位寄存器来指定矩阵 中 16n 个单点的某个单点当作运算 对象,此寄存器称为矩阵的指针 Pr (pointer).,由使用者于指令中指定,其有效范围为 0~16n-1, 分别对应至矩阵中的位 b0 ~ b16n-1 。 5. 矩阵运作中有左、右位移或旋转,我们定义高编号者为左,低编号者为右,如下图标。 1111111111 000011 1111111111 000011 11 0 1000 00000 11 00 11 0 1000 00000 11 00 b0 b16 b32 b31 b15 b47 D0 D1 D2 b16n-1 1111111111 000011 左 右宽度为 位16 Dn-1 长度为 n 6. 矩阵宽度(C)固定为 16 位(bits)。 7. Pr: 矩阵的指针,例如 Pr 值为 15,指到 b15 的位。 8. 矩阵长度为 n:n=1~256。 范例: 以 D0 ,n=3 构成的矩阵, D0=HAAAA, D1=H5555, D2=HAAFF C15 C14 C13 C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 R0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 D0 R1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D1 R2 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 D2 范例: 以 K2X20 ,n=3 构成的矩阵,K2X20=H37, K2X30=H68, K2X40=H45 C15 C14 C13 C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 R0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 X20~X27 R1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 X30~X37 R2 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 X40~X47 R0(C15-C8) ,R1(C15-C8) , R2(C15-C8) 不足的部分补 0。 3. 指令集 3-397 API 指令码 操作数 功能 181 MOR P 矩阵或(OR)运 算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * S2 * * * * * * * D * * * * * * n * * * MOR, MORP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 矩阵来源装置 1 S2: 矩阵来源装置 2. D: 运算结果 n: 数组长度(n=K1~K256) 指令说明: 1. 两个矩阵来源依数组长度 n 将 S1 及 S2 作矩阵的‘或 ’(OR)运算并将结果存于 D。 2. 矩阵的‘或’(OR)运算规则为两位有任一为 1 则结果方为 1,两者均为 0 结果才为 0。 3. 若 S1, S2, D 操作数指定 KnX, KnY, KnM, KnS ,只可指定 n=4。 程序范例: 当 X0=On 时,16 位寄存器 D0~D2 共 3 行与 16 位寄存器 D10~D12 共 3 行作 MOR(矩阵或(OR) 运算) ,将结果存于 16 位寄存器 D20~D22 共 3 行中。 X0 MOR D0 D10 D20 K3 1 11 000 110000 11 000 110000 11 000 110000 010101010101010 1010101010101010 1010101010101010 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 11 0 01100 11 0 01100 11 0 01100 1 1 1 1 1 1 1 1 1 1 1 1 1111 1 1 1 1 1 1 1 1 b15 b0 MOR S 1 S 2 D 执行前 执行后 D0 D1 D2 D10 D11 D12 D20 D21 D22 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-398 API 指令码 操作数 功能 182 MXOR P 矩阵异或(XOR) 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * S2 * * * * * * * D * * * * * * n * * * MXOR, MXORP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 矩阵来源装置 1 S2: 矩阵来源装置 2 D: 运算结果 n: 数组长度(n=K1~K256) 指令说明: 1. 两个矩阵来源依数组长度 n 将 S1 及 S2 作矩阵的‘异或 ’(XOR)运算并将结果存于 D。 2. 矩阵的‘异或’( XOR)运算规则为两位不同则结果为 1,否则为 0。 3. 若 S1, S2, D 操作数指定 KnX, KnY, KnM, KnS ,只可指定 n=4。 程序范例: 当 X0=On 时,16 位寄存器 D0~D2 共 3 行与 16 位寄存器 D10~D12 共 3 行作 MXOR(矩阵异或 (XOR)运算) ,将结果存于 16 位寄存器 D20~D22 共 3 行中。 X0 MXOR D0 D20 K3D10 执行前 执行后 1 11 000 110000 11 000 110000 11 000 110000 0 10 10 10 10 10 10 10 1010101010101010 1010101010101010 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 00100 1 00100 1 00100 1 1 1 1 1 1 1111 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 b15 b0 MXOR S 1 S 2 D D0 D1 D2 D10 D11 D12 D20 D21 D22 3. 指令集 3-399 API 指令码 操作数 功能 183 MXNR P 矩阵同或(XNR) 运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * S2 * * * * * * * D * * * * * * n * * * MXNR, MXNRP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 矩阵来源装置 1 S2: 矩阵来源装置 2 D: 运算结果 n: 数组长度 (K1~K256) 指令说明: 1. 两个矩阵来源依数组长度 n 将 S1 及 S2 作矩阵的‘同或 ’(XNR)运算并将结果存于 D。 2. 矩阵的‘同或’(XNR)运算规则为两位相同则结果 1,否则为 0。 3. 若 S1, S2, D 操作数指定 KnX, KnY, KnM, KnS ,只可指定 n=4。 程序范例: 当 X0=On 时,16 位寄存器 D0~D2 共 3 行与 16 位寄存器 D10~D12 共 3 行作 MXNR(矩阵同或 (XNR)运算) ,将结果存于 16 位寄存器 D20~D22 共 3 行中。 X0 MXNR D0 D20 K3D10 执行前 执行后 1 11 000 110000 11 000 110000 11 000 110000 010101010101010 1010101010101010 10 10 10 10 10 10 10 10 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1000 1 000 1000 1 1 1 11 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 b15 b0 MXNR S 1 S 2 D D0 D1 D2 D10 D11 D12 D20 D21 D22 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-400 API 指令码 操作数 功能 184 MINV P 矩阵反相 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * * D * * * * * * n * * * MINV, MINVP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵来源装置 D: 运算结果 n : 数组长度(K1~K256) 指令说明: 1. 矩阵来源 S 依数组长度 n 作矩阵的反相并将结果存于 D。 2. 若 S1, S2, D 操作数指定 KnX, KnY, KnM, KnS ,只可指定 n=4。 程序范例: 当 X0=On 时,16 位寄存器 D0~D2 共 3 行与 16 位寄存器 D10~D12 共 3 行作 MINV(矩阵反相运 算) ,将结果存于 16 位寄存器 D20~D22 共 3 行中。 X0 MINV D0 D20 K3 执行前 执行后 0 0 0 11 1 1 1 1 0 0 0 0 0 0 11 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1010101010101010 1010101010101010 1010101010101010 b15 b0 MINV S D D0 D1 D2 D20 D21 D22 3. 指令集 3-401 API 指令码 操作数 功能 185 MCMP P 矩阵比较 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * S2 * * * * * * * n * * * D * * * * * *** MCMP, MCMPP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 矩阵来源装置 1 S2: 矩阵来源装置 2 n: 数组长度(K1~K256) D: 指针 Pr,用以存放目标的位置值 指令说明: 1. 每次比较依两个矩阵来源指针 Pr 地址。将 S1 及 S2 两个矩阵中的每一个 bit 从位置 D 开始作比 较,找出值不同的位置,再将此位置值存到 D 中,完成此次比较。 2. 由矩阵比较标志 M1088 决定比较相同值(M1088=1)或不同值(M1088=0),当比较到达时立 即停止比较动作,矩阵位寻找标志 M1091=1。当比较到最后一个 bit 时,矩阵搜寻结束标志 M1089 = On 比较到达的编号存于 D 中,下一次扫描周期时,再由第 0 个 bit 开始比较,同时矩阵搜寻 起始标志 M1090=1。当 D 的值超过范围时指针错误标志 M1092 =1。 3. 在矩阵指令运作中,通常需要有一个 16 位寄存器来指定矩阵中 16n 个单点的某个单点当作运算 对象。 此寄存器称为矩阵的指针 Pr(Pointer),由使用者于指令中指定,其有效范围为 0~16n-1 , 分别对应至矩阵中的位 b0 ~ b16n-1。在运作中应避免更动到 Pr 值,以免影响其正确的比较找 寻,若 Pr 值超出此范围则矩阵指针错误标志 M1092 设为 1 ,且本指令不执行。 4. 若矩阵搜寻结束标志 M1089 与矩阵位寻找标志 M1091 同时发生则会同时=1。 5. 若 S1, S2, D 操作数指定 KnX, KnY, KnM, KnS ,只可指定 n=4。 程序范例: 当 X0 由 Off→On, 矩阵搜寻起始标志 M1090=0 ,故由指针当时值加 1 的 bit 位置 (标注 * 处) 开 始往下比较找寻位状态不同 (M1088=0 为找不同)者。 设指针当时值 D20=2,当 X0 由 Off→On 时动作 4 次,可得到如 (n, o, p, q) 四个执行结果。 1. D20=5, 矩阵位寻找标志 M1091=1, 矩阵搜寻结束标志 M1089=0. 2. D20=45, 矩阵位寻找标志 M1091=1, 矩阵搜寻结束标志 M1089=0. 3. D20=47, 矩阵位寻找标志 M1091=0, 矩阵搜寻结束标志 M1089=1. 4. D20=1, 矩阵位寻找标志 M1091=1, 矩阵搜寻结束标志 M1089=0. X0 MCMPP D0 D10 D20K3 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-402 b0 1 0 11000 1 000 11000 1 000 1100 1 1 1 1 1 1 1 1 1 D20 1 1 1 0 0 0 0 0 0 1 1 1 10101010101101 1010101010101010 101101010101010 b47 MCMP b47 b0 0 01 1 10 PointerD0 D1 D2 D10 D11 D12 2 标志位说明: M1088: 矩阵比较标志, 比较相同值 M1088=1,比较不同值 M1088=0 。 M1089: 矩阵搜寻结束标志,当比较到最后一个 bit 时, M1089=1。 M1090: 矩阵搜寻起始标志, 由第一个 bit 开始比较,M1090=1。 M1091: 矩阵位寻找标志, 比较到达时立即停止比较动作 M1091=1。 M1092: 矩阵指针错误标志, 指针 Pr 值超出此范围则 M1092=1. 3. 指令集 3-403 API 指令码 操作数 功能 186 MBRD P 矩阵位读出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * n * * * D * * * * * *** MBRD, MBRDP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵来源装置 n: 数组长度(K1~K256). D: 指针 Pr,用以存放目标的位置值 指令说明: 1. 当指令执行时,一开始判断 M1094(矩阵指针清除标志)是否为 On, 若为 On, 指针 D 清除 为 0 ,由 S 的第 0 个开始读取,把每一个 bit 的 On/Off 状态读取到 M1095 (矩阵旋转位移输出 进位标志)。当读取完一 bit 时,判断 M1093 (矩阵指针递增标志) 是否为 On ,若 On 把指针 D 加 1,当读取到最后一个 bit 时, M1089 (矩阵搜寻结束标志) =On,指 针 D 记录着读取的 bit 编 号,然后结束本指令的执行。 2. 矩阵的指针 Pr (pointer)由使用者于指令中指定,其有效范围为 0~16n-1,分别对应至矩阵中的位 b0 ~ b16n-1 。若 Pr 值超出此范围则矩阵指针错误标志 M1092 设为 1 ,且不执行此指令。 3. 若 S1, S2, D 操作数指定 KnX, KnY,KnM, KnS ,只可指定 n=4。 程序范例: 1. 当 X0 由 Off→On 时, 设指针清除标志 M1094=On,矩阵指针递增标志 M1093=1,所以每读 取一次指针 Pr 增加 1 。 2. 设指针当时值 D20=45,当 X0 由 Off→On 时动作 3 次,可得到如(n, o, p) 三个执行结果。 D20=46, 矩阵旋转位移输出进位标志 M1095=0,矩阵搜寻结束标志 M1089=0。 D20=47, 矩阵旋转位移输出进位标志 M1095=1,矩阵搜寻结束标志 M1089=0。 D20=47, 矩阵旋转位移输出进位标志 M1095=1, 矩阵搜寻结束标志 M1089=1。 X0 MBRDP D0 D20K3 b0 D20 45 10101010101101 1010101010101010 1101010101010 b47 0 01 01 Pointer D0 D1 D2 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-404 标志位说明: M1089: 矩阵搜寻结束标志,当比较到最后一个 bit 时 M1089=1。 M1092: 矩阵指针错误标志, 指针 Pr 值超出此范围则 M1092=1。 M1093: 矩阵指针递增标志, 将指针目前值+1。 M1094: 矩阵指针清除标志, 将指针目前值清除为 0。 M1095: 矩阵旋转位移输出进位标志。 3. 指令集 3-405 API 指令码 操作数 功能 187 MBWR P 矩阵位写入 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * n * * * D * * * * * *** MBWR, MBWRP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵来源装置 n: 数组长度(K1~K256) D: 指针 Pr,用以存放目标的位置值 指令说明: 1. 当指令执行时,一开始判断 M1094 (矩阵指针清除标志) 是否为 On. 若为 On, 指针 D 清除为 0 ,把 M1096 (矩阵位移输入补位标志) 的值由 S 的第 0 个 bit 开始写入,当写完一个 bit 时, 判断 M1093 (矩阵指针递增标志) 是否为 On, 若 On 把指针 D 的值加 1,当写到最后一个 bit 时 M1089 (矩阵搜寻结束标志) =On, 指针 D 记录着读取的 bit 的编号,然后结束本指令的执行。 若 D 的值超过范围则 M1092=1。 2. 矩阵的指针 Pr (pointer)由使用者于指令中指定,其有效范围为 0~16n-1,分别对应至矩阵中的位 b0 ~ b16n-1 。若 Pr 值超出此范围则矩阵指针错误标志 M1092 设为 1 ,且不执行此指令。 3. 若 S1, S2, D 操作数指定 KnX, KnY,KnM, KnS ,只可指定 n=4。 程序范例: 1. 当 X0 由 Off→On,设矩阵指针清除标志 M1094=Off, 矩阵指针递增标志 M1093=1,所以每写 入一次指针 Pr 增加 1。 2. 设指针当时值 D20=45, M1096 (矩阵位移输入补位标志) =1,当 X0 由 Off→On 时动作一次, 可得到如下结果: X0 MBWRP D0 K3 D20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-406 1 b0 01010101010 101 1010101010101010 101101010101010 b47 D2045 1S 1 M1096 10 10 10 10 10 10 10 1 1010101010101010 101101010101010 1S 0 1 b47 D2045 Pointer Pointer ()矩阵移位输入补位标志 D0 D1 D2 D0 D1 D2 执行前 执行后 标志位说明: M1089: 矩阵搜寻结束标志,当比较到最后一个 bit 时 M1089=1。 M1092: 矩阵指针错误标志, 指针 Pr 值超出此范围则 M1092=1。 M1093: 矩阵指针递增标志, 将指针目前值+1。 M1094: 矩阵指针清除标志, 将指针目前值清除为 0。 M1096: 矩阵旋转位移输入补位标志。 3. 指令集 3-407 API 指令码 操作数 功能 188 MBS P 矩阵位移位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * D * * * * * * n * * * MBS, MBSP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵来源装置 D: 运算结果 n: 数组长度 (K1~K256) 指令说明: 1. 矩阵来源依数组长度将 S 矩阵位做左或右移位控制 T。 M1097=0 矩阵位左移,M1097=1 矩阵 位右移。每次移动一位,因位移而腾出的空位(左移时为 b0 , 右移时为 b16n-1) 则以 M1096 (补 位标志) 的状态填补。而因位移而挤出的位 (左移时为 b16n-1 ,右移时为 b0)状态则送到 M1095 (进位标志) 去,然后将结果存入 D。 2. 本指令一般都是使用脉冲执行型指令 (MBSP). 3. 若 S1, S2, D 操作数指定 KnX, KnY,KnM, KnS ,只可指定 n=4。 4. 标志位: M1095: 矩阵移位输出进位标志 M1096: 矩阵移位输入补位标志 M1097: 矩阵位移方向标志 程序范例 1: 当 X0=On 时, M1097=Off 作矩阵左移。 设补位标志 M1096=0,16 位寄存器 D0~D2 矩阵作左移, 将结果存于 16 位寄存器 D20~D22 矩阵中,进位标志 M1095 = 1。 X0 RST MBSP D0 D20 K3 M1097 执行前 执行左移后 1 b0 01010101010 101 1 010 10 10 10 10 10 10 1011010 10 101010 b15 0 0 0 M1096 101010101010 100 1010101010101010 1011010101010100 0 S D 1 M1095 M1095 MBS M1097=0 D0 D1 D2 D0 D1 D2 D20 D21 D22 进位标志 进位标志 补位标志 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-408 程序范例 2: 当 X1=On 时,M1097=On 作矩阵右移,设补位标志 M1096=1,16 位寄存器 D0~D2 矩阵作右移, 将结果存于 16 位寄存器 D20~D22 矩阵中,进位标志 M1095 = 0。 X1 M1097 MBSP D0 D20 K3 执行前 执行右移后 1 b0 01010101010 101 1010101010101010 1011010 10 101010 b15 0 0 101010101010 101 1010101010101010 1110 10 10 10 10 100 0 S D 0 M1095 M1095 MBS M1097=1 1 1 M1096 D0 D1 D2 D20 D21 D22 补位标志 进位标志 进位标志 3. 指令集 3-409 API 指令码 操作数 功能 189 MBR P 矩阵位循环移位 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * D * * * * * * n * * * MBR, MBRP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵来源装置 D: 运算结果 n: 数组长度 (K1~K256) 说明 : 1. 矩阵来源依数组长度将 S 矩阵位做左或右循环移位控制,M1097=0 决定矩阵位左循环移位, M1097=1 决定矩阵位右循环移位。因移位造成的空位(左移时为 b0 ,右移时为 b16n-1) 由移 出位(左移时为 b16n-1 ,右移时为 b0) 状态填补,将结果存入 D。移出位不但用以填补前述的 空位,同时并将它的状态送到进位标志 M1095。 2. 本指令一般都是使用脉冲执行型指令(MBRP) 。. 3. 若 S1, S2, D 操作数指定 KnX, KnY,KnM, KnS ,只可指定 n=4。 4. 标志位: M1095: 矩阵移位输出进位标志 M1097: 矩阵移位方向标志 程序范例 1: 当 X0=On 时 M1097=Off 作矩阵左循环移位,16 位寄存器 D0-D2 矩阵作左循环移位,将结果存于 16 位寄存器 D20-D22 矩阵中, 进位标志 M1095 = 1。 X0 MBRP D0 D20 K3 RST M1097 执行前 执行左循环移位后 1 B0 01010101010 101 1010101010101010 1011010 10 101010 b15 0 0 101010101010 101 1010101010101010 1011010101010100 0 S D 1 M1095 M1095 MBR M1097=0 D0 D1 D2 D20 D21 D22 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-410 程序范例 2: 当 X1=On 时, M1097=On 作矩阵右循环移位,16 位寄存器 D0~D2 矩阵作右循环移位,将结果存 于 16 位寄存器 D20~D22 矩阵中,进位标志 M1095 = 0。 X1 MBRP D0 D20 K3 M1097 执行前 执行右循环移位后 M1097=1 1 b0 01010101010 101 1 010 10 10 10 10 10 10 1011010 10101010 b15 0 0 101010101010 101 1010101010101010 1011010101010100 0 S D 0 M1095 M1095 MBR D0 D1 D2 D20 D21 D22 3. 指令集 3-411 API 指令码 操作数 功能 190 MBC P 矩阵位状态计数 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * * n * * * D * * * * * *** MBC, MBCP: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 矩阵来源装置 n: 数组长度 (K1~K256) D: 运算结果 指令说明: 1. 依数组长度 n 计算 S 矩阵中所有位为 1 或为 0 的个数,并将数目存于 D 中。. 2. 若 S1, S2, D 操作数指定 KnX, KnY,KnM, KnS ,只可指定 n=4。 3. 当 M1098=1 时, 计算矩阵位为 1 的个数, M1098=0 时计算矩阵位为 0 的个数, 当计算出来的结 果为 0 时, M1099=1。 4. 标志位: M1098: 矩阵计数字为 0 或位为 1 标志 M1099: 矩阵计数结果为 0 时 On 程序范例: 当 X0=On 时,D0~D2 的矩阵中,当 M1098=1 时计算矩阵位为 1 的位总数存于 D10 中,当 M1098=0 时,计算矩阵位为 0 的位总数被存于 D10 中。 X0 MBC D0 K3 D10 11111 101 11111 1010 11111 1010 0 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 M1098=0 36 M1098=1 D0 D1 D2 D10 D10 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-412 API 指令码 操作数 功能 191 D PPMR 双轴相对点对点运动 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * S * * * D * DPPMR: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: X 轴脉冲输出数目。 S2: Y 轴脉冲输出数目。 S: 点到点之间的最高输出频率。 D: 脉 冲输出装置。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. 脉冲输出方式仅支持”脉冲+方向”模式。 3. S1、S2 分别代表 X 轴(Y0)与 Y 轴(Y2)指定脉冲输出数目(相对指定),其输出数目范围为 -2,147,483,648~ + 2,147,483,647 个,其中正负号代表正反方向。当在正方向频率波现在值缓存 器 CH0(D1031 上位、D1030 下位)、CH1(D1337 上位、D1336 下位)会增加。在反方向时,则 会减少。 4. D 脉冲输出装置,只可指定 Y0; Y0 为 X 轴脉冲输出装置,Y1 为 X 轴之方向信号(Off 为正方向 On 为负方向),Y2 为 Y 轴脉冲输出装置,Y3 为 Y 轴之方向信号(Off 为正方向 On 为负方向)。 当方向信号有输出时,脉冲输出结束后并不会立即 Off,须等指令条件接点 Off 时,方向信号才 会 Off。 5. D1340 为两轴运动启动/结束频率设定,其设定值小于 6Hz 时,将以 6Hz 输出;D1343 为两轴运 动加速第一段速与减速最后一段速之加减速时间设定,加减速时间设定不可低于 20ms,若低于 20ms 则以 20ms 输出,出厂默认值为 100ms。 6. 最高输出频率设定小于 100Hz 时以 100Hz 输出,大于 100kHz 时以 100kHz 输出。 7. 两轴同步运动指令启动时,其 Y 轴的启动频率及加减速时间将使用 X 轴设定的数值,并且不建 议使用 M1348 分离加减速时间,否则有可能造成两轴不同时间到达目标地址;另外两轴同动中, 亦不支持立即暂停旗标停止脉冲输出,如需要停止输出脉冲,请关闭条件接点即可。 8. 当两轴运动的输出脉冲个数其中之一等于 0 时,则只输出(具有加减速)有输出个数的那一轴;当 两轴运动的输出脉冲个数其中之一少于 20 个时,则加减速区段将会自动取消,并以最高不超过 3kHz 的频率直接输出两轴的输出脉冲个数。 9. 指令无使用次数限制,但假设 Y 轴(Y2)输出已被使用中,则 XY 轴将会无法输出。 10. 当两轴同动输出结束时,将会设定 M1029=On 来表示。 3. 指令集 3-413 程序范例: 1. 画一个菱型如下图 (0,0) (-27000,-27000) (0,-55000) (27000,-27000) X轴 Y轴 2. 操作步骤: „ 规划四点的坐标如下(0,0)、(-27000,-27000)、(0,-55000)及(27000,-27000)如上图,计算 四点的相对地址的坐标如下(-27000,-27000)、(27000,-28000)、(27000,27000)及 (-27000,27000),分别放在 32bit(D200,D202)、(D204,D206)、(D208,D210)、 (D212,D214)。 „ PLC RUN,并设定 M0 为 ON,则开始两轴画线。 D214 M1029 DPPMR END D210DPPMR D206DPPMR K100000D202DPPMR Y0= D0 K1 = D0 K2 = D0 K4 M0 K1 D0 D0 M0 M1029 K100000 Y0 K100000 Y0 K100000 Y0 D200 D204 D208 D212 = D0 K3 RST MOV INCP 3. 动作说明: 当 PLC RUN,M0=ON 时,开始以频率 100kHz 执行第一段点对点运动,在每一段点对点运动结 束后,D0 加 1,自动执行第二段点对点运动,以此类推,直到执行完第四段点对点运动。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-414 补充说明: 1. 旗标信号说明:: M1029: 两轴脉冲输出执行完毕。 2. 特殊缓存器说明: D1030、D1031: 两轴运动 X 轴(Y0)输出的脉冲现在值缓存器,对应旋转方向而增加或减 少现在值 D1031(High word)、D1030(Low word)。 D1336、D1337: 两轴运动 Y 轴(Y2)输出的脉冲现在值缓存器,对应旋转方向而增加或减 少现在值 D1337(High word)、D1336(Low word)。 D1340: API 191 DPPMR、API 192 DPPMA 指令执行两轴运动 X 轴(Y0)与 Y 轴 (Y2)的加速第一段速与减速最后一段速之频率设定。 D1343: API 191 DPPMR、API 192 DPPMA 指令执行两轴运动 X 轴(Y0)与 Y 轴 (Y2)的加速第一段速与减速最后一段速之加减速时间设定。 3. 指令集 3-415 API 指令码 操作数 功能 192 D PPMA 双轴绝对点对点运动 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * S * * * D * DPPMA: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: X 轴脉冲输出数目。 S2: Y 轴脉冲输出数目。 S: 点到点之间的最高输出频率。 D: 脉 冲输出装置。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. 脉冲输出方式仅支持”脉冲+方向”模式。 3. S1、S2 分别代表 X 轴(Y0)与 Y 轴(Y2)指定脉冲输出数目(绝对地址指定),其输出数目范围为 -2,147,483,648~ + 2,147,483,647 个,其中正负号代表正反方向。当在正方向频率波现在值缓存 器 CH0(D1031 上位、D1030 下位)、CH1(D1337 上位、D1336 下位)会增加。在反方向时,则 会减少。 4. D 脉冲输出装置,只可指定 Y0; Y0 为 X 轴脉冲输出装置,Y1 为 X 轴之方向信号(Off 为正方向 On 为负方向),Y2 为 Y 轴脉冲输出装置,Y3 为 Y 轴之方向信号(Off 为正方向 On 为负方向)。 当方向信号有输出时,脉冲输出结束后并不会立即 Off,须等指令条件接点 Off 时,方向信号才 会 Off。 5. 其余相关指令、特 M 与特 D 说明,请参照 DPPMR 指令。 程序范例: 1. 画一个菱型如下图 (0,0) (-27,000, -27,000) (0, -55,000) (27,000, -27,000) X轴 Y轴 2. 操作步骤: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-416 „ 规划四点的绝对坐标如下(-27000,-27000)、(0,-55000)、(27000,-27000)及(0,0)如上图, 分别放在 32bit(D200,D202)、(D204,D206)、(D208,D210)、(D212,D214)。 „ PLC RUN,并设定 M0 为 ON,则开始双轴画线。 D214DPPMA D210DPPMA D206DPPMA K100000D202DPPMA Y0= D0 K1 = D0 K2 = D0 K4 K100000 Y0 K100000 Y0 K100000 Y0 M1029 END M0 K1 D0 D0 M0 M1029 K0 D1030 = D0 K3 RST DMOV MOV INCP D212 D208 D204 D200 K0 D1336DMOV 3. 动作说明: 当 PLC RUN,M0=ON 时,开始以频率 100kHz 执行第一段点对点运动,在每一段点对点运动结 束后,D0 加 1,自动执行第二段点对点运动,以此类推,直到执行完第四段点对点运动。 3. 指令集 3-417 API 指令码 操作数 功能 193 D CIMR 双轴相对位置圆弧补间 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * S * D * DCIMR: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: X 轴脉冲输出数目。 S2: Y 轴脉冲输出数目。 S: 参数设定。 D: 脉冲输出装置。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. 脉冲输出方式仅支持”脉冲+方向”模式。 3. S1、 S2 分别代表 X 轴(Y0)与 Y 轴(Y2)指定脉冲输出数目(相对地址指定),其输出数目范围为 -2,147,483,648~ + 2,147,483,647 个,其中正负号代表正反方向。当在正方向频率波现在值缓存 器 CH0(D1031 上位、D1030 下位)、CH1(D1337 上位、D1336 下位)会增加。在反方向时,则 会减少。 4. S 之下 16 位 (方向设定):设定 K0 为顺时针 20 段输出,可画出 90°圆弧如图(一)所示;设定 K1 为逆时针 20 段输出,可画出 90°圆弧如图(二)所示。 5. S 之上 16 位(行走时间设定):基本时间单位 0.1 秒;设定范围为 K2~K200(0.2 秒~20 秒)。此指 令设限于脉冲最高输出频率之限制,因此当设定时间快过于实际输出时间时,其设定值将会自动 被修正。 (0,0) 20区段 X 轴 Y 轴 (S ,S )12 20 区 段 (0,0) 20区段 X 轴 Y 轴 (S ,S )12 20 区 段 图(一) 图(二) 6. D 脉冲输出装置,只可指定 Y0;Y0 为 X 轴脉冲输出装置,Y1 为 X 轴之方向信号,Y2 为 Y 轴 脉冲输出装置,Y3 为 Y 轴之方向信号。当方向信号有输出时,脉冲输出结束后并不会立即 Off, 须等指令条件接点 Off 时,方向信号才会 Off。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-418 7. 分别画四个 90°圆弧,当方向信号为 Off 时,其方向为正;方向信号为 On 时,其方向为负。n : 圆弧行走参数,设定 K0 为顺时针,如图(三)所示。n :圆弧行走参数,设定 K1 为逆时针,如图 (四)所示。 Y 轴 X 轴 第一象限第二象限 第三象限 第四象限 Y 轴 X 轴 第四象限 第一象限 第三象限 第二象限 图(三) 图(四) 8. 当两轴运动在 20 段状态执行时,指令刚启动的那次指令运算时间约需 2ms;当其中一轴输出脉 冲个数为 0 个时,则另一轴会依据设定的运算时间做直线方式输出脉冲(具有加减速);当其中一 轴少于 500 个个数时,则会自动以两轴直线补间方式输出脉冲;当其中一轴输出超过 1 千万个时, 则将会无法启动。 9. 若是使用者欲设定超出上述脉冲个数范围时,建议可调整服务器齿轮比的功能来达成。 10. 指令每次执行时,只能画出一个 90°的圆弧,但是此圆弧可以不是个正圆弧,也即是 XY 轴指定 的输出脉冲个数可不相同。 11. 无启动频率与加减速时间之设定。 12. 指令无使用次数限制,但假设 Y 轴(Y2)已被使用中,则 XY 轴将会无法输出。 13. S 下 16 位之方向设定只能设定 K0~K1,其余设定值均不能使用。 14. S 上 16 位之行走时间设定值可设定慢于建议的最快设定时间,但不可快过于建议的最快设定时 间。当未设定时,会以下表之最快设定时间运行。 15. 圆弧补间之最快行走时间的建议值,如下表 段数 最大目标位置(Pulse) 建议最快设定时间(单位 100ms) 500~20,000 2 20,000~29,999 3 : : 20 段分辨率 10,000,000 以下 200 以下 16. 旗标信号说明:: M1029: 两轴脉冲输出执行完毕。 17. 特殊缓存器说明: D1030、D1031: 两轴运动 X 轴(Y0)输出的脉冲现在值缓存器,对应旋转方向而增加或减 少现在值 D1031(High word)、D1030(Low word)。 D1336、D1337: 两轴运动 Y 轴(Y2)输出的脉冲现在值缓存器,对应旋转方向而增加或减 少现在值 D1337(High word)、D1336(Low word)。 3. 指令集 3-419 程序范例 1: 1. 画一个椭圆如下图所示 Y 轴 X 轴 ()1600,2200 ()3200,0()0,0 (1600,-2200) 2. 操作步骤: „ 规划四点的坐标如下(0,0)、(1600,2200)、(3200,0)、(1600,-2200)及如上图,计算四点的 相对地址的坐标如下(1600,2200)、(1600,-2200)、(-1600,-2200)及(-1600,2200),分别放 在 32bit(D200,D202)、(D204,D206)、(D208,D210)、(D212,D214)。 „ 选择顺时针画弧,内部自定最快运行时间(S =D100= K0) „ PLC RUN,并设定 M0 为 ON,则开始画椭圆 D214 M1029 DCIMR Y0 END D210DCIMR Y0 D206DCIMR Y0 D202DCIMR Y0= D0 K1 = D0 K2 = D0 K4 M0 K1 D0 D0 M0 M1029 D100 D100 D100 D100 K0 D100 D212 D208 D204 D200 RST MOV MOV INCP = D0 K3 3. 动作说明: 当 PLC RUN,M0=ON 时,开始执行第一段圆弧,在每一段圆弧结束后,D0 加 1,自动执行第 二段圆弧,以此类推,直到执行完第四段圆弧。 程序范例 2: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-420 1. 画一个斜的椭圆如下图 Y 轴 X 轴 (0,0) (26000,26000) (34000,18000) (8000,-8000) 2. 操作步骤: „ 首先找出椭圆在 X,Y 轴的最大与最小值坐标如下(0,0) 、(26000,26000)、(34000,18000)、 (8000,-8000)如上图,计算四点的相对地址的坐标如下(26000,26000)、(8000,-8000)、 (-26000,-26000) 及 (-8000,8000) ,分别放在 32bit(D200,D202) 、 (D204,D206) 、 (D208,D210)、(D212,D214)。 „ 选择顺时针画弧,内部自定最快运行时间(S =D100= K0) „ PLC RUN,并设定 M0 为 ON,则开始画椭圆 D212 M1029 DCIMR Y0 END D208DCIMR Y0 D204DCIMR Y0 D200DCIMR Y0= D0 K1 = D0 K2 = D0 K3 M0 K1 D0 D0 M0 M1029 D100 D100 D100 D100 K0 D100 D214 D210 D206 D202 = D0 K4 RST MOV MOV INCP 3. 动作说明: 当 PLC RUN,M0=ON 时,开始执行第一段圆弧,在每一段圆弧结束后,D0 加 1,自动执行第 二段圆弧,以此类推,直到执行完第四段圆弧。 3. 指令集 3-421 API 指令码 操作数 功能 194 D CIMA 双轴绝对位置圆弧补间 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * S * D * DCIMA: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: X 轴脉冲输出数目。 S2: Y 轴脉冲输出数目。 S: 参数设定。 D: 脉冲输出装置。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. 脉冲输出方式仅支持”脉冲+方向”模式。 3. S1、S2 分别代表 X 轴(Y0)与 Y 轴(Y2)指定脉冲输出数目(绝对地址指定),其输出数目范围为 -2,147,483,648~ + 2,147,483,647 个,当 S1、S2 大于脉冲现在值缓存器 CH0(D1031 上位、D1030 下位)、CH1(D1337 上位、D1336 下位)会以正方向输出,其方向信号 Y1、Y3 为 Off。当 S1、 S2 小于脉冲现在值缓存器会以反方向输出,其方向信号 Y1、Y3 为 On。 4. 其余相关指令、特 M 与特 D 说明,请参照 DCIMR 指令说明。 程序范例 1: 1. 画一个椭圆如下图 Y 轴 X 轴 ()16000,22000 ()32000,0()0,0 (16000,-22000) 2. 操作步骤: „ 规划四点的绝对坐标如下 (16000, 22000)、(32000, 0)、(16000, -22000)、(0,0)及如上图, 分别放在 32bit(D200, D202)、(D204, D206)、(D208, D210)、(D212, D214)。 „ 选择顺时针画弧,内部自定最快运行时间(S =D100= K0) „ PLC RUN,并设定 M0 为 ON,则开始画椭圆。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-422 D214 M1029 DCIMA Y0 END D210DCIMA Y0 D206DCIMA Y0 D202DCIMA Y0= D0 K1 = D0 K2 = D0 K4 M0 K1 D0 D0 M0 M1029 K0 D1030 D100 D100 D100 D100 K0 D100 K0 D1336 = D0 K3 D200 D204 D208 D212 RST DMOV DMOV MOV MOV INCP 3. 动作说明: 当 PLC RUN,M0=ON 时,开始执行第一段圆弧,在每一段圆弧结束后,D0 加 1,自动执行第 二段圆弧,以此类推,直到执行完第四段圆弧。 程序范例 2: 1. 画一个斜的椭圆如下图 Y 轴 X 轴 (0,0) (26000,26000) (34000,18000) (8000,-8000) 2. 操作步骤: „ 首先找出椭圆在 X,Y 轴的最大与最小值绝对坐标如下(0,0)、(26000,26000)、 (34000,18000)、(8000,-8000)及如上图,分别放在 32bit(D200,D202)、(D204,D206)、 (D208,D210)、(D212,D214)。 3. 指令集 3-423 „ 选择顺时针画弧,内部自定最快运行时间(S =D100= K0)。 „ PLC RUN,并设定 M0 为 ON,则开始画椭圆。 D214 M1029 DCIMA Y0 END D210DCIMA Y0 D206DCIMA Y0 D202DCIMA Y0= D0 K1 = D0 K2 = D0 K4 M0 K1 D0 D0 M0 M1029 K0 D1030 D100 D100 D100 D100 K0 D100 K0 D1336 D212 D208 D204 D200 = D0 K3 RST DMOV DMOV MOV MOV INCP 3. 动作说明: 当 PLC RUN,M0=ON 时,开始执行第一段圆弧,在每一段圆弧结束后,D0 加 1,自动执行第 二段圆弧,以此类推,直到执行完第四段圆弧。ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-424 API 指令码 操作数 功能 195 D PTPO 单轴建表式脉冲输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * D * DPTPO: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 来源起始装置 S2: 区段数 D: 脉冲输出装置 指令说明: 1. 依区段数 S2 + 0 的内容值,每一区段连续占用 4 个 D 寄存器(S1+0)、(S1+1)、(S1+2)、(S1+3), 其 中, (S1 + 0)为输出频率设置值, (S1 + 2) 为脉冲输出个数输出值。 2. S1 的频率输出范围为 6Hz~100,000Hz. 3. S2 + 0: 为设置区段数目 (设置范围为: 1 ~ 40). S2 + 1: 为显示目前执行中的区段编号,当每次程 序扫描到此指令时,此指令将自动更新目前执行中的区段编号。 4. D 脉冲输出装置只能指定 Y0 和 Y2 的输出点,并且只能提供脉冲输出控制。至于方向控制则需 要由使用者另外编写程序。 5. 此指令不能提供加减速功能,因此当指令关闭时,则脉冲输出会立即停止。 6. 在每一次程序扫描时,通道 Y0,Y2 分别只能被一个指令执行。但是此指令无使用次数限制。 7. 当指令开始执行时,此时不允许使用者更新设置区段的频率或个数值,若是更改也将会无法改变 实际的输出。 8. M1262=On 启动 DPTPO 指令脉冲循环输出功能。 程序范例: 1. 当 X0 = On 时,将会依使用者在各个区段所设置的频率与脉冲数做输出。 2. 表格格式: S2=D300, 区段数(D300=K40) S1=D0, 频率值(S1+0) S1=D0, 输出个数(S1+2) K1(第 1 段) D1, D0 D3, D2 K2(第 2 段) D5, D4 D7, D6 : : : K40(第 40 段) D157, D156 D159, D158 3. 在第 D301 寄存器可查看目前执行的区段编号。 3. 指令集 3-425 X0 D0DPTPO D300 Y0 END 4. 脉冲输出曲线图如下: 頻率(Hz) t t t t1 2 .... 40 (D1,D0) (D3,D2) (D159,D158) (D5,D4) (D157,D156) .... .... (D7,D6) 時間(S) 标志位及特殊寄存器说明: 1. 标志位说明: M1029 Y0 脉冲输出执行完毕时,M1029=On M1102 Y2 脉冲输出执行完毕时,M1102=On M1078 Y0 脉冲禁止输出时,M1078= On M1104 Y2 脉冲禁止输出时,M1104= On M1262 M1262=On 启动 DPTPO 指令脉冲循环输出功能 M1538 Y0 脉冲输出指示标志 M1540 Y2 脉冲输出指示标志 2. 特殊寄存器说明: D1030 Y0 输出的脉冲总数现在值寄存器(Low word). D1031 Y0 输出的脉冲总数现在值寄存器(High word). D1336 Y2 输出的脉冲总数现在值寄存器(Low word). D1337 Y2 输出的脉冲总数现在值寄存器(High word). ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-426 API 指令码 操作数 功能 197 D CLLM 闭回路定位控制 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * S2 * * * S3 * * * D * DCLLM: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 回授来源装置 S2: 回授目标个数 S3: 输出目标频率 D: 脉冲输出装置 指令说明: 1. S1 对应中断表: 来源装置 X4 X6 C243 ~ C254 搭配输出 Y0 Y2 Y0 Y2 中断编号 I40□ I60□ I010 I050 … = 1:上升沿触发; … = 0: 下降沿触发 a) 当 S1 选择 X 输入点时,脉冲输出到达所设定的回授目标个数 S2 后,会以设置的最后一 段速的频率继续输出,直到 X 输入点中断产生。 b) 当 S1 来源装置选择高速计数器时, 脉冲输出达到所设定之 S2 回授目标个数后, 会以设定的 最后一段速的频率继续输出, 直到回授回来的脉冲, 达到所设定之回授目标个数后, 脉冲立 即停止输出。 c) S1 可选择高速计数器 C 或外部中断 X 输入点。若选择 C 装置, 则须先使用 DCNT 指令启 动高速计数功能与 EI 及 I0x0 中断服务程序来开启高速中断;若选择外部中断 X 点,则须 使用 EI 指令与 Ix0x 中断服务程序来开启外部中断功能。 d) S1 使用计数器时需在程序内写 DHSCS 指令见范例 2。 2. S2 输出数目范围:-2,147,483,648 ~ +2,147,483,647 (+/- 代表正/反方向)。当在正方向时脉冲 现在值寄存器 CH0(Y0,Y1) (D1031 高字节, D1030 低字节), CH1(Y2,Y3) (D1337 高字节, D1336 低字节)将增加,当在反方向时,则会减少。 3. S3:输出目标频率,若设定小于 6Hz 时以 6Hz 输出;若设定大于 100KHz 则以 100KHz 输出。 4. D 脉冲输出装置, 只可指定 Y0(方向信号为 Y1) 和 Y2(方向信号为 Y3)。当方向信号为 On 输出 时,脉冲输出结束后并不会立即 Off,须等指令接点 Off 时,方向信号才会有 Off。 5. D1340 和 D1352 分别为 CH0 ~CH1 的启动/结束频率设定,设置值最小为 10Hz,出厂默认值 为 100Hz。 6. D1343、D1353 分别为 CH0、CH1 的加减速时间设定。加/减速时间设定不可低于 20ms,若低 于 20ms 则以 20ms 输出。出厂默认值 100ms。 3. 指令集 3-427 7. CH0 和 CH1 可利用(M1534,D1348) 和 (M1535,D1349)选择是否需要加减速分离。当 M1534 和 M1535=On,则 CH0 和 CH1 减速时间由 D1348 和 D1349 决定。 8. D1131、D1132 分别为 CH0、CH1 闭回路控制的输出/输入比率。K1 表示回授目标输入脉冲个 数为 100 个,而输出脉冲个数为 1 个;K200 表示回授目标输入脉冲个数为 100 个,而输出脉 冲个数为 200 个。比率公式: D1131, D1132 比率值即为分子, 其数值(输出)范围为 K1~K10,000, 而比率公式的分母, 其数值(输入)在此内定为 K100, 适用者不须输入。 9. M1305、M1306 可反向 CH0 、CH1 D2 输出方向脚位信号。例如: 预设方向信号 Off 时, 表示正 向输出, 当指令启动前 M1305=On, 则方向信号将变成 On, 表示反向输出。 10. 当使用外部中断时, 为预防中断一直无法发生, 可使用 D1244, D1245 分别限制怠速输出脉冲个 数。 11. DCLLM 指令支持 Mark 与 Mask function.(详见 PLSR 指令补充说明) 闭回路动作说明: 1. 功能:根据反馈计数脉冲或外部中断信号立即停止高速脉冲。 2. 动作示意图: 频率 时间个数 C 高速计数=回授目标个数 或 外部中断产生 目标频率 启动 结束频率/ 加速时间 高速时间 减速时间 怠速时间 输出个数 回授目标个数 比例值 = x /100 3. 调整完成定位时间的原则有: a) 所谓的完成定位时间是指 “加速 + 高速 + 减速 +怠速” (参考上图)。例如调整比例值时, 即可使的全部脉冲输出个数变多或减少,进而减少或增加完成定位的时间。 b) 当使用外部中断时, 为预防中断一直无法发生, 可使用 D1244, D1245 分别限制怠速输出脉 冲个数。使用者可依实际怠速时间的长短,进而判定当次执行结果的好坏。理论上讲,每次 完成定位时间里都留一点点少数的怠速时间是最好的。 c) 由于使用的是闭回路运作,因此最后一段怠速时间不会每次执行时都一样,所以当显示实际 脉冲输出个数的特 D 内容值小于或大于很多换算出来的输出个数(目标个数 x比例值/100), 则可以进行调整比例值、加减速时间或目标频率来改善。 程序范例 1: 外部输入中断立即停止高速脉冲输出 1. 假设使用 X4 作为外部中断输入,并且搭配使用 I401 (上升沿触发) 中断程序, 回授目标个数= 50,000 个;输出目标频率=100KHz;以 及 使 用 Y0, Y1 (CH0)输出脉冲;启动/结束频率 (D1340) = 100Hz;加速时间(D1343) = 100ms; 减速时间 (D1348) = 100ms; 比率值 (D1131) = 100; ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-428 输出个数现在值 (D1030, D1031) = 0。 MOV MOV MOV K100 K100 K100 D0 M1002 D1131 D1343 D1348 SET DMOV K0 D1030 EI FEND IRET END DCLLM X4 K50000 K100000 Y0 INC M1534 M0 M1000 I401 MOV K100 D1340 MOV K100 D1343MOV K100 D1343 2. 执行结果如下: 100KHz D1340 D1343 X4 Off --> On D1340 D1348 预计输出个数: 50 ,00 0 实际输出 (D1030, D1031) = K51000 频率 Y0 停止输出 时间个数 程序范例 2: 回授脉冲个数立即停止高速脉冲输出 1. 假设编码器回授为单相输入并使用 C243 计数 (执行前最好清除为 0);回授目标个数 = 50,000 个;输出目标频率= 100KHz; 以及使用 Y0 输出脉冲; 启动/结束频率 (D1340) = 200Hz; 加速 时间 (D1343) = 300ms; 减速时间 (D1348) = 600ms; 比率值(D1131) = 100; 输出个数现在值 (D1030, D1031) = 0。 3. 指令集 3-429 MOV MOV MOV K100 K600 D0 M1002 D1131 D1348 SET DMOV K0 D1030 EI FEND IRET END DCLLM C243 K50000 K100000 Y0 INC M1534 M0 M1000 I010 K200 D1340 MOV D1343MOV K300 D1343 DMOV K0 C243 DCNT C243 K9999 DHSCS C243K50000 I010 2. 若第一次运行结果如下: 100KHz D1340 D1348D1343 C243 =K50000 6s 频率 Y0 停止输出 时间个数 预计输出个数: 50,000 实际输出 (D1030, D1031) = K50,600 3. 观察第一次运行结果: a) 将实际输出 50,600 – 预计输出 50,000 = 600 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-430 b) 600 x (1/100Hz) = 6s (怠速时间) c) 判定 6 秒太久,因此调高比率值 (D1131) 为 K101. 4. 接着第二次运行结果: 100KHz D1340 D1348D1343 C243 =K50000 600ms 频率 Y0 停止输出 时间个数 预计输出个数: 50,500 实际输出 (D1030, D1031) = K50,560 5. 观察第二次运行结果: a) 将实际输出 50,560 – 预计输出 50,500 = 60 b) 60 x (1/100Hz) = 600ms (怠速时间) c) 判定 600ms 差不多刚好,因此将比率值(D1131) 定为 K101 即可完成设计。 标志位及特殊寄存器说明: 1. 标志位说明: M1029: CH0(Y0, Y1)脉冲输出完毕后, M1029=On M1102: CH1(Y2, Y3)脉冲输出完毕后, M1102=On M1078: M1078= On,CH0 (Y0, Y1) 立即暂停旗标 M1104: M1104= On,CH1 (Y2, Y3) 立即暂停旗标 M1108: CH0 (Y0, Y1) 减速停止中指示标志, 于减速至停止输出过程中时,M1108= On M1110: CH1 (Y2, Y3) 减速停止中指示标志, 于减速至停止输出过程中时,M1110= On M1156: 当 M1156=On 时, 启动 Y0 对应外部中断 I400/I401(X4) 对标功能(Mark) M1158: 当 M1158=On 时, 启动 Y2 对应外部中断 I600/I601(X6) 对标功能(Mark) M1538: CH0 (Y0, Y1) 已停止输出指示标志。M1538= On 表示 CH0 (Y0, Y1)已停止输出 M1540: CH1 (Y2, Y3) 已停止输出指示标志。M1540= On 表示 CH1 (Y2, Y3)已停止输出 M1305: CH0 (Y0, Y1)方向信号反向标志,M1305=On, CH0 (Y0, Y1)脉冲方向信号变为反向 M1306: CH1 (Y2, Y3)方向信号反向标志,,M1306=On, CH1 (Y2, Y3)脉冲方向信号变为反向 M1347: CH0 (Y0, Y1)脉冲完毕自动复位标志。M1347= On 时,CH0 (Y0, Y1) 脉冲输出完 毕后 M1347 自动变为 Off M1524: CH1 (Y2, Y3)脉冲输出完毕自动复位标志。M1524= On 时,CH1 (Y2, Y3) 脉冲输 出完毕后 M1524 自动变为 Off 3. 指令集 3-431 M1534: CH0 (Y0, Y1)减速时间分开设定, 须褡配 D1348 M1535: CH1 (Y2, Y3)减速时间分开设定, 须褡配 D1349 2. 特殊寄存器说明: D1026: M1156=On, 设定 Y0 遮蔽对标脉冲输出个数 (LOW WORD), 数值 0≦ 时, 表示不 启动此功能(默认值=0) D1027: M1156=On, 设定 Y0 遮蔽对标脉冲输出个数 (HIGH WORD), 数值 0≦ 时, 表示不 启动此功能(默认值=0) D1028: M1158=On, 设定 Y2 遮蔽对标脉冲输出个数 (LOW WORD), 数值 0≦ 时, 表示不 启动此功能(默认值=0) D1029: M1158=On, 设定 Y2 遮蔽对标脉冲输出个数 (HIGH WORD), 数值 0≦ 时, 表示不 启动此功能(默认值=0) D1030: CH0 (Y0, Y1) 目前输出脉冲个数 Low word D1031: CH0 (Y0, Y1) 目前输出脉冲个数 High word D1131: CH0 (Y0, Y1) 闭回路控制之输出/输入比率 (默认值: K100) D1132: CH1 (Y2, Y3) 闭回路控制之输出/输入比率 (默认值: K100) D1244: CH0 (Y0, Y1) 设定怠速输出脉冲个数, 数值 0≦ 时, 表示不启动此功能(默认值=0) D1245: CH1 (Y2, Y3) 设定怠速输出脉冲个数, 数值 0≦ 时, 表示不启动此功能(默认值=0) D1336: CH1 (Y2, Y3) 目前输出脉冲个数 Low word D1337: CH1 (Y2, Y3) 目前输出脉冲个数 High word D1340: CH0 (Y0, Y1) 脉冲输出, 启始/结束频率 (默认值= K100) D1352: CH1 (Y2, Y3) 脉冲输出, 启始/结束频率 (默认值=K100) D1343: CH0 (Y0, Y1) 脉冲输出, 加减速时间设定 (默认值=K100) D1353: CH1 (Y2, Y3) 脉冲输出, 加减速时间设定 (默认值=K100) D1348: 当 M1534=On 时, CH0 (Y0, Y1) 脉冲输出, 可设定减速时间 (默认值=K100) D1349: 当 M1535=On 时, CH1 (Y2, Y3) 脉冲输出, 可设定减速时间 (默认值=K100) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-432 API 指令码 操作数 功能 198 D VSPO 可变速度脉冲输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * S2 * * * S3 * * * D * DVSPO: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 输出目标频率 S2: 目标输出个数 S3: 加减速间隔频率与时间设定 D: 脉冲输出装 置(Y0,Y2) 指令说明: 1. S1 目标频率最高可输入 100kHz;当指令正在执行中时,允许变更目标频率,当变更目标频率之 后,此指令将依 S3 设定的间隔频率与时间,自动加减速至目标频率。 2. S2 目标输出个数只有在指令第一次启动时为有效数值,接下来指令执行中变更目标个数将会无 效;目标个数可设定为负数,但若 D1220 或 D1221 无设定方向输出时,则 PLC 自动会视为正 数。若 S2 目标输出个数指定为 0 时, 则会连续输出。 3. S3 输出参数为两个 16 位之参数设定,S3+0 参数为指定加减速的间隔频率,S3+1 参数为指定加 减速的间隔时间;此间隔频率与时间皆可在指令执行中进行变更。其间隔频率输入范围为 1Hz ~ 32767Hz;间隔时间输入范围为 1ms ~ 80ms;超出最大或最小值,自动以最大或最小值执行。 4. D 输出装置只支持 Y0 与 Y2 输出,若需要使用 Y1 或 Y3 当方向输出,则需设定 D1220 或 D1221 为 k1 模式(Pulse/Dir)。 5. 指令正在执行中时,只能在变更目标频率时,才能一起变更间隔频率与间隔时间;当目标频率设 为 0 时,PLC 将依据间隔频率与时间自动减速至停止输出,并于停止输出后,自动设定暂停中 指示标志(Y0 为 M1538、Y2 为 M1540)。当目标频率重新输入(不为 0),则 PLC 将依据间隔 频率与时间加速至目标频率,直到目标输出脉冲个数输出完毕。 6. 功能说明: z 脉冲输出示意图如下: 频率 时间 t1 t2 t3 g1 g2 g3 S2 个数 3. 指令集 3-433 z 上图符号定义: t1 Æ第一段目标频率、t2 Æ第二段目标频率、t3 Æ第三段目标频率 g1 Æ第一段自动加速时间、g2 Æ第二段自动加速时间、g3 Æ第三段自动减速时间、 S2 Æ为总输出脉冲个数。 z 区段分解说明: 1. 第 1 区段:假设 t1 为 6kHz,间隔频率 1kHz 与间隔时间 10ms 第 1 段分解如下图: 频率 时间 1kHz t1=6kHz 10ms 10ms 10ms 10ms 10ms g1=50ms 0Hz 2. 第 2 区段:假设 t2 为 11kHz,间隔频率 2kHz 与间隔时间 20ms 第 2 段分解如下图: 频率 时间 2kHz t2=11kHz 20ms g2=40ms 20ms 20ms 1kHz 2kHz t1=6kHz 3. 第 3 区段:假设 t3 为 3kHz,间隔频率 2kHz 与间隔时间 20ms 第 3 段分解如下图: ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-434 2kHz t3=3kHz t2=11kHz g3=60ms 20ms 20ms 20ms 20ms 频率 时间 开始改变 改变 的频率t3 7. 范例说明请参考 API199 程序范例 标志位及特殊寄存器说明: 1. 标志位说明: M1029: CH0 (Y0, Y1) 脉冲输出完毕后, M1029=On M1102: CH1 (Y2, Y3) 脉冲输出完毕后, M1102=On M1078: M1078= On,CH0 (Y0, Y1) 立即停止输出。 M1104: M1104= On,CH1 (Y2, Y3)立即停止输出。 M1538: CH0 (Y0, Y1)停止输出指示标志。M1538= On 表示 CH0 (Y0, Y1)已停止输出。 M1540: CH1 (Y2, Y3)停止输出指示标志。M1540= On 表示 CH1 (Y2, Y3)已停止输出。 M1305: CH0 (Y0, Y1)方向信号反向标志,M1305=On, CH0 (Y0, Y1)脉冲方向信号变为反 向。 M1306: CH1 (Y2, Y3)方向信号反向标志,,M1306=On, CH1 (Y2, Y3)脉冲方向信号变为反 向。 2. 特殊寄存器说明: D1030: CH0 (Y0, Y1) 目前输出脉冲个数 Low word D1031: CH0 (Y0, Y1) 目前输出脉冲个数 High word D1336: CH1 (Y2, Y3) 目前输出脉冲个数 Low word D1337: CH1 (Y2, Y3) 目前输出脉冲个数 High word D1220: Y0 输出模式选择, 请参考 PLSY 指令说明. D1221: Y2 输出模式选择, 请参考 PLSY 指令说明 3. 指令集 3-435 API 指令码 操作数 共能 199 D ICF 立即变更频率指令 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * * * D * DVSPO: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 变更目标频率 S2: 加减速间隔频率与时间设定 D: 脉冲输出装置(Y0,Y2) 指令说明: 1. S1 变更目标频率最高可输入 100kHz;当指令执行后,将立即变更输出目标频率,并立即自动做 加减速动作。 2. 此指令需要 DVSPO 或 DPLSY 指令被启动之后,搭配启动才能正常的被执行;当此指令与 DVSPO 指令搭配时,则 DICF 的 S1、S2 与 D 操作数,必须与 DVSPO 的 S1、S3 与 D 操作数使 用同一个装置;当此指令与 DPLSY 指令搭配时,则 DICF 的 S1 与 D 操作数,必须与 DPLSY 的 S1 与 D 操作数使用同一个装置。 3. 当此指令与 DPLSY 指令搭配时,此 S2 将视为无效操作数。 4. 当此指令与 DVSPO 指令搭配时,此 S2 将为自动加减速的间隔频率与时间设定参数,参数定义 与 DVSPO 指令的 S3 操作数相同。 5. D 输出装置只支持 Y0 与 Y2。 6. 此指令建议被运用于中断服务程序或子程序内,可得到较好的反应时间与效果。 7. 标志位及特殊寄存器说明请参考 API 198 DVSPO 指令补充说明。 8. 功能说明: z 当使用 DVSPO 指令变换目标频率时,则实际变换频率的时间点,将会受到程序扫描周期 时间与间隔时间影响,因而不能及时变更速度,其速度变更示意图如下所示: 频率 时间 间隔频率 此时间受扫描时间影响 间隔 间时 目标频率变更 实际启动频率变更 间隔 间时ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-436 z 当使用 DICF 指令于中断服务程序中变换目标频率时,则实际变换频率的时间点,将只会 受到 DICF 指令执行时间(约 10us)影响,其速度变更示意图如下所示: 频率 时间 间隔频率 固定约为 反应时间10us 间隔 间时 中断发生 实际启动频率变更 间隔 间时 程序范例 1. M0=On 启动加速至 100KHz,共有 100 段每段间隔频率=1000Hz、间隔时间=10ms,段数计算 (100,000-0)÷1000=100 段。 2. X6 外部输入中断进入,立即变更目标频率减速至 50KHz,共有 125 段每段间隔频率=800Hz、间 隔时间=20ms,段数计算(100,000-50,000)÷800=125 段。 3. X7 外部输入中断进入,立即变更目标频率减速至 100Hz,共有 25 段((50,000-100)÷2000)每段间 隔频率=2000Hz、间隔时间=100ms,段数计算(50,000-100)÷2000=25 段。 4. 进入 100Hz 运转至脉冲输出达 1,000,000pulse。 频率(Hz ) 时间(ms ) 1000Hz 10ms 20ms 800Hz 100ms 2000Hz M0=ON X6=ON X7=ON 100KHz 50KHz 100Hz 1,000,000pulse 3. 指令集 3-437 MOV M0 EI MOVMOV FEND DMOVP K100000 D500 K1000 D502 K10 D503 DVSPO K1000000 Y0D502D500 MOV M1000 MOVMOV IRET DMOV K50000 D500 K800 D502 K20 D503 DICF Y0D502D500 I601 MOV M1000 MOVMOV IRET DMOV K0 D500 K2000 D502 K100 D503 DICF Y0D502D500 I701 END ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-438 API 指令码 操作数 功能 202 SCAL P 比例运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * S3 * * * D * SCAL,SCLAP: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 来源数值数据 S2: 斜率 。S2 的单位是 0.001 S3: 偏移量 D: 目的地 装置 操作数范围 S1, S2, S3 是 -32768~32767。 指令说明: 1. 指令内部运算公式为: D = (S1 × S2) ÷ 1000 + S3 2. S2 和 S3 的数值须由使用者依下列斜率与偏移量公式先行运行,然后将小数点 4 舍 5 入后,再 取 16 位的整数值输入。 3. 斜率公式为: S2 = [(目的数值最大值 – 目的) ÷ (来源数值最大值 – 来源数值最小值)] × 1000 4. 偏移量公式为: S3 =目的数值最小值 – 来源数值最小值 × S2 ÷ 1000 5. 输出曲线如下图所示: D S1 目的数值 最小值 目的数值 最大值 目的数值 来源数值 来源数值数 最大 值 来源数值 最小值 程序范例 1: 1. 已知 S1 数值数据来源为 500,S2 斜率为 168,S3 偏移量为–4.,当 X0=On 时, SCAL 指令执 行,可在 D0 得到所要求的比例值。 3. 指令集 3-439 2. 运算方式:D0 = (500 × 168 ) ÷ 1000 + (-4)=80 X0 SCAL K500 K168 K-4 D0 D S10 =500 斜率=168偏移量=-4 目的数值 来源数值 程序范例 2: 1. 已知 S1 数值数据来源为 500, S2 斜率为–168 ,S3 偏移量 534。当 X10=On 时, SCAL 指 令执行,可在 D10 得到所要求的比例值。 2. 运算方式:D10 = (500 × -168 ) ÷ 1000+ 534=450 X10 SCAL K500 K-168 K534 D10 偏移量=534 D S=50010 斜率=-168 目的数值 来源数值 补充说明: 1. 此 SCAL 指令示用于已知斜率与偏移量,若不知斜率与偏移量建议使用 SCLP 指令来做运算。 2. 输入参数 S2 时,其输入数值必须为–32,768 ~ 32,767 之间的数值 (实际数值为 –32,768 ~ 32,767)。若是 S2 实际数值超过范围时,请改用 SCLP 指令运算。 3. 使用者运用斜率换算公式时,须注意来源数值最大值,必须大于来源数值最小值,而目的数值最 大值,并不限制大于目的数值最小值。 4. 若 D > 32,767,则 D =32,767。若 D < -32,768,则 D =-32,768。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-440 API 指令码 操作数 功能 203 D SCLP P 参数型比例运算 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * D * SCLP, SCLPP: 7 steps DSCLP, DSCLPP: 13 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:数值数据来源 S2:参数 D:目的地装置 指令说明: 1. 16 位指令 S2 参数设置内容如下: 装置编号 参数名称与说明 设置范围 S2 来源数值最大值 -32768~32767 S2+1 来源数值最小值 -32768~32767 S2+2 目的数值最大值 -32768~32767 S2+3 目的数值最小值 -32768~32767 2. 16 位指令 S2 操作数将连续占用 4 个装置。 3. 32 位指令 S2 参数设置内容如下。 设置范围 装置编号 参数名称与说明 整数 浮点数 S2、S2+1 来源数值最大值 S2+2、3 来源数值最小值 S2+4、5 目的数值最大值 S2+6、7 目的数值最小值 -2,147,483,648~2,147,483,647 32 位浮点数范围 4. 32 位指令 S2 操作数将连续占用 8 个装置。 5. 指令内部运算公式为 D = [(S1 – 来源数值最小值) × (目的数值最大值 – 目的数值最小值)] ÷ (来源数值最大值– 来源数值最小值) + 目的数值最小值。 6. 来源数值和目的数值运算关系: y=kx+b, y=目的数值 (D) ,k=斜率=(目的数值最大值 – 目的数值最小值)÷(来源数值最大值– 来源数值最小值) ,x=来源数值(S1) ,b=偏移量=目的数值最小值 – 来源数值最小值 × 斜率 7. 将上面的各参数带入公式 y=kx+b,即可推导得出指令内部运算公式: y=kx+b = D =k S1 + b = 斜率× S1 +偏移量 = 斜率× S1 + 目的数值最小值 – 来源数值最小 值 × 斜率 = 斜率 × ( S1 –来源数值最小值) + 目的数值最小值 = ( S1 –来源数值最小值)×(目3. 指令集 3-441 的数值最大值 – 目的数值最大值) ÷ (来源数值最大值 – 来源数值最小值) + 目的数值最小 值。 8. 假如 S1 > 来源数值最大值, S1 = 来源数值最大值。假如 S1 < 来源数值最小值, S1 = 来源 数值最小值。 当输入数值与参数设置完成后,则其输出曲线将如下图所示: D S1 目的数值 最小值 目的数值 最大值 目的数值 来源数值 来源数值 最大值 来源数值 最小值 程序范例 1: 1. 已知 S1 数值数据来源为 500,来源数值最大值 D0=3000,来源数值最小值 D1=200,目的数值 最大值 D2=500,目的数值最小值 D3=30。当 X0=On 时, SCLP 指令执行,可在 D10 得到所 要求的比例值。 2. 运算方式:D10 = [(500 –200) × (500–30)] ÷(3000–200) +30=80.35。取整数, D10 =80。 X0 SCLP K500 D0 D10 X0 MOV MOV MOV MOV K3000 K200 K500 K30 D0 D1 D2 D3 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-442 D S1 0 =500 =3000 = 200 =30 =500 来源数值 目的数值最大值 目的数值 目的数值最小值 数值来源 最大值 数值来源 最小值 程序范例 2: 1. 已知 S1 数值数据来源为 500,来源数值最大值 D0=3000, 来源数值最小值 D1=200,目的数 值最大值 D2=30,目的数值最小值 D3=500。当 X0=On,SCLP 指令执行,可在 D10 得到所要 求的比例值。 2. 运算方式: D10 = [(500 –200) × (30–500)] ÷(3000–200) +500=449.64。四舍五入取整数, D10 =450。 X0 SCLP K500 D0 D10 X0 MOV MOV MOV MOV K3000 K200 K30 K500 D0 D1 D2 D3 S1=500 D 0 =3000 =200 =30 =500 目的数值 目的数值最大值 目的数值最小值 来源数值 数值来源 最小值 数值来源 最大值 3. 指令集 3-443 程序范例 3: 1. 已知 S1 数值数据来源 D100=F500,来源数值最大值 D0=F3000,来源数值最小值 D2=F200, 目的数值最大值 D4=F500,目的数值最小值 D6=F30。当 X0=On 时, SET M1162,使用浮点 数运算且 DSCLP 指令执行。可在 D10 得到所要求比例值。 2. 运算方式: D10 = [(F500 –F200) × (F500–F30)] ÷(F3000–F200) +F30=F80.35。取整数, D10 =F80。 X0 DSCLP D100 D0 D10 X0 DMOVR DMOVR F3000 F200 F500 F500 F30 D0 D2 D4 D6 DMOVR DMOVR DMOVR D100 SET M1162 补充说明: 1. 16 位 S1 操作数数值设置范围:来源数值最大值≧S1≧来源数值最小值,-32768~32767。如果 超出边界值以边界值运算。 2. 32 位 S1 整数操作数数值设置范围:来源数值最大值≧S1 ≧来源数值最小值, -2,147,483,648~2,147,483,647。如果超出边界值以边界值运算。 3. 32 位 S1 浮点数操作数数值设置范围:来源数值最大值≧S1≧来源数值最小值,依 32 位浮点数 范围。如果超出边界值以边界值运算。 4. 使用者运用时,须注意来源数值最大值,必须大于来源数值最小值,而目的数值最大值,并不限 制大于目的数值最小值。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-444 API 指令码 操作数 功能 205 D CMPT P 表格比较指令 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * n * * * D * * * * * * CMPT: 9 steps CMPTP: 9 steps DCMPT: 17 steps DCMPTP: 17 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 来源起始装置 1。 S2: 来源起始装置 2。 n: 比较数据长度(n=1~16)。 D: 目标装置。 指令说明: 1. S1 与 S2 来源装置可使用 T, C, D 装置, 其中 C 装置只可使用 16 位的 C 装置(C0~C199)。 2. 32 位指令 n 操作数之高 16 位数值为无效数值。 3. n 操作数之低 8 位数值表示比较之长度设定,其 16 位指令范围为 1~16,32 位指令范围为 1~32; 比数值 1 还小以 1 执行,比最大值还大以最大长度执行。 4. D 操作数写入值都将以 16 位写入, 如遇长度不足 16 时, 未被对应之 bit 值固定都为 0; 举例: n 为 K8, 则 bit0~7 将依比对结果设定, 而 bit8~15 都固定为 0。 5. 32 位指令 ES2/EX2V3.0 以上版本、SS2V2.8 以上版本、SA2V2.6 以上版本、SX2V2.4 以上版 本与 SE 机种支持。 6. n 操作数之高 8 位数值表示比较等于或大小之条件设定,其设定比较条件与数值对应表如下: 数值 K0 K1 K2 K3 K4 比较条件 S1 = S2 S1 < S2 S1 <= S2 S1 > S2 S1 >= S2 7. n 操作数设定范例:16 位指令设定 H0108,表示进行 8 对 8 笔数值做大于比较,32 位指令设定 H00000320,表式进行 32 对 32 笔数值做小于比较。 8. 当比较条件设定值超出范围或韧体版本不支持此比较条件时,将内定以预设“等于”执行比较之条 件。ES2/EX2V3.0 以上版本、SS2V2.8 以上版本、SA2V2.6 以上版本、SX2V2.4 以上版本与 SE 机种支持比较条件设定。 9. 16 位指令之比较数值都以有号数 16 位数值做比较,32 位指令之比较数值以有号数 32 位数值 (M1162=off)或浮点数值(M1162=on)做比较。 10. D 操作数写入值都将以 16 或 32 位写入,如遇长度不足 16 或 32 时,未被对应之 bit 值固定都为 0;举例:n 为 K8,则 bit0~7 将依比对结果设定,而 bit8~15 或 31 都固定为 0。 11. 比对结果符合条件时,则对应之 bit 将被设定为 1,反之不符合则为 0。 3. 指令集 3-445 程序范例: 当 M0=On 时, 将位于 D0~D7 与 D20~D27 内的 16 位数值做比较, 比较结果存于 D100 内。 M0 CMPT D0 K8 D100D20 z 其中 D0 的字符串内容如下表: 编号 D0 D1 D2 D3 D4 D5 D6 D7 数值 K10 K20 K30 K40 K50 K60 K70 K80 z 其中 D20 的字符串内容如下表: 编号 D20 D21 D22 D23 D24 D25 D26 D27 数值 K12 K20 K33 K44 K50 K66 K70 K88 z 经由 CMPT 指令比较之后, 比较相同的数值其所对应的 bit 将会被设定为 1, 其余不相同数 值所对应的 bit 都会被清除为 0, 故 D100 所得到的内容如下表所示: Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8~15 0 1 0 0 1 0 1 0 0…0 D100 H0052 (K82) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-446 API 指令码 操作数 功能 206 ASDRW 台达伺服器通讯指令 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * S * ASDRW: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 联机装置地址(K0~K254) S2: 通讯功能码 S: 来源装置(或目的装置) 指令说明: 1. ASDRW 指令支持通讯端口 COM2 (RS-485), COM3 (RS-485)。 2. S1: 伺服器站号, 站号 0 为广播功能, PLC 不接收回传值, 站号范围 0~254。 3. S2: 功能码, 请参照下述功能码说明。 4. S: 来源装置(或目的装置), 请参照下述功能码说明。 5. 功能码说明: A-type, AB type, A+ type, B type 专用 功能码 功能说明 伺服器代码 伺服通讯地址 发送与接收数值 K0(H0) 读取伺服状态值 P0-04 ~ P0-08 0004H ~ 0008H S+0 ~ S+4: 请参照伺服器手册 说明 K1(H1) 读取伺服寄存器值 P0-09 ~ P0-16 0009H ~ 0010H S+0 ~ S+7: 请参照伺服器手册 说明;B Type 不支援 K2(H2) 写入伺服寄存器值 P0-09 ~ P0-16 0009H ~ 0010H S+0 ~ S+7: 请参照伺服器手册 说明;B Type 不支援 K3(H3) JOG 速度输入, 正 转, 反转, 停止 P4-05 0405H S: 数值内容可输入范围为 1~3000, 4999, 4998, 5000 K4(H4) Servo On/Off P2-30 021EH S: k1=On, 其它数值=Off K5(H5) 写入内部速度命令 (共三组) P1-09 ~ P1-11 0109H ~ 010BH S+0 ~ S+2: 数值可输入范围 -5000~+5000 K6(H6) 写入内部扭力命令 (共三组) P1-12 ~ P1-14 010CH ~ 010EH S+0 ~ S+2: 数值可输入范围 -300~+300 A2-type 专用 功能码 功能说明 伺服器代码 伺服通讯地址 发送与接收数值 K16(H10) 读取伺服状态值 P0-09 ~ P0-13 0012H ~ 001BH S+0 ~ S+9: 请参照伺服器手册 说明 3. 指令集 3-447 A2-type 专用 功能码 功能说明 伺服器代码 伺服通讯地址 发送与接收数值 K17(H11) 写入伺服状态值 P0-17 ~ P0-21 0022H ~ 002BH S+0 ~ S+9: 请参照伺服器手册 说明 K18(H12) 写入映射参数值 P0-25 ~ P0-32 0032H ~ 0041H S+0 ~ S+15: 请参照伺服器手 册说明 K19(H13) JOG 速度输入, 正 转, 反转, 停止 P4-05 040AH S: 数值内容可输入范围为 1~5000, 4999, 4998, 0 K20(H14) Servo On/Off P2-30 023CH S: k1=On, 其它数值=Off K21(H15) 写入内部速度命令 (共三组) P1-09 ~ P1-11 0112H ~ 0117H S+0 ~ S+5: 数值可输入范围 -60000~+60000 K22(H16) 写入内部扭力命令 (共三组) P1-12 ~ P1-14 0118H ~ 011DH S+0 ~ S+5: 数值可输入范围 -300~+300 K23(H17) 映像伺服参数的目 标设定 P0-35 ~ P0-42 0046H~ 0055H S+0 ~ S+15: 请参照伺服器手 册说明 6. 相关标志信号与特殊寄存器说明请参考 API 80 RS 指令补充说明。 程序范例 1: COM2(RS-485), 1. 当 X0 为 On 时, PLC 会由 COM2 发送出读取伺服器状态之通讯命令。 2. 当 PLC 接收到伺服器回传值之后, M11127 会为 On, 并且将接收到的数值直接填入 D0 ~ D4 中。 H87MOV M1002 D1120 SET M1120 K100MOV D1129 RST M1127 ASDRW K0K1 X0 D0 连线装置位置 K1 功能码 读取伺服状态值 K0 资料位置 M1127 SET X0 M1122 ASCII 模式设定RST M1143 SET M1143 资料传送接收完毕标志复位 设定通讯协定 9600,8,E,1 通讯协定保持 通讯协定逾时时间 100ms ASCII D0 模式 接收回传资料以 数值形式储存于使用者指定的 开始的: HEX RTU HEX D0 模式 接收回传资料以 数值形式储存于使用者指定的 开始的: 寄存器。 寄存器。 设定送信要求 接收资料内容处理 RTU 模式设定ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-448 程序范例 2: COM3(RS-485) 1. 当 M0 为 On 时, PLC 会由 COM3 发送出读取伺服器状态的通讯命令。 2. 当 PLC 接收到伺服器回传值之后, M1318 会为 On, 并且将接收到的数值直接填入 D0 ~ D4 中。 H87MOV M1002 D1109 SET M1136 K100MOV D1252 RST M1318 ASDRW K0K1 M0 D0 连线装置位置 K1 功能码 读取伺服状态值 K0 资料位置 M1318 SET M0 M1316 ASCII 模式设定RST M1320 SET M1320 资料传送接收完毕标志复位 设定通讯协定 9600,8,E,1 通讯协定保持 通讯协定逾时时间100ms ASCII D0 模式 接收回传资料以 数值形式储存于使用者指定的 开始的寄存器: HEX 。 RTU HEX D0 模式 接收回传资料以 数值形式储存于使用者指定的 开始的寄存器: 。 设定送信要求 接收资料内容处理 RTU 模式设定 补充说明: COM2/COM3 标志动作说明: 动作 COM2 COM3 说 明 M1120 M1136 通讯设定保持用 M1143 M1320 ASCII/RTU 模式选择 D1120 D1109 通讯协议 协议设定 D1121 D1255 PLC 通讯地址 M1122 M1316 通讯指令送信要求发送标志 发送要求 D1129 D1252 通讯逾时异常时间, 时间定义 (ms) 接收完毕 M1127 M1318 通讯指令数据接收完毕标志 - M1319 通讯指令数据接收错误标志 - D1253 通讯错误代码 M1129 - 接收逾时 M1140 - 通讯指令数据接收错误 M1141 - Exception Code 存放在 D1130 错误讯息 D1130 - MODBUS 回传错误码记录(Exception Code) 3. 指令集 3-449 API 指令码 操作数 功能 207 CSFO 撷取速度与追随输出指令 适用机种 ES2/ EX2 SS2 SA2 SX2 SE 位装置 字符装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * S1 * D * CSFO: 7 steps 脉冲执行型 16 位指令 32 位指令 ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE ES2/ EX2 SS2 SA2 SX2 SE 操作数: S: 输入点来源(只能选 X0~X3) S1: 输入撷取个数设定与输入速度显示 D: 输出速度比率设定 与输出速度显示 指令说明: 1. 当 S 输入点来源选择 X0 点时,将只占用 X0 输入点,并且自动对应 Y0(Pulse)高速输出,Y1 只 能为一般点输出;当 S 输入点来源选择 X1 点时,将会占用 X0(A 相)与 X1(B 相)两个输入点,并 且自动对应 Y0(Pulse)/Y1(Dir)高速输出;当 S 输入点来源选择 X2 点时,将只占用 X2 输入点, 并且自动对应 Y2(Pulse)高速输出,Y3 只能为一般点输出;当 S 输入点来源选择 X3 点时,将会 占用 X2(A 相)与 X3(B 相)两点输入点,并且自动对应 Y2(Pulse)/Y3(Dir)高速输出。 2. 当此指令启动时,将会分别需要占用(X0,X1)或(X2,X3)使用之硬件高速计数器功能,因此如果 DCNT 指令已先启动硬件高速计数器,那么此指令将无法被启动;另外如果搭配(Y0,Y1)或(Y2,Y3) 高速输出功能,也已有别的指令启动中,那么此指令同样也无法被执行。 3. 当 S 选择 X1 或 X3 使用 2 相 2 输入时,其计数模式内定为 4 倍频计数,不可变更。 4. 当 Y0 与 Y2 脉冲正在输出时,其相对应之输出脉冲个数的特 D (D1031,D1030 与 D1337,D1336), 也会在指令扫描到时自动更新已输出个数。 5. S1 将连续占用四个 16 位寄存器;S1+0 为输入撷取个数设定,其输入范围在 1 相 1 输入为 K1~K100,2 相 2 输入为 K2~K100,当输入超出范围时,指令将自动以最小值或最大值设定; 当指令已被启动后,也可在线修改输入撷取个数值,但是需等到指令有被扫描过后才会变更; S1+1 为显示最新撷取的速度值(只读),基本单位为 1Hz,速度显示值范围为±10KHz;S1+3, S1+2 为显示 32 位的累积输入计数个数值(只读)。 6. 1 相 1 输入频宽范围为最高 10KHz, 2 相 2 输入频宽范围最高 2KHz 7. D 将连续占用三个 16 位寄存器, D+0 为输出比率设定值, 其设定数值范围为 K1(1%)~K10000(10000%), 当设定值超出范围时, 将以最小或最大值设定, 此比率值也可于指 令启动中修改, 但需等到指令被扫瞄到之后才会变更, D+2与D+1为32位输出速度显示值(只读), 其输出速度基本单位为 1Hz, 输出频率范围为±100KHz。 8. 由于 D+0 比率值为百分比数值输入, 因此当撷取到的输入速度值乘以输出比率值之后, 换算出 低于 1Hz 输出时, 将会是以 0Hz 不输出脉波, 举例: 输入速度为 10Hz, 输出比率为 K5(5%), 那ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-450 么换算 10x0.05=0.5Hz 输出, 因此实际输出为 0Hz, 如果输出比率改为 K15(15%), 那么换算 10x0.15=1.5Hz 输出, 故实际输出为 1Hz。 程序范例: 1. 假设一: D0 设定为 K2, D10 设定为 K100 当(X0,X1)输入速度撷取为+10Hz 输入时(D1=k10), 则(Y0,Y1)将会以+10Hz 输出脉冲 (D12,D11=k10), 当输入速度撷取为−10Hz 输入时(D1=k-10), 则(Y0,Y1)将会以−10Hz 输出脉冲 (D12, D11=k−10)。 2. 假设二: D0 设定为 K2, D10 设定为 K1000 当(X0,X1)输入速度撷取为 +10Hz 输入时(D1=k10), 则(Y0,Y1)将会以+100Hz 输出脉冲 (D12,D11=k100), 当输入速度撷取为−10Hz 输入时(D1=k−10), 则(Y0,Y1)将会以−100Hz 输出 脉冲(D12, D11=k−100)。 3. 假设三: D0 设定为 K10, D10 设定为 K10 当(X0,X1)输入 10 个脉冲之后, 换算速度为+10Hz 输入时(D1=k10), 则(Y0,Y1)将会以+1Hz 输出 脉冲(D12,D11=k1), 当输入速度撷取为−10Hz 输入时(D1=k−10), 则(Y0,Y1)将会以−1Hz 输出脉 冲(D12,D11=k−1)。 M0 CSFO X1 D10D0 3. 指令集 3-451 API 指令码 操作数 功能 215~ 217 D LD# 接点型态逻辑运算 LD# 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** LD#: 5 steps DLD#: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 指令说明: 1. S1 与 S2 的内容作比较的指令。比较结果不为 0 时,该指令导通,比较结果为 0 时,该指令不 导通。 2. 这个指令可以直接与母线连接使用. API No. 16 位指令 32 位指令 导通条件 非导通条件 215 LD& DLD& S1 & S2≠0 S1 & S2=0 216 LD| DLD| S1 | S2≠0 S1 | S2=0 217 LD^ DLD^ S1 ^ S2≠0 S1 ^ S2=0 3. 操作: & :逻辑与 “AND” 运算, | :逻辑或 “OR” 运算, ^ :逻辑异或 “XOR”运算 4. 32 位计数器 (C200~C255)以本指令作运算时,一定要使用 32 位指令 (DLD#),若是使用 16 位 指令 (LD#)时,PLC 判定“程序错误” ,主机面板上“ERROR”指示灯闪烁。 程序范例: 1. LD& (逻辑与“AND” 运算) instruction 指令的结果是比较 C0 和 C10 的内容 。如果结果不等于 0, Y20=ON。 2. LD| (逻辑或“OR” 运算) 指令的结果是比较 D200 和 D300 的内容。如果结果不等于 0,并且 X1=ON, Y21=ON 并保持住. LD C0 C10 LD D200 D300 SET X1 & | Y21 Y20 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-452 API 指令码 操作数 功能 218~ 220 D AND# 接点型态逻辑运算 AND# 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** AND#: 5 steps DAND#: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 Explanation: 1. S1 与 S2 的内容作比较的指令,比较结果不为 0 时,该指令导通,比较结果为 0 时,该指令不 导通。 2. AND# 的指令是与连接点传接的运算指令。 API No. 16 位指令 32 位指令 导通条件 非导通条件 218 AND& DAND& S1 & S2≠0 S1 & S2=0 219 AND| DAND| S1 | S2≠0 S1 | S2=0 220 AND^ DAND^ S1 ^ S2≠0 S1 ^ S2=0 3. 操作: & :逻辑与“AND”运算, | :逻辑或 “OR” 运算, ^ :逻辑异或 “XOR” 运算 4. 32 位计数器(C200~) 以本指令作运算时,一定要使用 32 位指令 (DAND#)。若是使用 16 位指 令 (AND#)时,PLC 判定为“程序错误”,主机面板上 “ERROR” 指示灯闪烁。 程序范例: 1. 当 X0=ON 时, 使用 AND& (逻辑与 “AND” 运算) 指令来比较 C0 和 C10 的内容。如果结果不 等于 0, Y20=ON。 2. 当 X1=OFF 时,使用 AND| (逻辑或 “OR” 运算)指令比较 D10 和 D0 的内容。如果结果不等于 0, Y21=ON 并保持住。 AND C0 C10 AND D10 D0 SET & | Y21 Y20 X0 X1 3. 指令集 3-453 API 指令码 操作数 功能 221~ 223 D OR# 接点型态逻辑运算 OR# 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** OR#: 5 steps DOR#: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 指令说明: 3. S1 与 S2 的内容作比较的指令,比较结果不为 0 时,该指令导通,比较结果为 0 时,该指令不导 通。 4. OR# 的指令是与节点并接的运算指令。 API No. 16 位指令 32 位指令 导通条件 非导通条件 221 OR& DOR& S1 & S2≠0 S1 & S2=0 222 OR| DOR| S1 | S2≠0 S1 | S2=0 223 OR^ DOR^ S1 ^ S2≠0 S1 ^ S2=0 5. 操作: & :逻辑与 “AND”运算, | :逻辑或 “OR”运算, ^ :逻辑异或 “XOR” 运算 6. 32 位计数器(C200~)以本指令作运算时,一定要使用 32 位指令 (DOR#),若是使用 16 位指令 (OR#)时,PLC 判定为 “程序错误”,主机面板上 “ERROR”指示灯闪烁。 程序范例: 当 X2 及 M30 都等于 “ON”时,或者当使用 OR| (逻辑或 “OR” 运算) 指令比较 D10 和 D20 的内容 并且结果不等于 0,或者使用 OR^ (逻辑异或“XOR” 运算) 指令比较 D100 和 D200 的内容并且结果 不等于 0, M60=ON。 OR D100 D200 OR D10 D20 ^ | X2 M30 M60 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-454 API 指令码 操作数 功能 224~ 230 D LD※ 接点型态比较 LD※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** LD※: 5 steps DLD※: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:数据来源装置 1 S2:数据来源装置 2 指令说明: 1. S1 与 S2 的内容作比较的指令。以 “LD=”作为例子,比较结果为”等于”时 ,接点导通,”不等于” 时 , 接点不导通。 2. 该指令可以直接与母线连接使用。 API No. 16 位指令 32 位指令 导通条件 非导通条件 224 LD= DLD= S1=S2 S1≠S2 225 LD> DLD> S1>S2 S1≦S2 226 LD< DLD< S1<S2 S1≧S2 228 LD<> DLD<> S1≠S2 S1=S2 229 LD<= DLD<= S1≦S2 S1>S2 230 LD>= DLD>= S1≧S2 S1<S2 3. 当最左边的位, MSB (16 位指令:b15,32 位指令:b31),在 S1 和 S2 中是 1,这个比较值 会被看作一个负值比较。 4. 32 位计数器(C200~)以本指令作比较时,一定要使用 32 位指令 (DLD※)。若是使用 16 位指令 (LD※)时,PLC 判定为“程序错误”,主机面板上“ERROR” 指示灯闪烁。 程序范例: 5. C10 的内容等于 K200 时, Y20=ON。 6. 当 D200 的内容小于等于 K–30,并且 X1=ON, Y21=ON 并保持住。 LD= K200 C10 Y20 LD<= D200 K-30 X1 SET Y21 3. 指令集 3-455 API 指令码 操作数 功能 232~ 238 D AND※ 接点型态比较 AND※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** AND※: 5 steps DAND※: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1 S2: 数据来源装置 2 指令说明: 1. S1 与 S2 的内容作比较的指令,以“AND=”为例,比较结果为”等于”时 , 该指令导通,”不等于” 时,该指令不导通. 2. AND※的指令是与接点串接的比较指令。 API No. 16 位指令 32 位指令 导通条件 非导通条件 232 AND= DAND= S1=S2 S1≠S2 233 AND> DAND> S1>S2 S1≦S2 234 AND< DAND< S1<S2 S1≧S2 236 AND<> DAND<> S1≠S2 S1=S2 237 AND<= DAND<= S1≦S2 S1>S2 238 AND>= DAND>= S1≧S2 S1<S2 3. 当最左边的位, MSB (16 位指令:b15,32 位指令:b31),在 S1 和 S2 中是 1,这个比较值 会被看作一个负值比较。 4. 32 位计数器 (C200~)以本指令作比较时,一定要使用 32 位指令 (DAND※),若是使用 16 位指 令 (AND※)时,PLC 判定为“程序错误”,主机面板上“ERROR” 指示灯闪烁。 程序范例: 1. 当 X0=ON 时且 C10 的现在值又等于 K200 时,Y20=ON。 2. 当 X1=OFF 而寄存器 D0 的内容又不等于 K-10 的时候,Y21=ON 并保持住。 AND= K200 C10 Y20 AND<> K-10 D0 SET Y21 X1 X0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-456 API 指令码 操作数 功能 240~ 246 D OR※ 接点型态比较 OR※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * *** S2 * * * * * * * * *** OR※: 5 steps DOR※: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1:数据来源装置 1 S2: 数据来源装置 2 指令说明: 1. S1 与 S2 的内容作比较的指令,以“OR=” 为例,比较结果为”等于”时,该指令导通,”不等于” 时,该指令不导通。 2. OR※ 的指令是与接点并接的比较指令。 API No. 16 位指令 32 位指令 导通条件 非导通条件 240 OR= DOR= S1=S2 S1≠S2 241 OR> DOR> S1>S2 S1≦S2 242 OR< DOR< S1<S2 S1≧S2 244 OR<> DOR<> S1≠S2 S1=S2 245 OR<= DOR<= S1≦S2 S1>S2 246 OR>= DOR>= S1≧S2 S1<S2 3. 当最左边的位,MSB (16 位指令: b15, 32 位指令: b31),在 S1 和 S2 中是 1,这个比较值会 被看作一个负值比较。 4. 32 位计数器(C200~) 以本指令作比较时,一定要使用 32 位指令 (DOR※),若是使用 16 位指 令 (OR※)时,PLC 判定为“程序错误”,主机面板上“ERROR”指示灯闪烁。 程序范例: 当 X2 及 M30 都等于“ON”的时候, 或者是 32 位寄存器 D100(D101)的内容大于或等于 K100,000 时, M60=ON。 DOR>= D100 K100000 X2 M30 M60 3. 指令集 3-457 API 指令码 操作数 功能 258 ATMR 接点型态定时器 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * S2 * * * ATMR: 5 steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 定时器编号(T0~T255)。 S2: 设定值(K0~K32,767, D0~D9,999)。 指令说明: 1. 支持机种:ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各机种版本(含)以上。 2. 当 ATMR 指令执行时, 其所指定的定时器线圈受电, 定时器开始计时, 当到达所指定的定时 值(计时值 >= 设定值), 其接点动作如下: NO(Normally Open)接点 连续性 NC(Normally Closed)接点 不导通 程序范例: 设计程序执行以下动作:当 X0 常开接点 ON 时,T5 定时器开始计时,当计时值大于等于 K1000, Y0 常开接点导通。 梯形图(使用 TMR 指令): X0 T5TMR K1000 T5 Y0 梯形图(使用 ATMR 指令): X0 T5ATMR K1000 Y0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-458 API 指令码 操作数 功能 266 D BOUT 字符装置位输出 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * * * * n * * * * * * * * *** BOUT: 5 steps DBOUT: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 数据目的装置。 n: 欲输出之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. 将 BOUT 指令之前的逻辑运算结果输出至指定的位。 线圈接点动作 BOUT 指令 接点 运算结果 线圈 A 接点(常开) B 接点(常闭) FALSE Off 不导通 导通 TRUE On 导通 不导通 程序范例: 梯形图: X0 X1 BOUT K4Y0 K1 指令: 操作说明: LDI X0 载入 X0 之 B 接点 AND X1 串联 X1 之 A 接点 BOUT K4Y0 D0 當 D0=k1, 輸出 Y1 當 D0=k2, 輸出 Y2 3. 指令集 3-459 API 指令码 操作数 功能 267 D BSET 字符装置位动作保持 On 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F D * * * * * * n * * * * * * * * *** BSET: 5 steps DBSET: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 数据目的装置。 n: 欲输出之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. 当 BSET 指令被驱动, 其指定的位被设定为 On, 且被设定的位会维持 On。不管 BSET 指令是否 仍被驱动, 可利用 BRST 指令将该位设为 Off。 程序范例: 梯形图: X0 X1 BSET K4Y0 K1 指令: 操作说明: LDI X0 载入 X0 之 B 接点 AND X1 串入 X1 之 A 接点 BSET K4Y0 D0 當 D0=k1, Y1=On 當 D0=k2, Y2=On ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-460 API 指令码 操作数 功能 268 D BRST 字符装置位清除 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F D * * * * * * n * * * * * * * * *** BRST: 5 steps DBRST: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: D: 数据目的装置。 n: 欲输出之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. 当 BRST 指令被驱动, 其指定的位会被设定为 Off。 程序范例: 梯形图: X0 BRST K4Y0 K5 指令: 操作说明: LD X0 载入 X0 的 A 接点 BRST K4Y0 D0 當 D0=k1, Y1=Off 當 D0=k2, Y2=Off 3. 指令集 3-461 API 指令码 操作数 功能 269 D BLD 字符装置位载人 A 接点 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * n * * * * * * * * *** BLD: 5 steps DBLD: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源装置。 n: 欲加载之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. BLD 指令用于左母线开始的 A 接点或一个接点回路块开始的 A 接点, 它的作用是把当前内容保 存, 同时把取来的接点状态存入累积寄存器内。 程序范例: 梯形图: BLD D0 K3 Y0 指令: 操作说明: BLD D0 K3 载入 D0 Bit3 的 A 接点 OUT Y0 驱动 Y0 线圈 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-462 API 指令码 操作数 功能 270 D BLDI 字符装置位加载 B 接点 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * n * * * * * * * * *** BLDI: 5 steps DBLDI: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源装置。 n: 欲加载之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. BLDI 指令用于左母线开始的 B 接点或一个接点回路块开始的 B 接点, 它的作用是把当前内容保 存, 同时把取来的接点状态存入累积寄存器内。 程序范例: 梯形图: BLDI D0 K1 Y0 指令: 操作说明: BLDI D0 K1 载入 D0 Bit1 的 B 接点 OUT Y0 驱动 Y0 线圈 3. 指令集 3-463 API 指令码 操作数 功能 271 D BAND 字符装置位串联 A 接点 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * n * * * * * * * * *** BAND: 5 steps DBAND: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源装置。 n: 欲加载之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. BAND 指令用于 A 接点的串联连接, 先读取目前所指定串联接点的状态再与接点之前逻辑运算 结果作 “及” (AND) 的运算, 并将结果存入累积寄存器内。 程序范例: 梯形图: X1 BAND D0 K0 Y0 指令: 操作说明: LDI X1 载入 X1 的 B 接点 BAND D0 K0 串联 D0 Bit0 的 A 接点 OUT Y0 驱动 Y0 线圈 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-464 API 指令码 操作数 功能 272 D BANI 字符装置位串联 B 接点 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * n * * * * * * * * *** BANI: 5 steps DBANI: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源装置。 n: 欲加载之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. BANI 指令用于 B 接点的串联连接,它的作用是先读取目前所指定串联接点的状态, 再与接点之 前逻辑运算结果作 “及” (AND) 的运算,并将结果存入累积寄存器内。 程序范例: 梯形图: X1 BANI D0 K0 Y0 指令: 操作说明: LDI X1 载入 X1 的 B 接点 BANI D0 K0 串联 D0 Bit0 的 B 接点 OUT Y0 驱动 Y0 线圈 3. 指令集 3-465 API 指令码 操作数 功能 273 D BOR 字符装置位并联 A 接点 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S * * * * * * n * * * * * * * * *** BOR: 5 steps DBOR: 9 steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源装置。 n: 欲加载之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. BOR 指令用于 A 接点的并联连接,它的作用是先读取目前所指定串联接点的状态, 再与接点之 前逻辑运算结果作 “或” (OR) 的运算,并将结果存入累积寄存器内。 程序范例: 梯形图: X0 Y1 BOR D0 K0 指令: 操作说明: LD X0 载入 X0 的 A 接点 BOR D0 K0 并联 D0 Bit0 的 A 接点 OUT Y1 驱动 Y1 线圈 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-466 API 指令码 操作数 功能 274 D BORI 字符装置位并联 B 接点 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S * * * * * * n * * * * * * * * *** BORI: 5 steps DBORI: 9 steps 脉冲执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S: 数据来源装置。 n: 欲加载之位。 指令说明: 1. ES2/EX2 机种 V1.2(含)以上版本支持。 2. n 操作数的范围 16 位指令为 n=K0~K15, 32 位指令为 n=K0~K31。 3. BORI 指令用于 B 接点的并联连接, 它的作用是先读取目前所指定串联接点的状态再与接点之前 逻辑运算结果作 “或” (OR) 的运算, 并将结果存入累积寄存器内。 程序范例: 梯形图: X0 Y1 BORI D0 K0 指令: 操作说明: LD X0 载入 X0 的 A 接点 BORI D0 K0 并联 D0 Bit0 的 B 接点 OUT Y1 驱动 Y1 线圈 3. 指令集 3-467 API 指令码 操作数 功能 275~ 280 FLD※ 浮点数接点型态比较 LD※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * FLD※: 9 steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1。 S2: 数据来源装置 2。 指令说明: 1. S1 与 S2 的内容作比较的指令。以 “FLD=”作为例子, 比较结果为 ”等于” 时, 该指令导通, ”不等 于” 时, 该指令不导通。 2. FLD※ 指令可直接在 S1, S2 操作数输入浮点数值(例如: F1.2), 或以寄存器 D 存放浮点数值进 行运算。 3. 该指令可以直接与母线连接使用。 API No. 32 位指令 导通条件 非导通条件 275 FLD= S1=S2 S1≠S2 276 FLD> S1>S2 S1≦S2 277 FLD< S1<S2 S1≧S2 278 FLD<> S1≠S2 S1=S2 279 FLD<= S1≦S2 S1>S2 280 FLD>= S1≧S2 S1<S2 程序范例: 当寄存器 D200(D201) 的浮点数内容小于等于 F1.2, 并且 X1=On, Y21=On 并保持住。 FLD<= D200 F1.2 X1 SET Y21 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-468 API 指令码 操作数 功能 281~ 286 FAND※ 浮点数接点型态比较 AND※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * S2 * * * FAND※: 9 steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1。 S2: 数据来源装置 2。 指令说明: 1. S1 与 S2 的内容作比较的指令, 以“FAND=”为例, 比较结果为 ”等于” 时, 该指令导通, ”不等于” 时, 该指令不导通。 2. FAND※ 指令可直接在 S1, S2 操作数输入浮点数值(例如: F1.2), 或以寄存器 D 存放浮点数值进 行运算。 3. FAND※的指令是与接点串接的比较指令。 API No. 32 位指令 导通条件 非导通条件 281 FAND= S1=S2 S1≠S2 282 FAND> S1>S2 S1≦S2 283 FAND< S1<S2 S1≧S2 284 FAND<> S1≠S2 S1=S2 285 FAND<= S1≦S2 S1>S2 286 FAND>= S1≧S2 S1<S2 程序范例: 当 X1=Off, 而寄存器 D100(D101) 的浮点数内容又不等于 F1.2 的时候, Y21=On 并保持住。 FAND<> F1.2 D0 SET Y21 X1 3. 指令集 3-469 API 指令码 操作数 功能 287~ 292 FOR※ 浮点数接点型态比较 OR※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * S2 * * * FOR※: 9steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1。 S2: 数据来源装置 2。 指令说明: 1. S1 与 S2 的内容作比较的指令, 以“FOR=” 为例, 比较结果为 ”等于” 时, 该指令导通, ”不等于” 时, 该指令不导通。 2. FOR ※ 指令可直接在 S1, S2 操作数输入浮点数值(例如: F1.2), 或以寄存器 D 存放浮点数值进 行运算。 3. FOR ※ 的指令是与接点并接的比较指令。 API No. 32 位指令 导通条件 非导通条件 287 FOR= S1=S2 S1≠S2 288 FOR> S1>S2 S1≦S2 289 FOR< S1<S2 S1≧S2 290 FOR<> S1≠S2 S1=S2 291 FOR<= S1≦S2 S1>S2 292 FOR>= S1≧S2 S1<S2 程序范例: 当 X2 及 M30 都等于“On”的时候, 或者是寄存器 D100(D101)的浮点数内容大于或等于 F1.234 时, M60=On。 FOR>= D100 F1.234 X2 M30 M60 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-470 API 指令码 操作数 功能 296~ 301 D LDZ※ 接点型态绝对值比较 LDZ※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * * S2 * * * * * * * * * S3 * * * * * * * * * LDZ※: 7 steps DLDZ※: 13 steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1。 S2: 数据来源装置 2。 S3: 数据来源装置 3。 指令说明: 1. 支持机种:ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE v1.20 版 / SX2 V2.40 版 各穖种版本(含)以上。 2. S1 与 S2 相减后的绝对值与S3 的绝对值作比较的指令。以 “LDZ=”作为例子, 比较结果为 ”等于” 时, 该指令导通, ”不等于” 时, 该指令不导通。 3. 该指令可以直接与母线连接使用。 API No. 16 位指令 32 位指令 导通条件 非导通条件 296 LDZ> DLDZ> | S1 - S2 | > | S3 | | S1 - S2 | ≦ | S3 | 297 LDZ>= DLDZ>= | S1 - S2 | ≧ | S3 | | S1 - S2 | < | S3 | 298 LDZ= DLDZ< | S1 - S2 | < | S3 | | S1 - S2 | ≧ | S3 | 299 LDZ<= DLDZ<= | S1 - S2 | ≦ | S3 | | S1 - S2 | > | S3 | 300 LDZ= DLDZ= | S1 - S2 | = | S3 | | S1 - S2 | ≠ | S3 | 301 LDZ<> DLDZ<> | S1 - S2 | ≠ | S3 | | S1 - S2 | = | S3 | 4. 当最左边的位, MSB (16 位指令: b15, 32 位指令: b31), 在 S1 、S2 、S3 中是 1, 这个比较值会 被看作一个负值比较。 5. 32 位计数器(C200~)以本指令作比较时, 一定要使用 32 位指令 (DLDZ※)。若 是 使 用 16 位指令 (LDZ※)时, PLC 判定为“程序错误”, 主机面板上“ERROR” 指示灯闪烁。 程序范例: 1. C10 的内容等于 K200 或 K-200 时, Y20=On。 2. 当 D200 的内容小于等于 K230 且 大于等于 K170, 并且 X1=On, Y21=On 并保持住。 LDZ= K200 C10 Y20 LDZ<= K200 K-30 X1 SET Y21 K400 D200 3. 指令集 3-471 API 指令码 操作数 功能 302~ 307 D ANDZ※ 接点型态绝对值比较 ANDZ※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F S1 * * * * * * * * * S2 * * * * * * * * * S3 * * * * * * * * * ANDZ※: 7 steps DANDZ※: 13 steps 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1。 S2: 数据来源装置 2。 S3: 数据来源装置 3。 指令说明: 1. 支持机种:ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各穖种版本(含)以上。 2. S1 与 S2 相减后的绝对值与 S3 的绝对值作比较的指令, 以“AND=”为例, 比较结果为 ”等于” 时, 该指令导通, ”不等于” 时, 该指令不导通。 3. ANDZ※的指令是与接点串接的比较指令。 API No. 16 位指令 32 位指令 导通条件 非导通条件 302 ANDZ> DANDZ> | S1 - S2 | > | S3 | | S1 - S2 | ≦ | S3 | 303 ANDZ>= DANDZ>= | S1 - S2 | ≧ | S3 | | S1 - S2 | < | S3 | 304 ANDZ< DANDZ< | S1 - S2 | < | S3 | | S1 - S2 | ≧ | S3 | 305 ANDZ<= DANDZ<= | S1 - S2 | ≦ | S3 | | S1 - S2 | > | S3 | 306 ANDZ= DANDZ= | S1 - S2 | = | S3 | | S1 - S2 | ≠ | S3 | 307 ANDZ<> DANDZ<> | S1 - S2 | ≠ | S3 | | S1 - S2 | = | S3 | 4. 当最左边的位, MSB (16 位指令: b15, 32 位指令: b31), 在 S1 、S2、S3 中是 1, 这个比较值会被 看作一个负值比较。 5. 32 位计数器 (C200~)以本指令作比较时, 一定要使用 32 位指令 (DANDZ※), 若是使用 16 位指 令 (ANDZ※)时, PLC 判定为“程序错误”, 主机面板上“ERROR” 指示灯闪烁。 程序范例: 1. 当 X0=On 时且 C10 的现在值等于 K200 或 K-200 时, Y20=On。 2. 当 X1=Off 而寄存器 D0 的内容不等于 K10 或 K-10 的时候, Y21=On 并保持住。 ANDZ= K200 C10 Y20 ANDZ<> K0 D0 SET Y21 X1 X0 K400 K-10 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3-472 API 指令码 操作数 功能 308~ 313 D ORZ※ 接点型态绝对值比较 ORZ※ 适用机种 ES2/EX2 SS2 SA2 SE SX2 位装置 字符装置 指令地址数 类型 操作数 X Y M S K H KnX KnYKnM KnS T C D E F S1 * * * * * * * * * S2 * * * * * * * * * ORZ※: 7 steps DORZ※: 13 steps S3 * * * * * * * * * 脉波执行型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S1: 数据来源装置 1。 S2: 数据来源装置 2。 S3: 数据来源装置 3。 指令说明: 1. 支持机种:ES2/EX2 V3.20 版 / SS2 V3.00 版 / SA2 V2.60 版 / SE V1.20 版 / SX2 V2.40 版 各穖种版本(含)以上。 2. S1 与 S2 相减后的绝对值与 S3 的绝对值作比较的指令, 以“ORZ=” 为例, 比较结果为 ”等于” 时, 该指令导通, ”不等于” 时, 该指令不导通。 3. ORZ※ 的指令是与接点并接的比较指令。 API No. 16 位指令 32 位指令 导通条件 非导通条件 308 ORZ> DORZ> | S1 - S2 | > | S3 | | S1 - S2 | ≦ | S3 | 309 ORZ>= DORZ>= | S1 - S2 | ≧ | S3 | | S1 - S2 | < | S3 | 310 ORZ< DORZ< | S1 - S2 | < | S3 | | S1 - S2 | ≧ | S3 | 311 ORZ<= DORZ<= | S1 - S2 | ≦ | S3 | | S1 - S2 | > | S3 | 312 ORZ= DORZ= | S1 - S2 | = | S3 | | S1 - S2 | ≠ | S3 | 313 ORZ<> DORZ<> | S1 - S2 | ≠ | S3 | | S1 - S2 | = | S3 | 4. 当最左边的位, MSB (16 位指令: b15, 32 位指令: b31), 在 S1、S2、S3 中是 1, 这个比较值会被 看作一个负值比较。 5. 32 位计数器(C200~) 以本指令作比较时, 一定要使用 32 位指令 (DORZ※), 若是使用 16 位指 令 (ORZ※)时, PLC 判定为“程序错误”, 主机面板上“ERROR”指示灯闪烁。 程序范例: 当 X2 及 M30 都等于“On”的时候, 或者是 32 位寄存器 D100(D101)的内容大于等于 K100,000 或小于 等于 K-100,000 时, M60=On。 DORZ>= D100 K100000 X2 M30 M60 K0 通讯 说明 PLC 通讯口的的相关信息, 以使用户对 PLC 通讯口获得全面的理解。 目录 4.1 通讯口...................................................................................................................................4-2 4.2 ASCII 模式通讯协议.............................................................................................................4-3 4.2.1 ADR (通讯地址) .......................................................................................................4-3 4.2.2 命令码及数据 ...........................................................................................................4-4 4.2.3 LRC 校验 (校验和) ..................................................................................................4-5 4.3 RTU 模式通讯协议...............................................................................................................4-7 4.3.1 地址 (通讯地址).......................................................................................................4-7 4.3.2 命令码及数据 ...........................................................................................................4-7 4.3.3 CRC 校验 (校验和).................................................................................................4-9 4.4 PLC 装置地址 .....................................................................................................................4-11 4.5 命令码.................................................................................................................................4-13 4.5.1 命令码:01, 读节点状态(不可读输入点状态)........................................................4-13 4.5.2 命令码:02, 读节点状态(可读输入节点状态)........................................................4-14 4.5.3 命令码:03, 读出寄存器内容值 ............................................................................4-15 4.5.4 命令码:05, 强制单独节点状态 ............................................................................4-16 4.5.5 命令码:06, 预设单独寄存器的值.........................................................................4-17 4.5.6 命令码:15, 强制多个节点....................................................................................4-17 4.5.7 命令码:16, 预设多个寄存器的值.........................................................................4-19 4-1ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 4.1 通讯口 ES2/EX2/SA2/SE/SX2 系列主机最多有 3 个通讯口(COM1~COM3), SS2 系列主机有 2 个通讯口 (COM1, COM2)。以上通讯口支持台达人机界面(HMI) “DELTA Q-link” 通讯协定, 可加快 HMI 画面更 新速度。 COM1:RS-232 通讯口,可做主站或从站。为主要的程序编辑通讯口。(SE 主机不适用) COM2: RS-485 通讯口,可做主站或从站。 ES2/EX2/SA2/SE COM3: RS-485 通讯口,可做主站或从站(DVP-ES2-C 机种 COM3 为 CANopen 通讯端口)。 SX2 COM3: 为 USB 转 RS232 的通讯口, 仅可做从站。 以上主机之 COM1~COM3 通讯口可用于 Modbus ASCII 或 RTU 模式通讯。. SE USB(COM1): 为 USB 之 COM 通讯端口, 仅可当从站, 并且不可修改通讯模式与格式。 通讯结构: 通讯口 通讯参数 RS-232 (COM1) RS-485 (COM2) RS-485 (COM3) USB (SX2 COM3) 波特率 110~115200 bps 110~921,000 bps 110~115200 bps 数据位长度 7~8 位 奇偶校验位 奇校验/偶校验/无校验 停止数据位长度 1~2 数据位 通讯参数设置寄存器 D1036 D1120 D1109 通讯格式保持 M1138 M1120 M1136 ASCII 模式 主站/从站都有效 从站有效 RTU 模式 主站/从站都有效 从站有效 ASCII /RTU 模式切换 M1139 M1143 M1320 从站通讯地址设定缓存器 D1121 D1255 读写数据长度 (ASCII 模式) 100 个寄存器 读写数据长度 (RTU 模式) 100 个寄存器 通讯口的默认通讯格式 − Modbus ASCII 模式 − 7 个数据位 − 1 个停止位 − 奇校验位 (EVEN) − 9600bps 波特率 4-2 4. 通讯 4.2 ASCII 模式通讯协议 通讯数据结构 9600 (波特率), 7 (数据位), Even (奇偶校验位) 1 (起始位), 1 (停止位) 字段名 组成 说明 起始字符 STX 起始字符为:’,冒号的 ASCII 码为 3AH ADR 1 从站地址 ADR 0 通讯地址由两个 ASCII 码组成 CMD 1 命令码 CMD 0 命令码由两个 ASCII 码组成 DATA (0) DATA (1) ………. 数据 DATA (n-1) 数据内容由 2n 个 ASCII 码组成,n≤205。 LRC CHK 1 LRC 校验码 LRC CHK 0 LRC 校验码由 2 个 ASCII 码组成 END1 结束字符 END0 结束字符由 2 个 ASCII 码组成 END1 = CR (0DH), END0 = LF (0AH) 16 进制与 ASCII 码对应关系如下表所示: ASCII 码 “0“ “1“ “2“ “3“ “4“ “5“ “6“ “7“ 16 进制 30H 31H 32H 33H 34H 35H 36H 37H ASCII 码 “8“ “9“ “A“ “B“ “C“ “D“ “E“ “F“ 16 进制 38H 39H 41H 42H 43H 44H 45H 46H 4.2.1 ADR (通讯地址) 有效的通讯地址范围为 0~254。当通讯地址为 0 时表示对所有 PLC 广播,收到广播消息的 PLC 不会 对广播消息做回应。当 PLC 地址不为 0 时,PLC 会回应正常讯息给主站设备。 例如,通讯地址为 16(十进制)的 PLC 的地址的 ASCII 码表示方法如下所示(十进制数 16 的十六 进制为 10)。 (ADR 1, ADR 0)=’1’,’0’Ö’1’=31H, ‘0’ = 30H 4-3ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 4.2.2 命令码及数据 数据字符的格式取决于命令码,有效的命令码的描述如下表所示: 命令码(Hex) 含义 可操作装置 01 (01 H) 读节点状态(不可读输入节点状态) S, Y, M, T, C 02 (02 H) 读节点状态(可读输入节点状态) S, X, Y, M,T, C 03 (03 H) 读寄存器的内容值 T, C, D 05 (05 H) 强制单独节点状态 On/Off S, Y, M, T, C 06 (06 H) 预设单独寄存器的值 T, C, D 15 (0F H) 强制多个节点状态 On/Off S, Y, M, T, C 16 (10 H) 预设多个寄存器的值 T, C, D 17 (11 H) 报告从站地址 None 23 (17 H) PLC LINK 在一个轮询时间内同时 执行读写功能 None 例如: 读取 PLC 通讯地址 01, 地址 H0614~H61B (寄存器 T20~T27) 的连续 8 个字符组的数据。0614 (十六进制)为 PLC 內部 T20 的地址。 PC→PLC: “: 01 03 06 14 00 08 DA CR LF” 请求讯息: 字段名 ASCII 码 16 进制 起始字符 : 3A 从站地址 01 30 31 命令码 03 30 33 起始数据地址高字节 06 30 36 起始数据地址低字节 14 31 34 接点个数高字节 00 30 30 接点个数低字节 08 30 38 LRC 校验码 DA 44 41 结束字符 CR LF 0D 0A PLC→PC “: 01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 C8 CR LF” 回应讯息: 字段名 ASCII 码 16 进制 起始字符 : 3A 从站地址 01 30 31 命令码 03 30 33 4-4 4. 通讯 字段名 ASCII 码 16 进制 字节数 10 31 30 高字节(T20) 00 30 30 低字节(T20) 01 30 31 高字节(T21) 00 30 30 低字节(T21) 02 30 32 高字节(T22) 00 30 30 低字节(T22) 03 30 33 高字节(T23) 00 30 30 低字节(T23) 04 30 34 高字节(T24) 00 30 30 低字节(T24) 05 30 35 高字节(T25) 00 30 30 低字节(T25) 06 30 36 高字节(T26) 00 30 30 低字节(T26) 07 30 37 高字节(T27) 00 30 30 低字节(T27) 08 30 38 LRC 校验码 C8 43 38 结束字符 CR LF 0D 0A 4.2.3 LRC 校验 (校验和) LRC 校验码为从站地址至最后一个数据内容的 16 进制数叠加后的值的各位取反后再加 1 的值。如下 例所示,LRC 校验码的值为 F6(16 进制)。LRC 校验码的计算方法如下:01H+03H+04H+01H+00+01H = 0AH, 0A(16 进制)各位取反后的结果再加 1 为 F6(16 进制)。 字段名 ASCII 码 16 进制 起始字符 : 3A 从站地址 01 30 31 命令码 03 30 33 起始数据地址高字节 04 30 34 起始数据地址低字节 01 30 31 接点个数高字节 00 30 30 接点个数低字节 01 30 31 LRC 校验码 F6 46 36 结束字符 CR LF 0D 0A 4-5ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 异常响应: 从站在收到主站的命令讯息后期望回应给主站一个正常的回应讯息,但有时 PLC 在收到主站的命令 讯息后不回应或者回应错误原因,下面将描述 PLC 没有给主站设备回应或回应错误原因的情况。 1. 由于通讯错误,PLC 没有收到正确的命令讯息;因此当 PLC 没有回应讯息时,主站设备须设置一 个通讯超时条件。 2. 没有通讯错误发生时,PLC 接收到一个有效的通讯讯息,但 PLC 不能理解此讯息的意思,所以 PLC 会给主站做异常回应。回应讯息的命令码的最高位会置位为 1 并且会返回一个异常码说明造成异常回 应的原因。 命令码为 01H 时的异常响应范例,异常响应码为 02H 请求讯息: 字段名 ASCII 码 十六进制 起始字符 : 3A 从站地址 01 30 31 命令码 01 30 31 起始数据地址高字节 04 30 34 起始数据地址低字节 00 30 30 接点个数高字节 (单位:位) 00 30 30 接点个数低字节 (单位:位) 10 31 30 LRC 校验码 EA 45 41 结束字符 CR LF 0D 0A 回应讯息 字段名 ASCII 码 十六进制 起始字符 : 3A 从站地址 01 30 31 命令码 81 38 31 异常码 02 30 32 LRC 校验码 7C 37 43 结束字符 CR LF 0D 0A 异常码 含义 01 非法命令码:PLC 接收的命令信息中的命令码无效 02 非法的装置地址:接收的命令信息中的地址无效。 03 非法装置值:PLC 接收的命令信息中的数据内容无效。 07 1. 校验和错误 z 检查校验和是否正确 4-6 4. 通讯 异常码 含义 2. 非法的命令讯息 z 命令讯息太短 z 命令讯息长度超出范围 4.3 RTU 模式通讯协议 通讯数据结构 9600 (波特率), 8 (数据位), Even (奇偶校验位) 1 (起始位), 1 (停止位) 开始 保持无输入数据≥10 ms 从站地址 从站地址::8 位二进制数地址 命令码 命令码::8 位二进制数地址 数据 (n-1) ……. 数据 0 数据内容 n × 8位二进制数, n<=202 CRC 校验和低字节 CRC 校验和高字节 CRC 校验和 CRC 校验和由两个 8 位二进制数组成 结束 保持无输入数据≥10 ms 4.3.1 地址 (通讯地址) 有效的通讯地址范围为 0~254。当通讯地址为 0 时表示对所有 PLC 广播,收到广播消息的 PLC 不会 对广播消息做回应。当 PLC 地址不为 0 时,PLC 会回应正常消息给主站设备。 例如,当和通讯地址为 16(十进制)的 PLC 进行通讯时,从站地址须设为 10(16 进制),十进制数 16 的十六进制为 10)。 4.3.2 命令码及数据 数据字符的格式取决于命令码, 有效的功能码的描述请参考 4.2.2 节。 范例: 读取 PLC 站号 01, 地址 H0614~H61B (T20~T27)的连续 8 个字符组的数据。读取从站设备 (通 讯地址为 1)的值。 PC→PLC “ 01 03 06 14 00 08 04 80” 传送讯息: 字段名 数据 (16 进制) 开始 保持无输入数据≥10 ms 从站地址 01 命令码 03 数据起始地址 06 4-7ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 字段名 数据 (16 进制) 14 00 数据个数(以字节为单位) 08 CRC 校验和低字节 04 CRC 校验和高字节 80 结束 保持无输入数据≥10 ms PLC→PC “ 01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 72 98” 回应讯息: 字段名 数据 (16 进制) 开始 保持无输入数据≥10 ms 从站地址 01 命令码 03 数据个数(以字节为单位) 10 数据高字节 (T20) 00 数据低字节 (T20) 01 数据高字节 (T21) 00 数据低字节 (T21) 02 数据高字节 (T22) 00 数据低字节 (T22) 03 数据高字节 (T23) 00 数据低字节 (T23) 04 数据高字节 (T24) 00 数据低字节 (T24) 05 数据高字节 (T25) 00 数据低字节 (T25) 06 数据高字节 (T26) 00 数据低字节 (T26) 07 数据高字节 (T27) 00 数据低字节 (T27) 08 CRC 校验和低字节 72 CRC 校验和高字节 98 结束 保持无输入数据≥10 ms 4-8 4. 通讯 4.3.3 CRC 校验 (校验和) CRC 校验从“从站地址”开始,至“最后一个数据内容”结束。CRC 校验计算方法如下: 步骤 1:载入一个内容值为 FFFF(十六进制)的 16 位寄存器(称为 CRC 寄存器)。 步骤 2:指令讯息中的第一个字节的 8 位数据与 CRC 寄存器低字节的 8 位数据进行异或运算,运算 结果存储于 CRC 寄存器内。 步骤 3: CRC 寄存器的内容值右移 1 位并将其最高位填入 0。 步骤 4: 检查 CRC 寄存器最低位的值,如果为 0 则重复步骤 3;如果为 1,CRC 寄存器的内容与 A001(十六进制)进行异或运算,运算结果存储于 CRC 寄存器内。 步骤 5:重复步骤 3 及步骤 4,直到 CRC 寄存器的内容被右移了 8 位。此时,指令讯息的第一个字节 已完成处理。 步骤 6:对指令讯息的下一个字节重复步骤 2 至步骤 5 的操作,直到指令讯息的所有字节都被处理完 成。CRC 寄存器最后的内容就是 CRC 校验值。在指令讯息中传送 CRC 校验值时,计算出的 CRC 校 验值高低字节须互换,即 CRC 校验值低字节先被传送。 下面为用 C 语言求 CRC 校验值的计算范例 unsigned char* data Å // 指令讯息内容指针 unsigned char length Å // 指令讯息的长度 unsigned int crc_chk(unsigned char* data, unsigned char length) { int j; unsigned int reg_crc=0Xffff; while(length--) { reg_crc ^= *data++; for (j=0;j<8;j++) { If (reg_crc & 0x01) reg_crc=(reg_crc>>1) ^ 0Xa001; /* LSB(b0)=1 */ else reg_crc=reg_crc >>1; } } return reg_crc; // the value that sent back to the CRC register finally } 异常回应: 从站在收到主站的命令讯息后期望回应给主站一个正常的回应讯息,但有时 PLC 在收到主站的命令 讯息后不回应或者回应错误原因,下面将描述 PLC 没有给主站设备回应或回应错误原因的情况。 4-9ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 1. 由于通讯错误,PLC 没有收到正确的命令讯息;因此当 PLC 没有回应讯息时,主站设备须设置一 个通讯超时条件。 2. 没有通讯错误发生时,PLC 接收到一个有效的通讯讯息,但 PLC 不能理解此讯息的意思,所以 PLC 会给主站做异常回应。回应讯息的命令码的最高位会置位为 1 并且会返回一个异常码说明造成异常回 应的原因。 下面的例子为命令码为 01H 时的异常回应范例,异常回应码为 02H。 传送讯息: 字段名 数据 (16 进制) 开始 保持无输入数据≥10 ms 从站地址 01 命令码 01 04 数据起始地址 00 00 数据个数(以字节为单位) 10 CRC 校验码低字节 3C CRC 校验码高字节 F6 结束 保持无输入数据≥10 ms 回应讯息: 字段名 数据(16 进制) 开始 保持无输入数据≥10 ms 从站地址 01 命令码 81 异常码 02 CRC 校验码低字节 C1 CRC 校验高字节 91 结束 保持无输入数据≥10 ms 4-10 4. 通讯 4.4 PLC 装置地址 有效范围 装置 范围 ES2/EX2 SS2 SA2/SE/ SX2 MODBUS 地址 装置通讯地址 S 000~255 000001~000256 0000~00FF S 256~511 000257~000512 0100~01FF S 512~767 000513~000768 0200~02FF S 768~1023 000~1023 000~1023 000769~001024 0300~03FF X 000~377 (Octal) 000~377 000~377 101025~101280 0400~04FF Y 000~377 (Octal) 000~377 000~377 001281~001536 0500~05FF 000~255 bit 000~255 000~255 001537~001792 0600~06FFT 000~255 word 000~255 000~255 401537~401792 0600~06FF M 000~255 0800~08FF M 256~511 0900~09FF M 512~767 0A00~0AFF M 768~1023 0B00~0BFF M 1024~1279 0C00~0CFF M 1280~1535 002049~003584 0D00~0DFF M 1536~1791 B000~B0FF M 1792~2047 B100~B1FF M 2048~2303 B200~B2FF M 2304~2559 B300~B3FF M 2560~2815 B400~B4FF M 2816~3071 B500~B5FF M 3072~3327 B600~B6FF M 3328~3583 B700~B7FF M 3584~3839 B800~B8FF M 3840~4095 0000~4095 0000~4095 045057~047616 B900~B9FF 000~199 000~199 003585~003784 0E00~0EC7000~199 (16-bit) 000~199 000~199 403585~403784 0E00~0EC7 200~255 200~255 003785~003840 0EC8~0EFFC 200~255 (32-bit) 200~255 200~255 401793~401903 (奇數位址有效) 0700~076F 4-11ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 有效范围 装置 范围 ES2/EX2 SS2 SA2/SE/ SX2 MODBUS 地址 装置通讯地址 D 000~255 1000~10FF D 256~511 1100~11FF D 512~767 1200~12FF D 768~1023 1300~13FF D 1024~1279 404097~405376 1400~14FF D 1280~1535 1500~15FF D 1536~1791 1600~16FF D 1792~2047 1700~17FF D 2048~2303 1800~18FF D 2304~2559 1900~19FF D 2560~2815 1A00~1AFF D 2816~3071 1B00~1BFF D 3072~3327 1C00~1CFF D 3328~3583 1D00~1DFF D 3584~3839 1E00~1EFF D 3840~4095 405377~408192 1F00~1FFF D 4096~4351 9000~90FF D 4352~4607 9100~91FF D 4608~4863 9200~92FF D 4864~5119 0000 ~ 4999 9300~93FF D 5120~5375 9400~94FF D 5376~5631 9500~95FF D 5632~5887 9600~96FF D 5888~6143 9700~97FF D 6144~6399 9800~98FF D 6400~6655 9900~99FF D 6656~6911 9A00~9AFF D 6912~7167 9B00~9BFF D 7168~7423 9C00~9CFF D 7424~7679 9D00~9DFF D 7680~7935 9E00~9EFF D 7936~8191 436865~440960 9F00~9FFF D 8192~8447 A000~A0FF D 8448~8703 A100~A1FF D 8704~8959 A200~A2FF D 8960~9215 A300~A3FF D 9216~9471 A400~A4FF D 9472~9727 A500~A5FF D 9728~9983 A600~A6FF D 9984~9999 0000~9999 無 0000~9999 440961~442768 A700~A70F D 10000~11999 SE 主机适用 442767~444768 A710~AEDF 4-12 4. 通讯 4.5 命令码 4.5.1 命令码:01, 读节点状态(不可读输入点状态) 数据个数最大值= 255(10 进制)= FF(16 进制) 范例:读取从站设备(通讯地址为 1)T20~T56 的节点状态。 PC→PLC: “:01 01 06 14 00 25 BF CR LF” 传送讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 01 起始数据地址高字节 06 起始数据地址低字节 14 节点状态个数高字节 00 节点状态个数低字节 25 LRC 校验码 BF 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 假设请求讯息中的节点状态个数为 n(十进制),n/8 的商为 M,余数为 N.。 当 N=0 时,回应讯息中的字节个数为 M;当 N≠0 时,回应讯息中的字节个数为为 M+1. PLC→PC: “:01 01 05 CD 6B B2 0E 1B D6 CR LF” 回应讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 01 字节个数 05 T20~T27 节点状态 CD T35~T38 节点状态 6B T36~T43 节点状态 B2 T44~T51 节点状态 0E T52~T56 节点状态 1B LRC 校验码 E6 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4-13ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 4.5.2 命令码:02,读节点状态(可读输入节点状态) 范例:读取从站设备(通讯地址为 1) Y024~Y070 的节点状态。 PC→PLC “: 01 02 05 14 00 25 BF CR LF” 传送讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 02 起始数据地址高字节 05 起始数据地址低字节 14 数据个数高字节 00 数据个数低字节 25 LRC 校验码 BF 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 假设请求讯息中的节点状态个数为 n(十进制),n/8 的商为 M,余数为 N.。 当 N=0 时,回应讯息中的字节个数为 M;当 N≠0 时,回应讯息中的字节个数为为 M+1. PLC→PC “: 01 01 05 CD 6B B2 0E 1B E5 CR LF” 回应讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 02 字节个数 05 Y024~Y033 节点状态 CD Y034~Y043 节点状态 6B Y044~Y053 节点状态 B2 Y054~Y063 节点状态 0E Y064~Y070 节点状态 1B LRC 校验码 E5 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4-14 4. 通讯 4.5.3 命令码:03,读出寄存器内容值 命令码 03 可读寄存器:T, C, D 范例::读取从站地址为 1 的 PLC 的 T20~T27 的内容值。 PC→PLC: “: 01 03 06 14 00 08 DA CR LF” 传送讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 03 数据地址高字节 06 起始数据地址高字节 14 读取数据个数高字节 00 读取数据个数低字节 (数据个数以字为单位) 08 LRC 校验码 DA 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) PLC→PC: “:01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF” 回应讯息: 字段名 ASCII 码 起始字符 3A 从站地址 01 命令码 03 字节个数 10 数据高字节 (T20) 00 数据低字节 (T20) 01 数据高字节 (T21) 00 数据低字节 (T21) 02 数据高字节 (T22) 00 数据低字节 (T22) 03 数据高字节 (T23) 00 数据低字节 (T23) 04 数据高字节 (T24) 00 数据低字节 (T24) 05 数据高字节 (T25) 00 数据低字节 (T25) 06 数据高字节 (T26) 00 数据低字节 (T26) 07 4-15ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 字段名 ASCII 码 数据高字节 (T27) 00 数据低字节 (T27) 08 LRC 校验码 C8 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4.5.4 命令码:05, 强制单独节点状态 命令码为 05 时,强制数据 FF00(16 进制)表示将节点强制为 On; 强制数据 0000(16 进制)表示 将节点强制为 Off。其它的强制数据无效且不会对强制节点有影响。 范例:强制 Y0 节点为 On。 PC→PLC “: 01 05 05 00 FF 00 F6 CR LF” 传送讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 05 节点地址高字节 05 节点地址低字节 00 强制数据高字节 FF 强制数据低字节 00 LRC 校验码 F6 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) PLC→PC “: 01 05 05 00 FF 00 F6 CR LF” 回应信息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 05 节点地址高字节 05 节点地址低字节 00 强制数据高字节 FF 强制数据低字节 00 LRC 校验码 F6 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4-16 4. 通讯 4.5.5 命令码:06, 预设单独寄存器的值 范例::设置寄存器 T0 的值为 12 34(16 进制),T0 的通讯地址为 0600(16 进制)。 PC→PLC “: 01 06 06 00 12 34 AD CR LF” 传送讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 06 寄存器地址高字节 06 寄存器地址低字节 00 预设数据值高字节 12 预设数据值低字节 34 LRC 校验码 AD 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) PLC→PC “: 01 06 06 00 12 34 AD CR LF” 回应信息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 06 寄存器地址高字节 06 寄存器地址低字节 00 预设数据值高字节 12 预设数据值低字节 34 LRC 校验码 AD 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4.5.6 命令码:15, 强制多个节点 节点数目最大值 = 255 范例:设置节点 Y007…Y000 = 1100 1101, Y011…Y010 = 01. PC→PLC: “: 01 0F 05 00 00 0A 02 CD 01 11 CR LF” 传送讯息: 字段名 ASCII 码 起始字符 3A 从站地址 01 命令码 0F 4-17ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 字段名 ASCII 码 节点地址高字节 05 节点地址低字节 00 节点数目高字节 00 节点数目低字节 0A 字节数目 02 强制数据高字节 CD 强制数据低字节 01 LRC 校验码 11 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) PLC→PC: “: 01 0F 05 00 00 0A E1 CR LF” 回应信息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 0F 起始数据地址高字节 05 起始数据地址低字节 00 预设数据值高字节 00 预设数据值低字节 0A LRC 校验码 E1 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4-18 4. 通讯 4.5.7 命令码:16, 预设多个寄存器的值 范例:设置 T0 的值为 000A(16 进制),设置 T1 的值为 0102(16 进制)。 PC→PLC: “: 01 10 06 00 00 02 04 00 0A 01 02 D6 CR LF” 传送讯息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 10 起始数据地址高字节 06 起始数据地址低字节 00 寄存器数目高字节 00 寄存器数目低字节 02 数据数目(以字节为单位) 04 数据高字节 00 数据低字节 0A 数据高字节 01 数据低字节 02 LRC 校验码 D6 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) PLC→PC: “: 01 10 06 00 00 02 E7 CR LF” 回应信息: 字段名 ASCII 码 起始字符 : 从站地址 01 命令码 10 起始数据地址高字节 06 起始数据地址低字节 00 寄存器数目高字节 00 寄存器数目低字节 02 LRC 校验码 E7 结束字符 1 0D (Hex) 结束字符 0 0A (Hex) 4-19ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 MEMO 4-20 顺序功能图SFC 说明 SFC 编程语言 目录 5.1 步进梯形指令 [STL], [RET] .................................................................................................5-2 5.2 顺序功能图 (SFC) ................................................................................................................5-3 5.3 步进梯形指令动作说明..........................................................................................................5-5 5.4 步进梯形设计程序须知........................................................................................................5-11 5.5 流程种类 .............................................................................................................................5-13 5.6 IST 指令 ..............................................................................................................................5-24 5-1ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 5.1 步进梯形指令 [STL], [RET] 指令 操作数 功 能 程序步骤 STL S0~S1023 程序跳至副母线 (步进梯形开始) 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 指令说明: 步进梯形指令,STL Sn,构成一个步进点,当 STL 指令出现在程序中,代表程序进入以步进流程控制 的步进梯形图状态。步进梯形指令 RET 则代表以 S0~S9 为起始的步进梯形图结束,母线回归到一 般梯形图的命令。而 SFC 图即利用 STL/RET 所组成的步进梯形图完成电路动作。步进点 S 编号不 能重复。 指令 操作数 功 能 程序步骤 RET 无 程序返回主母线 (步进梯形结束) 1 适用机种 ES2/EX2 SS2 SA2 SE SX2 指令说明: RET 指令代表一个步进流程的结束,所以一连串步进点的最后一定要有RET 指令。一个PLC 程序 最多可写入S0~S9 共10 个步进流程,而每一个步进流程结束就要有RET 指令。 程序范例: 梯形图: M1002 ZRST S0 S127 SET S0 SET S20 Y0 SET S30 Y1 SET S40 Y2 S0 RET END X0S0 S S20 S X1 S30 S X2 S40 S X3 SFC: S0 S20 S30 S40 S0 M1002 X0 X1 X2 X3 Y0 Y1 Y2 5-2 5. 顺序功能图 SFC 5.2 顺序功能图 (SFC) 在自动控制的领域,经常需要电气控制与机械控制做密切配合来达成自动控制的目的。而顺序控制的 全部过程,可以分成有序的若干步序(STEP),或说若干个阶段。各步都有自己应完成的动作(ACTION)。 从每一步转移到下一步,一般都是有条件(TRANSITION)的,条件满足则上一步动作结束,下一步动 作开始上一步的动作会被清除,这就是顺序功能图(SFC,Sequential Function Chart)的设计概念。 主要特点: 1. 对于经常的状态,步进动作不需做顺序设计。PLC 会自动执行各 状态间的互锁及双重输出等处理。只要针对各状态做简单的顺序 设计即可使机械正常动作。 2. 动作易懂,可轻易作试运行调整,检查错误及维护保养的工作。 3. SFC 的编辑原理,是属于图形编辑模式,整个架构看起来像流程 图,它是利用 PLC 内部的步进继电器装置 S,每一个步进继电 器装置 S 的编号就当作一个步进点,也相当于流程图的各个处理 步骤,当目前的步骤处理完毕后,再依据所设定的条件转移到所 要求的下一步骤即下一个步进点 S,如此可以一直重复循环达到 使用者所要的结果。 4. 右图 SFC 图的说明:初始步进点 S0 以状态转移条件 X0 成立 转移到一般步进点 S21 内,而 S21 中以状态转移条件 X1 或 X2 成立来决定转移到步进点 S22 或跳转到步进点 S24 内,直到步 进点 S25 中状态转移条件 X6 成立回到初始步进点 S0 完成一 次完整的流程,可以一直重复循环达到循环的控制。 SFC: S0 S21 S24 S25 S0 X0 X1 X5 X6 X2 S22 X4 X3 S24 梯形图形模式,此图形表示内部编辑程序为一般梯形图非步进梯形的程序(一般 为一些初始化动作程序)。 初始步进点用图形,此种双框的图形代表是 SFC 的初始步进点用图形,可使用 的装置范围 S0~S9。 一般步进点用图形,可使用的装置范围为 S10~S1023 步进点跳转图形,使用在步进点状态转移到非相邻的步进点。(同流程间向上跳转 或向下非相邻的步进点跳转或返回初始步进点或不同流程间的跳转) 步进点转移条件图形,各个步进点之间状态转移的条件。 选择分支图形,由同一步进点将状态以不同转移条件转移到相对应的步进点。 5-3ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 选择汇合图形,由两个以上不同步进点将状态经转移条件转移到相同的步进点 并行分支图形,由同一步进点将状态以同一转移条件转移至两个以上的步进点。 并行汇合图形,由两个以上不同步进点状态同时成立时,以同一转移条件转移到 相同的步进点 5-4 5. 顺序功能图 SFC 5.3 步进梯形指令动作说明 STL 指令,用来做顺序功能图(SFC,Sequential Function Chart)设计语法的指令。此种命令可以 让我们程序设计人员在程序规划时,能够像平时画流程图一样,对于程序的步序更为清楚,更具可读 性,如下左图所示,可以很清楚地看出所要规划的流程顺序,我们可以依据这种流程转换成下右图的 步进梯形图。 RET 指令,一个步进流程的结束最后一定要写入RET 指令。RET 指令代表着一个步进流程的结束。 一个程序不只可写入一个步进流程,每一个步进流程结束时,一定要写入RET 指令,RET 指令的使 用次数没有限制,搭配初始步进点(S0~S9)使用。 若步进流程结束没有写入 RET 指令,则 WPL 编译器会检查出错误。 S0 S21 S22 S23 M1002 初始脉冲 M1002 S0 SET SET S22 S0 RET S21 S S22 S SET S21 S0 S S23 S SET S23 步进梯形动作: 步进梯形是由很多个步进点组成,每一个步进点代表控制流程的一个动作,一个步进点必须执行三个 任务: 1. 驱动输出线圈 2. 指定转移条件 3. 指定当前忙步进点的控制权要转移给哪一个步进点 5-5ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 例如: SET Y1 Y0 SET S20 Y10 SET S30 S10 S X0 S20 S X1 SET Y1 Y0 SET S20 Y10 SET S30 S10 S X0 S20 S X1 当时X0=On S20=On S10 Off变为 说明: S10=On 时,Y0、Y1 为 On。X0=On 时,S20=On、Y10 为 On。而 S10 变为 Off,Y0 为 Off、 Y1 为 On。(因 Y1 使用 SET 指令所以仍保持 On 状态) 步进梯形动作时序图: 当状态接点 Sn On 时,则电路动作;Sn Off 时,电路不动作。(以上动作会延迟 1 个扫描时间执行) 输出线圈的重复使用: 1. 不同的步进点当中可使用同号的输出线圈。 2. 以右图为例,不同状态之间可以有同一装置输出 (Y0),无论 S10 或 S20 状态步进点为 On 时, Y0 都会 On。 3. Y 在状态步进点由 S10 转移至 S20 的移动过程 中,会将 Y0 关闭,最后 S20 On 之后再将 Y0 输 出,因此在此种情况下,无论是 S10 或 S20=On 时,Y0 都会 On。. 4. 一般梯形图中应避免输出线圈的重复使用。而在 步进点所使用的输出线圈号码最好在步进梯形图 回到一般梯形图后,也同样避免使用。 SET Y1 Y0 SET S20 SET S30 S10 S X0 S20 S X1 Y0 5-6 5. 顺序功能图 SFC 定时器的重复使用: 以右图为例,定时器仅可在不相邻的步进点中重复使 用。 S20 S30 S40 X1 X2 TMR T1 K10 TMR T2 K20 TMR T1 K30 步进点移转方法: 指令SET Sn 及OUT Sn 都是用来启动(或称转移至)另一个步进点。这些指令的使用场合是有差异 的。当控制权移动到另一个步进点后,原步进点S 的状态及其输出点的动作都会被清除。由于程序中 可同时存在有多个步进控制流程(分别以S0~S9 为启始、结束点所引导的步进梯形图)。而步进的 转移,可在同一步进流程,亦可能转移至不同的步进流程,因此步进点转移指令SET Sn 及OUT Sn 在 用法上有些许差异,请参考以下的说明: SET Sn 同一流程,用来驱动下一个状态步进点,状态转移后,前一个动作状态点的所有输出会被清除。 Y10 SET S12 SET S14 S10 S X0 S12 S X1 Y11 SET S12 指令执行,则状 态步进点由 转移至S10 S12 步进点 及其所有输出 S10 (Y10) 会被清除 OUT Sn 同一流程中返回初始步进点,同一流程中的步进点向上或向下非相邻的步进点跳转及不同流程用来驱 动分离步进点,状态转移后,之前所有动作状态点的所有输出会被清除。 5-7ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 SFC 程序: 梯形图程序: S25 返回初始步进 点使用 S0 OUT S0 S21 S24 S25 X7 X2 OUT OUT S24 S21 S S0 S S23 S X2 S24 S S25 S S0 X7 RET 驱动跳跃步进点 使用 OUT S24 返回初始步进点 使用OUT S0 1. 同一流程中返回初始步进点。 2. 同一流程中的步进点向上或向下非相邻的步进点跳转。 SFC 程序: 梯形图程序: S0,S1 两个不同的步进流程 S23 S0 OUT返回初始步进点 使用 S0 S21 S23 X2 OUT OUT S1 S41 S43 OUT S42 S43 S1 OUT返回初始步进点 使用 S42 S21 S S0 S S1 S X2 S42 S S43 S RET 驱动分离步进点 使用 OUT S42 S23 S RET S0 所引 导的步 进流程 S1 所引 导的步 进流程 5-8 5. 顺序功能图 SFC 输出点驱动注意: 以下图为例,步进点之后,新母线开始第二行一旦写入 LD 或 LDI 指令后,就不能再从新母线直 接连接输出线圈,梯形图编译会产生错误。须修改成如下图右才可正确编译。 Y0 S S Y1 Y2 M0 n Y0 S S Y2 Y1 n M0 变更位置 Y0 S S Y1 Y2 M0 n M1000 或 新母线 RUN 模式下 常接点 ON 部份指令使用限制: 每一步进点中程序与一般的梯形图相同,可使用各种串并联回路或应用指令,但有部份指令有限 制,请参考以下的说明: 步进点内可使用的基本指令 基本指令 步进点 LD/LDI/LDP/LDF AND/ANI/ANDP/ANDF OR/ORI/ORP/ORF INV/OUT/SET/RST ANB/ORB MPS/MRD/MPP MC/MCR 初始步进点/一般步进点 可 可 不可 一般输出 可 可 不可 分支步进点/汇合 步进点 步进点移转 可 可 不可 1. 步进点内不可使用 MC/MCR 指令。 2. STL 指令不可使用于一般子程序内及中断服务子程序内。 3. STL 指令中并不禁止使用 CJ 指令,但会使动作更加复杂,应尽量避免。 4. MPS/MRD/MPP 指令位置: 5-9ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 梯形图: Y1 S S M0 Y2 X2 n X3 X1X0 MPP MRD MPS LD X0 新母线 指令码: STL Sn LD X0 MPS AND X1 OUT Y1 MRD AND X2 OUT M0 MPP AND X3 OUT Y2 程序说明: 步进点的新母线不可直接使 用 MPS / MRD / MPP 指令, 必须先有 LD 或 LDI 指令之 后才可使用 MPS / MRD / MPP 指令。 其他注意事项: 一般来说,转移到下一个状态的指令(SET S□或 OUT S□)最好是在目前这个状态中,所有的相关输 出及动作都完成后才执行。 如下图所示,以 PLC 执行结果并无不同,但若 S10 这个状态内有很多条件或动作,建议可将左图改 成右图,所有的相关输出及动作都完成后才执行 SET S20,这样顺序的流程较清楚。 SET Y0 S10 S S20 S Y2 S20 Y1 SET Y0 S10 S S20 S Y2 S20 Y1 在步进梯形程序完成之后要加上 RET 指令,而 RET 也一定要加在 STL 的后面,如右图所示: S0 S20 S RET X1 S0 S20 S RET X1 5-10 5. 顺序功能图 SFC 5.4 步进梯形设计程序须知 1. SFC 最前头的步进点称之为初始步进点,S0~S9。使用初始步进点做为流程的开始,以 RET 指令做结束构成一个完整的流程。 2. 当 STL 指令完全不被使用时,步进点 S 可当成一般辅助继电器来使用。 3. 当 STL 指令使用时,步进点 S 的号码不可重复使用。 4. 流程分类: z 单一流程:一个程序中只有一个流程且不含选择分支、选择汇合、并行分支、并行汇合的 简单流程。 z 复杂单一流程:一个程序中只有一个流程包含选择分支、选择汇合、并行分支、并行汇合 等流程。 z 复数流程:一个程序中有复数个单一流程最多可有 S0~S9 共 10 个流程。 5. 流程分离:步进梯形图允许写入复数流程。 右图有 S0、S1 两个单一流程,程序顺序先写入 S0 ~S30 再写入 S1~S43。 流程中的某一步进点可指定跳到别流程的任一个步进点。 右图中 S21 下方的条件成立时,指定跳至 S1 流程的 S42 步进点,此动作称之为分离步进点。 S0 S21 S30 OUT OUT S1 S41 S43 OUT S42 6. 分支流程的限制:范例请参考下节。 z 一个分支流程所使用的分支步进点最多 8 个。 z 复数个分支流程或并进流程合在同一个流程里最多可使用 16 个回路。 z 流程中的某一步进点可指定跳到别流程的任一个步进点。 7. 步进点的复归及输出禁止: z 利用 ZRST 指令可将一段步进点重置(Reset)为 Off。 z 利用 PLC 的输出 Y 禁止(M1034=On)。 8. 停电保持步进点: 停电保持步进点于 PLC 断电时,On/Off 状态会全部会被记忆,再通电时,回复断电前状态 继续往下执行。使用时,须注意停电保持步进点的区域。 5-11ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 9. 特殊辅助继电器与特殊寄存器:详细说明请参考 IST 指令补充说明。 编 号 功 能 说 明 M1040 步进禁止,当 M1040 为 On 时,步进点的移动全部禁止 M1041 步进开始,IST 指令用标志 M1042 启动脉冲,IST 指令用标志 M1043 原点回归完毕,IST 指令用标志 M1044 原点条件,IST 指令用标志 M1045 全部输出复位禁止,IST 指令用标志 M1046 STL 状态设定 On,只要有任一步进点导通 M1046 为 On M1047 STL 监视有效 D1040 步进点 S 导电(On)状态编号 1 D1041 步进点 S 导电(On)状态编号 2 D1042 步进点 S 导电(On)状态编号 3 D1043 步进点 S 导电(On)状态编号 4 D1044 步进点 S 导电(On)状态编号 5 D1045 步进点 S 导电(On)状态编号 6 D1046 步进点 S 导电(On)状态编号 7 D1047 步进点 S 导电(On)状态编号 8 5-12 5. 顺序功能图 SFC 5.5 流程种类 单一流程: 步进动作的最基本表现就是单一流程的控制动作。 步进梯形图的第一个步进点称之为初始步进点,编号 S0~S9。初始步进点以下的步进点为一般步 进点,编号 S10~S1023。若有使用 IST 指令,则 S10~S19 被当成原点回归用步进点。 1. 没有分支、汇合的单一流程 一个流程结束,将步进点控制权移转到初始步进点。 步进梯形图 M1002 ZRST S0 S127 SET S0 SET S20 Y0 SET S30 Y1 SET S40 Y4 S0 RET END X0S0 S S20 S X1 S30 S X2 S60 S X5 Y2 SET S50 S40 S X3 Y3 SET S60 S50 S X4 SFC 图 S0 S20 S30 S40 S0 M1002 X0 X1 X2 X5 Y0 Y1 Y2 S50 X3 Y3 S60 X4 Y4 5-13ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 2. 跳转流程 将步进点控制权移转到上方某一个步进点 S0 S21 S42 S43 OUT OUT 将步进点控制权移转到别的流程的步进点 S0 S21 S41 OUT OUT S1 S41 S43 OUT S42 3. 复归的流程: 右图中,S50 于条件成立时,将本身(S50) RESET,此 时流程结束。 S0 S21 S50 RST 5-14 5. 顺序功能图 SFC 复杂单一流程: 包含并行分支,选择分支,并行汇合,选择汇合等流程。 1. 并行分支结构 由现在的状态在条件成立时,同时转移至多个状态时,属于并行分支结构,如下图表达,状态是 从 S20 转移,当 X0=0N 时,同时转移到 S21,S22,S23,S24。 并行分支步进梯形图: X0 SET SET S22 S21S SET S23 S20 SET S24 并行分支的 SFC 图: S20 S21 S22 S23 S24 2. 选择分支结构: 由现在的状态在个别条件成立时,转移至个别状态时,属于选择分支结构,如下图表达,状态是 从 S20 转移,当 X0=On 时,转移到 S30,当 X1=On 时,转移到 S31,当 X2=On 时,转移到 S32。 选择分支步进梯形图: X0 SET SET S31 S30S SET S32 S20 X1 X2 选择分支的 SFC 图: S20 S30 S31 S32 X0 X1 X2 5-15ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 3. 并行汇合结构: 连续的状态成立后,转移到下一个状态。并行汇合的意思是指几个状态要同时成立时,才可以允 许转移。 并行汇合步进梯形图: X2 SET S50S S40 S S41 S S42 并行汇合的 SFC 图: S40 S50 S41 S42 X2 4. 选择汇合结构: 如果梯形图形如下,这种图形是属于选择汇合,就是说有 S30、S40、S50 三种状态,看那个状 态的输入信号先成立就转移至 S60。 选择汇合步进梯形图: X0 SET SET S60 S60S SET S60 S30 X1 X2 S S40 S S50 选择汇合的 SFC 图: S30 S60 S40 S50 X0 X1 X2 5-16 5. 顺序功能图 SFC 选择性分支、选择性汇合流程范例: 梯形图: SFC图: M1002 ZRST S0 S127 SET S1 SET S20 Y0 SET S30 Y1 SET S40 Y2 END X0S1 S S20 S X1 S30 S X2 S40 S X3 SET S31 X4 SET S32 X7 SET S50 Y3 S31 S X5 SET S41 Y4 S41 S X6 SET S50 Y5 S32 S X20 SET S42 Y6 S42 S X21 SET S50 S50 S T1 SET S60 TMR T1 K10 Y7 S60 S X22 RET S1 S1 S20 S30 S40 S1 M1002 X0 X1 X2 X22 Y0 Y1 Y2 S50 X3 S60 T1 Y7 S31 S41 X4 X5 Y3 Y4 X6 TMR T1 K10 S32 S42 X7 X20 Y5 Y6 X21 5-17ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 并行性分支、并行性汇合流程范例: 梯形图: SFC图: M1002 ZRST S0 S127 SET S3 SET S20 Y0 SET S30 Y1 SET S40 Y2 END X0S3 S S20 S X1 S30 S X2 S40 S SET S31 SET S32 Y3 S31 S X3 SET S41 Y4 S41 S Y5 S32 S X4 SET S42 Y6 S42 S X5 SET S50 S50 S T1 SET S60 TMR T1 K10 Y7 S60 S X6 RET S3 S40 S S41 S S42 S S3 S20 S30 S40 S3 M1002 X0 X1 X2 X6 Y0 Y1 Y2 S50 X5 S60 T1 Y7 S31 S41 X3 Y3 Y4 TMR T1 K10 S32 S42 X4 Y5 Y6 5-18 5. 顺序功能图 SFC 并行性分支、选择性汇合流程范例: 梯形图: SFC图: S127 K10 M1002 ZRST S0 SET S4 SET S20 Y0 SET S30 Y1 SET S40 Y2 END X0S4 S S20 S X1 S30 S X2 S40 S X3 SET S31 SET S32 SET S50 Y3 S31 S X4 SET S41 Y4 S41 S X5 SET S50 Y5 S32 S X6 SET S42 Y6 S42 S X7 SET S50 S50 S T1 SET S60 TMR T1 Y7 S60 S X6 RET S4 S4 S20 S30 S40 S4 M1002 X0 X1 X2 Y0 Y1 Y2 S50 X3 S60 T1 Y7 S31 S41 X4 Y3 Y4 TMR T1 K10 S32 S42 X6 Y5 Y6 X5 X7 5-19ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 综合例一:(含选择分支、汇合,并行分支、汇合) 梯形图: S127 M1002 ZRST S0 SET S0 Y1 SET S30 Y2 SET S40 Y3 S X1 S30 S X4 S31 S X5 SET S31 SET S32 SET S40 Y5 S40 S X7 SET S50 Y7 S50 S X21 SET S60 Y23 S60 S SET S51 X2 X3 S20 Y0 SET S20 S X0 S0 END Y20 S51 S X22 SET S61 S61 S X25 SET S70 Y24 Y27 S70 S X27 RET S0 S60 S S61 S Y4 S32 S X6 SET S41 Y6 S41 S X20 SET S52 SET S53 Y22 S53 S X24 SET S63 Y25 S62 S Y26 S63 S X26 S0 S62 S S63 S Y21 S52 S X23 SET S62 5-20 5. 顺序功能图 SFC SFC 图: S0 S20 S30 S40 S0 M1002 X0 X1 X4 X27 Y1 Y2 Y5 S50 X7 S70 Y27 S51 S61 X22 Y20 Y24 S52 S62 X23 Y21 Y25 X21 X25 S60 Y23 Y0 Y7 S31 Y3 X5 X2 S32 Y4 X6 X3 S41 Y6 X20 X26 S53 S63 Y22 Y26 X24 S0 5-21ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 合并例二:(含选择分支、汇合,并行分支、汇合) 梯形图: SFC图: S127 M1002 ZRST S0 SET S0 SET S30 Y0 SET S31 Y1 SET S33 Y2 END X0S0 S S30 S X1 S31 S X2 S32 S X3 SET S32 SET S33 Y3 S33 S X4 SET S34 Y4 S34 S X5 SET S35 Y6 S36 S X6 SET S37 Y7 S37 S S0 S35 S RET X1 SET S36 Y5 S35 S X7S37 S S0 S30 S31 S33 M1002 X0 X1 X2 Y0 Y1 Y3 S34 X4 S36 S37 X6 Y6 Y7 X5 S35 Y5 Y4 S32 Y2 X3 X1 S0 X7 5-22 5. 顺序功能图 SFC 分支流程的限制: 1. 一个分支流程所使用的分支步进点最多 8 个,如下图所示,步进点 S20 后分支步进点 S30~S37 最多 8 个。 2. 复数个分支流程或并行流程合在同一个流程里最多可使用 16 个回路,如下图所示,步进点 S40 后分支为 4 个步进点,步进点 S41 后分支为 7 个步进点,步进点 S42 后分支 5 为个步 进点,在此流程里最多 16 个回路。 3. 流程中的某一步进点可指定跳到另一个流程的任一个步进点。 SFC 图: S0 S20 S30 S40 S0 M1002 X0 X1 X11 X51 Y0 Y1 Y11 S50 X20 S80 Y41 S51 S71 X33 Y15 Y33 S53 S73 X35 Y17 Y35 X32 X44 S70 Y32 Y14 S31 Y2 X12 X2 S32 Y4 X15 X4 S41 Y12 X21 X52 S54 Y20 S0 SET S32 Y3 X14 X3 S52 S72 X34 Y16 Y34 S0 SETX13 S20 OUT S20 OUT S81 X45 Y42 SET S34 Y5 X15 X5 S35 X15 X6 S55 S74 X36 X22 X46 Y6 S36 X16 X7 Y7 Y21 Y36 S56 Y22 S57 Y23 S20 X23 OUT RST S36 S58 X37 X24 Y24 RST S58 Y26S60 X26 X41 Y27S61 X27 X42 Y30S62 X30 Y31S63 X31 Y40S76 X43 X50 Y10 Y13 Y25 Y37 S37 S42 S59 S75 X40 X47 X10 X17 X25 SET S0 OUT S42 5-23ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 5.6 IST 指令 API 指令码 运算单元 功能 60 适用机种 ES2/EX2IST 手动/自动控制 SS2 SA2 SX2 SE 位装置 字装置 指令步数 类型 操作数 X Y M S K H KnX KnY KnM KnS T C D E F IST: 7 steps S * * * D1 * D2 * 脉冲型 16 位指令 32 位指令 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 ES2/EX2 SS2 SA2 SE SX2 操作数: S:指定运行模式的起始装置(操作单元 S 会占用 8 个连续的装置)。 D1:自动运行模式下指定使 用状态步进点的最小编号。 D2:自动运行模式下指定使用状态步进点的最大编号。 指令说明: 1. 指令 IST 为一特定的步进阶梯控制流程初始状态的便利指令,配合特殊辅助继电器形成便利的 自动控制命令。 2. D1 及 D2 的范围为 S20~S911 并且 D1 < D2。 3. IST 指令在程序中只能使用一次。 程序范例 1 M1000 IST X30 S20 S60 1. 運轉模式 X30:手动操作 X34:连续运行 S= X31:原点回归 X35:原点回归启动 X32:步进 X36:启动 X33:一次循环 X37:停止 2. IST 指令执行时,以下的特殊辅助继电器会自动的切换。 M1040:移行禁止 S0:手动操作初始状态步进点 M1041:移行开始 S1:原点回归初始状态步进点 M1042:状态脉冲 S2:自动运行初始状态步进点 M1047:STL 可监视 3. 使用 IST 指令时,S10~S19 为原点复归使用,此状态步进点不能当成一般的步进点使用。而使 用 S0~S9 的步进点时,S0~S2 三个状态点的动作分别为手动使用、原点回归使用及自动运转用, 因此在程序中,必须先写该三个状态步进点的电路。 5-24 5. 顺序功能图 SFC 4. 当切换到 S1(原点回归)的模式时,若 S10~S19 之间有任何一点 On,则原点回归将不会有动作 产生。 5. 当切换到 S2(自动运转)的模式时,若 D1 ~ D2 之间的 S 有任何一点 On,或是 M1043 On,则 自动运转将不会有动作产生。 程序范例 2: 机械手臂控制(使用 IST 指令): 1. 动作要求:分开大小两种皮球,并搬到不同的箱子存放。配置控制盘以供控制。 2. 机械手臂动作:下降、夹取、上升、右移、下降、释放、上升、左移,依序完成皮球的搬运。 3. I/O 装置: 大 小大小感 应器 X0 大右限X2 小右限X3左限X1 Y0 Y1 Y2Y3上限X4 下限X5 4. 运行模式 手动操作: 用单个按钮接通和切断负载的模式。 原点复归: 按下原点复归按钮, 使机械自动复归到原点的模式。 自动运行(单步运行/一次运行/连续运行): z 单步运行: 每次按自动启动按钮, 前进一个步进。 z 一次运行: 在原点位置按下自动启动按钮, 进行一次循环的自动运行并在原点停止。中途 按自动停止按钮, 其工作停止, 若再按启动按钮, 在此继续动作到原点停止。 z 连续运行: 在原点位置按自动启动按钮, 开始继续运行。若按停止按钮, 则运转至原点位 置后停止。 5. 控制盘 X35 X36 X37 X20 X21 X22 X23 X24 X25 单步运行X32 一次循环 X33 连续运行 X34手动操作 X30 原点回归 X31 电源启动 电源停止 原点回归 自动启动 自动停止 右移 左移释放 夹取 下降 上升 z 大小感应器 X0。 z 机械手臂左限 X1、大球右限 X2、小球右限 X3、上限 X4、下限 X5。 z 机械手臂上升 Y0、下降 Y1、右移 Y2、左移 Y3、夹取 Y4。 5-25ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 6. 开始回路: M1000 IST X30 S20 S80 X0 M1044 X1 Y4 7. 手动操作模式: X20 SET RST Y4 Y4S S0 X21 X22 Y1 Y0 X23 Y0 Y1 X24 X4 Y2 Y3 X25 X4 Y3 Y2 夹具释放 夹具夹紧 上升 下降 右移 左移 条件互锁 条件互锁 机械手臂上升至上限(X4 On) 8. 原点回归模式: SFC 图: S1 S10 X35 S11 X4 S12 X1 RST Y4 RST Y1 Y0 RST Y2 Y3 SET M1043 夹具释放 下降停止 机械手臂上升至 (X4 On) 右移停止 左移至左限 ()X1 On 置位回原点完毕标志 RST S12 回原点完成 5-26 5. 顺序功能图 SFC 梯形图: 夹具释放 下降停止 机械手臂上升至上限 (X4 On) 右移停止 左移至左限(X1 On ) 置位回原点完毕标志 回原点完成 X35 SET S10S S1 RST Y4S S10 RST Y1 Y0 X4 SET S11 RST Y2S S11 Y3 X1 SET S12 SET M1043S S12 RST S12 进入原点回归模式 5-27ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 9. 自动运行 (单步运行/一次循环/连续运行模式): a) SFC 图: S2 S20 S30 S31 M1044 X5 T0 Y1 SET Y0 S32 X4 X2 S50 Y1 Y2 S2 X1 M1041 X0 Y4 TMR T0 K30 S60 RST X5 Y4 TMR T2 K30 S70 T2 Y0 S80 X4 Y3 X1 S40 S41 X5 T1 SET Y0 S42 X4 X3 Y2 X0 Y4 TMR T1 K30 X3X2 5-28 5. 顺序功能图 SFC b) 梯形图: SET S20 SET S30 SET Y4 Y0 END X5 S31 S X4 TMR T0 SET S32 S2 S M1041 M1044 S20 S S30 S Y1 X0 SET S40 X5 X0 SET S31 T0 K30 Y2 S32 S X2 SET S50 X2 SET Y4 TMR T1 S40 S SET S41 T1 K30 Y0 S41 S X4 SET S42 Y2 S42 S X3 SET S50 X3 Y1 S50 S X5 SET S60 RST Y4 TMR T2 S60 S SET S70 T2 K30 Y0 S70 S X4 SET S80 Y3 S80 S X1 X1 RET S2 进入自动运行模式 左移至左限(X1 On) 机械手臂上升至上限 (X4 On ) 夹具夹紧 夹具夹紧 夹具释放 下降 下降 右移 右移 机械手臂上升至上限 (X4 On ) 机械手臂上升至上限 (X4 On ) X4 X4 X4 X5 5-29ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 MEMO 5-30 故障诊断 说明 PLC 故障诊断的信息。 目录 6.1 常见错误及处理方法 .............................................................................................................6-2 6.2 D1004 寄存器错误码表(错误码为 16 进制编码)...............................................................6-4 6.3 演算错误旗号 ........................................................................................................................6-7 6-1ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 6-2 6.1 常见错误及处理方法 下表列出了针对 PLC 系统故障的一些常见问题及故障诊断流程。 系统故障操作方法 故障显示 故障诊断及纠正方法 所有的灯都灭 1. 检查电源线是否正常; 2. 检查 PLC 的供电电源是否在 PLC 的供电范围之内。 3. 请检查供电电源是否波动。 4. 如果 PLC 和其他的设备共用电源线,请断开其它设备的电源供应。 如果此时 PLC 上的电源指示灯变亮,说明电源的带负载能力不够。 请增加电源的带负载能力或者其他的设备用其他的电源供电。 5. 如果做过上述纠正之后,如果 PLC 供电后其电源指示灯仍不亮,这 个 PLC 须返回给经销商或代理商维修。 错误(ERROR)灯闪烁 1. 如果 ERROR 灯闪烁,则可能导致的原因有:无效的命令,通讯错误, 无效的操作及遗漏指令。错误指示是通过 PLC 的自检功能检查出来 的,并且 PLC 会把相应的错误代码及发生错误的位置(步数)存储 在特殊寄存器内,相应的错误代码可以通过 WPLSoft 或者 ISPSoft 读出。.错误代码和错误位置(步数)储在下面的特殊寄存器内。 错误代码:D1004 发生错误的位置(程序步数):D1137 2. 如果发现电脑或者其它上位机设备无法与 PLC 联机并且错误 (ERROR)灯快速闪烁,这表示直流 24V 供电电源不足,请检查直 流 24V 供电电源是否过载。 3. 如果程序回路执行时间超过预设时间(程序扫描逾时时间),PLC 的 错误(ERROR)灯会一直亮(即不闪烁),此时请减小程序回路执行 时间或通过 WDT 指令来改善。当错误(ERROR)灯一直亮时,将 PLC 程序重新下载后再将 PLC 重新上电,看 PLC 的错误(ERROR) 灯是否灭掉。如果做过上述纠正之后,PLC 的错误(ERROR)灯仍 一直亮,请将 PLC 电源关闭并检查 PLC 附近是否有噪声干扰或有异 物进入 PLC 内部。 6. 故障诊断 6-3 故障显示 故障诊断及纠正方法 输入故障诊断 输入指示灯为灭时的故障诊断 1. 检查输入装置的接线是否正常。. 2. 检查输入端的供电电源是否正常供给输入端。 3. 如果输入电源不能正常给输入端供电,可能是因为输入设备有问题或 者输入电源有问题。请检查输入设备和输入电源。 4. 如果输入端的供电电源正常,可能是 PLC 的输入电路有问题,请联 系您的此 PLC 的销售商。 输入指示灯为亮时的故障诊断 1. 用编程工具监视输入条件,如果监视的输入点为 OFF,PLC 的输入 电路可能有问题,请联系您的此 PLC 的销售商。 2. 如果监视的输入点为 ON,请再次检查程序;另外也请检查如入设备 (如两线传感器)之间的漏电流,输出点的多重使用及程序流程控制 中是否有像 MC 或 CJ 指令被使用。 3. 检查 I/O 的分配设置 输出故障诊断 输出指示灯为亮时的故障诊断 1. 检查负载接线是否正确。 2. 检查负载的供电是否正常。 3. 如果负载的供电电源正常,可能是负载有问题; 4. 如果电源不能给负载正常供电,PLC 的输出电路可能有问题,请联 系您的此 PLC 的销售商。 输出指示灯为灭时的故障诊断 1. 用编程工具监视输出条件是否正常,如果监视输出点变 ON,可能存 在多重输出错误(一个程序中有多个相同的输出点)。 2. 用编程工具强制输出为 ON,如果输出指示灯变 ON,那么检查输入 条件是否正常。如果输入条件正常,输出指示灯仍为 OFF,可能 PLC 的输出电路有问题,请联系您的此 PLC 的销售商。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 6-4 6.2 D1004 寄存器错误码表(错误码为 16 进制编码) 将程序写入 PLC 内部后,若发生 PLC ERROR 错误指示灯闪烁,特殊继电器 M1004=On,原因可能 是指令操作数(装置)使用不合法或程序语法回路有错,可根据特殊寄存器 D1004 的错误代码(16 进 制编码)并对照下表,可得知错误原因,而发生错误的地址存于数据寄存器 D1137 内(若为一般回路 错误则 D1137 的地址值无效)。 错误码 原因 排除方法 0001 装置 S 超过有效范围 0002 P 标签使用重复或超过有效范围 0003 操作数 KnSm 超过有效范围 0102 中断点 I 使用重复或超过有效范围 0202 MC 指令超过有效范围 0302 MCR 指令超过有效范围 0401 装置 X 使用超过范围 0403 KnXm 使用超过范围 0501 装置 Y 使用超过范围 0503 KnYm 使用超过范围 0601 定时器位装置使用超过范围 0604 16 位定时器寄存器使用超过范围 0801 位装置 M 使用超过范围 0803 KnMm 使用超过范围 0B01 K,H 使用范围有误 0D01 DECO 指令操作数使用不当 0D02 ENCO 指令操作数使用不当 0D03 DHSCS 指令操作数使用不当 0D04 DHSCR 指令操作数使用不当 0D05 PLSY 指令操作数使用不当 0D06 PWM 指令操作数使用不当 0D07 FROM/TO 指令操作数使用不当 0D08 PID 指令操作数使用不当 0D09 SPD 指令操作数使用不当 0D0A DHSZ 指令操作数使用不当 0D0B IST 指令操作数使用不当 0E01 计数器位装置使用超过范围 查看 D1137(程序发 生错误时的步数)的 值,找到发生错误的 位置并重新输入正确 的指令 6. 故障诊断 6-5 错误码 原因 排除方法 0E04 16 位计数器寄存器使用超过范围 0E05 DCNT 指令操作数 CXXX 使用不当 0E18 BCD 转换错误 0E19 除法演算错误(除数=0) 0E1A 装置使用超过范围(含 E、F 修饰错误) 0E1B 开根号值为负数 0E1C FROM/TO 指令通讯错误 0F04 D 寄存器使用超过范围 0F05 DCNT 指令操作数 DXXX 使用不当 0F06 SFTR 指令操作数使用不当 0F07 SFTL 指令操作数使用不当 0F08 REF 指令操作数使用不当 0F09 WSFR, WSFL 指令操作数使用不当 0F0A TTMR, STMR 指令使用次数超出范围 0F0B SORT 指令使用次数超出范围 0F0C TKY 指令使用次数超出范围 0F0D HKY 指令使用次数超出范围 1000 ZRST 指令操作数使用不当 10EF E、F 使用错误或修饰超过范围 2000 MTR,ARWS 指令操作数使用错误, TTMR,PR, HOUR 指令使用次数超出范围 查看 D1137(程序发 生错误时的步数)的 值,找到发生错误的 位置并重新输入正确 的指令 错误码 原因 排除方法 C400 指令不合法 C401 一般回路错误 C402 LD / LDI 指令连续使用超过 9 次以上 C403 MPS 连续使用超过 9 次以上 C404 FOR-NEXT 超过 6 阶以上 C405 STL/RET 使用在 FOR-NEXT 之间 SRET/IRET 使用在 FOR-NEXT 之间 MC/MCR 使用在 FOR-NEXT 之间 END / FEND 使用在 FOR-NEXT 之间 C407 STL 连续使用查过 9 次以上 C408 STL 内使用 MC/MCR 或者 STL 内使用 I/P C409 子程序内使用 STL/RET 或者中断程序内使用 STL/RET 如果指令搭配不当会 产生回路错误,请选 择正确的编程方式并 修改指出的错误 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 6-6 错误码 原因 排除方法 C40A 子程序内使用 MC/MCR 中断程序使用 MC/MCR C40B MC/MCR 不是从 N0 开始或不连续 C40C MC/MCR 相对的 N 值不同 C40D 没有正确使用 I/P C40E IRET 不是在最后一个 FEND 后出现 SRET 不是在最后一个 FEND 后出现 C40F PLC 程序及参数区数据未被初始化 C41B 对扩展机下达 RUN/STOP 命令无效 C41C I/O 扩展机的输入输出点数超过范围 C41D 扩展机数量超过范围 C41F 数据写入内存失败 C430 并行接口初始化错误 C440 高速计数器硬件错误 C441 高速比较器硬件错误 C442 MCU 脉冲输出硬件错误 C443 扩展机无响应 C4EE 程序中没有结束指令 END C4FF 指令无效<无此指令> 如果指令搭配不当会 产生回路错误,请选择 正确的编程方式并修 改指出的错误 6. 故障诊断 6-7 6.3 演算错误旗号 装置 说明 停电保持 停止 Æ运行 (STOP Æ RUN) 运行 Æ 停止 (RUN Æ STOP) M1067 程序执行错误标志位 无 清除 保持 M1068 程序执行错误锁存标志位 无 保持 保持 D1067 运算错误码寄存器 无 清除 保持 D1068 运算错误位置(错误所在的程序步数) 寄存器 无 保持 保持 D1067 错误码 原因 0E18 BCD 转换错误 0E19 除法演算错误(除数=0) 0E1A 浮点数超过使用范围 0E1B 开根号值为负数 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 6-8 MEMO 7-1 CANopen功能及操作说明 本章重点讲解 CANopen 功能及具体使用方法。 目录 7.1 CANopen简介 ......................................................................................................................7-2 7.1.1 CANopen功能介绍...................................................................................................7-2 7.1.2 输入输出映射区说明 ................................................................................................7-4 7.2 安装及网络拓扑 ....................................................................................................................7-5 7.2.1 外观尺寸 ..................................................................................................................7-5 7.2.2 各部名称 ..................................................................................................................7-5 7.2.3 CAN接口及网络拓扑................................................................................................7-6 7.3 CANopen协议介绍.............................................................................................................7-10 7.3.1 关于CANopen协议.................................................................................................7-10 7.3.2 CANopen 通讯对象............................................................................................... 7-11 7.3.3 预定义连接设置 .....................................................................................................7-17 7.4 梯形图发送SDO、NMT及读取EMERGENCY信息.............................................................7-19 7.4.1 SDO请求信息的数据结构 ......................................................................................7-19 7.4.2 NMT信息的数据结构..............................................................................................7-22 7.4.3 EMERGENCY 请求信息的数据结构 .....................................................................7-24 7.4.4 梯形图发送SDO范例..............................................................................................7-26 7.5 指示灯及故障排除...............................................................................................................7-29 7.5.1 指示灯说明.............................................................................................................7-29 7.5.2 CANopen网络节点状态显示 ..................................................................................7-30 7.6 应用范例 .............................................................................................................................7-34 7.7 对象字典 .............................................................................................................................7-42 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-2 7.1 CANopen 简介 ¾ CANopen 总线以配线简单、通讯实时性好、纠错能力强、通讯稳定、成本低廉等优点而被工业 自动化、汽车工业、医疗设备、建筑等领域广泛采用。 ¾ 此主机内建 CAN 通讯口,遵循 CANopen DS301 基本通信协议,可以工作于主站模式或者从站 模式。 ¾ 本章重点介绍其 CANopen 功能,此功能由特殊辅助继电器 M1349 控制, M1349 ON 时可启 动 CANopen 功能,OFF 时关闭。作为主站时最多可支持站号为 1~16 的 16 台从站。 ¾ DVP-ES2-C 的 CANopen 网络组态软件为 CANopen Builder,其 CANopen 站号及通讯速率通 过该软件进行设置。DVP-ES2-C 的编程软件为 WPLSoft 或 ISPSoft。 ¾ 本章重点介绍其 CANopen 功能,如果不理解功能简介中专业名词的含义,可以先参考 7.3 节的 说明。 7.1.1 CANopen 功能介绍 ¾ 当作为主站使用时,有如下功能: — 支持 CANopen 标准协议 DS301 V4.02 — 支持 NMT(Network Management Object:网络管理对象)服务 ‹ 支持 NMT 状态控制 NMT 状态控制可用于控制 CANopen 网络中从站的状态 ‹ 支持 NMT 错误控制 NMT 错误控制用于监控从站是否掉线。NMT 错误控制分为 Heartbeat 和 Node Guarding 两种,本机支持 Heartbeat,不支持 Node Guarding。 — 支持 PDO (Process Data Object:过程数据对象)服务: ‹ PDO 报文可用于传输实时输入和输出数据 ‹ 最大支持 128 个 RxPDO,最大支持 390 个字节 ‹ 最大支持 128 个 TxPDO,最大支持 390 个字节 ‹ PDO 传输类型:同步模式,异步模式 — 支持 SDO(Service Data Object:服务数据对象)服务: ‹ SDO 可用于读/写从站参数或者配置从站参数 ‹ 支持标准 SDO 传输模式 ‹ 支持自动 SDO 功能,对每一台从站最多可执行 20 笔 SDO 写操作 ‹ 支持在 PLC 梯形图中使用 SDO 服务读写从站数据 7. CANopen 功能及操作說明 7-3 — 支持读取从站紧急报文(Emergency)服务: ‹ 读取从站紧急报文服务可用于读取从站错误或者报警信息 ‹ 可为每个从站保存 5 笔最新的紧急报文 ‹ 可通过 PLC 梯形图读取紧急报文 — 支持同步对象(SYNC Object)服务 通过同步报文,可实现多个设备同步动作 — 支持的 CANopen 通讯速率:20K,50K,125K,250K,500K,1Mbps — 支持的映射数据类型: 存储空间 数据类型 8-bit SINT USINT BYTE 16-bit INT UINT WORD 32-bit DINT UDINT REAL DWORD 64-bit LINT ULINT LREAL LWORD ¾ 当作为从站使用时,有如下功能: — 支持 CANopen 标准协议 DS301 V4.02 — 支持 NMT(Network Management Object:网络管理对象)服务 ‹ 支持 NMT 状态控制 DVP-ES2-C 在 CANopen 网络中的状态受主站控制 ‹ 支持 NMT 错误控制 支持 Heartbeat 错误控制 ,不支持 Node Guarding 错误控制。 — 支持 PDO 服务: ‹ PDO 报文可用于传输实时输入和输出数据 ‹ 最多可配置 8 个 TxPDO 和 8 个 RxPDO ‹ PDO 传输类型:同步模式、异步模式 — 支持紧急报文(Emergency)服务 当 DVP-ES2-C 出现紧急错误时或者报警时,可通过紧急报文通知主站。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-4 7.1.2 输入输出映射区说明 DVP-ES2-C 作为主站最大支持 16 台从站,并且从站的站号范围为 1~16。输出映射区为 D6250-D6476,输入映射区为 D6000-D6226,如下表所示: PLC 装置 映射区域 映射长度 D6250~D6281 SDO 请求信息,NMT 服务信息及 Emergency 请求信息 64 字节 D6000~D6031 SDO 回应信息及 Emergency 回应信息 64 字节 D6282~D6476 RxPDO 映射区 390 字节 D6032~D6226 TxPDO 映射区 390 字节 DVP-ES2-C 做从站时,输出映射区为 D6282~D6313,输入映射区为 D6032~D6063,如下表所示: PLC 装置 映射区域 映射长度 D6032~D6063 RxPDO 映射区 64 字节 D6282~D6313 TxPDO 映射区 64 字节 7. CANopen 功能及操作說明 7-5 7.2 安装及网络拓扑 本部分主要介绍 DVP-ES2-C 的外观尺寸、CAN 接口引脚定义及 CANoen 网络架构及通讯距离的相 关说明。 7.2.1 外观尺寸 106 98 L1 L 78 90 61.5 110 单位:毫米 7.2.2 各部名称 脱落式输入/输出端子 直接固定孔 DIN (35mm) 轨槽 COM1 (RS-232C) 程式通讯埠 DIN 轨固定扣 电源、运行、错误及 指示灯COM 输入/输出点指示灯 Run/Stop开关 I/O模组连接埠 COM3 (CAN) COM2(RS-485) DVP32ES2 输出类型 机种型号 I/O 模组固定扣 输入/输出端子编号 输入/输出端子编号 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-6 7.2.3 CAN 接口及网络拓扑 ¾ COM3(CAN)通讯口硬件接口引脚定义 引脚信号 说明 CAN+ CAN-H CAN- CAN-L SG 信号地 White (CAN_H) Blue (CAN_L) D+ D- CAN+ SG CAN- Black(SG) ¾ CAN 总线物理信号的定义及数据帧格式 CAN 信号为差分信号,信号电压为 CAN+和 CAN-之间的电压差,CAN+ 和 CAN-的电压以 SG 为参 考点。CAN 总线有两种状态,一种是显性电平状态,用逻辑“0”表示;一种是隐性电平状态,用逻辑 “1”表示。CAN 总线的信号电平如下图所示。 CAN 总线的数据帧格式如下图所示,CAN 节点按照下图所示的数据帧格式从左到右逐位将 CAN 报 文发送到总线上。 ¾ CAN 总线终端和网络拓扑结构: 为了增强 CAN 通讯的稳定性,CAN 总线网络的两个终端需接入 120 欧姆的终端电阻。下图所示为 基本的 CAN 网络拓扑结构示意图。 显性 隐性 使用一字螺丝刀拧紧 7. CANopen 功能及操作說明 7-7 120 Ω120Ω CAN 1节点 CAN 2节点 CAN 3节点 CAN H_ CAN L_ ¾ CANopen 总线网络拓扑架构 1) 组建 CANopen 网络时建议使用台达标准电缆:TAP-CB01 粗缆、TAP-CB02 细缆,TAP-CB10 细缆,并且通讯电缆须远离动力电缆。 2) 请在网络两端的 CAN+和 CAN-(即白色和蓝色)之间分别串接阻值为 120 欧姆的电阻。用户可 自行购买台达的标准终端电阻 TAP-TR01. 3) CANopen 总线网络长度限制 CANopen 总线网络的传输距离由 CANopen 总线传输速率决定,下表所示为不同传输速率对应的 最大通讯距离。 传输速度(位/秒) 20K 50K 125K 250K 500K 1M 最大通讯距离(米) 2500 1000 500 250 100 25 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-8 4) 台达 CANopen 总线相关的网络产品如下表所示: 产品图片 型号 功能说明 DVP32ES200RC DVP32ES200TC DVP-ES2-C 系列 PLC 主机,内建 CAN 接口, 可以做 CANopen 主站或者从站。 DVPCOPM-SL DVPCOPM-SL 是运行于 S 系列 PLC 主机左 侧的 CANopen 模块,可以做 CANopen 主站 或者从站。左侧可以接 DVPCOPM-SL 模块 的 PLC 主机有 DVP-28SV,DVP-28SV2, DVP-SX2,DVP-SA2,DVP-EH2-L。 IFD9503 CANopen 转 MODBUS 网关,可以将符合标 准 MODBUS 协议的设备(带 RS-232 或者 RS485 接口)接入 CANopen 网络。IFD9503 通过 RS-485 接口连接 MODBUS 设备时, 最多可以连接 15 个设备。 DVPCP02-H2 CANopen 从站模块,可接在 EH2 系列主机 的右侧,用于将 EH2 系列 PLC 接入 CANopen 网络。 IFD6503 CANopen 总线数据分析工具,一端为 CAN 接口,一端为 USB 接口。可用于抓取 CAN 总线数据或者给 CAN 总线节点发送数据。该 产品配合 Netview Builder 软件使用。 ASD-A2-xxxx-M 伺服驱动器 伺服驱动器,内建 CANopen 接口,可以实 现定位、速度、扭矩控制。 C2000,CP2000, C200 系列变频器 变频器,内建 CANopen 功能,可以实现定 位、速度、扭矩控制。C2000,CP2000 系 列变频器使用 CANopen 功能时,须购买 CMC-COP01 卡,此卡只是提供 CAN 接口。 C200 系列变频器内建 CANopen 接口。 7. CANopen 功能及操作說明 7-9 产品图片 型号 功能说明 EC 系列变频器 变频器,内建 CANopen 接口,可以实现速 度、扭矩控制。 TAP-CN01 CANopen 总线拓扑分接盒,自带 120 欧姆 的电阻,可以通过开关选择电阻是否生效。 TAP-CN02 CANopen 总线拓扑分接盒, 自带 120 欧姆的 电阻,可以通过开关选择电阻是否生效。 TAP-CN03 CANopen 总线拓扑分接盒, 自带 120 欧姆的 电阻,可以通过开关选择电阻是否生效。 TAP-CBO3 TAP-CBO5 TAP-CB10 TAP-CB20 CANopen 分支线线缆,两端为 RJ45 接头。 TAP-CBO3: 0.3 米长。 TAP-CBO5: 0.5 米长。 TAP-CB10: 1 米长。 TAP-CB20: 2 米长。 TAP-CB01 TAP-CB02 CANopen 总线线缆。 TAP-CB01:CANopen 主干线线缆。 TAP-CB02:CANopen 分支线线缆。 TAP-TR01 终端电阻,RJ45 接头。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-10 7.3 CANopen 协议介绍 7.3.1 关于 CANopen 协议 CAN(Controller Area Network)现场总线仅仅定义了物理层、数据链路层(见 ISO11898 标准), 没有规定应用层;实际设计中,物理层、数据链路层完全由硬件实现。所以 CAN 现场总线本身并不 完整,需要一个高层协议来定义 CAN 报文中的 11/29 位标识符、8 字节数据的使用。 CANopen 协议是一种基于 CAN 的高层协议,它是由 CiA(CAN-in-Automation)定义并维护的协议 之一,它是在 CAL(CAN Application Layer)协议基础上开发的,使用了 CAL 通信和服务协议子集。 CANopen 协议涵盖了应用层和通讯描述(CiA DS301),另外还包括可编程设备的构架(CiA 302), 电缆和连接器的介绍(CiA 303-1)以及单位和称谓表示法(CiA 303-2)。 在 OSI 模型中,CAN 标准、CANopen 协议之间的关系如下图所示: ¾ 对象字典 CANopen 使用基于对象的方法来定义标准设备,每个设备都表现为一组对象的集合,能够被网络所 访问。CANopen 设备模型如下图所示,从下图可以看出对象字典是通讯程序和上层应用程序之间的 接口。 CANopen 的核心概念是设备对象字典(Object Dictionary,OD),它是一个有序的对象组,每个对象 采用一个 16 位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个 8 位的子索 引。CANopen 网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的 所有参数。一个节点的对象字典是在电子数据文档(Electronic Data Sheet,EDS)中描述。 设备描述 CiA DSP-401 设备描述 CiA DSP-404 设备描述 CiA DSP-xxx OSI 第七层 应用层 通讯描述 CiA DS-301 CAN 控制器 CAN 2.0A ISO 11898 + - + - CAN 总线 OSI 第二层 数据链路层 OSI 第一层 物理层 7. CANopen 功能及操作說明 7-11 通讯对象 对象字典 通讯规范 设备规范 通讯对象 通讯对象 应用对象 应用对象 C A N 过 程 7.3.2 CANopen 通讯对象 CANopen 通讯协议包括如下通讯对象 ¾ PDO (Process Data Object:过程数据对象) — PDO 提供设备应用对象的直接访问通道,用来传输实时数据,具有较高的优先权。PDO CAN 报文数据域中每个字节都用作数据传输,报文利用率高。 — PDO 通过“生产者/消费者”模式来描述,数据从一个生产者传到一个或者多个消费者,数据传送 限制在 1~8 个字节。生产者传输数据后,不需要消费者确认,网络上的每个节点都会检测发送 节点发出的数据信息,然后节点会决定接收到的信息是否需要处理。 — 每个 PDO 有两种 PDO 服务:TxPDO 和 RxPDO。生产者发出的 PDO 称为该设备的发送 PDO(TxPDO),消费者设备接收的 PDO 称为该设备的接收 PDO (RxPDO)。 — 每个 PDO 在对象字典中用 2 个对象描述:PDO 通讯参数和 PDO 映射参数 PDO 通讯参数:包含哪个 COB-ID 将被 PDO 使用,传输类型,禁止时间和定时器周期。 PDO 映射参数:包含一个对象字典中对象的列表,这些对象映射到 PDO 里,包括它们的数据 长度(in bits)。生产者和消费者必须知道这个映射,以解释 PDO 内容。 — PDO 传输模式:同步和异步 同步:同步周期和同步非周期 异步:数据变化时传送或由事件触发传送 PDO 支持的传输模式如下表所示: 类型 PDO 传输 周期 非周期 同步 异步 RTR 0 X X 1 – 240 X X 254 X 255 X ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-12 模式 0:只有当 PDO 数据已改变且同步信号(SYNC)到来时,才传送 PDO 信息。 模式 1~240:每隔 1~240 个同步信号传送一笔 PDO 信息。 模式 254:传送触发事件是制造厂所定义的,本机定义同模式 255。 模式 255:数据变化时传送或由事件触发传送。 PDO 中的所有传送数据必须由对象字典中映像进来。以下是一个 PDO 映像实例: RxPDO 和 TxPDO 报文格式如下: COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 对象标识符 数据 PDO_1 应用对象 C zzh zzzzh 应用对象 B yyh yyyyh 应用对象 A xxh xxxxh 对象字典 xxxxh zzzzh yyyyh 8 xxh 3 16 zzh 2 8 yyh 1 30 PDO_1 映射 应用对象 A 应用对象 C应用对象 B 7. CANopen 功能及操作說明 7-13 ¾ SDO(Service Data Object:服务数据对象) — SDO 是用来建立两个 CANopen 设备之间的客户/服务器关系的,客户设备可以对服务器设备的 对象字典进行读/写访问操作。SDO 的访问模式为“客户端/服务器”模式,被访问的节点为 SDO 服务器。每个 CANopen 设备至少有一个服务数据对象,用来提供该设备对象字典的访问通道。 SDO 可以对对象字典内的所有对象进行读/写访问操作。 — SDO 报文中包含索引和子索引信息,如此方便对象在对象字典中定位,而且对象字典中的复合 数据结构易于通过 SDO 访问。SDO 的触发方式为命令响应型,即 SDO 客户发出读/写请求后, SDO 服务器须给予回应;客户端和服务器均可以主动终止 SDO 的传输;请求报文和响应报文 通过不同的 COB-ID 进行区分。 — SDO 可以传送任意长度的数据。如果传送的数据超过 4 个字节,则必须实行分段传送。最后一 段数据包含一个结束标志。 — SDO 请求报文和响应报文的结构如下: 请求报文格式: COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 对象索引 请求数据 600(hex) +Node-ID 请求码 LSB MSB 对象子索引 bit7-0 bit15-8 bit23-16 bit31-24 请求报文中请求码的含义如下表所示: 请求码(hex) 含义说明 23 写一个 4 字节数据 2B 写一个 2 字节数据 2F 写一个 1 字节数据 40 读数据 80 停止当前 SDO 命令 响应报文格式: COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 对象索引 响应数据 580(hex) +Node-ID 响应码 LSB MSB 对象子索引 bit7-0 bit15-8 bit23-16 bit31-24 响应报文中响应码的含义如下表所示: 响应码(hex) 含义说明 43 读 4 字节数据 4B 读 2 字节数据 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-14 响应码(hex) 含义说明 4F 读 1 字节数据 60 写 1/2/4 字节数据 80 终止 SDO 命令 ¾ NMT(Network Management Object:网络管理对象) CANopen 的网络管理遵循“主/从”模式。一个 CANopen 网络里只能存在一个 NMT 主站,其它节点均 被当成从站。NMT 可实现 3 种服务:Module control services(节点状态控制服务)、Error Control services(错误控制服务)和 Boot-up services(启动引导服务)。 — Module control services(节点状态控制服务) 节点状态控制是指 CANopen 网络中主站节点通过发送命令控制从站的状态,从站收到主站的命 令后执行,不需要回复。所有的 CANopen 节点都有一个内部的 NMT 状态,从站节点共有 4 种 状态:初始化状态、预欲行状态、运行状态、停止状态。设备的状态图如下图所示: (1)上电后,自动进入初始化状态 (2)初始化完成后,自动进入预运行状态 (3)(6)启动远程节点 (4)(7)进入预运行状态 (5)(8)停止远程节点 (9)(10)(11)应用层复位 (12)(13)(14)通讯复位 (15)自动进入应用层复位状态 (16)自动进入通讯复位状态 初始化 应用层复位 通讯复位 预运行状态 运行状态 停止状态 (1) (15) (16) (2) (3) (4) (7) (5) (6) (8) (9) (10) (11) (12) (13) (14) 7. CANopen 功能及操作說明 7-15 通讯对象与状态的关系如下表所示,通讯对象服务只有在适当的状态下才可以执,如 SDO 只能 在运行和预运行状态下执行。 初始化 预运行 运行 停止 PDO(过程数据) X SDO(服务数据) X X SYNC(同步对象) X X Time Stamp (时间戳) X X EMCY(紧急事件) X X Boot-up(启动引导) X NMT(网络管理) X X X 节点状态控制报文格式如下表所示: COB-ID Byte 0 Byte 1 0 命令说明符(CS) 从站站号(0 表示广播) 各命令说明符的功能见下表: 命令说明符(hex) 功能 01 启动远程节点 02 停止远程节点 80 进入预运行状态 81 应用层复位 82 通讯复位 — Error Control services(错误控制服务) 错误控制服务用于监测 CANopen 网络中是否有节点掉线。错误控制服务分为两种:heartbeat 和 node guarding,本机只支持 heartbeat。如从站启动 heartbeat 服务后,主站才可以监视从站是 否掉线。 Heartbeat 原理如下图所示:Heartbeat 生产者按照设定的 Heartbeat 产生时间定时发送 Heartbeat 报文,一个或者多个 Heartbeat 消费者监视 Heartbeat 生产者发送的报文,当消费者 在设定的超时时间内没有收到生产者发送的报文时,产生 Heartbeat 事件表明 CANopen 通讯异 常。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-16 — Boot-up services(启动引导服务) 从站在初始化完成进入预运行状态后,会发送一笔 Boot-up 报文,表示初始化完成。 ¾ 其他预定义 CANopen 通讯对象(SYNC,EMCY) — 同步对象(Sync Object) 同步对象由网络中主站节点以广播的形式周期发送到 CAN 总线的报文。这个对象用来实现基本 的网络时钟信号,每个设备可以根据自己的配置,决定是否使用该事件和其它网络设备进行同步 通讯。如在控制驱动装置时,各个装置收到主站发送的动作命令后并不立即动作,而是等收到同 步报文后一起动作,如此可以实现多个装置同步动作。 SYNC 报文格式如下图所示: COB-ID 80(hex) — 紧急事件对象(Emergency Object) 紧急事件对象是由 CANopen 设备用来标识内部紧急错误的,当设备出现紧急错误时,设备发出 紧急事件报文(报文中包含紧急错误码),设备进入错误状态。当错误消除后,设备发出紧急事 件报文报告错误消除,紧急错误代码为 0,设备进入正常状态。 请求 收到 收到 请求 Heartbeat 消费者 Heartbeat 生产 Heartbeat 产生时间 Heartbeat 超时时间 Heartbeat 事件 Heartbeat 超时时间 收到 7. CANopen 功能及操作說明 7-17 Emergency 报文格式如下图所示: COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 紧急错误码 80(hex) +Node-ID LSB MSB 错误暂存器 厂商自定义错误码 备注:错误暂存器内的值映像到对象字典(Object Dictionary)中的索引地址为 1001(hex)。 若该值等于 0,则表示无错误发生;若该值等于 1,则表示发生了一般性错误;若该值等于 H’80, 则表示发生了设备内部错误。 7.3.3 预定义连接设置 为了减少简单网络的组态工作量,CANopen 定义了一个强制性的默认标识符分配图表。在预定义连 接设置中,11 位的标识符结构如下: 下表列出了支持的对象及对象所分配的 COB-ID。 ¾ 预定义连接设置中的广播对象 对象 功能码 COB-ID 通讯参数所在的索引 NMT(网络管理) 0000 0 - SYNC(同步) 0001 128 (80h) 1005h, 1006h, 1007h Time Stamp (时间戳) 0010 256 (100h) 1012h, 1013h ¾ 预定义连接设置中的对等对象 对象 功能码 COB-ID 通讯参数所在的索引 EMCY (紧急事件) 0001 129 (81h) – 255 (FFh) 1014h, 1015h PDO1 (TX) 0011 385 (181h) – 511 (1FFh) 1800h PDO1 (RX) 0100 513 (201h) – 639 (27Fh) 1400h PDO2 (TX) 0101 641 (281h) – 767(2FFh) 1801h PDO2 (RX) 0110 769 (301h) – 895 (37Fh) 1401h PDO3 (TX) 0111 879 (381h) – 1023 (3FFh) 1802h PDO3 (RX) 1000 1025 (401h) – 1151 (47Fh) 1402h PDO4 (TX) 1001 1153 (481h) – 1279 (4FFh) 1803h 功能码 节点站号ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-18 对象 功能码 COB-ID 通讯参数所在的索引 PDO4 (RX) 1010 1281 (501h) – 1407 (57Fh) 1403h SDO (TX) 1011 1409 (581h) – 1535 (5FFh) 1200h SDO (RX) 1100 1537 (601h) – 1663 (67Fh) 1200h NMT Error Control (错误控制) 1110 1793 (701h) – 1919 (77Fh) 1016h, 1017h 7. CANopen 功能及操作說明 7-19 7.4 梯形图发送 SDO、NMT 及读取 Emergency 信息 SDO,NMT 和 Emergency 可通过编辑请求信息映射区来实现。请求信息映射区和回应信息映射区 与 PLC 装置的对应关系如下表所示。 PLC 装置 映射区域 映射长度 D6250~D6281 SDO 请求信息,NMT 服务信息及 Emergency 请求信息 64 字节 D6000~D6031 SDO 回应信息及 Emergency 回应信息 64 字节 1> CANopen 主站在同一时间内只能对同一台设备发一笔 SDO,NMT 或 Emergency 请求信息。 2> 使用 WPL 程序发送 SDO,NMT 或 Emergency 请求信息时,建议首先对请求信息映射区清零。 7.4.1 SDO 请求信息的数据结构 梯形图发 SDO 可用于读/写从站参数。 ¾ SDO 请求信息的数据格式如下表: 请求信息 PLC 装置 高字节 低字节 D6250 请求 ID 命令码(固定为 01) D6251 保留 数据长度 D6252 信息头 类型 节点地址 D6253 主索引高字节 主索引低字节 D6254 保留 子索引 D6255 数据 1 数据 0 D6256 数据 3 数据 2 D6257 ~ D6281 信息数据 保留 — 命令码:固定为 01。 — 请求 ID:每发送一笔 SDO 请求信息,必须为这笔信息分配一个请求 ID。CANopen 主站通过 请求 ID 号识别每一笔请求信息,当完成一次 SDO 读/写后,欲进行下一次 SDO 读/写时,必须 改变此 ID 号,即 SDO 的读/写通过“请求 ID”值的变化触发,请求 ID 的取值范围为 00(Hex)~FF(Hex)。 — 数据长度:信息数据的长度,从 D6253 开始计算,单位为字节。读取时固定为 4,写入时为 4 加上索引和子索引数据类型包含的字节数目,最大值为 8 。写入时,如索引和子索引的数据类 型为字(word)型数据时,则数据长度为 6;如索引和子索引的数据类型为字节(byte)型数据 时,则数据长度为 5。 — 节点地址:CANopen 网络中目标设备的节点地址。 — 类型: 01 表示 SDO 读取数据服务,02 表示 SDO 写入数据服务。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-20 ¾ SDO 响应信息的数据格式如下表: 响应信息 PLC 元件 高字节 低字节 D6000 响应 ID 状态码 D6001 保留 数据长度 D6002 信息头 类型 节点地址 D6003 主索引高字节 主索引低字节 D6004 保留 子索引 D6005 数据 1 数据 0 D6006 数据 3 数据 2 D6007 ~ D6031 信息数据 保留 — 状态码 响应信息中的状态码值的含义如下表所示: 状态码 说明 0 无数据传输请求 1 SDO 信息传送成功 2 SDO 信息正在传送处理中 3 Error – SDO 传送信息通讯超时 4 Error – 命令码不合法 5 Error – 传送数据长度不合法 6 Error – 回应数据长度不合法 7 Error – 欲传送之设备忙碌中 8 Error – 类型码不合法 9 Error – 节点地址错误 0A 错误信息(参考 SDO 回应信息中的错误代码) 0B~FF 保留 — 响应 ID:与请求信息中的请求 ID 相同。 — 数据长度:信息数据的数据长度,单位:字节。最大值为 20。写入时为 4,读取时由索引子和 索引数据类型决定。 — 节点地址:CANopen 网络中目标设备的节点地址。 — 类型: SDO 回应信息中 43(Hex)表示读 4 个字节数据,4B(Hex)表示读 2 个字节数据,4F(Hex) 表示读 1 个字节数据,60(Hex)表示写 1/2/4 个字节数据,80(Hex)表示终止 SDO 命令。 7. CANopen 功能及操作說明 7-21 范例 1:通过 SDO 给 3 号从站 2109_0(索引_子索引)内写入 010203E8(hex),2109_0(索引_子索引) 的数据类型为双字型(32 位)。 ‹ 请求数据如下表所示: 请求信息 PLC 装置 高字节 低字节 D6250 请求 ID=01 命令码=01 D6251 保留=0 数据长度=8 D6252 信息头 类型=02 节点地址=03 D6253 主索引高字节=21 主索引低字节=09 D6254 保留=0 子索引=0 D6255 数据 1=03 数据 0=E8 D6256 信息数据 数据 3=01 数据 2=02 ‹ 响应数据如下表所示: 请求信息 PLC 装置 高字节 低字节 D6000 响应 ID=01 命令码=01 D6001 保留=0 数据长度=4 D6002 信息头 类型=60 节点地址=03 D6003 主索引高字节=21 主索引低字节=09 D6004 保留=0 子索引=0 D6005 数据 1=00 数据 0=00 D6006 信息数据 数据 3=00 数据 2=00 范例 2:通 过 SDO 读取 3 号从站 2109_0(索引_子索引)的值,2109_0(索引_子索引)的数据类型为双 字型(32 位)。 ‹ 请求数据如下表所示: 请求信息 PLC 装置 高字节 低字节 D6250 请求 ID=01 命令码=01 D6251 保留=0 数据长度=4 D6252 信息头 类型=01 节点地址=03 D6253 主索引高字节=21 主索引低字节=09 D6254 保留=0 子索引=0 D6255 数据 1=0 数据 0=0 D6256 信息数据 数据 3=0 数据 2=0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-22 ‹ 响应数据如下表所示: 请求信息 PLC 装置 高字节 低字节 D6000 响应 ID=01 命令码=01 D6001 保留=0 数据长度=8 D6002 信息头 类型=43 节点地址=03 D6003 主索引高字节=21 主索引低字节=09 D6004 保留=0 子索引=0 D6005 数据 1=03 数据 0=E8 D6006 信息数据 数据 3=01 数据 2=02 7.4.2 NMT 信息的数据结构 NMT 可用于管理 CANopen 网络,如启动、运行、复位节点等。 ¾ NMT 请求信息的数据格式如下表: 请求信息 PLC 元件 高字节 低字节 D6250 请求 ID 命令码(固定为 01) D6251 保留 数据长度(固定为 04) D6252 信息头 类型(固定为 03) 节点地址 D6253 保留 NMT 服务码 D6254 信息数据 保留 节点地址 — 命令码:固定为 01。 — 请求 ID:每发送一笔 NMT 请求信息,必须为这笔信息分配一个请求 ID。CANopen 主站通过请 求 ID 号识别每一笔请求信息,当完成一次通讯,欲进行下一次通讯时,必须改变此 ID 号,即 NMT 命令发送通过“请求 ID”值的变化触发,请求 ID 的取值范围为 00(Hex)~FF(Hex)。 — 节点地址:CANopen 网络中目标设备的节点地址(0 表示广播)。 7. CANopen 功能及操作說明 7-23 — NMT 服务码: NMT 服务码(Hex) 功能介绍 01 启动远端节点 02 停止远端节点 80 进入预运行状态 81 应用复位 82 通信复位 ¾ NMT 响应信息的数据格式如下表: 响应信息 PLC 元件 高字节 低字节 D6000 响应 ID 状态码 D6001 保留 保留 D6002 信息头 保留 节点地址 — 状态码=1 时表示 NMT 操作成功。状态码不等于 1 时表示 NMT 操作失败,检查 NMT 请求信息 中的数据是否正确。 — 节点地址:CANopen 网络中目标设备的节点地址(0 表示广播)。 范例 1:通过 MMT 停止 3 号从站。 ‹ 请求数据如下表所示: 请求信息 PLC 元件 高字节 低字节 D6250 请求 ID=01 命令码=01 D6251 保留=0 数据长度=04 D6252 信息头 类型=03 节点地址=03 D6253 保留 NMT 服务码=02 D6254 信息数据 保留 节点地址=03 ‹ 响应数据如下表所示: 响应信息 PLC 元件 高字节 低字节 D6000 响应 ID=01 状态码=01 D6001 保留=0 保留=0 D6002 信息头 保留=0 节点地址=03 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-24 7.4.3 EMERGENCY 请求信息的数据结构 读取 Emergency 可以用于读取从站错误及报警信息 ¾ Emergency 请求信息的数据格式如下表: 请求信息 PLC 元件 高字节 低字节 D6250 请求 ID 命令码(固定为 1) D6251 保留 数据长度(固定为 0) D6252 信息头 类型(固定为 04) 节点地址 D6253~D6281 信息数据 保留 — 命令码:固定为 01。 — 请求 ID:每发送一笔 Emergency 请求信息,必须为这笔信息分配一个请求 ID。CANopen 主站 通过请求 ID 号识别每一笔请求信息,当完成一次通讯,欲进行下一次通讯时,必须改变此 ID 号,即 Emergency 信息的读取通过“请求 ID”值的变化触发,请求 ID 的取值范围为 00(Hex)~FF(Hex)。 — 节点地址:CANopen 网络中目标设备的节点地址。 ¾ Emergency 回应信息的数据格式如下表: 回应信息 PLC 元件 高字节 低字节 D6000 响应 ID 状态码 D6001 保留 数据长度 :固定为 2A (Hex) D6002 信息头 类型(固定为 04) 节点地址 D6003 总笔数 保存笔数 D6004 数据 1 数据 0 D6005 数据 3 数据 2 D6006 数据 5 数据 4 D6007 数据 7 数据 6 D6008 ~ D6011 Emergency2 D6012 ~ D6015 Emergency3 D6016 ~ D6019 Emergency4 D6020~ D6023 Emergency5 D6024~ D6031 信息数据 保留 — 状态码=1 时表示 NMT 操作成功。状态码不等于 1 时表示读取 Emergency 信息失败,检查请求 信息中的数据是否正确。 7. CANopen 功能及操作說明 7-25 — 节点地址:CANopen 网络中目标设备的节点地址。 — 总笔数:CANopen 主站接收到此从站 Emergency 信息的总笔数。 — 保存笔数:CANopen 主站接收到此从站的最新的 Emergency 信息的笔数(最多 5 笔)。 — D6004-D6007 为 Emergency 1 的内容,每笔 Emergency 为 8 个字节。 Emergency 报文在 CAN 总线上的数据结构如下表所示,Emergency 回应信息中的数据 0~数据 7 和下表所示 byte0~byte7 的内容一一对应。 COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 80(hex) +Node-ID 紧急错误码 错误暂存器 厂商自定义错误码 范例 1:读取 2 号从站的 Emergency 信息。从站先后发出的 Emergency 信息如下: COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 82(hex) 43 54 20 14 0 0 0 0 COB-ID Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 82(hex) 42 54 20 15 0 0 0 0 ‹ 请求数据如下表所示: 请求信息 PLC 元件 高字节 低字节 D6250 请求 ID=01 命令码=01 D6251 保留 数据长度=0 D6252 信息头 类型=04 节点地址=02 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-26 ‹ Emergency 回应信息 回应信息 PLC 元件 高字节 低字节 D6000 响应 ID=01 状态码=01 D6001 保留=0 数据长度 =2A (Hex) D6002 信息头 类型=04 节点地址=02 D6003 总笔数=1 保存笔数=1 D6004 数据 1=54 数据 0=42 D6005 数据 3=15 数据 2=20 D6006 数据 5=0 数据 4=0 D6007 数据 7=0 数据 6=0 D6004 数据 1=54 数据 0=43 D6005 数据 3=14 数据 2=20 D6006 数据 5=0 数据 4=0 D6007 信息数据 数据 7=0 数据 6=0 7.4.4 梯形图发送 SDO 范例 ¾ 控制要求: 通过 SDO 循环读取伺服 P0-09 的值。 ¾ 硬件连接: DVP32ES2-C PC TAP-CN03 Y5UP0 Y0 Y1 Y3Y2 Y4 Y10Y7Y6 UP1 Y12Y11 Y13 +24VL N NC X5X1S/S24G X0 X3X2 X4 X11X7X6 X10 X13X12 X14 X15 Y16Y15Y14 Y17 X17X16 ZP1ZP0CAN+ SG +DD-CAN- ASDA-A2-xxxx-M CANopenCANopen RS-232 7. CANopen 功能及操作說明 7-27 ¾ 从站参数和索引/子索引的对应关系 伺服 P0-09 对应的索引_子索引为 2009_0。在网络配置界面中,右击伺服图标,然后再单击“参数编 辑”出现下图所示对话框,在下图所示对话框中可以查看伺服参数对应的索引(index)_子索引 (Sub-index)。网络配置界面操作请参考 CANopen Builder 软件帮助的第 11.1.1 节的介绍。 ¾ 请求信息装置说明如下: 说明 PLC 元件 内容 高字节 低字节 D6250 0101(Hex) 请求 ID = 01 (Hex) 命令码 = 01 (Hex) D6251 0004(Hex) 保留 数据长度 = 04 (Hex) D6252 0102(Hex) 类型 = 01 (Hex) 节点地址 = 02 (Hex) D6253 2009(Hex) 索引高字节 = 20 (Hex) 索引低字节= 09 (Hex) SDO 请求信息 映射区 D6254 0000(Hex) 保留 子索引= 00 (Hex) ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-28 ¾ 通过 WPLsoft 软件编写梯形图程序及说明 当 M0=ON 时,DVP-ES2-C 发送第一次请求信息,成功回传后 D6000 应为 101(hex),程序中判断 D6000 的值,若为 101(hex)则改变请求 ID 为 2,将 D6250 重新赋值为 201(hex)再次发送请求信息, 这样就可时时读取了。读取成功,目标设备返回的数据存放在 D6000~D6005。D6005 的值 100(hex) 为读取 P0-09 的值。 ¾ 响应信息装置说明如下: 说明 PLC 元件 内容 高字节 低字节 D6000 0101(Hex) 响应 ID = 01(Hex) 状态代码 = 01 (Hex) D6001 0006(Hex) 保留 数据长度 = 08 (Hex) D6002 4302(Hex) 类型= 43 (Hex) 节点地址 = 02 (Hex) D6003 2009(Hex) 主索引高字节= 20 (Hex) 索引低字节 = 09 (Hex) D6004 0004(Hex) 保留 子索引= 00 (Hex) SDO 回应 信息映射 区 D6005 0100 (Hex) 数据 1= 01 (Hex) 数据 0= 00 (Hex) 7. CANopen 功能及操作說明 7-29 7.5 指示灯及故障排除 DVP-ES2-C 有 6 个 LED 状态指示灯,POWER 灯显示其供电电源是否正常,RUN 和 ERROR 灯显 示内部程序运行状态, COM3 显示 CANopen 的通讯状态。 7.5.1 指示灯说明 ¾ POWER 灯显示说明 LED 状态 显示说明 处理方法 灯灭或 绿灯闪烁 供电电源不正常 检查供电电源是否在供电范围之内 绿灯常亮 供电电源正常 无需处理 ¾ RUN 灯显示说明 LED 状态 显示说明 处理方法 绿灯亮 PLC 模块处于运行状态 无需处理 灯灭 PLC 模块处于停止状态 通过 RUN/STOP 开关或者 WPLSoft 软件使 PLC 运 行 ¾ ERROR 灯显示说明 LED 状态 显示说明 处理方法 灯灭 PLC 模块处于正常状态 无需处理 红色闪烁 写入 PLC 模块内的程 序存在语法错误或 PLC 的装置、指令超过允许 范围 根据 PLC 模块特殊寄存器 D1004 的内容值判断错 误原因,根据 D1137 的内容值判断程序错误位置。 D1004 中错误代码的详细内容请参考 ES2 系列 PLC 程序篇中的介绍 红色常亮 PLC 扫描逾时 减少 PLC 程序执行时间或通过 WTD 指令改善 ¾ COM3(CANopen) 灯显示说明 LED 状态 显示说明 处理方法 绿灯常亮 处于正常状态 无需处理 绿灯单闪 处于停止状态 上位机正在下载网络配置,等待下载完成。 绿灯闪烁 从站模式时表示处于预 运行状态; 主战模式时表示有从站 掉线。 1. 检查 CANopen 网络中总线线缆接线正确。 2. 检查主站和其它从站的波特率相同。 3. 检查网络配置的从站实际连接至网络中。 4. 检查是否有从站掉线 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-30 LED 状态 显示说明 处理方法 红灯双闪 有从站掉线 1. 检查 CANopen 总线线缆为标准线缆。 2. 检查 CANopen 总线两端有接终端电阻。 红灯单闪 CAN 控制器至少一个 错误计数器到达或超出 了警戒值; 1. 检查 CANopen 总线线缆为标准线缆。 2. 检查 CANopen 总线两端有接终端电阻。 3. 检查 CANopen 总线线缆周围是否干扰过大。 红灯常亮 总线脱离(Bus-off) 1. 检查 CANopen 网络中总线线缆接线正确。 2. 检查主站和其它从站的波特率相同。 7.5.2 CANopen 网络节点状态显示 ¾ DVP-ES2-C 的特殊辅助继电器 M1349 ON 时,启动 CANopen 功能,此时 D9980~D9998 作为 特殊寄存器来使用。详情如下表所示: 特殊寄存器 功能介绍 D9980 用于显示 DVP-ES2-C 自身状态 D9981~D9996 用于显示对应网络中 16 个节点的状态 D9998 用于监控整个 CANopen 网络状态 ¾ DVP-ES2-C 作为主站时最大可支持 16 台从站,并且从站的站号范围为 1-16。可通过 D9998 来监控整个网络节点 1 到节点 16 的状态。D9998 的 16 个 bit 位对应 16 台从站,对应关系如下: Bit 位 b7 b6 b5 b4 b3 b2 b1 b0 对应 节点 节点 8 节点 7 节点 6 节点 5 节点 4 节点 3 节点 2 节点 1 Bit 位 b15 b14 b13 b12 b11 b10 b9 b8 对应 节点 节点 16 节点 15 节点 14 节点 13 节点 12 节点 11 节点 10 节点 9 当主站模块节点列表中的节点正常时,相应的位为 OFF 状态;主站模块节点列表中的节点发生异常 (包含初始化失败及其它异常导致从站掉线)时,相应的位为 ON 状态。 ¾ 每个节点通过对应的状态特殊寄存器来显示其具体的错误代码,对应关系如下: 特殊寄 存器 D9981 D9982 D9983 D9984 D9985 D9986 D9987 D9988 对应 节点 节点 1 节点 2 节点 3 节点 4 节点 5 节点 6 节点 7 节点 8 特殊 寄存器 D9989 D9990 D9991 D9992 D9993 D9994 D9995 D9996 7. CANopen 功能及操作說明 7-31 特殊寄 存器 D9981 D9982 D9983 D9984 D9985 D9986 D9987 D9988 对应 节点 节点 9 节点 10 节点 11 节点 12 节点 13 节点 14 节点 15 节点 16 ¾ 主站模式下 D9981~D9996 显示代码: 代码 解释说明 处理方法 E0 DVP-ES2-C 主站模块接收到从 站发送的紧急报文 通过 PLC 主机编程读取相关信息 E1 从站返回的 PDO 数据长度与扫 描列表中配置的 PDO 数据长度 不符 设定从站的 PDO 数据长度重新下载 E2 未接收到从站 PDO 检查并确认设定正确 E3 自动 SDO 下载失败 检查并确认自动 SDO 正确 E4 PDO 参数配置失败 确认 PDO 参数设定合法 E5 关键参数不匹配 确认所连接的从站与所设定的从站一致 E6 网络中不存在此从站 E7 从站错误控制逾时 确认从站工作电源正常,确认网络连接正常 E8 主从站站号重复 重新设置主站或从站站号,确认重新设置后的 站号不重复 ¾ 主站模式下 D9980 显示代码: 代码 解释说明 处理方法 F1 扫描列表没有配置从站 将从站添加至节点列表后,重新下载配置 F2 正在下载数据到 DVP-ES2-C 等待配置下载完成 F3 DVP-ES2-C 处于错误状态 重新下载参数配置 F4 检测到 BUS-OFF 状态 检查 CANopen 网络中总线线缆接线正确,并 确认网络上所有的节点都有相同的波特率,然 后重新上电 F5 DVP-ES2-C 节点地址设定错误 设置主站的节点地址在 1 ~ 127 之间 F8 内部错误,内部存储器检测出错 重新上电,如果错误依然存在,请更换一台新 的。 FB DVP-ES2-C 发送寄存器满 检查 CANopen 网络中总线线缆连接是否正 常,然后将重新上电 FC DVP-ES2-C 接受寄存器满 检查 CANopen 网络中总线线缆连接是否正 常,然后重新上电 7. CANopen 功能及操作說明 7-33 ¾ 从站模式下 D9980 显示代码: 代码 解释说明 处理方法 A0 DVP-ES2-C 处于初始化状态 无需处理 A1 DVP-ES2-C 处于预运行状态 检查 CANopen 网络中总线连接是否正常 A3 正在下载数据到 ES2C 等待配置下载完毕 B0 心跳报文逾时 检查 CANopen 网络中总线连接是否正常 B1 从站返回的 PDO 数据长度与扫 描列表中配置的 PDO 数据长度 不符 重新设定从站的 PDO 数据长度并下载 F4 检测到 BUS-OFF 状态 检查 CANopen 网络中总线接线是否正确,并 确认网络上所有的节点都有相同的波特率,然 后重新上电 FB DVP-ES2-C 发送寄存器满 检查 CANopen 网络中总线线缆连接是否正 常,然后将重新上电 FC DVP-ES2-C 接受寄存器满 检查 CANopen 网络中总线线缆连接是否正 常,然后将重新上电 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-34 7.6 应用范例 通过 DVP-ES2-C 来控制台达 A2 伺服运转,并且实时监控电机的实际转速。操作原理是将伺服驱动 器的相关参数映射到对应的 PDO 内,通过 CAN 总线来读写伺服驱动器的的相关参数来实现控制要 求。 ¾ 硬件连接: DVP32ES2-C PC TAP-CN03 Y5UP0 Y0 Y1 Y3Y2 Y4 Y10Y7Y6 UP1 Y12Y11 Y13 +24VL N NC X5X1S/S24G X0 X3X2 X4 X11X7X6 X10 X13X12 X14 X15 Y16Y15Y14 Y17 X17X16 ZP1ZP0CAN+ SG +DD-CAN- ASDA-A2-xxxx-M CANopenCANopen RS-232 备注: 1> 组建网络时建议使用标准通讯电缆,TAP-CB01/TAP-CB02/ TAP-CB10 电缆,网络终端请接终 端电阻,可使用台达标准终端电阻 TAP-TR01。 2> TAP-CN03 为分接盒,将其 SW1 拨至 ON 后其自带电阻生效。用户可根据实际需求可选择 TAP-CN01/CN02/CN03 来进行配线。 3> ASD-A2-xxxx-M 的 M 为机种代码,目前 M 型号的伺服才支持 CANopen 通讯。 ¾ 伺服参数设置: — 伺服参数设置如下表所示: 参数 设置值 说明 3-00 02 A2 伺服的 CANopen 站号为 2 3-01 400 CAN 通讯速度为 1Mbps 1-01 04 速度模式 0-17 07 驱动器状态显示为马达转速(r/min) 2-10 101 设置 DI1 为使能(Servo On)信号 2-12 114 设置 DI3,DI4 作为速度选择信号 7. CANopen 功能及操作說明 7-35 ¾ DVP-ES2-C 的 CANopen 波特率和站号设置 DVP-ES2-C 使用默认设置:CANopen 站号为 17,通讯速度为 1Mbps。本产品通过 CANopen Builder 软件来设置 CANopen 通讯站号及通讯速度,详细操作步骤如下: 1) 启动 CANopen Builder,单击“设置”->“通讯设置”如下图所示: 2) 在出现的下图中设置串口通讯参数: 项目 说明 默认值 接口 当计算机连接的设备为 DVP10MC11T 时,接口选择 Via Local Port,其余请选择 Via PLC Port 无 COM 口 选择用来与 DVP-ES2-C 通讯的计算机串口 COM1 站号 选择 DVP-ES2-C 的通讯地址 01 波特率 选择计算机与 DVP-ES2-C 主机的通讯速率 9600 bps ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-36 项目 说明 默认值 接口 当计算机连接的设备为 DVP10MC11T 时,接口选择 Via Local Port,其余请选择 Via PLC Port 无 数据位 7 检验位 偶校验 停止位 选择计算机与 DVP-ES2-C 主机的通讯协议 1 模式 选择计算机与 DVP-ES2-C 主机的通讯模式 ASCII Mode 3) 设置完毕后,点击“网络”->“在线”如下图: 1> 当“名称”栏位中显示为“CANopen Slave”时表明 PLC 当前处于 CANopen 从站模式,此时选 择需选择左下角的“模拟线上模式”后,单击“确定”后方可进行在线扫描。 2> 当“名称”栏位中显示为“CANopen Master”时表明 PLC 当前处于 CANopen 主站模式,此时 直接点击“确定”后便可在线扫描。 4) 点击“网络”->“主站参数”选项,出现主站配置对话框,如下图所示: 7. CANopen 功能及操作說明 7-37 项目 说明 默认值 节点 ID DVP-ES2-C 在 CANopen 网络中的站号 17 波特率 CANopen 通讯速率 1M 位/秒 工作模式 设置 CANopen 主从模式 主站 同步周期 同步报文发送周期 50 毫秒 主站 heartbeat 时间 主站 Heartbeat 报文产生时间 200 毫秒 用户可以根据需求设置所连接 ES2-C 的 CANopen 通讯站号、速率及主从模式。 5) 按照上述步骤操作完毕后,便可执行下载,如下图所示: 请注意新设置的参数下载完毕后需要重新上电才生效。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-38 ¾ 网络扫描: 单击“网络”菜单下“在线”选项,可以扫描 CANopen 网络中的主站和从站。扫描到的主站和从站如下 图所示。软件详细操作步骤请参考 CANopen Builder 软件帮助的第 11.1.1 节相关介绍。 ¾ 节点配置: 双击上图所示的从站图标,弹出下图所示的节点配置对话框。 — “错误控制协议”按钮: 用于设置错误控制协议,设置错误控制协议后,主站可以监控从站是否掉线。 — “自动 SDO 配置”按钮 用于通过 SDO 对从站参数执行一次写操作,写操作在从站由预欲行状态进入运行状态时完成。 “自动 SDO 配置”最多可以配置 20 笔 SDO. — “PDO 映射”和“属性”按钮 用于设置选中 PDO 的映射参数和传输类型。 上述功能按钮的详细操作步骤请参考 CANopen Builder 软件帮助的第 11.1.1 节相关介绍 7. CANopen 功能及操作說明 7-39 — PDO 映射说明: RxPDO1:映射参数为 P1-09,传输类型为 255。 RxPDO2:映射参数为 P3-06,P4-07,传输类型为 255。 TxPDO1:映射参数为 P0-09,传输类型为 1。 — PDO 传输类型说明如下表所示: PDO 可分为 RxPDO 和 TxPDO 两种,其中 RxPDO 数据由主站发送给从站,TxPDO 数据由从 站发送给主站。 PDO 传输类型分为同步传输和异步传输两大类型。在同步传输类型时,主站会定期发送同步报 文即 SYNC,发送周期的时间长度可在主站属性对话框中设置,默认为 50ms。在异步传输类型 时,只要 PDO 映射的参数有变化就会发送。 PDO 传输类型的详细介绍如下表: 传输类型 传输类型说明 备注 0 RxPDO 映射数据发生变化后立即发送,从站接收 到命令数据后需等收到下一个同步报文 后才生效。RxPDO 数据无变化时不发送。 同步非周期 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-40 传输类型 传输类型说明 备注 TxPDO 映射数据发生变化且从站收到同步报文 后立即发送,主站接收到数据后立即生 效。TxPDO 数据无变化时不发送。 RxPDO N 个同步报文后发送,不管映射的数据是 否有变化,从站收到数据后需等下个同步 报文后生效。 N (N:1~240) TxPDO N 个同步报文后发送,不管映射的数据是 否有变化,主站收到数据后立即生效。 同步周期 RxPDO 映射数据变化时立即发送,从站接收后立 即生效。RxPDO 数据无变化时不发送。 254 TxPDO 每隔一个 Event timer 时间向主站传输一 次数据,数据传送后,inhibit timer 时间 内不允许再传送 TxPDO 数据。 当 Event timer 和 Inhibit timer 均为零时, TxPDO 数据变化时数据立即传输给主 站,主站接收到的数据立即生效。 异步传输 255 同 254 注意事项: 1> 同步传输类型模式可以实现多轴同动。 2> 用户要监控诸如电机的实际转速等实时变化的参数时,建议将 TxPDO 设置为同步传输 类型,防止从站数据变化频繁导致 CANopen 网络堵塞。 按照上述设置完毕后双击主站,选中 ASDA-A2 Drive 点击“>”按钮,将 A2 拉入右侧列表后即可 下载配置,如下图: 7. CANopen 功能及操作說明 7-41 主从站的映射关系如下: DVP-ES2-C 主站寄存器 CANopen 总线数据传输 A2 元件装置 D6282 伺服 P1-09 低字 D6283 伺服 P1-09 高字 D6284 伺服 P3-06 D6285 伺服 P4-07 D6032 伺服 P0-09 低字 D6033 伺服 P0-09 高字 ¾ 程序控制:通过 WPL 软件将 D6282 赋值为 K256,即设置速度命令为 256r/min。详情如下: ¾ 程序说明:ES2-C 第一次运行时将伺服驱动器 P3-06 设置为 F。 — M0 由 OFF 变 ON 时,将 K256 写入 D6282,通过 RxPDO1 将此数值写入伺服参数 P1-09。 — M1 由 OFF 变 ON 时,将 P2-12 置位,调用伺服 P1-09 设置的速度运转。 — M1 由 ON 变 OFF 时,速度命令为零,电机停止运转。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-42 7.7 对象字典 对象字典中的通讯对象如下表所示: 索引 子索引 对象名称 数据类型 访问 权限 默认值 H’1000 H’00 设备类型 无符号 32 位 R 0x00000000 H’1001 H’00 错误寄存器 无符号 8 位 R 0 H’1005 H’00 SYNC 报文的 COB-ID 无符号 32 位 RW 0x00000080 H’1008 H’00 制造商设备名称 可见字符串 R DVPES2C H’1014 H’00 紧急情况报文的 COB-ID 无符号 32 位 R 0x80 + Node-ID -- 使用者脉动时间 H’00 有效的子索引个数 无符号 8 位 R 1 H’1016 H’01 消费者脉动时间 无符号 32 位 RW 0 H’1017 H’00 生产者脉动时间 无符号 16 位 RW 0 -- 标识物件 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 厂商代号 无符号 32 位 R 0x000001DD H’02 产品代码 无符号 32 位 R 0x00000055 H’1018 H’03 版本号 无符号 32 位 R 0x00010002 -- RxPDO1 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO1 的 COB-ID 无符号 32 位 RW 0x00000200+No de-ID H’02 传输模式 无符号 8 位 RW 0xFF H’1400 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO2 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO2 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1401 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO3 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO3 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1402 H’03 禁止时间 无符号 16 位 RW 0 7. CANopen 功能及操作說明 7-43 索引 子索引 对象名称 数据类型 访问 权限 默认值 -- RxPDO4 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO4 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1403 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO5 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO5 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1404 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO6 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO6 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1405 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO7 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO7 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1406 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO8 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 3 H’01 RxPDO8 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’1407 H’03 禁止时间 无符号 16 位 RW 0 -- RxPDO1 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 4 H’01 第一个映像物件 无符号 32 位 RW 0x20000110 H’01 第二个映像物件 无符号 32 位 RW 0x20000210 H’02 第三个映像物件 无符号 32 位 RW 0x20000310 H’1600 H’03 第四个映像物件 无符号 32 位 RW 0x20000410 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-44 索引 子索引 对象名称 数据类型 访问 权限 默认值 -- RxPDO2 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1601 H’03 第四个映像物件 无符号 32 位 RW 0 -- RxPDO3 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1602 H’03 第四个映像物件 无符号 32 位 RW 0 -- RxPDO3 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1602 H’03 第四个映像物件 无符号 32 位 RW 0 -- RxPDO4 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1603 H’03 第四个映像物件 无符号 32 位 RW 0 -- RxPDO5 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1604 H’03 第四个映像物件 无符号 32 位 RW 0 7. CANopen 功能及操作說明 7-45 索引 子索引 对象名称 数据类型 访问 权限 默认值 -- RxPDO6 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1605 H’03 第四个映像物件 无符号 32 位 RW 0 -- RxPDO7 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1606 H’03 第四个映像物件 无符号 32 位 RW 0 -- RxPDO8 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’01 第二个映像物件 无符号 32 位 RW 0 H’02 第三个映像物件 无符号 32 位 RW 0 H’1607 H’03 第四个映像物件 无符号 32 位 RW 0 -- TxPDO1 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO1 的 COB-ID 无符号 32 位 RW 0x00000180+No de-ID H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1800 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO2 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO2 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1801 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO3 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO3 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1802 H’05 时间定时器 无符号 16 位 RW 100 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-46 索引 子索引 对象名称 数据类型 访问 权限 默认值 -- TxPDO4 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO4 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1803 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO5 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO5 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1804 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO6 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO6 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1805 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO7 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO7 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1806 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO8 通讯参数 H’00 有效的子索引个数 无符号 8 位 R 5 H’01 TxPDO8 的 COB-ID 无符号 32 位 RW 0x80000000 H’02 传输模式 无符号 8 位 RW 0xFF H’03 禁止时间 无符号 16 位 RW 50 H’1807 H’05 时间定时器 无符号 16 位 RW 100 -- TxPDO1 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 4 H’01 第一个映像物件 无符号 32 位 RW 0x20010110 H’02 第二个映像物件 无符号 32 位 RW 0x20010210 H’03 第三个映像物件 无符号 32 位 RW 0x20010310 H’1A00 H’04 第四个映像物件 无符号 32 位 RW 0x20010410 7. CANopen 功能及操作說明 7-47 索引 子索引 对象名称 数据类型 访问 权限 默认值 -- TxPDO2 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’03 第三个映像物件 无符号 32 位 RW 0 H’1A01 H’04 第四个映像物件 无符号 32 位 RW 0 -- TxPDO3 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’03 第三个映像物件 无符号 32 位 RW 0 H’1A02 H’04 第四个映像物件 无符号 32 位 RW 0 -- TxPDO4 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’1A03 H’03 第三个映像物件 无符号 32 位 RW 0 -- TxPDO5 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’03 第三个映像物件 无符号 32 位 RW 0 H’1A04 H’04 第四个映像物件 无符号 32 位 RW 0 -- TxPDO6 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’03 第三个映像物件 无符号 32 位 RW 0 H’1A05 H’04 第四个映像物件 无符号 32 位 RW 0 -- TxPDO7 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’03 第三个映像物件 无符号 32 位 RW 0 H’1A06 H’04 第四个映像物件 无符号 32 位 RW 0 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 7-48 索引 子索引 对象名称 数据类型 访问 权限 默认值 -- TxPDO8 映射参数 H’00 有效的子索引个数 无符号 8 位 RW 0 H’01 第一个映像物件 无符号 32 位 RW 0 H’02 第二个映像物件 无符号 32 位 RW 0 H’03 第三个映像物件 无符号 32 位 RW 0 H’1A07 H’04 第四个映像物件 无符号 32 位 RW 0 附录 介绍 PLC 安装 USB 驱动程序信息 目录 A.1 安装 USB 驱动程序........................................................................................................A-2 A-1 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 A.1 安装 USB 驱动程序 本节将介绍如何于计算机端安装 DELTA PLC USB 驱动程序。安装驱动程序完成后即可将 USB 连接 口当成序列连接端口(RS-232)使用。请使用 USB 标准连接线,且长度为 5 公尺以内之连接线。 驱动程序安装: 透过 USB 与 mini USB 线材连接 PC 与 PLC,连接后可在控制台看到【无法辨识的装置】。 于装置点击鼠标右键选择【更新驱动程序软件】开启更新软件页面,点击【浏览】指定驱动程序所在 位置,指定完成后点击下一步即开始安装驱动程序。 A-2 附录 A 完成安装后即可于控制台看到安装完成之 PLC 装置与分派的 COM 口,其它使用方式与 RS-232 相同。 A-3 ES2/EX2/SS2/SA2/SX2/SE 操作手冊 - 程式篇 于目录列【设定】选项中选取【通讯设定】开启通讯设定页面,在传输方式中选择【RS232】,并指 定通讯端口为 USB 所分派之 COM 口后按下【确定】。设定完成后可在通讯工作区中看到 RS232 被 勾选。设定后即可透过 USB 对 DELTA PLC 进行程序上下载与在线模式。 A-4 附录 介绍 PLC Ethernet 型主机/模块设置与使用信息 目录 B.1 Ethernet 型主机/模块规格列表............................................................................................ B-2 B.2 Ethernet 控制寄存器(CR)列表 ............................................................................................ B-2 B.2.1 DVP-SE 主机系列 (Ethernet 主机)......................................................................... B-2 B.2.2 DVPEN01-SL (Ethernet 左侧通讯模块) .................................................................. B-4 B.2.3 DVP-FEN01 (EH3 系列 Ethernet 通讯卡)............................................................... B-6 B.3 Ethernet 主机搜寻............................................................................................................... B-6 B.3.1 通讯设置 ................................................................................................................. B-7 B.3.2 广播搜寻 ................................................................................................................. B-8 B.3.3 指定机种搜寻 .......................................................................................................... B-9 B.3.4 指定 IP 搜寻 .......................................................................................................... B-10 B.4 数据交换功能 ..................................................................................................................... B-11 B.5 EtherNet/IP 列表 ............................................................................................................... B-12 B.5.1 DVP-SE 系列支持 EtherNet/IP 对象名称信息....................................................... B-12 B.5.2 DVP-SE 系列支持 EtherNet/IP 对象名称內容....................................................... B-13 B-1 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 B.1 Ethernet 型主机/模块规格列表 DVP 系列以太网(Ethernet)通讯口(以下简称 Ethernet)之主要规格与功能列表: Ethernet 接口规格: 项目 规格 界面 RJ-45 with Auto MDI/MDIX 埠数 1 Port 传输方式 IEEE802.3, IEEE802.3u 传输线 Category 5e 传输速率 10/100 Mbps Auto-Defect 网络协议 ICMP, IP, TCP, UDP, DHCP, SMTP, NTP, MODBUS TCP Ethernet 功能: 功能 DVP-SE Series DVPEN01-SL FEN01 通讯卡 (适用 EH3 主机) MODBUS/TCP Master & Slave Master & Slave Master & Slave Server 数 16 16 4 Client 数 8 16 4 数据交换笔数 8 24 8 RTU 模块对应 - 4 - E-mail 功能 - 4 - SNMP 功能 - 2 - IP 过滤功能 4 8 4 B.2 Ethernet 控制寄存器(CR)列表 为达到控制与监视 Ethernet 之通讯,使用者可透过 PLC 程序撰写 FROM / TO 指令读写以下列表之控 制寄存器,其内部寄存器内容与说明如下:(FROM / TO 指令说明请参阅第三章 API 78 与 79 指令说 明) [备注] 各 CR 之详细内容介绍,请参考 DVPEN01-SL 手册 B.2.1 DVP-SE 主机系列 (Ethernet 主机) CR 编号 HW LW 属性 寄存器名称 说明 #12 #0 保留 #13 R/W 数据交换启动标志 设置数据交换模式是否发送数据 #14 R/W RTU 对应功能 PLC 写入方 式 0: PLC 持续写入;1:当 PLC 输入改变时才执行写入 B-2 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 B-3 CR 编号 HW LW 属性 寄存器名称 说明 #15 R/W RTU 对应功能启动标志 默认值为 1,当设为 1 时启动 RTU 对应功能;当设 为 0 时即停止。 #16 R/W RTU 对应功能从站联机状 态 对应功能从站联机状态 b0:RTU 从站一联机状态 b1:RTU 从站二联机状态 b2:RTU 从站三联机状态 b3:RTU 从站四联机状态 #17 R/W 数据交换周期时间 时间单位:ms #18 保留 #19 R 数据交换从站状态 数据交换从站状态,状态位设置为 1 表示发生错误。 b[0:7]表示数据交换从站 1~8 的错误状态 #86 ~ #20 - 保留 #87 R/W IP 设置模式 0: Static IP 1: DHCP #89 #88 R/W IP 地址 若 IP 为 192.168.1.5,#89 = 192.168, #88 = 1.5 #91 #90 R/W Mask 地址 若 Mask 为 255.255.255.0,#91 = 255.255, #90 = 255.0 #93 #92 R/W Gateway IP 地址 若 GIP 为 192.168.1.1,#89 = 192.168, #88 = 1.1 #94 R/W IP 设置启动标志 设置进行 IP 设置 #95 R IP 设置状态 0: 尚未完成 1: 执行中 2: 设置完成 #113 ~ #96 - 保留 #114 R/W MODBUS TCP 通讯逾时时 间 设置 MODBUS TCP 模式的通讯逾时时间(ms),默 认值为 3000 #115 R/W MODBUS TCP 发送 设置 MODBUS TCP 模式的数据是否发送 #116 R/W MODBUS TCP 状态 显示 MODBUS TCP 模式的目前状态 #118 #117 R/W MODBUS TCP 对方 IP 设置进行 MODBUS TCP 模式的对方通讯设备 IP 地 址 ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 B-4 CR 编号 HW LW 属性 寄存器名称 说明 #119 R/W MODBUS TCP 数据长度 设置进行 MODBUS TCP 模式的通讯数据长度 #219~#120 R/W MODBUS TCP 传送/接收 数据 MODBUS TCP 模式时,传送/接收的数据存放区段 #248~#220 - 保留 #249 R 子版本 #250 R 更新日期 0xC820 ( 2012 年 8 月 20 日 ) #251 R 错误状态 显示错误状态,请参考错误讯息表 #255~#252 - 保留 符号定义:R 表示为可使用 FROM 指令读取数据。W 表示为可使用 TO 指令写入数据。 B.2.2 DVPEN01-SL (Ethernet 左侧通讯模块) DVPEN01-SL 以太网络通讯模块 CR 编号 HW LW 属性 寄存器名称 说明 #0 R 机种型号 系统内定,只读;DVPEN01-SL 机种编码=H’4050 #1 R 韧体版本 16 进制,显示目前韧体版本 #2 R 通讯模式设置 b0:MODBUS TCP 模式设置,b1:数据交换模式 设置 #3 W E-Mail 1 发送触发 设置 E-Mail 1 数据是否发送 #4 W E-Mail 2 发送触发 设置 E-Mail 2 数据是否发送 #5 W E-Mail 3 发送触发 设置 E-Mail 3 数据是否发送 #6 W E-Mail 4 发送触发 设置 E-Mail 4 数据是否发送 #7 R E-Mail 1, 2 状态 b0~b7:E-Mail 2 目前状态,b8~b15:E-Mail 1 目 前状态 #8 R E-Mail 3, 4 状态 b0~b7:E-Mail 4 目前状态,b8~b15:E-Mail 3 目 前状态 #9 R/W E-Mail 1 主旨预留代码 由使用者填入此代码 #10 R/W E-Mail 2 主旨预留代码 由使用者填入此代码 #11 R/W E-Mail 3 主旨预留代码 由使用者填入此代码 #12 R/W E-Mail 4 主旨预留代码 由使用者填入此代码 #13 R/W 数据交换启动标志 设置数据交换模式是否发送数据 #14 R 数据交换状态 显示数据交换的目前状态 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 B-5 DVPEN01-SL 以太网络通讯模块 CR 编号 HW LW 属性 寄存器名称 说明 #15 R/W RTU 对应功能启动标志 默认值为 0,当设为 1 时启动 RTU 对应功能;当设 为 0 时即停止。 #16 R/W RTU 对应功能从站联机状 态 对应功能从站联机状态 b0:RTU 从站一联机状态 b1:RTU 从站二联机状态 b2:RTU 从站三联机状态 b3:RTU 从站四联机状态 #24 ~ #17 - 保留 #26 #25 R/W 对方 IP 设置进行数据交换的从端设备 IP 地址 #27 - 保留 #28 R/W 对方站号 设置进行数据交换的从端设备站号 #48 ~ #29 R/W 数据交换传送暂存区 数据交换模式时,传送数据的存放区 #68 ~ #49 R 数据交换接收暂存区 数据交换模式时,接收数据的存放区 #69~#80 - 保留 保留 #81 R/W 数据交换读取地址 数据交换模式时,从端传送暂存区地址 #82 R/W 数据交换读取长度 设置读取数据的寄存器数目 #83 R/W 数据交换接收地址 数据交换模式时,主端接收暂存区地址 #84 R/W 数据交换写入地址 数据交换模式时,从端接收暂存区地址 #85 R/W 数据交换写入长度 设置资送传送的寄存器数目 #86 R/W 数据交换传送地址 数据交换模式时,主端传送暂存区地址 #110 ~ #87 - 保留 #111 R/W 8 位处理模式 设置 MODBUS TCP 主端操控为 8 位模式 #112 R/W MODBUS TCP 保持联机时 间 MODBUS TCP 保持联机时间 (s) #113 - 保留 #114 R/W MODBUS TCP 通讯逾时时 间 设置 MODBUS TCP 模式的通讯逾时时间(ms) #115 R/W MODBUS TCP 发送 设置 MODBUS TCP 模式的数据是否发送 #116 R/W MODBUS TCP 状态 显示 MODBUS TCP 模式的目前状态 #118 #117 R/W MODBUS TCP 对方 IP 设置进行 MODBUS TCP 模式的对方通讯设备 IP 地 址 #119 R/W MODBUS TCP 数据长度 设置进行 MODBUS TCP 模式的通讯数据长度 #219 ~ #120 R/W MODBUS TCP 传送/接收 数据 MODBUS TCP 模式时,传送/接收的数据存放区段 #248 ~ #220 - 保留 #251 R 错误状态 显示错误状态,请参考错误讯息表 #255 ~ #252 - 保留 ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 B-6 B.2.3 DVP-FEN01 (EH3 系列 Ethernet 通讯卡) DVP-FEN01 Ethernet 通讯卡 CR 编号 HW LW 属性 寄存器名称 说明 #0 R 机种型号 未定 #1 R 韧体版本 16 进制,显示目前韧体版本 #2~#12 - 保留 #13 R/W 数据交换启动标志 设置数据交换模式是否发送数据 #16~#14 - 保留 #17 R/W 数据交换功能执行周期时间(ms) #18 - 保留 #19 R 数据交换从站状态 b[0:7]表示数据交换从站 1~8 的状态 #20~#86 - 保留 #87 R/W IP 设置模式 0: Static IP 1: DHCP #89 #88 R/W IP 地址 若 IP 为 192.168.1.5,#89=192.168, #88=1.5 #91 #90 R/W Mask 地址 若 Mask 为 255.255.255.0,#91=255.255, #90=255.0 #93 #92 R/W Gateway IP 地址 若 GIP 为 192.168.1.1,#89=192.168, #88=1.1 #94 R/W IP 设置启动标志 0: 不执行 IP 设置 1: 执行 IP 设置 #95 R IP 设置状态 0: 尚未完成 1: 执行中 2: 设置完成 #96~#250 - 保留 #251 R 错误状态 bit 0: 网络未联机 bit 3: CR#13 设置为数据发送,但未启动数据交 换 bit 8: DHCP 未取得正确的网络参数 #255~#252 - 保留 B.3 Ethernet 主机搜寻 本节介绍如何透过台达通讯软件 DCISoft 搜寻与设置 Ethernet 主机。开启设置页前,DCISoft 需先在 通讯设置上选择 Ethernet,设置完成后可透过广播搜寻、指定 IP 搜寻开启 Ethernet 主机设置页面。 Ethernet 主机的设置功能是使用 UDP port 20006,须注意防火墙的相关设置。 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 B.3.1 通讯配置 (1) 打开 PC 端的 DCISoft,于工具中选择「通讯配置」 (2) 通讯设定中的传输方式选择「Ethernet」 B-7 ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 B.3.2 广播搜寻 (1) 于 DCISoft 按下广播钮(框线中),以广播方式将搜寻到所有在网域上的台达 Ethernet 产品。左边 窗口显示搜寻到的机种列表,右边则显示各机种的装置列表。 (2) 于左边窗口点选机种类型将显示各机种的装置列表。于右边窗口点选预设的装置即可进入设置画 面。 B-8 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 B.3.3 指定机种搜寻 (1) 在 DCISoft 工作区 (左边窗口) 点选「Ethernet」后,按鼠标右键「创建」指定机种搜寻。 (2) 建立后勾选欲搜寻之机种类型,按「确定」后即自动搜寻网络上现有之勾选机种,如范例中 「DVPEN01-SL」模块。 B-9 ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 (3) 搜寻到指定的装置列表,若勾选多个设备可由下方选择检视其它机种 B.3.4 指定 IP 搜寻 (1) 请依通讯设定的步骤,将传输方式设置为「Ethernet」,于下方参数框中 IP 地址字段输入欲指定 的 IP 位址,按确定后离开。 B-10 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 (2) 于主窗口中按下指定 IP 搜寻钮,即可开始进行指定 IP 搜寻。 (3) 搜寻到的机种会显示在右边显示窗,鼠标移至欲设置的装置上,点选二下即可进入设置页面。 B.4 数据交换功能 台达 Ethernet 主机,除可透过指令方式对从站读写外,也提供表格式接口方便与从站进行数据读写。 各机种提供的数据交换字段不等,可参阅 B.1 数据交换笔数。 (1) 启动数据交换功能: 可勾选关闭或开启。启动之后可依所设置好的数据,进行数据交换。 (2) 启动条件: 可选择「永远启动」或「程控」,选择「永远启动」后 DVPEN01-SL 将连续执行数据交换,直到 软件设置更改。选择「程控」则依 PLC 程序判断执行数据交换,各机种启动内部寄存器可能会有 所不同,请参阅 B.2 节确认启动寄存器。 (如 DVPEN01-SL,CR#13=2 时执行,CR#13=0 时停止) (3) 站号-IP 地址列表: 此为需填写从站的 IP 地址。例如从站 IP 地址为 192.168.0.1,站号为 1,则直接在表格中第一列 站号填入 1,勾选启动,IP 地址输入为 192.168.0.1。 (4) 主站地址、从站地址、笔数: 读取(Å):主站接收寄存器起始地址Å从站传送寄存器起始地址。 写入(Æ):主站传送寄存器起始地址Æ从站接收寄存器起始地址。 数据交换时 Ethernet 主机将依先写入(Æ)后读入(Å)的顺序执行。 笔数:同一从站最大可同时传送与接收 100 笔连续数据。 ※ 若连接非台达 PLC 装置时,亦可在从站寄存器起始地址选择 16 进制 4 位数 MODBUS 绝对位置。 B-11 ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 B-12 B.5 EtherNet/IP 列表 EtherNet/IP 为 ODVA 定义之通信协议,与前面章节所提之 Ethernet 不同。DVP-SE 系列(V1.20 版以 上)支持 EtherNet/IP 从站通信协议,其它 DVP 系列机种可透过 IFD9507 (EtherNet/IP-MODBUS 转换 器)与 EtherNet/IP 相关产品进行通讯。以下为支持 EtherNet/IP 对象与内容。 B.5.1 DVP-SE 系列支持 EtherNet/IP 信息 (1) 物件列表 Object Name Class Code #of Instance Identity 0x01 7 Message Router 0x02 NA Assembly 0x04 7 Connection Manager 0x06 NA X input 0x64 256 Y output 0x65 256 T Timer 0x66 256 M Relay 0x67 4096 C Counter 0x68 256 D Register 0x69 12000 TCP/IP Interface 0xF5 6 Ethernet Link 0xF6 3 (2) 数据型态 8-bit 16-bit 32-bit 64-bit USINT WORD UDINT ULINT SINT UINT DWORD LINT BYTE INT DINT (3) 错误码 Value Name Description 0 Success 成功 0x01 Connection Failure Forward Open 失败 0x04 Path Segment Error 不支援的 Segment Type (ref. V1 C-1.4) 0x05 Path Destination Unknown 不支援的 Instance 0x08 Service Not Supported 不支持的服务型态( Get or Set ) 0x09 Invalid Attribute Value 写入的数值错误 0x0E Attribute Not Settable 不允许 Set 服务 0x13 Not Enough Data 写入数据长度过短 0x14 Attribute Not Supported 不支援的 Attribute 0x15 Too Much Data 写入数据长度过长 0x16 Object Not Exist 不支援的 Object 0x20 Invalid Parameter 不支援的 Service Parameter (ref. V1 5-2.3.1) 0x26 Path Size Invalid 错误的 Item Length 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 B-13 B.5.2 DVP-SE 系列支持 EtherNet/IP 对象名称内容 (1) Identity Object ( 0x01 ) Instance: 0x01 Attribute Name Access Data Type Value 0x01 Vendor ID Get UINT 799 (Delta Electronics, inc.) 0x02 Device Type Get UINT 14 ( Programmable Logic Controller ) 0x03 Product Code Get UINT 0x0015 Revision STRUCT of: 1.32 Major USINT 0x01 0x04 Minor Get USINT 0x20 0x05 Status Get WORD 0 ( Owned ) 0x06 Serial Number Get UDINT 0x07 Product Name Get SHORT_STRING DVP12SE (2) Message Router ( 0x02 ) Instance: 0x01 Attribute Name Access Data Type Value 0x01 Not Support NA NA NA (3) Assembly ( 0x04 ) 显性报文,无法使用 Conformance Test 内建的测试 Instance Attribute Name Access Data Type Data 0x65 D Block 1 Set 10 words D500~D509 0x66 D Block 2 Set 30 words D510~D539 0x67 D Block 3 Set 60 words D540~D599 0x68 D Block 4 Set 100 words D600~D699 0x69 D Block 5 Set 100 words D700~D799 0x6A D Block 6 Set 100 words D800~D899 0x6B 0x03 D Block 7 Set 100 words D900~D999 (4) X input ( 0x64 ) Instance Attribute Name Access Data Type 1 0x64 X0 Get BYTE 2 0x64 X1 Get BYTE …… 256 0x64 X377 Get BYTE (5) Y output ( 0x65 ) Instance Attribute Name Access Data Type 1 0x64 Y0 Set BYTE ( 0x00 or 0x01 ) 2 0x64 Y1 Set BYTE ( 0x00 or 0x01 ) …… 256 0x64 Y377 Set BYTE ( 0x00 or 0x01 ) ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 B-14 (6) T timer ( 0x66 ) Instance Attribute Name Access Data Type 1 0x64 T0 Set INT 2 0x64 T1 Set INT …… 256 0x64 T255 Set INT Instance Attribute Name Access Data Type 1 0x65 T0 Set BYTE ( 0x00 or 0x01 ) 2 0x65 T1 Set BYTE ( 0x00 or 0x01 ) …… 256 0x65 T255 Set BYTE ( 0x00 or 0x01 ) (7) M Relay ( 0x67 ) Instance Attribute Name Access Data Type 1 0x64 M0 Set BYTE 2 0x64 M1 Set BYTE …… 4096 0x64 M4095 Set BYTE (8) C counter ( 0x68 ) Instance Attribute Name Access Data Type 1 0x64 C0 Set INT 2 0x64 C1 Set INT …… 200 0x64 C199 Set INT Instance Attribute Name Access Data Type 201 0x64 C200 Set DINT 202 0x64 C201 Set DINT …… 256 0x64 C255 Set DINT Instance Attribute Name Access Data Type 1 0x65 C0 Set BYTE ( 0x00 or 0x01 ) 2 0x65 C1 Set BYTE ( 0x00 or 0x01 ) …… 256 0x65 C255 Set BYTE ( 0x00 or 0x01 ) (9) D Register ( 0x69 ) Instance Attribute Name Access Data Type 1 0x64 M0 Set INT 2 0x64 M1 Set INT …… 12000 0x64 M11999 Set INT 附录 B 介绍 PLC Ethernet 型主机/模块设置与使用信息 B-15 (10) TCP/IP Interface Object ( 0xF5 ) Instance: 0x01 Attribute Name Access Data Type Value 0x01 Status Get DWORD 0x00000001UL 0x02 Configuration Capability Get DWORD 0x00000014UL (DHCP client, Configuration Settable) 0x03 Configuration Control Get DWORD Static IP: 0U DHCP: 0x02U Physical Link Object: STRUCT of: Path Size UINT 0x04 Path Get Padded EPATH Interface Configuration: STRUCT of: IP Address UDINT Network Mask UDINT Gateway Address UDINT Name Server UDINT Name Server 2 UDINT 0x05 Domain Name Set STRING 0x06 Host Name Get STRING DVP12SE (11) Ethernet Link Object ( 0xF6 ) Instance: 0x01 Attribute Name Access Data Type Value 0x01 Interface Speed Get UDINT 10 or 100 Mbps 0x02 Interface Flag Get UDINT Bit 0: Link Status Bit 1: Half/Full Duplex 0x03 MAC Address Get USINT[6] ES2/EX2/SS2/SA2/SX2/SE 操作手册 - 程序篇 B-16 MEMO C-1 附录 TP04P 机种相关信息 目录 C.1 TP04P记忆区....................................................................................................................... C-2 C.2 特殊数据寄存器 ................................................................................................................... C-4 C.3 特殊辅助继电器 ................................................................................................................. C-12 C.4 适用于TP04P机种之指令................................................................................................... C-21 C.4.1 基本指令一览表 .................................................................................................... C-21 C.4.2 API指令一览表...................................................................................................... C-22 C.4.3 高速指令补充说明................................................................................................. C-26 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 A-2 C.1 TP04P 记忆区 项 目 范 围 演算控制方式 内存程序, 往返式来回扫描方式 输入/输出处理方式 结束再生方式 (当执行至 END 指令) 执行速度 LD 指令 - 0.54μs, MOV 指令 - 3.4μs 程序语言 指令+阶梯图+SFC 程序容量 7920 步数 X 外部输入继电器 X0~X7;X10~X17 Y 外部输出继电器 Y0~Y7;Y10~Y17 (*4) 一般用 M0~M511, 512 点 (*1) M768~M999, 232 点 (*1) M2000~M2047, 48 点 (*1) 停电保持用 M512~M767, 256 点 (*2) M2048~M4095, 2048 点 (*2) M 辅助继电器 特殊用 M1000~M1999, 1000 点, 部分为停电保持 合计 4096 点 T0~T126, 127 点 (*1) T128~T183, 56 点 (*1) T184~T199 (子程序用), 16 点 (*1) 100ms (M1028=On, T64~T126 为 10ms) T250~T255 (积算型), 6 点 (*1) T200~T239, 40 点 (*1) 10ms (M1038=On, T200~T245 为 1ms) T240~T245 (积算型), 6 点 (*1) 继 电 器 位 元 型 态 T 定时器 1ms T127, 1 点 (*1) T246~T249 (积算型), 4 点 (*1) 合计 256 点 C0~C111, 112 点 (*1), C128~C199, 72 点 (*1) 16 位上数 C112~C127, 16 点 (*2) C200~C223, 24 点 (*1) 32 位 上/下数 C224~C232, 9 点 (*2) C233~C234, 2 点 (*2) C237~C250, 14 点 (*2) C252~C255, 3 点 (*2) 合计 140 点 C235, C236 1 相 1 输入,2 点 (*2) C 计数器 32 位 高速计数器上/下数 C251 2 相 2 输入, 1 点 (*2) 合计 3 点 初始化步进点 S0~S9, 10 点 (*2) 原点复归用 S10~S19, 10 点 (搭配 IST 指令使用) (*2) 停电保持用 S20~S127, 108 点 (*2) 一般用 S128~S911, 784 点 (*1) 继 电 器 位 元 型 态 S 步进点 警报用 S912~S1023, 112 点 (*2) 合计 1024 点 附录 C TP04P 机种相关信息 C-3 项 目 范 围 T 定时器现在值 T0~T255, 256 点 C0~C199, 16 位计数器, 200 点 C 计数器现在值 C200~C254, 32 位计数器, 55 点 一般用 D0~D407, 408 点(*1) D600~D999, 400 点(*1) D3920~D3999, 80 点(*1) 停电保持用 D408~D599, 192 点(*2) D2000~D3919, 1920 点(*2) 特殊用 D1000~D1999, 1000 点, 部分是停电保持 D4000~D4999, 1000 点,(*3) 暂 存 器 字 元 组 资 料 D 数据寄存器 间接指定用 E0~E7, F0~F7, 16 点 (*1) 合计 5000 点 N 主控回路用 N0~N7, 8 点 P 指标 P0~P255, 256 点 外部中断插入 I000/I001(X0), I100/I101(X1) (01, 上升缘触发 , 00, 下降缘触发 ) 定时中断插入 I602~I699, I702~I799, 2 点 (时基 = 1ms) 高速计数到达中断插入 I010,1 点 指 标 I 中断用 通讯中断 I140(COM2), 1 点 (*3) K 十进制 K-32,768 ~ K32,767 (16 位运算) K-2,147,483,648 ~ K2,147,483,647 (32 位运算) 常数 H 十六进制 H0000 ~ HFFFF (16 位运算) H00000000 ~HFFFFFFFF (32 位运算) 通讯端口 COM1: 内置的 USB (从站), 常用的程序编辑通讯口 COM2: 内置的 RS-485 (主站/从站) COM3: 内置的 RS-485 (主站/从站) 万年历 (RTC) 年, 月, 日, 星期, 时, 分, 秒 注: *1: 非停电保持区域, 不可变更。 *2: 停电保持区域, 不可变更。 *3: COM2 为内置 RS-485 通讯口。 *4: 依照机种分别为 16 点数与 32 点数主机;不支持扩充机功能。 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 C-4 C.2 特殊数据寄存器 特殊寄存器(特 D)如下所示。请注意部份编号相同的装置在不同的指令模式下将会有不同的意义。在 下表属性栏中标示为“R”者, 表示仅可作读取的动作, 若标示为“R/W”表示可作读/写。另若标示 为“-”表示无变化。标示为“#”表示系统会依照 PLC 状态作设定, 使用者可读取该设定值对照手册 之说明, 可进一步了解系统信息。 特 D 功能说明 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂值 D1000* 程序扫描逾时定时器(WDT) (单位: ms) 200 - - R/W 否 200 D1001 DVP 机种系统程序版本,(用户可从此寄存器中读出 PLC 的固 件版本。例如,D1001=HXX10,即固件版本 1.0) - - - R 否 # D1002* 程序容量: # => # => ES2/EX2/SA2/SX2 机种: 15872, SS2 机种: 7920. # - - R 否 # D1003 程序内存内容总和: # => ES2/EX2/SA2/SX2 机种: 15872, SS2 机种: 7920. - - - R 是 # D1004* 语法检查出错代码 0 0 - R 否 0 D1008* WDT 定时器On 的Step地址 0 - - R 否 0 D1009 纪录低电压讯号曾经发生过的次数 0 - - R 是 0 D1010* 现在扫描周期 (单位: 0.1ms) # # # R 否 0 D1011* 最小扫描周期 (单位: 0.1ms) # # # R 否 0 D1012* 最大扫描周期 (单位: 0.1ms) # # # R 否 0 D1015* 0~32,767(单位: 0.1ms)加算型高速连接定时器 0 - - R/W 否 0 D1018* πPI (Low word) H’0FDB H’0FDB H’0FDB R/W 否 H’0FDB D1019* πPI(High word) H’4049 H’4049 H’4049 R/W 否 H’4049 D1022 AB 相计数器倍频选择 4 - - R/W 否 4 D1025* 通讯要求发生错误时的代码 0 - - R 否 0 D1028 变址寄存器 E0 0 - - R/W 否 0 D1029 变址寄存器 F0 0 - - R/W 否 0 D1036* COM1 (RS-232) 通讯格式设定 H’86 - - R/W 否 H’86 D1038* COM2, COM3 (RS-485) 作为从站时, 数据响应延迟时间设定, 设定范围0~10,000, 时间单位 (0.1ms) COM2 (RS-485) 使用PLC-LINK时, D1038可设定延时发送下 一笔通讯数据。 设定范围0~10,000 , 单位: 扫描周期 - - - R/W 否 0 D1039* 固定扫描周期(ms) 0 - - R/W 否 0 D1040 步进点 S On 状态编号 1 0 - - R 否 0 D1041 步进点 S On 状态编号 2 0 - - R 否 0 D1042 步进点 S On 状态编号 3 0 - - R 否 0 D1043 步进点 S On 状态编号 4 0 - - R 否 0 D1044 步进点 S On 状态编号 5 0 - - R 否 0 D1045 步进点 S On 状态编号 6 0 - - R 否 0 附录 C TP04P 机种相关信息 C-5 特 D 功能说明 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂值 D1046 步进点 S On 状态编号 7 0 - - R 否 0 D1047 步进点 S On 状态编号 8 0 - - R 否 0 D1049 警报点 On 的编号 0 - - R 否 0 D1050 ↓ D1055 Modbus 通讯指令数据处理,PLC 系统会自动将 D1070~ D1085 的 ASCII 字符数据转换为 HEX,16 进位数值 0 - - R 否 0 D1062* 设定 EX2/SX2 模拟输入的平均次数 ※EX2 V2.6 版、V2.8 版出厂值为 K10 - - - R/W 是 2 D1067* 运算错误的出错代码 0 0 - R 否 0 D1068* 运算错误地址锁定 0 - - R 否 0 D1070 ↓ D1085 Modbus 通讯指令数据处理,PLC 内建 RS-485 通讯便利指令, 该指令执行时所送出指令,当受信端接收后会回传讯息,该讯 息会储存于 D1070~D1085,使用者可利用该寄存器的内容,检 视回传数据 0 - - R 否 0 D1086 DVP-PCC01: 密码设置值 High word(以 ASCII 码对应的 HEX 值表示) 0 - - R/W 否 0 D1087 DVP-PCC01 密码设置值Low word(以ASCII 码对应的HEX 值 表示) 0 - - R/W 否 0 D1089 ↓ D1099 Modbus通讯指令数据处理,PLC内建RS-485通讯便利指令, 该指令执行时所送出的指令字符储存于D1089~ D1099,使用者 可根据该寄存器的内容,检视指令是否正确 0 - - R 否 0 D1109* COM3 (RS-485/USB)通讯格式设置 H’86 - - R/W 否 H’86 D1110* EX2/SX2 模拟量输入通道 0 (AD0)的平均值,当平均次数 D1062 为 1 时,即为现在值 0 - - R 否 0 D1111* EX2/SX2 模拟输入通道 1 (AD1)的平均值,当平均次数 D1062 为 1 时,即为现在值 0 - - R 否 0 D1112* EX2/SX2 模拟量输入通道 2 (AD2)的平均值,当平均次数 D1062 为 1 时,即为现在值 0 - - R 否 0 20EX2/SX2 模拟量输入通道 3 (AD3)的平均值,当平均次数 D1062 为 1 时,即为现在值 0 - - R 否 0 D1113* 30EX2 模拟输入信道状态显示 0 - - R 否 0 D1114* 20EX2/SX2 bit 0~3 为启动/关闭输入 AD0~AD3 通道之设定;0 表示启动(预设),1 表示关闭 (30EX2 机种不支持) - - - R/W 是 0 20EX2/SX2 模拟输入输出模式设定 - - - R/W 是 0 D1115* 30EX2 模拟输入输出模式设定 - - - R/W 是 H’FFF F D1116* EX2/SX2 模拟量输出通道 0 (DA 0 ) 0 0 0 R/W 否 0 D1117* 20EX2/SX2 模拟量输出通道 1 (DA 1) (30EX2 机种不支持) 0 0 0 R/W 否 0 D1118* EX2/SX2 模拟量/数字转换取样时间 (ms), 若 D1118≦2 则为预 设 2 ms 2 - - R/W 是 2 ES2/EX2/SS2/SA2/SX2/SE&TP 操作手册 - 程序篇 C-6 特 D 功能说明 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂值 D1120* COM2 (RS-485) 通讯格式设定 H’86 - - R/W 否 H’86 D1121* COM1(RS-232) 与 COM2(RS-485) PLC 通讯地址 - - - R/W 是 1 D1122 COM2(RS-485) 发送数据剩余字数 0 0 - R 否 0 D1123 COM2(RS-485) 接收数据剩余字数 0 0 - R 否 0 D1124 COM2(RS-485) 起始字符定义 (STX) H’3A - - R/W 否 H’3A D1125 COM2(RS-485) 第一结束字符定义 H’0D - - R/W 否 H’0D D1126 COM2(RS-485) 第二结束字符定义 H’0A - - R/W 否 H’0A D1129 COM2(RS-485) RS-485 通讯逾时异常设置(ms) 0 - - R/W 否 0 D1130 COM2(RS-485) MODBUS 回传错误码记录 0 - - R 否 0 D1137* 操作数使用错误发生时的地址 0 0 - R 否 0 D1167 COM1 (RS-232)的 RS 指令, 当接收到特殊数据字符时中断请 求, 中断 (I140) 触发 0 - - R/W 否 0 D1168 COM2 (RS-485)的 RS 指令, 当接收到特殊数据字符时中断请 求, 中断 (I150) 触发 0 - - R/W 否 0 D1169 COM3 (RS-485)的 RS 指令, 当接收到特殊数据字符时中断请 求, 中断 (I160) 触发 0 - - R/W 否 0 D1182 变址寄存器 E1 0 - - R/W 否 0 D1183 变址寄存器 F1 0 - - R/W 否 0 D1184 变址寄存器 E2 0 - - R/W 否 0 D1185 变址寄存器 F2 0 - - R/W 否 0 D1186 变址寄存器 E3 0 - - R/W 否 0 D1187 变址寄存器 F3 0 - - R/W 否 0 D1188 变址寄存器 E4 0 - - R/W 否 0 D1189 变址寄存器 F4 0 - - R/W 否 0 D1190 变址寄存器 E5 0 - - R/W 否 0 D1191 变址寄存器 F5 0 - - R/W 否 0 D1192 变址寄存器 E6 0 - - R/W 否 0 D1193 变址寄存器 F6 0 - - R/W 否 0 D1194 变址寄存器 E7 0 - - R/W 否 0 D1195 变址寄存器 F7 0 - - R/W 否 0 D1240* 当中断 I400/I401, I100/I101 触发,D1240 读取高速计数器的 (LOW WORD) 0 0 - R 否 0 D1241* 当中断 I400/I401, I100/I101 触发,D1241 读取高速计数器的 (HIGH WORD) 0 0 - R 否 0 D1249 COM1(RS-232)通讯指令通讯接收逾时设定(单位:1ms,最小 值为 50ms,小于 50ms 以 50ms 算)(支持 MODRW/RS 指令), RS 指令时, 0 表示不设定逾时时间 0 - - R/W 否 0 D1250 COM1(RS-232)通讯指令通讯接收错误代码 0 - - R/W 否 0 附录 C TP04P 机种相关信息 C-7 特 D 功能说明 Off Ø On STOP Ø RUN RUN Ø STOP 属性 停电 保持 出厂值 (支持 MODRW/RS 指令) D1252 COM3(RS-485) 通讯指令通讯接收逾时设定(单位: 1ms, 最小 值为 50ms, 小于 50ms 以 50ms 算) (支持 MODRW/RS 指令), RS 指令时, 0 表示不设定逾时时间 0 - - R/W 否 0 D1253 COM3(RS-485) 通讯指令通讯接收错误代码 (支持 MODRW/RS 指令) 0 - - R/W 否 0 D1255* COM3 (RS-485//USB) 的通讯地址 - - - R/W 是 1 D1256 ↓ D1295 COM2(RS-485) 通讯便利指令 MODRW,该指令执行时所送出 的指令字符储存于 D1256~D1295,使用者可根据该寄存器的内 容,查看指令是否正确 0 - - R 否 0 D1296 ↓ D1311 COM2(RS-485)通讯便利指令 MODRW ,系统会自动将使用者 指定接收的寄存器内容的 ASCII 字符数据转换