全局数据包通信简介

1 全局数据包通信简介
对于plc之间的数据交换,只关心数据的发送区和接收区,全局数据包的通信方式是在配plc硬件的过程中,组态所要通信plc站之间的发送区和接收区,不需要任何程序处理,这种通信方式只适合s7-300/300/400 plc之间相互通信。
下面将以举例的方式介绍全局数据包通信,使用的软硬件如下:
所需硬件:cpu315-2dp,cpu416-2dp
所需软件:step7 v5.2 sp1
 注意: tia软件平台不再支持全局数据包通信方式
2 全局数据包的配置
1)首先打开编程软件step7,建立一个新项目如mpi_gd,在此项目下插入两个站station1/cpu416-2dp, station2/cpu315-2dp,分别组态硬件,插入cpu,配置mpi的站号和通信速率,在本例中mpi的站号分别设置为2号站和4号站,通信速率为187.5kbit/s 。
这些工作完成以后,可以组态数据的发送区和接收区。点击项目名mpi_gd后出现station1,station2和mpi网,点击mpi,再点击菜单“options”->
“define global date”进入组态画面如图1、2:
图1进入全局数据组态界面
图2 全局数据组态界面
2) 插入所有需要通信的plc站cpu
双击gd id右边的cpu栏选择需要通信plc站的cpu。cpu栏总共有15列,这就意味者最多有15个cpu能够参与通信。在每个cpu栏底下填上数据的发送区和接收区,例如:cpu416-2dp的发送区为db1.dbb0~db1.dbb21,可以填写为db1.dbb0:22  ,然后在菜单“edit”选择“sender”作为发送区。                                                                                                       
cpu315-2dp的接收区为db1.dbb0~21,可以填写为db1.dbb0:22。编译存盘后,把组态数据分别下载到cpu中,这样数据就可以相互交换了。发送接收数据区的设置参考图3:
图3 设置通信区
地址区可以为db,m,i,q,区,长度s7-300最大为22个字节,s7-400最大为54个字节。发送区与接收区应一致,所以在上例中通信区最大为22个字节。
3 多个cpu通信
了解多个cpu通信首先要了解gd id,编译以后,每行通信区都会有gd id号,
可以参考图3为
a:全局数据包的循环数,每一循环数表示和一个cpu通信,例如两个s7-300cpu通信,发送与接收是一个循环,s7-400中三个cpu之间的发送与接收是一个循环,
循环数与cpu有关,s7-300cpu 最多为 4个,所以最多和4个cpu通信。s7-400cpu414-2dp最多为 8个,s7-400cpu416-2dp最多为 16个。
b:全局数据包的个数。表示一个循环有几个全局数据包,例如两个s7站相互通信
一个循环有两个数据包。如图4所示:
图4 一个循环两个数据包
c:一个数据包里的数据区数
可以参考图5: cpu315-2dp 发送4组数据到cpu416-2dp,4个数据区是一个数据包。从上面可以知道一个数据包最大为22个字节,在这种情况下每个额外的数据区占用两个字节,所以数据量最大为16个字节。
图5 一个数据包里的数据区数
对于a,b,c的介绍只是用于优化数据的接收区和发送区,减少cpu的通信负载,简单应用可以不用考虑这些,gd id编译后自动生成。
4 通信的诊断
在多个cpu通信时,有时通信会中断,是什么原因造成通信中断?我们编译完成后,在菜单“view”中点击“scan rates”和“gd status”可以扫描系数和状态字。如图6所示:
图6 通信诊断
s r: 扫描频率系数。如图6 sr1.1 为225,表示发送更新时间为225×cpu循环时间。范围为1~255。通信中断的问题往往设置扫描时间过快。可改大一些。
gds:每包数据的状态字(双字)。可根据状态字编写相应的错误处理程序,结构如下:
第一位:发送区域长度错误。
第二位:发送区数据块不存在。
第四位:全局数据包丢失。
第五位:全局数据包语法错误。
第六位:全局数据包数据对象丢失。
第七位:发送区与接收区数据对象长度不一致。
第八位:接收区长度错误。
第九位:接收区数据块不存在。
第十二位:发送方从新启动。
第三十二位:接收区接收到新数据。
gst:所有gds 相“or”的结果
如果编程者使用cp5511/5611编程卡可以首先诊断一下连线是否可靠,如上例中s7-300 mpi地址是2,s7-400mpi地址是4,用cp卡连接到mpi网上(profibus接头必须有编程口)可以直接读出2,4号站,在“控制面板 ” ->  “pg/pc interface”      ->“ diagnostics”->“read”读出所以网上站号,如图7所示:
图7 使用网卡诊断站号
0号站位cp5611站号,如果没有读出2,4号站,说明连线有问题或mpi网传输速率不一致,可以把问题具体化。
5 事件触发的数据传送
如果需要控制数据的发送与接收,在某一事件,某一时刻,接收和发送所需要的数据,这时将用到事件触发的数据传送。这种通信方式通过调用cpu的系统功能sfc60 (gd_snd),sfc61(gd_rcv)来完成的,而且只有s7-400cpu支持,并且必须设置cpu的sr(扫描频率)为0,可参考图8全局数据的组态画面:
图8 在s7-400cpu侧的sr为0
与上面作法相同编译存盘后下载到相应的cpu中,然后在s7-400侧中调用sfc60/61控制接收与发送。
所需硬件: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到cpu315mb60~mb69中


可再生能源存储系统保护解决方案
一种具有不对称功能化涂层的Janus隔膜构筑策略
什么是奇校验和偶校验?常见的奇偶校验方式有哪些?
深挖PCB行业涨价内幕 限排环保加剧产业大迁移
PCB库问题有哪一些
全局数据包通信简介
亚马逊 Luna 云游戏登陆安卓平台,仅支持部分 Pixel 、三星及一加手机
什么是景区气象站,关于它的特点以及注意事项
光华芯音频Codec大全,光华芯产品选型表汇总
富士通推出24款具有LCD控制功能的新型宽电压8位微控制器
百度李彦宏所说的“人工智能时代”真的到来了吗?
SL9711构成的冻疮治疗仪电路
音频处理算法提升扬声器音质
芯驰车规MCU荣获国密二级认证
华为92家核心供应商名单曝光,跟华为合作十大核心条款是什么?
选择性唤醒的控制器局域网收发器在汽车设计中的应用
中兴通讯获得英特尔5nmCPU的代工订单并加快5G网络规模部署和商业应用?
西门子810M系统维修案例分析
同步升压控制器PCB layout检查注意事项
华为遭遇Android断供,全球最大的手机操作系统将从开源走向闭源