智能设备功能概述

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 与 S7-1200/S7-1500 Profinet IO 通信

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-1217C IO控制器 PLC1 192.168.0.1 255.255.255.0
S7-1215C 智能IO设备 I-Device 192.168.0.2 255.255.255.0
此外本文也可以用于S7-1200与S7-1500之间Profinet IO通信。

S7-1200 智能设备在相同项目下组态

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

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

图2. 以太网地址配置

STEP 2:操作模式配置

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

此外,如果不激活“PN接口的参数由上位IO控制器进行分配”复选框,可指定是在上位 IO 控制器的项目中设置智能设备的更新时间、看门狗时间、伙伴端口、拓扑等功能。

如果激活“PN接口的参数由上位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设备,由于控制器未在同一项目,这里选择未分配。

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

此外,如果不激活“PN接口的参数由上位IO控制器进行分配”复选框,可指定是在上位 IO 控制器的项目中设置智能设备的更新时间、看门狗时间、伙伴端口、拓扑等功能。

如果激活“PN接口的参数由上位IO控制器进行分配”复选框,可指定是在上位 IO 控制器的项目中设置介质冗余、优先启动、传输速率等接口和端口的几乎所有功能。

需要强调的是,一旦激活“PN接口的参数由上位IO控制器进行分配”复选框,则该智能设备将不再可以同时作为IO控制器使用。

智能IO设备还支持优先启动,不同项目下无法直接选择优先启动功能,需要先选择“PN接口的参数由上位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 测试结果