西门子S7-200和S7-300之间的PROFIBUS通信

西门子plc
西门子plc
西门子plc
1976
文章
127
评论
2018年11月27日16:07:26 评论 1,277 阅读

S7-300与S7-200通过EM277进行PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。

EM277的地址,在模块本身上的拨码设置分为X0(地址个位)和X10(地址十位);EM277是波特率自适应的,取决于S7-300的组态。

配置步骤

首先,在STEP 7项目里插入一个S7-300的站:

西门子S7-200和S7-300之间的PROFIBUS通信

图1 S7-300组态

选中STEP7的硬件组态窗口中的菜单 Option-install new GSD,导入SIEM089D.GSD文件,安装EM277从站配置文件,如下图:

西门子S7-200和S7-300之间的PROFIBUS通信

图2 安装GSD

在SIMATIC文件夹中有EM277的GSD文件:

西门子S7-200和S7-300之间的PROFIBUS通信

图3 安装GSD

导入GSD文件后,在右侧的设备选择列表中找到EM277从站,PROFIBUS DP-Additional Field Device-PLC-SIMATIC-EM277,并且根据通讯字节数,选择一种配置,本例选择8字节入/8字节出的方式,如下图:

西门子S7-200和S7-300之间的PROFIBUS通信

图4 通信区域组态

确定S7-300硬件组态中所设置EM277的地址,如下图红框标注,为DP从站EM277的站地址。

西门子S7-200和S7-300之间的PROFIBUS通信

图5 组态DP通信地址

 

组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。

在S7-200侧断电的情况下,将EM277的拨位开关拨到与S7-300侧硬件组态的设定值一致。

在S7-200中编写程序将进行交换的数据存放在VB0-VB15,对应S7-300的PQB0-PQB7和PIB0-PIB7,打开 STEP7中的变量表和STEP7 MicroWin32的状态表进行监控,它们的数据交换结果如下图:

西门子S7-200和S7-300之间的PROFIBUS通信

图6 通信数据监控

西门子S7-200和S7-300之间的PROFIBUS通信

图7 通信数据监控

 

注意:VB0-VB7是S7-300写到S7-200的数据,VB8-VB15是S7-300从S7-200读取的值。EM277上拨位开 关的位置一定要和S7-300中组态的地址值一致。如果使用的S7-200通信区域不从VB0开始,则需要设置地址偏移,在S7-300硬件组态中双击 EM277,修改数值0为实际使用的数值即可,如下图所示:

西门子S7-200和S7-300之间的PROFIBUS通信

图8 地址区域偏移设置

常问问题

DP通信所需要传输的数据超过64字节怎么办?

方法1:以64字节通信区为例,若超过大配置。那么可以将通信区的个字节作为标志位,这样需要在S7-200中分时或条件判断,将数据放置或读取通信区域。同理,在S7-300中也需要判断标志位。
方法2:满足扩展要求的前提下,同一个200PLC可以扩展多个EM277,具体可以参考本文中大I/O扩展能力的要求,那么在同一个S7-300的项目里可以组态多个PROFIBUS从站。
方法1可以增大通信的数据量,但由于通过标志位来分时分次传输的,所以通信数据的刷新会比方法2慢;方法2通过扩展DP从站或者200PLC的通信端口来实现数据扩展的,但增加了成本,且需要考虑是否满足扩展要求。

继续阅读
weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: