首页 理论教育 全局数据包通信:如何实现全局数据传输?

全局数据包通信:如何实现全局数据传输?

时间:2023-06-26 理论教育 版权反馈
【摘要】:在PLC操作系统作用下,发送方的CPU在它的一个扫描循环结束时发送全局数据,接收方在它的扫描循环开始时接收数据,即发送全局数据包中的信号状态会自动影响接收数据包;接收方对接收数据包的访问,相当于对发送方数据包的访问。一个全局数据包由一个或几个GD元素组成,最多不能超过24B,见表9-1。

全局数据包通信:如何实现全局数据传输?

全局数据(GD)通信方式利用全局数据可以建立分布式PLC间的通信联系,以这种通信方式实现PLC之间的数据交换时,只需要关心数据的发送区和接收区,在配置PLC硬件的过程中,组态所要通信PLC站之间的发送区和接收区,不需要任何程序处理,适用于S7-300/400 PLC之间的相互通信,最多可以在一个项目中的15个CPU之间建立全局数据通信

978-7-111-51420-6-Chapter09-1.jpg

图9-1 MPI网络

a)MPI网络-1 b)MPI网络-2

1.通信原理

在MPI分支网上实现全局数据共享的两个或多个CPU中,至少有一个是数据的发送方,有一个或多个是数据的接收方;发送或接收的数据称为全局数据;具有相同Sender/Recevicer的全局数据,可以集合成一个全局数据包一起发送;每个数据包用数据包号码(GD Packet Number)来标识,其中的变量用变量号码(Variable Number)来标识;参与全局数据包交换的CPU构成了全局数据环(GD Circle),每个全局数据环用数据环号码(GD Circle Number)来标识。

在PLC操作系统作用下,发送方的CPU在它的一个扫描循环结束时发送全局数据,接收方在它的扫描循环开始时接收数据,即发送全局数据包中的信号状态会自动影响接收数据包;接收方对接收数据包的访问,相当于对发送方数据包的访问。

2.数据结构

全局数据可以由位、字节、字、双字或相关数组组成,它们被称为全局数据的元素。一个全局数据包由一个或几个GD元素组成,最多不能超过24B,见表9-1。

表9-1 数据结构

978-7-111-51420-6-Chapter09-2.jpg

3.采用MPI网络实现S7-300 PLC之间的通信

系统控制要求如下:

1)当2号站(MPI地址)的I0.0为ON时,3号站(MPI地址)的Q0.0输出为ON并保持;当2号站的I0.1为ON时,3号站(MPI地址)的Q0.0输出为OFF并保持。

2)当3号站的I0.0为ON时,2号站的Q0.0输出为ON并保持;当3号站的I0.1为ON时,2号站的Q0.0输出为OFF并保持。

(1)系统配置

系统配置如图9-2所示。CPU315-2PN/DP采用DP接口通信,CPU314C-2DP采用MPI接口通信,连接电缆采用PROFIBUS-DP电缆,并将电缆终端电阻打到“ON”状态。

978-7-111-51420-6-Chapter09-3.jpg

图9-2 系统配置

(2)硬件组态

建立项目“MPI_TEST”,分别添加两台PLC作MPI网络2号站、3号站,并组态硬件。组态硬件时,需要设置MPI地址及传输速率,如图9-3所示,MPI地址设为2,传输率可以选择默认速率187.5kbit/s;同理,可以设置3号站。

978-7-111-51420-6-Chapter09-4.jpg

图9-32 号站的硬件组态

项目硬件组态完毕后,回到管理界面,项目结构如图9-4所示。

(3)全局变量的建立

鼠标右键单击图9-4所示的“MPI(1)”网络,弹出图9-5界面,选中“定义全局数据”,弹出图9-6界面。(www.xing528.com)

在图9-6界面中,选中空白的第1列,右键单击选中CPU,弹出图9-7界面,选择需要通信的第1个CPU单击“确认”按钮,同样方法添加第2列PLC,添加完成界面如图9-8所示。

978-7-111-51420-6-Chapter09-5.jpg

图9-4 项目结构

978-7-111-51420-6-Chapter09-6.jpg

图9-5 选择“定义全局数据”

978-7-111-51420-6-Chapter09-7.jpg

图9-6 设置全局变量界面

978-7-111-51420-6-Chapter09-8.jpg

图9-7 选择CPU

添加通信站点完成后,添加通信变量,如图9-9所示,右键单击空白处,弹出下拉菜单,选择通信变量属性:发送或接收信息。分别添加两个站的通信变量,设置属性如图9-10所示,例如,MB0:1,“MB0”为发送信息的首地址,“1”为长度,表示1个字节长度。

978-7-111-51420-6-Chapter09-9.jpg

图9-8 选择CPU完成界面

978-7-111-51420-6-Chapter09-10.jpg

图9-9 添加全局变量

978-7-111-51420-6-Chapter09-11.jpg

图9-10 通信变量及内容

在输入数据时需要注意:无论是输入要发送的全局数据地址还是接收的全局数据地址都只能是绝对地址,不能是符号地址;地址区可以是DB、M、I、Q,S7-300CPU地址区长度最大为22B;发送区和接收区长度必须一致,即同一行中各个单元的字节数应相同;在每一行中定义一个且只能定义一个CPU作为数据的发送方,而接收方可以有多个CPU。

完成通信变量设置后,在图9-11中单击“编译”快捷键,会出现GD ID编号,其格式为GDA.B.C。A为全局数据包的循环数,每一个循环数表示和一个CPU通信,循环数与CPU有关,对于S7-300,最多为4个CPU,每两个CPU通信的发送与接收是一个循环;B为全局数据包的个数,表示一个循环有几个循环全局数据包,如果两个站相互通信,一个循环有两个数据包;C为一个数据包的数据区数,一个数据包最大为22B(见表9-1),在本例中,如果2号站给3号站发送两组数据,则数据区数就是2。

978-7-111-51420-6-Chapter09-12.jpg

图9-11 全局变量

(4)功能的实现

2号站/3号站主程序如图9-12所示,M0.0为每个站的受控信号,根据图9-11所示的变量对应关系,该信号被发送到通信的对方站,并被Q0.0接收,从而控制对方站的Q0.0状态。图9-12a为按下3号站起动按钮时2号站OB1程序在线监控情况,图9-12b为按下2号站起动按钮时3号站OB1程序在线监控情况。

978-7-111-51420-6-Chapter09-13.jpg

图9-12 2号站/3号站主程序

a)3号站起动2号站电动机 b)3号站电动机运行状态

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈