驱动通讯基础 (Drives Communication) (User Guide) Edition (2006 年 9 月 )
摘要 西门子驱动装置 (SIMOVERT MasterDrives VC,MicroMaster 4 以及 SIMOREG DC Master) 具有强大的通讯功能 本文档介绍 S7 PLC 与驱动装置用 PROFIBUS DP 协议通讯的基础 关键词 驱动通讯的组态, 编程和参数设置 Key Words Configuration, Programming and Parameter Setting for Drives Communication 网上课堂 - 驱动通讯基础 Page 2-19
驱动通讯基础 目 录 1. 概述...4 2. 必备条件...4 3. 硬件组态...5 3.1. 新建项目.....5 3.2. 插入一个 S7-300 主站....5 3.3. 插入一个 MASTERDRIVE 从站......8 3.4. 在从站中插入 模板...9 3.5. 查看从站中 模板 的属性.. 10 4. 编程...10 5. 参数设置...11 6. 测试...12 7. CBP2 的其他选项.....13 8. MM4 PROFIBUS 模板的选项.....17 网上课堂 - 驱动通讯基础 Page 3-19
1. 概述 西门子驱动装置 (SIMOVERT MasterDrives VC,MicroMaster 4 以及 SIMOREG DC Master) 除了具有与驱动基本应用有关的功能外, 还具有强大的通讯功能 驱动通讯可以分为三种方式 : PROFIBUS DP 协议 USS 协议 SIMOLINK 协议 ( 一般用来代替 Peer to Peer 协议 ) PROFIBUS DP 和 USS 协议属于主 / 从通讯, 需要有 PLC 作为主站, 驱动装置作为从站 USS 协议的主要优点是, 其接口集成在基本装置中, 不需要额外费用 ; 主要缺点是通讯速度慢, 只有基本通讯功能 (PKW+PZD), 最多 31 个从站 PROFIBUS DP 协议的主要优点是, 通讯速度快, 除了基本功能之外还有一些附加功能 ( 例如 : 非循环通讯, 交叉通讯 ), 站点数更多 ; 主要缺点是需要另外购买作为选件的通讯模板 ( 例如 :CBP2 或 PROFIBUS 模板 ) SIMOLINK 协议 ( 代替 Peer to Peer 协议 ) 主要用来实现驱动装置与驱动装置之间的通讯 SIMOLINK 协议也可以是主 / 从通讯, 主站是 S7-400(FM458) 或 SIMADYN D 这里我们主要介绍 S7 PLC 与驱动装置采用 PROFIBUS DP 协议进行通讯 采用 PROFIBUS DP 协议通讯时, 既可以利用 STEP7 本身提供的功能, 也可以使用 TIA 软件 Drive ES 本文档只介绍 STEP7 本身提供的功能 有关 Drive ES 的功能将根据需要在以后的文档中再做介绍 ( 可以参加西门子自动化与驱动培训中心的培训课程 D2403) 2. 必备条件 下面以 S7-300 PLC 与 MasterDrives CUVC 变频器的通讯为例 : 主站 :S7-300 CPU315-2DP 可编程序控制器 从站 :MasterDrives CUVC 变频器 + CBP2 通讯模板 编程装置 :PC + STEP7 V5.3 + MPI 接口 (MPI Adapter 或 CP5611 卡 ) 装有 STEP7 V5.3 的 PC 机用于 S7 CPU315-2DP 的硬件组态与编程, 通过 MPI 电缆与 CPU315-2DP 的 MPI 接口连接, 用于硬件组态数据及程序的下载 315-2DP 的 DP 接口通过 PROBIBUS 电缆与 CUVC 变频器的 CBP2 上的 DP 接口连接, 用于 S7-300 与变频器的通讯 网络连接如图 1 所示 网上课堂 - 驱动通讯基础 Page 4-19
SIMATI SIMOVERT 6SE7016- WR 2,2. S M7 1 MPI PROFIBUS DP SIEMEN 图 1:PC 机 CPU315-2DP 与驱动装置的连接 3. 硬件组态 3.1. 新建项目 在 SIMATIC Manager 中插入一个新项目, 名称为 Drives_Comm 如图 2 所示 3.2. 插入一个 S7-300 主站 在项目名称 Drives_Comm 下插入 SIMATIC 300 Station, 如图 3 所示 接下来对该站进行硬件组态 : 从硬件组态目录中依次插入机架 电源 CPU, 设置 CPU 上 PROFIBUS DP 接口的网络参数 ( 可采用缺省设置, 即 : 地址 2, 最高地址 126, 波特率 1.5 Mbps, 协议 DP) 如图 4 所示 按 OK 键确认后得到主站的组态结果, 如图 5 所示 网上课堂 - 驱动通讯基础 Page 5-19
图 2: 新建项目, 名称为 Drives_Comm 图 3: 在项目下插入一个 S7-300 站 网上课堂 - 驱动通讯基础 Page 6-19
图 4: 设置 CPU 上 PROFIBUS DP 接口的参数 图 5: 主站的组态结果 网上课堂 - 驱动通讯基础 Page 7-19
3.3. 插入一个 MASTERDRIVE 从站 在 PROFIBUS(1): DP master system (1) 总线上挂上 MasterDrives 从站 从站路径为 :PROFIBUS DP > SIMOVERT > MASTERDRIVES/DC MASTER CBPx 或 MASTERDRIVES/DC MASTER CBP2 DPV1 MASTERDRIVES/DC MASTER CBPx 与 MASTERDRIVES/DC MASTER CBP2 DPV1 的区别是, 前者只能按照 PPO 类型选择报文结构 ( 即 CBP 功能 : 循环通讯 ), 后者还能选择更多的报文结构, 以配合 CBP2 的一些扩展功能 (DPV1 功能 ) 关于 CBP2 模板的报文结构参见下面第 7 部分 关于 MM4 PROFIBUS 模板的报文结构参见下面第 8 部分 选择 MASTERDRIVES/DC MASTER CBP2 DPV1 作为从站, 地址设成 3 如图 6 所示 图 6: 选择 MASTERDRIVES/DC MASTER CBP2 DPV1 作为 3 号站 网上课堂 - 驱动通讯基础 Page 8-19
3.4. 在从站中插入 模板 在驱动装置从站中插入类似于 ET200M 从站中的模板, 以确定报文结构 将右边窗口硬件目录中 MASTERDRIVES/DC MASTER CBP2 DPV1 下面的 PPO 3: 0PKW, 2PZD 插入左下窗口中的第一行 (Slot 1) 该选项共占两行 意思是 :PPO 类型 3, 即 :0 个字参数数据 ( 又叫 PKW),2 个字过程数据 ( 又叫 PZD) 参数数据用于 PLC 读 / 写变频器的参数, 过程数据用于 PLC 控制和监视生产过程 0 个字参数数据表示 PLC 不能读 / 写驱动装置的参数, 参数数据也不占用 S7 的外设地址 ;2 个字过程数据表示 PLC 和驱动装置交换 2 个字过程数据, 各占用 S7-300 PLC 四个字节的外设地址 地址范围是输入字节 256-259, 输出字节 256-259 如图 7 所示 通常 S7 传送到驱动装置的第 1 个字是控制字, 第 2 个字是设定值 ; 驱动装置传送到 S7 的第 1 个字是状态字, 第 2 个字是实际值 这是最简单的应用 关于 CBP2 模板的其他选项的含义参见下面第 7 部分 关于 MM4 PROFIBUS 模板选项的含义参见下面第 8 部分 图 7: 驱动装置的输入 / 输出地址 网上课堂 - 驱动通讯基础 Page 9-19
3.5. 查看从站中 模板 的属性 双击左下窗口中的第二行 (Slot 2), 打开其属性 如图 8 所示 图 8: 驱动装置的输入 / 输出地址的属性 属性中给出驱动装置占用 S7-300 PLC 外设地址的情况, 包括 : 输出 / 输入地址, 长度, 单位, 连续性范围 这里除了地址之外, 其他属性都是由 PPO3 决定的, 只能读, 不能改写 4. 编程 根据前面的组态, 由于输入 / 输出各占四个字节, 可以使用两次 MOVE 指令 (L/T 指令 ) 由于程序简单, 程序可以直接编写在 OB1 中 数据从 MB0 - MB3( 即 : MW0 和 MW2) 写入驱动装置, 从驱动装置读回的数据放入 MB4 - MB7( 即 :MW4 和 MW6) 如图 9 所示 网上课堂 - 驱动通讯基础 Page 10-19
传送到驱动装置的第 1 个字 (MW0) 是控制字 ( 控制指令 ): 当 MW0 = 0000 0100 0000 0000 B = 0400 H 时, 驱动装置处于运行准备状态 ; 当 MW0 = 0000 0100 0000 0001 B = 0401 H 时, 驱动装置进入运行状态 1) 1) 相应于第 5 部分参数设置,PLC 只控制驱动装置起 / 停 若要传送所有指令 应设置 :MW0 = 1001 1100 0111 1110 B(9C7E H )<-> 运行准备 MW0 = 1001 1100 0111 1111 B(9C7F H )<-> 起动同时设置 :P555~P575 = 3101~3115 传送到驱动装置的第 2 个字 (MW2) 是速度设定值 : 当 MW2 = 0100 0000 0000 0000 B = 4000 H= 16384 D 时, 相当于 50Hz 图 9:PLC 程序 5. 参数设置 在驱动装置侧, 驱动装置应处于可以运行的状态 为了实现与 PLC 之间的通讯, 以及从 PLC 接收起 / 停指令和设定值, 向 PLC 传送状态字 ( 驱动装置状态 ) 和实际值, 应如下更改参数 : P918.01 = 3( 缺省设置 ) 驱动装置地址 ( 即 : 站号 ) 网上课堂 - 驱动通讯基础 Page 11-19
P554.01 = 3100 起 / 停指令 (ON/OFF1) P443.01 = 3002 设定值 (Setpoint) P734.01 = 32 状态字 1(Status Word1) P734.02 = 148 实际值 (Actual Value) 参数设置可以通过操作面板 PMU, 也可以通过 DriveMonitor 软件进行 6. 测试 启动 STEP7 的 Monitor/Modify Variables 功能, 填写变量 如图 10 所示 图 10: 用监视和修改变量功能控制驱动装置起动和调速 当控制字 (Control Word1) 为 W#16#0400 时, 驱动装置应显示 O 009, 表示运行准备状态 将控制字从 W#16#0400 改成 W#16#0401 时, 驱动装置起动 除了状态字 (Status Word1) 会发生变化外, 速度实际值 (Actual Value) 也会逐渐上升, 上升速度取决于参数 P462.01 的数值, 最后达到 W#16#4000(50Hz) 将控制字改回 W#16#0400 时, 驱动装置首先减速, 减速时间取决于 P464.01 的数值, 然后停止运行 网上课堂 - 驱动通讯基础 Page 12-19
状态字的含义如图 11 所示 其中 Bit 2 表示运行状态 驱动装置起动后也可以通过更改 MW2 的数值更改速度 对应关系如下 : MW2 = 0000 0000 0000 0000 B = 0000 H= 0 D ~ 0Hz MW2 = 0100 0000 0000 0000 B = 4000 H= 16384 D ~ 50Hz MW2 为整型, 数值与频率之间是线性关系 负数用补码表示, 对应反转 图 11:MasterDrives 驱动装置的状态字的含义 7.CBP2 的其他选项 在 3.3. 插入一个 MASTERDRIVES 从站 和 3.4. 在从站中插入模板 章节中我们看到, 除了 PPO 类型选项外硬件组态目录中还有其他选项 如图 12 所示 网上课堂 - 驱动通讯基础 Page 13-19
首先, 我们也可以选择 MASTERDRIVES CBP 和 MASTERDRIVES CBP2 文件夹中的选项 ( 参见图 12) 这两个选项是随着 Drive ES 软件一起安装的, 有关 Drive ES 的功能将根据需要在以后的文档中再做介绍 ( 可以参加西门子自动化与驱动培训中心的培训课程 D2403) 其次,MASTERDRIVES/DC MASTER CBP2 DPV1 中的选项基本包括 MASTERDRIVES/DC MASTER CBPx 中的选项 事实上 options 下面的 PPO2 和 PPO5 早已取代了上面的 PPO2 和 PPO5 那么什么是 PPO 呢? PPO = Parameter - Process data - Object, 即参数过程数据对象 它规定了 PLC 与驱动装置通讯时报文中有效数据的结构, 符合 PROFIBUS 补充协议 variable-speed drives profile 共有 PPO1 - PPO5 五种类型, 如图 13 所示 图 12: 硬件组态目录中 MasterDrives 驱动装置的选项 网上课堂 - 驱动通讯基础 Page 14-19
参数数据过程数据 PP PK IND PW PZD PZD PZD PZD PZD PZD PZD PZD PZD PZD1 类型 1 类型 2 类型 3 类型 4 类型 5 PKE: Parameter ID IND: Index (3rd byte), PWE: Parameter value PZD: Process data STW: Control word ZSW: Status word HSW: Main setpoint PPO: Parameter Process data Object 图 13:5 种 PPO 类型 在 3.5. 节中我们曾查看过 PPO3 型从站中 模板 的属性, 所有 PPO 类型从站中 模板 的连续性范围属性都是一样的, 均为 Total length 由于 PPO3 总共只有 2 个字过程数据 (PZD1 和 PZD2), 所以我们仍然可以用 MOVE 指令 (L/T 指令 ) 编写程序 ; 与此相同的还有 PPO1 中的过程数据 但如果选择 PPO2 4 5, 过程数据 (PKW) 分别为 6 个 6 个和 10 个, 则需要编写 SFC14/15 对于 PPO1 2 5 中的参数数据 (PKW) 其属性连续性范围也为 Total length, 也需要编写 SFC14/15 SFC14/15 的使用参见 SFC14/15 的在线帮助 在图 12 的硬件组态目录中, 各选项含义如下 : 1.Std. Telegram 1: 2/2 PZD: 标准报文 1: 只有过程数据,2 个字输出 /2 个字输入, 用 MOVE 指令 (L/T 指令 ) 编程 ; 2.Std. Telegram 2: 4/4 PZD: 标准报文 2: 只有过程数据,4 个字输出 /4 个字输入, 用 SFC14/15 编程 ; 3.PCS7 Telegram 352: 6/6 PZD: PCS7 报文 352: 只有过程数据,6 个字输出 /6 个字输入, 用 SFC14/15 编程 ; 网上课堂 - 驱动通讯基础 Page 15-19
4.PKW module: PKW 模板 (4 个字输出 /4 个字输入 ): 用 SFC14/15 编程 ; 5.PPO 1: 4 PKW, 2 PZD: PPO 1,4 个字参数数据, 用 SFC14/15 编程 ;2 个字过程数据, 用 MOVE 指令 (L/T 指令 ) 编程 ; 6.PPO 2: 4 PKW, 6 PZD: PPO 2,4 个字参数数据, 用 SFC14/15 编程 ;6 个字过程数据, 用 SFC14/ 15 编程 ; 7.PPO 3: 0 PKW, 2 PZD: PPO 3, 没有参数数据,2 个字过程数据, 用 MOVE 指令 (L/T 指令 ) 编程 ; 8.PPO 4: 0 PKW, 6 PZD: PPO 4, 没有参数数据,6 个字过程数据, 用 SFC14/ 15 编程 ; 9.PPO 5: 4 PKW, 10 PZD: PPO 5,4 个字参数数据, 用 SFC14/15 编程 ;10 个字过程数据, 用 SFC14/ 15 编程 ; 附加说明 : 今后的发展趋势是取消 PPO 类型, 代之以标准报文或自由组态 因为在 PPO 类型中不论是过程数据还是参数数据都采用循环方式传送 而参数数据是不需要采用循环方式访问的 参数数据可以采用非循环方式访问 (DPV1 功能 ) 非循环访问不需要组态, 用 SFC58/59 以读 / 写数据包的形式读 / 写参数 也可以调用 Drive ES SIMATIC 中的标准功能块, 而且可以实现更复杂的功能, 比如 : 同时读取或改写多个参数, 甚至在 CPU 的数据块中对驱动装置的所有参数进行备份 CBP2 模板的一些扩展功能需要借助 Drive ES 软件实现 网上课堂 - 驱动通讯基础 Page 16-19
8.MM4 PROFIBUS 模板的选项 MM4 变频器通过 PROFIBUS 模板实现 PROFIBUS-DP 通讯 PROFIBUS 模板与 CPB2 模板一样, 既有基本功能 ( 循环通讯 ), 也有扩展功能 (DPV1 功能 ) MM4 PROFIBUS 模板的选项如图 14 所示 图 14: 硬件组态目录中 MICROMASTER 4 驱动装置的选项 在图 14 的硬件组态目录中, 各选项含义如下 : 1.Standard Telegram 1: 标准报文 1:2 个字输出 /2 个字输入, 用 MOVE 指令 (L/T 指令 ) 编程 ; 2.4 PKW,2 PZD (PPO 1): PPO 1,4 个字参数数据, 用 SFC14/15 编程 ;2 个字过程数据, 用 MOVE 指令 (L/T 指令 ) 编程 ; 3.0 PKW,2 PZD (PPO 3): PPO 3, 没有参数数据,2 个字过程数据, 用 MOVE 指令 (L/T 指令 ) 编程 ; 网上课堂 - 驱动通讯基础 Page 17-19
4.4 PKW,4 PZD whole cons.: 4 个字参数数据, 用 SFC14/15 编程 ;4 个字过程数据, 整体连续, 用 SFC14 /15 编程 ; 5.4 PKW,4 PZD word cons.: 4 个字参数数据, 用 SFC14/15 编程 ;4 个字过程数据, 字连续, 用 MOVE 指令 (L/T 指令 ) 编程 ; 6.0 PKW,4 PZD whole cons.: 没有参数数据 ;4 个字过程数据, 整体连续, 用 SFC14 /15 编程 ; 7.0 PKW,4 PZD word cons.: 没有参数数据 ;4 个字过程数据, 字连续, 用 MOVE 指令 (L/T 指令 ) 编程 ; -- MM430/440 only:pzd > 4 -- 仅对 MM430/440:PZD 大于 4 个字 8.4 PKW,6 PZD (PPO 2): PPO 2,4 个字参数数据, 用 SFC14/15 编程 ;6 个字过程数据, 用 SFC14/ 15 编程 ; 9.4 PKW,6 PZD word cons.: 4 个字参数数据, 用 SFC14/15 编程 ;6 个字过程数据, 字连续, 用 MOVE 指令 (L/T 指令 ) 编程 ; 10.0 PKW,6 PZD (PPO 4): PPO 4, 没有参数数据 ;6 个字过程数据, 用 SFC14/15 编程 ; 11.0 PKW,6 PZD word cons.: 没有参数数据 ;6 个字过程数据, 字连续, 用 MOVE 指令 (L/T 指令 ) 编程 ; 12.4 PKW,8 PZD whole cons.: 4 个字参数数据, 用 SFC14/15 编程 ;8 个字过程数据, 整体连续, 用 SFC14 /15 编程 ; 13.4 PKW,8 PZD word cons.: 4 个字参数数据, 用 SFC14/15 编程 ;8 个字过程数据, 字连续, 用 MOVE 指令 (L/T 指令 ) 编程 ; 14.0 PKW,8 PZD whole cons.: 没有参数数据 ;8 个字过程数据, 整体连续, 用 SFC14/15 编程 ; 15.0 PKW,8 PZD word cons.: 没有参数数据 ;8 个字过程数据, 字连续, 用 MOVE 指令 (L/T 指令 ) 编程 ; 网上课堂 - 驱动通讯基础 Page 18-19
MM4 变频器上参数设置 : P0700.000 = 6 控制字 1 P1000.000 = 6 设定值 * 缺省设置 P2051.000 = 52* 状态字 1 P2051.001 = 21* 实际值 参数设置可以通过操作面板 BOP/AOP, 也可以通过 Starter 软件进行 MM4 PROFIBUS 模板的一些扩展功能需要借助 Drive ES 软件实现 附 : Drive ES 软件的订货号 : Drive ES Basic V5.4 Drive ES SIMATIC V5.4 Order Number:6SW1700-5JA00-4AA0 Order Number:6SW1700-5JC00-4AA0 网上课堂 - 驱动通讯基础 Page 19-19