工控智汇

工控智汇

一起聊聊西门子的各种通信

admin 80 65

西门子驱动装置(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只支持参数数据的非循环访问。