西门子驱动通讯基础
发布时间:2018/1/2 12:37:00驱动通讯基础
西门子代理商
希殿电气技术(上海)有限公司
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+EXM448)或SIMADYN D。
这里我们主要介绍S7 PLC与驱动装置采用PROFIBUS DP协议进行通讯。
采用PROFIBUS DP协议通讯时,既可以利用STEP 7本身提供的功能,也可以使用TIA软件Drive ES。
本文档只介绍STEP 7本身提供的功能。有关Drive ES的功能将根据需要在以后的文档中再做介绍。
(关于 DriveES,可以参加西门子自动化与驱动培训中心的培训课程D2403)
2. 必备条件
下面以S7-300 PLC与MasterDrives CUVC变频器的通讯为例:
主站:S7-300 CPU315-2DP可编程序控制器
从站:MasterDrives CUVC变频器 + CBP2 通讯模板
编程装置:PC + STEP 7 V5.4 + MPI接口(MPI Adapter 或CP5611卡)
装有STEP 7 V5.4 的PC机用于S7 CPU315-2DP的硬件组态与编程,通过MPI电缆与CPU315-2DP的MPI接口连接,用于硬件组态数据及程序的。CPU315-2DP的DP接口通过PROBIBUS 电缆与CUVC 变频器的CBP2 上的DP 接口连接,用于S7-300 与变频器的通讯。
网络连接如图1 所示。
图1:PC机、CPU315-2DP 与驱动装置的连接
3. 硬件组态
3.1. 新建项目
在SIMATIC Manager 中新建一个项目,名称为Drives_Comm。如图2 所示。
图2:新建项目,名称为Drives_Comm
3.2. 插入一个S7-300 主站
在项目名称Drives_Comm 下插入SIMATIC 300 Station,如图3 所示。
图3:在项目下插入一个S7-300 站
接下来对该站进行硬件组态:从硬件组态目录中依次插入机架、电源、CPU,设置CPU上PROFIBUS DP 接口的网络参数(可采用缺省设置,即:地址2,地址126,波特率1.5 Mbps,协议DP)。如图4 所示。
图4:设置CPU 上PROFIBUS DP 接口的参数
按OK 键确认后得到主站的组态结果,如图5所示。
图5:主站的组态
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 号站
3.4. 在从站中插入“模板”
在驱动装置从站中插入类似于ET 200M 从站中的模板,以确定报文结构。
将右边窗口硬件目录中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:驱动装置的输入/输出地址
3.5 查看从站中“模板”的属性
双击左下窗口中的第二行(Slot 2),打开其属性。如图8 所示。
图8:驱动装置的输入/输出地址的属性
属性中给出驱动装置占用S7-300 PLC 外设地址的情况,包括:输出/输入地址,长度,单位,连续性范围。这里除了地址之外,其他属性都是由PPO3 决定的,只能读,不能改写。
提示: | ||||||
长度: | MASTERDRIVES/DC MASTER: | 16 个字 | ||||
MICROMASTER 420: | 4 个字 | |||||
MICROMASTER 430/440: | 8 个字 | |||||
单位: | Words(字) | |||||
连续性范围: | Unit | 以字为单位传送 | ||||
Total length | 所有字一起传送 |
当字长不大于 2 或选择“以字为单位传送”时:用 MOVE 指令(L/T 指令)编程
当字长大于 2 且选择“所有字一起传送”时:用 SFC14/15 编程
4. 编程
根据前面的组态,由于输入/输出各占四个字节,可以使用两次MOVE 指令(L/T 指令)。由于程序简单,程序可以直接编写在OB1 中。数据从MB0 - MB3(即:MW0和MW2)写入驱动装置,从驱动装置读回的数据放入MB4 - MB7(即:MW4和MW6)。如图9所示。
图9:PLC程序
传送到驱动装置的第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(9C7EH)<-> 运行准备
MW0 = 1001 1100 0111 1111 B(9C7FH)<-> 运行
同时设置:P555~P575 = 3101~3115
传送到驱动装置的第2 个字(MW2)是频率设定值:
当MW2 = 0100 0000 0000 0000 B = 4000 H= 16384 D 时,相当于50Hz。
5. 参数设置
在驱动装置侧,驱动装置应处于可以运行的状态。为了实现与PLC 之间的通讯,以及从PLC 接收起/停指令和设定值,向PLC 传送状态字(驱动装置状态)和实际值,应如下更改参数:
P918.01 = 3(缺省设置) | 驱动装置地址(即:站号) | ||||
P554.01 = 3100 | 起/停指令(ON/OFF1) | ||||
P443.01 = 3002 | 频率设定值(Setpoint) | ||||
P734.01 = 32 | 状态字1(Status Word1) | ||||
P734.02 = 148 | 频率实际值(Actual Value) |
参数设置可以通过操作面板PMU,也可以通过DriveMonitor 软件进行。
6. 测试
启动STEP 7的Monitor/Modify Variables 功能,填写变量。如图10 所示。
图10:用监视和修改变量功能控制驱动装置起动和调速
当控制字(Control Word1)为W#16#0400 时,驱动装置应显示O009,表示运行准备状态。将控制字从W#16#0400 改成W#16#0401 时,驱动装置起动。除了状态字(Status Word1)会发生变化外,速度实际值(Actual Value)也会逐渐上升,上升速度取决于参数P462.01 的数值,达到W#16#4000(50Hz)。状态字的含义如图11 所示。其中Bit 2 表示运行状态。将控制字改回W#16#0400 时,驱动装置首先减速,减速时间取决于P464.01 的数值,然后停止运行。
驱动装置起动后可以通过更改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 所示。
图12:硬件组态目录中 MasterDrives 驱动装置的选项
首先,我们也可以选择 MASTERDRIVES CBP 和 MASTERDRIVES CBP2 文件夹中的选项(参见图12)。这两个选项是随着 Drive ES 软件一起安装的,有关 Drive ES 的功能将根据需要在以后的文档中再做介绍。
(关于 DriveES,可以参加西门子自动化与驱动培训中心的培训课程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 所示。
图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 个字输入,用于 PCS7;
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 编程;
8. MM4 PROFIBUS模板的选项
MM420/430/440 变频器通过 PROFIBUS 模板实现 PROFIBUS-DP 通讯。PROFIBUS 模板与 CBP2 模板一样,既有基本功能(循环通讯),也有扩展功能(DPV1功能)。MM4 PROFIBUS 模板的选项如图 14 所示。前半段适合所有 3 种变频器,后半段仅适合 MM430 和 MM440。
图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 指令)编程;
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 指令编程;
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 指令编程;
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 指令)编程;
MM4 变频器上参数设置: | P0700[0] = 6 | 控制字1 | |||
P1000[0] = 6 | 频率设定值 | ||||
P2051[0] = 52* | 状态字1 | ||||
P2051[1] = 21* | 频率实际值 | ||||
*) 默认值 |
参数设置可以通过操作面板BOP/AOP,也可以通过 Starter 软件进行。
附加说明:
今后的发展趋势是取消 PPO 类型,代之以标准报文或自由组态。因为在 PPO 类型中不论是过程数据还是参数数据都采用循环方式传送。而参数数据是不需要采用循环方式访问的。
参数数据可以采用非循环方式访问(DPV1功能)。CBP2 模板和 MM4 PROFIBUS 模板既支持循环方式访问又支持非循环方式访问。非循环访问不需要组态,用 SFC58/59以读/写数据包的形式读/写参数。也可以调用 Drive ES SIMATIC 中的标准功能块,而且可以实现更复杂的功能,比如:同时读取或改写多个参数,甚至在 CPU 的 DB 块中对驱动装置的所有参数进行备份。新一代驱动装置 SINAMICS 只支持参数数据的非循环访问。