当通信速率要求不高、通信数据量不大时,MPI通信是可以采用的一种简单经济型的通信;MPI网络的通信速率为19.2 Kb/s~12 Mbps,通常默认设置为187.5 Kb/s,西门子PLC S7-200/300/400 CPU上的RS485接口不仅是编程接口,同时也是一个MPI的通信接口。
1.MPI网络通信与组建
MPI是多点通信接口(multi point interface,MPI)的简称。MPI物理接口符合Profibus RS485(EN 50170)接口标准。MPI网络的通信速率为19.2 Kb/s~12 Mb/s,S7-200只能选择19.2 Kb/s的通信速率,S7-300通常默认设置为187.5 Kb/s,只有能够设置为Profibus接口的MPI网络才支持12Mb/s的通信速率。MPI网络示意图如图4-20所示。
图4-20 MPI网络示意图
用STEP 7软件包中的Configuration功能为每个网络节点分配一个MPI地址和最高地址,最好标在节点外壳上;然后对PG、OP、CPU、CP、FM等模块包括的所有节点进行地址排序,连接时需在MPI网的第一个及最后一个节点接入通信终端匹配电阻。往MPI网添加一个新节点时,应该切断MPI网的电源。MPI的缺省地址如表4-11所示。
表4-11 MPI缺省地址
为了保证网络通信质量,总线连接器或中继器上都设计了终端匹配电阻。组建通信网络时,在网络拓扑分支的末端节点需要接入浪涌匹配电阻。
2.全局数据包通信方式
全局数据(GD)通信方式以MPI分支网为基础而设计的。在S7中,利用全局数据可以建立分布式PLC间的通信联系,不需要在用户程序中编写任何语句。S7程序中的FB、FC、OB都能用绝对地址或符号地址来访问全局数据。最多可以在一个项目中的15个CPU之间建立全局数据通信。
在MPI分支网上实现全局数据共享的两个或多个CPU中,至少有一个是数据的发送方,有一个或多个是数据的接收方。发送或接收的数据称为全局数据,或称为全局数。具有相同Sender/Receiver(发送者/接收者)的全局数据,可以集合成一个全局数据包(GD packet)一起发送。每个数据包用数据包号码(GD packet number)来标识,其中的变量用变量号码(variable number)来标识。参与全局数据包交换的CPU构成了全局数据环(GD circle)。每个全局数据环用数据环号码来标识(GD circle number)。例如,GD 2.1.3表示2号全局数据环,1号全局数据包中的3号数据。
在PLC操作系统的作用下,发送CPU在它的一个扫描循环结束时发送全局数据,接收CPU在它的一个扫描循环开始时接收GD。这样,发送全局数据包中的数据,对于接收方来说是“透明的”。也就是说,发送全局数据包中的信号状态会自动影响接收数据包;接收方对接收数据包的访问,相当于对发送数据包的访问。
全局数据可以由位、字节、字、双字或相关数组组成,它们被称为全局数据的元素。一个全局数据包由一个或几个GD元素组成,最多不能超过24 B。表4-12给出了全局通信的数据结构。
表4-12 全局通信数据结构
1)全局数据环分类(www.xing528.com)
全局数据环中的每个CPU可以发送数据到另一个CPU或从另一个CPU接收。全局数据环有以下2种。
(1)环内包含2个以上的CPU时,其中一个是发送数据包,其他CPU用于接收数据;
(2)环内只有2个CPU时,每个CPU可既发送数据又接收数据。
S7-300的每个CPU可以参与最多4个不同的数据环,在一个MPI网上最多可以有15个CPU通过全局通信来交换数据。
其实,MPI网络进行GD通信的内在方式有两种:一种是一对一方式,当GD环中仅有两个CPU时,可以采用类全双工点对点方式,不能有其他CPU参与,只有两者独享;另一种为一对多(最多4个)广播方式,一个点播,其他接收。
2)组态前的工作
应用GD通信,就要在CPU中定义全局数据块,这一过程也称为全局数据通信组态。在对全局数据进行组态前,需要先执行下列任务。
(1)定义项目和CPU程序名;
(2)用PG单独配置项目中的每个CPU,确定其分支网络号、MPI地址、最大MPI地址等参数。
3)组态步骤
在用STEP 7开发软件包进行GD通信组态时,由系统菜单“Options”中的“Define Global Data”程序进行GD表组态。具体组态步骤如下。
(1)在GD空表中输入参与GD通信的CPU代号;
(2)为每个CPU定义并输入全局数据,指定发送GD;
(3)第一次存储并编译全局数据表,检查输入信息语法是否为正确数据类型,是否一致;
(4)设定扫描速率,定义GD通信状态双字;
(5)第二次存储并编译全局数据表。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。