PROFINET下的 I-Device(智能设备)通信——大话与PLC通讯的N种方...

[复制链接]
查看56371 | 回复0 | 2024-8-9 21:45:14 | 显示全部楼层 |阅读模式
通讯是我们在工业控制中都会遇到的,本次已经是通讯系列的第十讲(前九讲见文末),在第一讲中我们就说到了很多Profinet有意思的功能:




    等时实时通信 (IRT)

    优先启动

    介质冗余协议 (MRP)

    介质路径规划冗余 (MRPD)

    PROFIenergy

    共享设备

    模块内部的共享输入/输出(MSI/MSO)

    智能设备

    过程数据的同步模式

    组态控制 (选项处理)

    今天我们就来讲一讲其中的智能设备I-Device~


智能设备功能概述

CPU 的"I-Device"(智能设备)功能简化了与 IO 控制器的数据交换和 CPU 操作过程(如用作子过程的智能预处理单元)。智能设备可作为 IO 设备链接到上位IO 控制器中,预处理过程则由智能设备中的用户程序完成。集中式或分布式(PROFINET IO 或 PROFIBUS DP)I/O 中采集的处理器值由用户程序进行预处理,并提供给 IO 控制器。





图1. 网络架构

智能设备的应用领域:


分布式处理

可以将复杂自动化任务划分为较小的单元或子过程,这样简化了子任务的同时也优化了项目管理。


单独的子过程


通过使用智能设备,可以将分布广泛的大量复杂过程划分为具有可管理的多个子过程。必要的话,这些子过程可存储在单个的 TIA 项目中,这些项目随后可合并在一起形成一个主项目。


专有技术保护


智能设备接口描述使用 GSD 文件传输,而不是通过 STEP 7 项目传输,这样用户程序的专有技术得以保护。

智能设备的优势:


简单链接 IO 控制器。

实现IO 控制器之间的实时通信。

通过将计算容量分发到智能设备可减轻 IO 控制器的负荷。

由于在局部处理过程数据,从而降低了通信负载。

可以管理单独 TIA 项目中子任务的处理 。

智能设备可以作为共享设备。
S7-1200 CPU 之间组态智能设备

S7-1200 V4.0及以上版本开始支持智能 IO 设备功能。本示例中介绍1200 CPU之间如何进行智能设备PROFINET通信,分别在相同项目和不同项目下进行组态,实验环境如下所示。

软件:

TIA V15.1

硬件:

CPU 1217C DC/DC/DC V4.3

CPU 1215C DC/DC/DC V4.3

设备角色及地址:
表1 设备角色及地址
模块设备类型设备名称IP地址子网掩码
S7-1217CIO控制器PLC1192.168.0.1255.255.255.0
S7-1215C智能IO设备I-Device192.168.0.2255.255.255.0
S7-1200 智能设备在相同项目下组态

STEP 1:创建 TIA Portal 项目并进行接口参数配置

使用TIA V15.1创建一个新项目,进入网络视图添加表1列出的所有设备,并进入各个设备以太网地址选项分别设置子网、IP地址以及设备名称。



图2. 以太网地址配置

STEP 2:操作模式配置

本例1215C作为智能IO设备,需要将其操作模式改为IO设备,并且分配给对应IO控制器,配置所需的传输区。

选择“PN接口的参数由上位IO控制器进行分配”复选框,可指定是由智能设备本身还是由上位 IO 控制器设置接口和端口。

智能IO设备还支持优先启动,勾选后加快IO设备的启动速度,详情请了解优先启动相关功能。



图3. 操作模式

进入传输区视图还可以分配地址区所属组织块及过程映像。



图4. 传输区

STEP 3:项目编译、下载、测试

分别编译下载两个PLC,在监控表中添加传输区数据,给Q区赋值,监控发送和接收数据区是否一致。





图5. 测试结果
S7-1200 智能设备在不同项目下组态

STEP 1:创建 TIA Portal 项目并进行接口参数配置

分别创建2个不同项目,一个项目添加1217C,另一个项目添加1215C,进入表1中各个设备以太网地址选项分别设置子网、IP地址以及设备名称。



图6. 以太网地址配置

STEP 2:操作模式配置

本例1215C作为智能IO设备,需要将其操作模式改为IO设备,由于控制器未在同一项目,这里选择未分配。

选择“PN接口的参数由上位IO控制器进行分配”复选框,可指定是由智能设备本身还是由上位 IO 控制器设置接口和端口,比如1200智能设备的介质冗余、优先启动、传输速率等接口和端口功能。

智能IO设备还支持优先启动,不同项目下无法直接选择优先启动功能,需要先选择“PN接口的参数由上位IO控制器进行分配”,然后在主站项目下为智能设备设置接口选项中的优先启动功能。

这里与相同项目下传输区的配置不同的是IO控制器的地址需要在主站项目下才能分配。



图7. 操作模式

STEP 3:项目编译后导出GSD文件

这里注意导出GSD之前需要正确编译项目的硬件配置,不然导出选项是灰色的,无法选择。导出GSD文件选项可以由用户设置GSD文件名称的标识部分(GSD文件名称的版本、厂商、日期等部分为默认设置),然后选择存储路径并导出文件。注意导出的GSD文件不要修改文件名称,不然会造成无法导入项目中。





图8. 导出GSD文件

STEP 4:导入GSD文件

进入主站项目管理GSD文件视图,选择存储GSD文件源路径,在路径下选择需要安装的文件进行安装。





图9:导入GSD文件

STEP 5:添加智能IO设备

进入硬件目录,在其它现场设备列表中找到安装的智能IO设备并添加,添加完成后进入图2以太网地址配置视图,检查智能IO设备的设备名称是否与源项目中名称一致(注意一定要保证名称一致),检查无误后分配给控制器,如设备概览视图,分配给控制器后会自动分配地址,也可以手动设置控制器侧传输区地址。







图10:添加IO设备

STEP 6:项目编译、下载、测试

分别编译下载两个项目中PLC,在监控表中添加传输区数据,给Q区赋值,监控发送和接收数据区是否一致。





图11:实验测试
常见问题

1. 控制器诊断缓冲区报“IO设备故障-找不到IO设备”?

这是因为控制器无法与智能IO设备取得通信,可以通过以下方式查找故障原因。

(1)确认网络是否是通的,可以使用Ping命令检测网络通断。如果中间经过交换机还要保证交换机支持DCP协议。

(2)检查智能IO设备的名称与源项目名称是否一致。

(3)确认智能IO设备的硬件和软件是否已经下载。



图12:网络视图报错

2. 控制器如何控制智能设备上IO数据或是传输DB块中数据?

如下图所示,只需把PLC的IO地址与传输区中IO地址做一个映射关系。



图13 地址映射

这里通过建立PLC数据类型方式把IO区数据与UDT中数据一 一对应,1215CPU中输入输出分别占用6个字节的数据,这样建立如下图所示UDT。



图14 UDT设置

在默认变量表中分别定义输入、输出、传输区1、传输区2所对应的IO数据区,这样就可以使用MOVE指令来整体传输了。

同样DB块的数据也可以通过这种方式进行传输。





图15 程序编写

这样1217控制器可以直接控制1215智能IO设备上的Q区数据,同时读取I区数据。测试结果如下:



图16 测试结果

来源:SIEMENS仪器仪表PLC

今天就到这里啦~ ,如果各位看官喜欢的话,欢迎点击右下角的“在看”,或转发和收藏哦。(不要忘记文末彩蛋哦)



    免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请跟我们联系协商或删除,谢谢!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则