西门子驱动装置(SIMOVERTMasterDrivesVC,MicroMaster4以及SIMOREGDCMaster)除了具有与驱动基本应用有关的功能外,还具有强大的通讯功能。驱动通讯可以分为三种方式:
PROFIBUSDP和USS协议属于主/从通讯,需要有PLC作为主站,驱动装置作为从站。
USS协议的主要优点是,其接口集成在基本装置中,不需要额外费用;主要缺点是通讯速度慢,只有基本通讯功能(PKW+PZD),最多31个从站。
PROFIBUSDP协议的主要优点是,通讯速度快,除了基本功能之外还有一些附加功能(例如:非循环通讯,交叉通讯),站点数更多;主要缺点是需要另外购买作为选件的通讯模板(例如:CBP2或PROFIBUS模板)。
SIMOLINK协议(代替PeertoPeer协议)主要用来实现驱动装置与驱动装置之间的通讯。SIMOLINK协议也可以是主/从通讯,主站是S7-400(FM458+EXM448)或SIMADYND。
这里我们主要介绍S7PLC与驱动装置采用PROFIBUSDP协议进行通讯。
采用PROFIBUSDP协议通讯时,既可以利用STEP7本身提供的功能,也可以使用TIA软件DriveES。
本文档只介绍STEP7本身提供的功能。有关DriveES的功能将根据需要在以后的文档中再做介绍。
(关于DriveES,可以参加西门子自动化与驱动培训中心的培训课程D2403)
2.必备条件
下面以S7-300PLC与MasterDrivesCUVC变频器的通讯为例:
主站:S7-300CPU315-2DP可编程序控制器
从站:MasterDrivesCUVC变频器+CBP2通讯模板
编程装置:PC++MPI接口(MPIAdapter或CP5611卡)
装有的PC机用于S7CPU315-2DP的硬件组态与编程,通过MPI电缆与CPU315-2DP的MPI接口连接,用于硬件组态数据及程序的下载。CPU315-2DP的DP接口通过PROBIBUS电缆与CUVC变频器的CBP2上的DP接口连接,用于S7-300与变频器的通讯。
网络连接如图1所示。

图1:PC机、CPU315-2DP与驱动装置的连接
3.硬件组态
3.1.新建项目
在SIMATICManager中新建一个项目,名称为Drives_Comm。如图2所示。

图2:新建项目,名称为Drives_Comm
3.2.插入一个S7-300主站
在项目名称Drives_Comm下插入SIMATIC300Station,如图3所示。

图3:在项目下插入一个S7-300站
接下来对该站进行硬件组态:从硬件组态目录中依次插入机架、电源、CPU,设置CPU上PROFIBUSDP接口的网络参数(可采用缺省设置,即:地址2,最高地址126,波特率1.5Mbps,协议DP)。如图4所示。

图4:设置CPU上PROFIBUSDP接口的参数
按OK键确认后得到主站的组态结果,如图5所示。

图5:主站的组态
3.3插入一个MASTERDRIVE从站
在PROFIBUS(1):DPmastersystem(1)总线上挂上MasterDrives从站。
从站路径为:PROFIBUSDP
SIMOVERT
MASTERDRIVES/DCMASTERCBPx或
MASTERDRIVES/DCMASTERCBP2DPV1
MASTERDRIVES/DCMASTERCBPx与MASTERDRIVES/DCMASTERCBP2DPV1的区别是,前者只能按照PPO类型选择报文结构(即CBP功能:循环通讯),后者还能选择更多的报文结构,以配合CBP2的一些扩展功能(DPV1功能)。
(关于CBP2模板的报文结构参见下面第7部分)
(关于MM4PROFIBUS模板的报文结构参见下面第8部分)
选择MASTERDRIVES/DCMASTERCBP2DPV1作为从站,地址设成3。如图6所示。

图6:选择MASTERDRIVES/DCMASTERCBP2DPV1作为3号站
3.4.在从站中插入“模板”
在驱动装置从站中插入类似于ET200M从站中的模板,以确定报文结构。
将右边窗口硬件目录中MASTERDRIVES/DCMASTERCBP2DPV1下面的PPO3:0PKW,2PZD插入左下窗口中的第一行(Slot1)。该选项共占两行。意思是:PPO类型3,即:0个字参数数据(又叫PKW),2个字过程数据(又叫PZD)。参数数据用于PLC读/写变频器的参数,过程数据用于PLC控制和监视生产过程。0个字参数数据表示PLC不能读/写驱动装置的参数,参数数据也不占用S7的外设地址;2个字过程数据表示PLC和驱动装置交换2个字过程数据,各占用S7-300PLC四个字节的外设地址。地址范围是输入字节256-259,输出字节256-259。如图7所示。
通常S7传送到驱动装置的第1个字是控制字,第2个字是频率设定值;驱动装置传送到S7的第1个字是状态字,第2个字是频率实际值。这是最简单的应用。
(关于CBP2模板的其他选项的含义参见下面第7部分)
(关于MM4PROFIBUS模板选项的含义参见下面第8部分)

图7:驱动装置的输入/输出地址
3.5查看从站中“模板”的属性
双击左下窗口中的第二行(Slot2),打开其属性。如图8所示。

图8:驱动装置的输入/输出地址的属性
属性中给出驱动装置占用S7-300PLC外设地址的情况,包括:输出/输入地址,长度,单位,连续性范围。这里除了地址之外,其他属性都是由PPO3决定的,只能读,不能改写。
提示:
长度:
MASTERDRIVES/DCMASTER:最大16个字
MICROMASTER420:最大4个字
MICROMASTER430/440:最大8个字单位:
Words(字)
连续性范围:Unit
以字为单位传送
Totallength
所有字一起传送
当字长不大于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=0000010000000000B=0400H时,驱动装置处于运行准备状态;
当MW0=0000010000000001B=0401H时,驱动装置进入运行状态1)
1)相应于第5部分参数设置,PLC只控制驱动装置起/停。若要传送所有指令应设置:
MW0=1001110001111110B(9C7EH)-运行准备
MW0=1001110001111111B(9C7FH)-运行
同时设置:P555~P575=3101~3115
传送到驱动装置的第2个字(MW2)是频率设定值:
当MW2=0100000000000000B=4000H=16384D时,相当于50Hz。
5.参数设置
在驱动装置侧,驱动装置应处于可以运行的状态。为了实现与PLC之间的通讯,以及从PLC接收起/停指令和设定值,向PLC传送状态字(驱动装置状态)和实际值,应如下更改参数:
=3(缺省设置)驱动装置地址(即:站号)
=3100
起/停指令(ON/OFF1)=3002
频率设定值(Setpoint)
=32
状态字1(StatusWord1)=148
频率实际值(ActualValue)
参数设置可以通过操作面板PMU,也可以通过DriveMonitor软件进行。
6.测试
启动STEP7的Monitor/ModifyVariables功能,填写变量。如图10所示。

图10:用监视和修改变量功能控制驱动装置起动和调速
当控制字(ControlWord1)为W0400时,驱动装置应显示O009,表示运行准备状态。将控制字从W0400改成W0401时,驱动装置起动。除了状态字(StatusWord1)会发生变化外,速度实际值(ActualValue)也会逐渐上升,上升速度取决于参数的数值,最后达到W4000(50Hz)。状态字的含义如图11所示。其中Bit2表示运行状态。将控制字改回W0400时,驱动装置首先减速,减速时间取决于的数值,然后停止运行。
驱动装置起动后可以通过更改MW2的数值更改速度。对应关系如下:
MW2=0000000000000000B=0000H=0D~0Hz
MW2=0100000000000000B=4000H=16384D~50Hz
MW2为整型,数值与频率之间是线性关系。负数用补码表示,对应反转。

图11:MasterDrives驱动装置的状态字的含义
7.CBP2的其他选项
在“3.3.插入一个MASTERDRIVES从站”和“3.4.在从站中插入模板”章节中我们看到,除了PPO类型选项外硬件组态目录中还有其他选项。如图12所示。

图12:硬件组态目录中MasterDrives驱动装置的选项
首先,我们也可以选择MASTERDRIVESCBP和MASTERDRIVESCBP2文件夹中的选项(参见图12)。这两个选项是随着DriveES软件一起安装的,有关DriveES的功能将根据需要在以后的文档中再做介绍。
(关于DriveES,可以参加西门子自动化与驱动培训中心的培训课程D2403)
其次,MASTERDRIVES/DCMASTERCBP2DPV1中的选项基本包括MASTERDRIVES/DCMASTERCBPx中的选项。事实上“options”下面的PPO2和PPO5早已取代了上面的PPO2和PPO5。那么什么是PPO呢?
PPO=Parameter-Processdata-Object,即参数过程数据对象。它规定了PLC与驱文中有效数据的结构,符合PROFIBUS补充协议“variable-speeddrivesprofile”。共有PPO1-PPO5五种类型,如图13所示。

图13:5种PPO类型
在3.5.节中我们曾查看过PPO3型从站中“模板”的属性,所有PPO类型从站中“模板”的连续性范围属性都是一样的,均为Totallength。由于PPO3总共只有2个字过程数据(PZD1和PZD2),所以我们仍然可以用MOVE指令(L/T指令)编写程序;与此相同的还有PPO1中的过程数据。但如果选择PPO2、4、5,过程数据(PKW)分别为6个、6个和10个,则需要编写SFC14/15。对于PPO1、2、5中的参数数据(PKW)其属性连续性范围也为Totallength,也需要编写SFC14/15。
SFC14/15为系统功能,其用法参见SFC14/15的在线帮助。
在图12的硬件组态目录中,各选项含义如下:
1.:2/2PZD:
标准报文1:只有过程数据,2个字输出/2个字输入,用MOVE指令(L/T指令)编程;
2.:4/4PZD:
标准报文2:只有过程数据,4个字输出/4个字输入,用SFC14/15编程;
3.PCS7Telegram352:6/6PZD:
PCS7报文352:只有过程数据,6个字输出/6个字输入,用于PCS7;
4.PKWmodule:
PKW模板(4个字输出/4个字输入):用SFC14/15编程;
5.PPO1:4PKW,2PZD:
PPO1,4个字参数数据,用SFC14/15编程;2个字过程数据,用MOVE指令(L/T指
令)编程;
6.PPO2:4PKW,6PZD:
PPO2,4个字参数数据,用SFC14/15编程;6个字过程数据,用SFC14/15编程;
7.PPO3:0PKW,2PZD:
PPO3,没有参数数据,2个字过程数据,用MOVE指令(L/T指令)编程;
8.PPO4:0PKW,6PZD:
PPO4,没有参数数据,6个字过程数据,用SFC14/15编程;
9.PPO5:4PKW,10PZD:
PPO5,4个字参数数据,用SFC14/15编程;10个字过程数据,用SFC14/15编程;
8.MM4PROFIBUS模板的选项
MM420/430/440变频器通过PROFIBUS模板实现PROFIBUS-DP通讯。PROFIBUS模板与CBP2模板一样,既有基本功能(循环通讯),也有扩展功能(DPV1功能)。MM4PROFIBUS模板的选项如图14所示。前半段适合所有3种变频器,后半段仅适合MM430和MM440。
图14:硬件组态目录中MICROMASTER4驱动装置的选项
在图14的硬件组态目录中,各选项含义如下:
1.StandardTelegram1:
标准报文1:2个字输出/2个字输入,用MOVE指令(L/T指令)编程;
2.4PKW,2PZD(PPO1):
PPO1,4个字参数数据,用SFC14/15编程;2个字过程数据,用MOVE指令
(L/T指令)编程;
3.0PKW,2PZD(PPO3):
PPO3,没有参数数据,2个字过程数据,用MOVE指令(L/T指令)编程;
4.4PKW,4PZDwholecons.:
4个字参数数据,用SFC14/15编程;4个字过程数据,整体连续,用SFC14/15编程;
5.4PKW,4PZDwordcons.:
4个字参数数据,用SFC14/15编程;4个字过程数据,字连续,用MOVE指令编程;
6.0PKW,4PZDwholecons.:
没有参数数据;4个字过程数据,整体连续,用SFC14/15编程;
7.0PKW,4PZDwordcons.:
没有参数数据;4个字过程数据,字连续,用MOVE指令(L/T指令)编程;
--MM430/440only:PZD4--仅对MM430/440:PZD大于4个字
8.4PKW,6PZD(PPO2):
PPO2,4个字参数数据,用SFC14/15编程;6个字过程数据,用SFC14/15编程;
9.4PKW,6PZDwordcons.:
4个字参数数据,用SFC14/15编程;6个字过程数据,字连续,用MOVE指令编程;
10.0PKW,6PZD(PPO4):
PPO4,没有参数数据;6个字过程数据,用SFC14/15编程;
11.0PKW,6PZDwordcons.:
没有参数数据;6个字过程数据,字连续,用MOVE指令(L/T指令)编程;
12.4PKW,8PZDwholecons.:
4个字参数数据,用SFC14/15编程;8个字过程数据,整体连续,用SFC14/15编程;
13.4PKW,8PZDwordcons.:
4个字参数数据,用SFC14/15编程;8个字过程数据,字连续,用MOVE指令(L/T指
令)编程;
14.0PKW,8PZDwholecons.:
没有参数数据;8个字过程数据,整体连续,用SFC14/15编程;
15.0PKW,8PZDwordcons.:
没有参数数据;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模板和MM4PROFIBUS模板既支持循环方式访问又支持非循环方式访问。非循环访问不需要组态,用SFC58/59以读/写数据包的形式读/写参数。也可以调用DriveESSIMATIC中的标准功能块,而且可以实现更复杂的功能,比如:同时读取或改写多个参数,甚至在CPU的DB块中对驱动装置的所有参数进行备份。新一代驱动装置SINAMICS只支持参数数据的非循环访问。





