智能 IO 设备(智能设备)智能设备功能智能设备功能CPU的“智能设备”(智能 IO 设备)功能简化了与 IO 控制器的数据交换和 CPU操作过程(如,用作子过程的智能预处理单元)。智能设备可作为 IO 设备链接到“上位”IO控制器中。预处理过程则由智能设备中的用户程序完成。集中式或分布式(PROFINET IO 或PROFIBUS DP)I/O中采集的处理器值由用户程序进行预处理,并提供给 IO 控制器。“智能设备”命名惯例在本文档中,将带有智能设备功能的 CPU或通信处理器简称为“智能设备”。应用示例:PROFINET 智能设备功能的组态和应用智能设备的性能和优势应用领域智能设备的应用领域:•分布式处理可以将复杂自动化任务划分为较小的单元/子过程。 这使得过程可管理,从而简化了子任务。•单独的子过程通过使用智能设备,可以将分布广泛的大量复杂过程划分为具有可管理的接口的多个子过程。 必要的话,这些子过程可存储在单个的STEP 7 项目中,这些项目随后可合并在一起形成一个主项目。• 专有技术保护组件只能通过智能设备接口描述的 GSD文件传输,而不能通过 STEP 7 项目传输。 用户程序的专有技术不再会被公开。属性智能设备的性能:• 没有链接的 STEP 7项目智能设备的创建者和用户可拥有完全独立的 STEP 7 自动化项目。 该 GSD 文件构成 STEP 7项目之间的接口。这样,可以通过一个标准化接口连接到标准 IO 控制器。• 实时通信通过 PROFINET IO 接口为智能设备提供确定性的PROFINET IO 系统,故支持 RT(实时通信)和 IRT(等时同步实时通信)。优势智能设备具有以下优势:• 简单链接 IO控制器• IO 控制器之间的实时通信• 通过将计算容量分发到智能设备可减轻 IO 控制器的负荷。•由于在局部处理过程数据,通信负载降低。• 可以管理单独 STEP 7 项目中子任务的处理117功能6.2 智能 IO设备(智能设备)使用 STEP 7 组态 PROFINET功能手册, 11/2023, A5E03444491-AN6.2.3智能设备的特性原理与标准 IO 设备相同,智能设备也可集成到 IO 系统中。不带下位 PROFINET IO系统的智能设备智能设备自身不带分布式 I/O。将此类智能设备作为 IO 设备时,组态和参数分配方式与分布式I/O 系统(如,ET200)相同。带有下位 PROFINET IO 系统的智能设备根据组态不同,智能设备可用作 IO 设备外,还可作为 PROFINET接口上的 IO 控制器。即,智能设备可通过 PROFINET 接口作为上位 IO 系统的一部分,作为 IO 控制器支持所连接的下位IO 系统。相反,下位 IO 系统中也可包含智能设备(见下图)。至此,即可形成 IO 系统的层级结构。除了作为 IO控制器,智能设备还可通过 PROFIBUS 接口用作下位 PROFIBUS 系统的 DP 主站。示例 - 作为 IO 设备和 IO控制器的智能设备在此,将以印刷过程为例,介绍作为 IO 设备和 IO控制器的智能设备。智能设备可控制一个单元(一个子过程)。例如,可通过一个单元在印刷好的材料包装中插入其它纸张(如活页或小册子)。单元1 和单元 2 均由一个带有集中式 I/O 的智能设备组成。智能设备与分布式I/O 系统(如,ET 200)共同构成单元3。智能设备上的用户程序负责对过程数据进行与处理。在该任务中,智能设备中的用户程序需要获取上位 IO控制器的默认设置(如,控制数据)。智能设备将为上位 IO 控制器提供结果(如,子任务的状态)。
将智能设备用作共享设备智能设备作为共享设备时,可由多个 IO控制器同时使用。有关将智能设备组态为共享设备的信息,请参见“在不同项目中组态共享智能设备 (页 155)”部分。上层 IO 系统与下层IO 系统之间的数据交换简介下一章显示了上层 IO 系统和下层 IO 系统之间的数据交换。传输区传输区是与智能设备 CPU的用户程序之间的接口。 用户程序对输入进行处理并输出处理结果。传输区提供用于 IO 控制器与智能设备之间通信的数据。传输区包含一个可在 IO 控制器与智能设备之间不断进行交换的信息单元。 有关传输区的组态与使用的更多信息,请参见组态智能设备 (页123)部分。下图显示了上层 IO 系统和下层 IO 系统之间的数据交换。 下面的内容基于编号来介绍各种通信关系。① 上层 IO控制器与普通 IO 设备之间的数据交换在这种方式中,IO 控制器和 IO 设备通过 PROFINET 来交换数据。② 上层 IO控制器与智能设备之间的数据交换在这种方式中,IO 控制器和智能设备可通过 PROFINET 来交换数据。上层 IO控制器与智能设备之间的数据交换,基于常规 IO 控制器与 IO 设备之间的关系。对于上层 IO控制器,智能设备的传输区代表某个预组态站的子模块。IO 控制器的输出数据是智能设备的输入数据。 与此类似,IO控制器的输入数据是智能设备的输出数据。③ 用户程序与传输区之间的传输关系在这种方式中,用户程序与传输区交换输入和输出数据。④用户程序与智能设备的 I/O 之间的数据交换在这种方式中,用户程序与集中式/分布式 I/O 交换输入和输出数据。⑤ 智能设备与下层IO 设备之间的数据交换在这种方式中,智能设备与它的 IO 设备交换数据。 数据传输是通过 PROFINET完成的。组态智能设备简介通常,可有 2 种组态方式:• 组态项目中的智能设备• 组态用于其它项目或工程组态系统的智能设备。使用STEP 7,可以通过将已组态的智能设备导出到 GSD 文件,为其它项目或工程组态系统组态一个智能设备。像处理其它 GSD文件一样,将此 GSD 文件导入其它项目或工程组态系统中。其中,用于数据交换的传输区存储在此 GSD 文件中。组态项目中的智能设备1.使用拖放操作将 PROFINET CPU 从硬件目录拖入网络视图。2. 使用拖放操作将 PROFINET CPU(也可组态为IO设备)从硬件目录拖入网络视图。该设备已组态为智能设备(例如,CPU 1516‑3 PN/DP)。3. 为该智能设备选择PROFINET 接口。4. 在巡视窗口的区域导航中,选择“操作模式”(Operating mode),并选中复选框“IO设备”(IOdevice)。5. 对于自固件版本 V3.1 起的 CPU:在“已分配的 IO 控制器”(Assigned IOcontrollers) 表中单击“分配新的 IO 控制器”(Assign newIOcontroller),然后在下拉列表中选择要分配给智能设备的 IO 控制器的 PROFINET 接口。对于固件版本 V3.0及更低版本的 CPU:现在,用户可以在“已分配的 IO 控制器”(Assigned IO controller) 下拉列表中选择 IO控制器。
一旦选择了 IO 控制器,这两台设备之间的网络连接和 IO系统就将显示在网络视图中。6. 通过选中“由上位 IO 控制器对 PN 接口进行参数分配”(Parameter assignmentof the PNinterface by the higher-level IO controller)复选框,以指定是由智能设备本身还是由上位IO 控制器分配接口参数。如果通过下位 IO 系统操作智能设备,则智能设备 PROFINET接口的参数(例如端口参数)便无法通过上位 IO 控制器进行分配。7. 组态传输区。此传输区位于区域导航部分“智能设备通信”(Idevice communication) 中。– 单击“传输区域”(Transfer area) 列中的第一个域。STEP 7分配一个默认名称,用户也可修改该名称。– 选择通信关系类型:当前,“控制器与设备的通信关系”只能选择 CD 或 F-CD。–自动预设地址;可根据需要更改地址,并确定一致传输的传输区的长度。8.在区域导航中为每个传输区创建一个单独的条目。若选择了这些条目中的一个,便可以调整传输区的详细信息或对其进行更改和注释。说明组态中的设备更换如果要将固件版本低于V3.1 的已组态 CPU(智能设备)更换为固件版本 V3.1 的CPU,则不能将这个新智能设备用作项目内的共享智能设备。如果要将新智能设备用作项目内的共享智能设备,必须在更换模块前先取消选中当前设备相关PROFINET接口的“IO 设备”(IO device) 选项。通过 GSD文件组态智能设备如果在其它项目或其它工程组态系统中使用智能设备,请按上述步骤组态上位 IO控制器和智能设备。但在组态了传输区后应单击“导出”(Export) 按钮,以便从该智能设备创建一个新的 GSD 文件。此 GSD文件代表在其它项目组态的智能设备。“导出”(Export) 按钮位于巡视窗口的“智能设备通信”(I-devicecommunication)部分中。编译硬件组态,并打开导出对话框。在提供的域中,为智能设备代理分配一个名称及描述。单击“导出”(Export)按钮完成此过程。Zui后,比如将 GSD文件导入其它项目。程序示例简介在此,将通过一个简单编程示例介绍如何使用智能设备的传输区。要求已组态一个智能设备。任务将智能设备中两个输入的“与”运算结果传送到上位IO 控制器中。该结果将分配给 IO 主站中的一个本地输出(用于进一步处理)。为此,可使用以下地址的传输区:•智能设备中的地址:Q568• IO 控制器中的地址:I68步骤要完成该任务,请执行以下步骤:1. 组态传输区2. 编程智能设备3.编程 IO 控制器125功能6.2 智能 IO 设备(智能设备)使用 STEP 7 组态 PROFINET功能手册, 11/2023,A5E03444491-AN组态传输区使用下列属性在智能设备上组态一个传输区:图 6-14 智能设备传输区,示例程序编程智能设备要编程智能设备示例程序,请按以下步骤操作:1. 使用 SCL 编程语言,通过菜单命令“程序块> 添加新块”(Program blocks > Addnewblock),在项目树中创建一个名为“preprocessing”的新功能。打开该功能。2.在功能“preprocessing”的接口中,创建以下变量:名称 数据类型 输入/输出类型input 1 boolInputinput 2 bool Inputresult bool Output3.在功能“preprocessing”的指令窗口中,写入下列程序代码:#result:=#input 1&#input 2;4.在程序循环 OB(如 OB1)中,调用功能“preprocessing”。5. 如下在程序循环 OB中,连接功能“preprocessing”:编程 IO 控制器要编程 IO 控制器示例程序,请按以下步骤操作:1. 使用 SCL编程语言,通过菜单命令“程序块 > 添加新块”(Program blocks > Addnewblock),在项目树中创建一个名为“further processing”的新功能。打开该功能。2. 在功能“furtherprocessing”的接口中,创建以下变量:3. 在功能“furtherprocessing”的指令窗口中,写入下列程序代码:#output:=#result;4. 在程序循环 OB(如OB1)中,调用功能“further processing”。5. 如下在程序循环 OB 中,连接功能“furtherprocessing”:结果IO 控制器和智能设备可通过入/输出传输区进行数据交换。诊断和中断特性诊断和中断特性S7 CPU具有很多诊断和中断功能,例如,它们可用于报告下级 IO 系统的错误或故障。 诊断消息可缩短停机时间,简化故障定位,并将问题解决。上级IO 控制器和智能设备中的诊断选项以下诊断功能可用于上级 IO 控制器和智能设备 CPU:• OB 83(拉出/插入)• OB86(机架故障)• OB 122(I/O 访问错误)说明可以在智能设备 CPU 的用户程序中对 I/O的诊断消息进行处理,并通过传输区将诊断消息从用户程序传递到上级 IO 控制器。