CP342-5 (S)与S7-300(M)之间的DP主从通信(STEP7)

CP342-5作从站与FC1(DP_SEND),FC2(DP_RECV)的应用

CP342-5 作为主站需要调用FC1FC2 建立通讯接口区,作为从站同样需要调用FC1FC2 建立通讯接口区,下面将以S7-400 CPU416-2DP 作为主站,CP342-5 作为从站举例说明CP342-5 作为从站的应用。主站发送16 个字节给从站,同样从站发送16 个字节给主站。

硬件和软件需求

软件:STEP 7 V5.2

硬件:

1.PROFIBUS-DP 主站S7-400 CPU416-2DP

2.从站选用S7-300,CP342-5

3.MPI 网卡CP5611

4.PROFIBUS 电缆及接头

网络配置图

PG S7-400 S7-300 DP 3425

硬件连接:在该实例中,S7-400 CPU416-2DP 做主站,CP342-5 作从站。先将S7-400 和S7-300 , CP342 -5 分别进行初始化。然后将用PROFIBUS 电缆将S7-400 的DP 口与CP342-5 的PROFIBUS 接口按上图连接好。修改CP5611 的参数使之与PROFIBUS 网络一致,并将其连接到PROFIBUS 网络上,下面介绍组态详细步骤。

组态

打开SIMATIC MANAGER 软件,在FILE 菜单的下拉菜单下选择“NEW” 新建一个项目,在NAME 栏中输入项目名称,将其命名为“CP342-5_SLAVE ”,在下方的Storage Location 中设置其存储位置,如下图:

组态从站:

在项目窗口的左侧选中该项目,单击右键在弹出的子菜单中选择Insert New Object 插入一个SIMATIC 300 Station,可以看到选择的对象出现在右侧的屏幕上。

双击SIMATIC 300 Station 目录下的hardware 图标,打开HW configuration 进行硬件组态。在HW configuration 主界面的右侧按实际硬件安装顺序完成系统硬件组态。在菜单栏中选择“View”菜单下的“Catalog”打开硬件目录。在左侧目录中打开SIMATIC 300 文件夹,在RACK-300 下选择一个机架,把选用的基架拖到屏幕的左上方。同时在2 号槽和4 号槽分插入S7-300 CPU 和和 CP342-5 ,在配置CPU 时,会自动弹出一个对话框,此时不用做任何设置,直接点击OK 即可。由于在该实例中,将CP342-5 作为从站,配置CP342-5 网络设置时,先新建一条PROFIBUS 网络,然后组态PROFIBUS 属性如下图:

传输输率可以根据PROFIBUS 总线长度而定,如果网络上有中继器、OBT 和OLM 要通过选项“Options”来加入。

本例中选择传输速率为“1.5Mbps”和“DP”行规,无中继器和OBT 等网络元件,点击“OK”按钮确认。然后定义CP342-5 的站地址,本例中为4 号站,加入CP 后,双击该栏,在弹出的对话框中,选择“Operating Mode” 标签,并激活“DP Slave”模式,如下图:

如果激活“DP Slave”项下的选择框 ,表示CP342-5 作从站的同时,还支持编程功能和S7 协议。组态完成后编译存盘并下载到CPU 中。

组态主站:

在右侧区域单击右键在弹出菜单中选择SIMATIC 400 STATION 插入S7-400 主站,在屏幕右侧会看到相应的S7-400 站点出现,如下图:

双击“Hardware”,按实际硬件安装顺序完成系统硬件组态,序依次插入机架、电源、CPU。插入CPU 时要同时组态PROFIBUS,选择与从站同一条的PROFIB US 网络,并选择主站站地址,本例中主站为2 号站,CPU 组态后会出现一条PROFIBUS 网络,在硬件中选择“Configured Stations ”,从“S7-300 CP342-5 ”中选择与订货号、版本号相同的CP342-5,如下图:

然后拖到PROFIBUS 网上,刚才已经组态完的从站列在表中,点击键“Connect”,连接从站到主站的PROFIBUS 网上,如下图:

连接完成后,点击从站组态通讯接口区,插入16 个字节的输入和16 个字节的输出,如果选择“Total”,主站CPU 要调用SFC14,SFC15 对数据包进行处理,本例中选择按字节通讯,在主站中不需要对通讯进行编程,组态如下图:

组态完成后编译存盘下载到CPU 中,可以修改CP5611 参数,使之可以连接到PROFIBUS 网络上同时对主站和从站编程。从上图中可以看到主站的通讯区已经建立,主站发送到从站的数据区为QB0~QB15,主站接收从站的数据区为IB0~IB15,从站需要调用FC1,FC2 建立通讯区。

从站编程

在“Libraries” ->“SIMATIC_NET_CP” ->“CP300”找到FC1, FC2, 并在OB1 调用FC1,FC2 建立通讯区,例子如下:

参数含义:

CPLADDR:CP342-5 的地址。

SEND:发送区,对应主站的输入区。

RECV:接收区,对应主站的输出区。

DONE:发送完成一次产生一个脉冲。

NDR: 接收完成一次产生一个脉冲。

ERROR:错误位。

STATUS:调用FC1,FC2 时产生的状态字。

DPSTATUS:PROFIBUS-DP 的状态字节。

编译存盘并下载到CPU 中,这样通讯接口区就建立起来了.

主站S7-400 从站CP342-5

QB0~QB15 -> MB40~MB55

IB0~IB15 <- MB20~MB35