龙空技术网

好料!西门子S7-300/400 PLC 之间的MPI全局数据包通讯方式

荣久科技 1250

前言:

而今姐妹们对“数据结构c语言版光盘”大体比较关怀,小伙伴们都需要学习一些“数据结构c语言版光盘”的相关资讯。那么小编同时在网摘上搜集了一些关于“数据结构c语言版光盘””的相关文章,希望你们能喜欢,同学们一起来学习一下吧!

对于 PLC 之间的数据交换,我们只关心数据的发送区和接收区,全局数据包的通讯方式是在配置 PLC 硬件的过程中,组态所要通讯的 PLC 站之间的发送区和接收区,不需要任何程序处理,这种通讯方式只适合 S7-300/400 PLC之间相互通讯。

现在就来看看吧!

下面将以举例说明全局数据包通讯的具体方法:

硬件需求:CPU315-2DP,CPU416-2DP。

软件需求:STEP7 V5.2 SP1

一、首先打开编程软件 STEP7,建立一个新项目

如 MPI_GD,在此项目下插入两个 PLC 站分别为STATION1/CPU416-2DP 和 STATION2/CPU315-2DP,并分别插入 CPU 完成硬件组态,配置 MPI的站号和通讯速率,在本例中 MPI的站号分别设置为 2号站和 4 号站,通讯速率为 187.5Kbit/S 。

这些工作完成以后,可以组态数据的发送区和接收区。点击项目名MPI_GD 后出现STATION1,STATION2 和 MPI 网,点击 MPI,再点击菜单“Options” “Define Global Date”进入组态画面如下图:

二、插入所有需要通讯的 PLC 站 CPU

而 CPU315-2DP 的接收区为DB1.DBB0~21,可以填写为 DB1.DBB0:22。编译存盘后,把组态数据分别下载到 CPU 中,这样数据就可以相互交换了。

例子程序参见光盘,项目名为 MPI_GD。参考下图:

地址区可以为 DB,M,I,Q,区,长度 S7-300 最大为 22 个字节,S7-400 最大为 54 个字节。发送区与接收区的长度应一致,所以在上例中通讯区最大为 22 个字节。

三、多个CPU通讯

A:全局数据包的循环数,每一循环数表示和一个 CPU 通讯,例如两个S7-300CPU 通讯,发送与接收是一个循环,S7-400 中三个 CPU之间的发送与接收是一个循环,循环数与 CPU 有关,S7-300CPU 最多为 4 个,所以最多和 4 个 CPU 通讯。S7-400CPU414-2DP 最多为 8 个,S7-400CPU416-2DP 最多为 16 个。

B:全局数据包的个数。表示一个循环有几个全局数据包,例如两个 S7 站

相互通讯。一个循环有两个数据包。如下图:

C:一个数据包里的数据区数, 可参考下图: CPU315-2DP 发送 4 组数据到 CPU416-2DP , 4 个数据区是一个数据包,从上面可以知道一个数据包最大为 22 个字节,在这种情况下每个额外的数据区占用两个字节,所以数据量最大为 16 个字节。

对于 A,B,C 参数的介绍只是为了优化数据的接收区和发送区,减少 CPU的通讯负载,简单应用可以不用考虑这些参数,GD ID 编译后会自动生成。

四、通讯的诊断

在多个 CPU 通讯时,有时通讯会中断,是什么原因造成通讯中断呢?我们编译完成后,在菜单“View”中点击“Scan Rates”和“GD Status”可以扫描系数和状态字。如下图所示:

S R: 扫描频率系数。如上图 SR1.1 为 225,表示发送更新时间为 225×CPU 循环时间。范围为1~255。通讯中断的问题往往设置扫描时间过快。可改大一些。

GDS:每包数据的状态字(双字)。可根据状态字编写相应的错误处理程序,结构如下:

如果编程者有 CP5511/5611 编程卡可以首先诊断一下连线是否可靠,如上例中 S7-300 MPI 地址是 2 , S7-400MPI 地址是 4 ,用 CP 卡连接到 MPI 网上( PROFIBUS 接头必须有编程口)可以直接读出 2,4 号站,具体方法是在“控制面板 ” “ PG/PC interface ” “ Diagnostics ” 点击“ read ”读出所以网上站号,如下图所示:

0 号站位 CP5611 的站号,如果没有读出 2,4 号站,说明连线有问题或MPI网传输速率不一致,可以把问题具体化。

五、事件触发的数据传送

如果我们需要控制数据的发送与接收,如在某一事件或某一时刻,接收和发送所需要的数据,这时将用到事件触发的数据传送方式。

这种通讯方式是通过调用 CPU 的系统功能 SFC60 (GD_SND)和 SFC61(GD_RCV)来完成的,而且只支持 S7-400CPU,并且相应设置 CPU 的 SR(扫描频率)为 0,可参考下图全局数据的组态画面:

在 S7-400CPU 侧的 SR 为 0

与上面作法相同编译存盘后下载到相应的 CPU 中,然后在 S7-400 中调用SFC60/61 控制接收与发送。例子程序参见光盘,项目名为 MPI_GD_EVENT

硬件需求:CPU315-2DP,CPU416-2DP。

软件需求:STEP7 V5.2 SP1。

具体程序代码为:

CIRCLE_ID,BLOCK_ID 可参考 GD 中的 A,B,C 参数。

例子中当 M1.1 为 1 时 CPU416 接收 CPU315 的数据, 将 MB20~MB29 中的数据放到 MB40~MB49 中。

当 M1.0 为 1 时 CPU416 发送数据,将 MB60~MB69 中的数据发送到CPU315 的MB60~MB69中。

以上,欢迎转发分享及收藏!

如需更多关于PLC的学习资料可以订阅私信告知小编哦!

标签: #数据结构c语言版光盘 #数据结构c语言版光盘怎么用