今天这篇文章,我们想给大家介绍下如何通过启用CPU的I-Device功能来实现两台S7-300 CPU之间的数据交换。
什么是I_Device呢?
“I-Device”中文翻译为“智能设备”,它的概念来自于PROFINET网络。
我们知道,PROFINET网络中的设备可以分为IO控制器(IO-Controller)及IO设备(IO-Device)。当我们把IO控制器当做IO设备来使用的时候,该IO控制器就称为“I-Device”.
本例程使用的硬件及通信要求如下:
硬件:
站点1:CPU315-2PN
输入/输出过程映像区的大小1024个字节,范围:0~1023
站点2:CPU317-2PN
输入/输出过程映像区的大小2048个字节,范围:0~2047
通信要求:
启用站点1的I-Device功能,实现如下功能:
1)站点1的10个字节数据发送给站点2;
2)站点1接收站点2的20个字节数据;
站点1的配置:
更改站点1CPU的过程映像区的大小:
双击CPU315-2PN的PN-IO属性,更改设备名为:PN-IOXSUB
找到I_Device选项卡并点击进入,如下图:
启用“I_Device"模式:
点击“新建(New)”创建数据交换区。
注意:数据交换区的起始地址要在CPU的过程映像区之外。比如CPU315的过程映像区范围为0~1023,则数据交换区的起始地址为:1024。
将站点1的CPU315-2PN生成I_Device GSD文件:
点击“Export”导出GSD文件,如下图:
站点2的配置:
打开站点2(CPU317-2PN)的硬件组态,修改CPU的过程映像区的大小:
安装站点1导出的GSD文件:
在硬件目录"PROFINET IO/Preconfigured Stations"中,找到站点1的硬件组态文件,将其组态到站点2的PN网络中:
这样,在站点1的程序中为PIB1024赋值,站点2的PQB2048就能收到;同样的道理,在站点2中,改变PQB2048的值,在站点1的PIB1024中能得到相应的变化;是不是觉得似曾相识?其实这种操作,跟PN/PN耦合器非常类似哦。
好了,关于I_Device的组态及使用就介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
如何使用I_Device功能实现两台S7-300之间的数据交换
来源:本站| 大小:561 KB| 下载次数:1894次
发表评论