带 PROFIsafe 驱动的 PN Driver 应用示例

引言

本应用示例介绍如何将 PROFIsafe 驱动集成到 PROFINET 开发包(即"PROFINET Driver")中,面向设备开发者。目标是创建一个作为 PROFIsafe 设备运行的示例应用,并借助 PROFIsafe 协议,通过 PROFINET 与工业网络中的 F 控制器(F-controller)实现安全通信。

PROFIsafe 是一种基于 PROFINET 标准的安全通信协议,专为自动化技术中的安全通信而开发。通过将 PROFIsafe 与 PROFINET 相结合,用户可以在工业网络中实现可靠、确定且安全的数据传输。

需要特别说明的是,本示例并非 PROFIsafe 设备开发意义上的成品。它仅用于演示实现 PROFIsafe 驱动的基本步骤。将其适配到真实设备,以及获得 PROFINET 和 TÜV 认证,均由设备开发者自行负责。

本手册概述了实现 PROFIsafe 驱动的基本步骤,包括配置、集成和测试流程,面向从事工业网络安全协议实施的开发人员和工程师。

PROFIsafe 驱动(PSD)包含在"PROFIsafe StarterKit"产品中,用于开发故障安全通信。PSD 是一个开发包,用于按照 PROFIsafe 标准创建具备故障安全通信能力的 PROFINET 设备。除其他功能外,它包含 PROFIsafe 标准中规定的状态机,并已通过 TÜV 认证。更多详细信息可参阅 PSD 文档。

本应用示例不适用于真实故障安全应用(F-application)中的安全运行。

要运行该示例应用,您需要以下软件,这些软件可通过各自的 MLFB 单独订购:

  • PROFINET Driver V3.3(6ES7195-3AA00-0YA1)源代码
  • PROFIsafe Starter Kit V3.5.2(6ES7195-3BF03-0YA0)源代码
  • 包含对 PN Driver 和 PROFIsafe Starter Kit 源代码适配的补丁

安装软件包

请按照以下步骤安装所需的软件包:

  1. https://support.industry.siemens.com/cs/document/109994160 下载文件"PROFIsafe_ApplicationExample_with_PNDriver.zip"并解压。

  2. 将解压后的"failsafe"文件夹复制到 PN Driver 目录"../pn_driver/src/examples/ioc/idevice/src"下。

  3. https://support.industry.siemens.com/cs/document/109791804 下载文件"PSD_2_2_3.zip"并解压。

  4. 进入路径"../PSD_2_2_3/Source"。

  5. 将"inc"文件夹及所有".c"文件复制到"../pn_driver/src/examples/ioc/idevice/src/failsafe/psd/Source"目录下,覆盖同名文件。

  6. 将文件"failsafe.patch"从 PN Driver 目录"../pn_driver/src/examples/ioc/idevice/src/failsafe"复制到"../pn_driver"目录下。

  7. 在目录"../pn_driver"下运行以下命令应用补丁:

    bash 复制代码
    git apply failsafe.patch
  8. 在目录"../pn_driver/src/examples/ioc/idevice"下运行以下命令构建项目:

    bash 复制代码
    cmake -B build -DPLATFORM=linux_native
  9. 运行以下命令构建项目:

    bash 复制代码
    cmake --build build --parallel -j

您可以在"../pn_driver/src/examples/ioc/idevice/linux_native"目录下找到二进制文件"idevice"。

准备工程项目

  1. 在右侧硬件目录中导航到"PC systems > Communication modules > PROFINET/Ethernet > PROFINET Driver",添加订货号为"6ES7 195-3AA00-0YA1"的 PNDriver v3.3 模块。
  2. 在网络视图中选择"PN Driver Station",并切换到设备视图。
  3. 在硬件目录的"Communications modules" - "PROFINET/Ethernet" - "Interface submodules"下选择 Linux Native 接口子模块。
  4. 导航到接口的 Properties 选项卡。在"Operating mode"设置下,勾选"IO device"复选框。
  5. 向下滚动到"I-device communication > Transfer areas"部分,以定义故障安全传输区。当您在类型列中选择"F-PS"选项时,系统会自动创建输入和输出故障安全传输区。
  6. 在长度列中输入的值指定 IO 数据长度,故障安全数据会额外增加 5 个字节。例如,为输入和输出 IO 数据各指定 1 个字节,则总长度为 6 个字节(包含 5 个字节的故障安全数据)。TIA Portal 最多允许 32 个传输区,最大累计长度为 1440 个字节。
  7. 完成"Ethernet addresses"配置。
  8. 编译整个项目。编译期间会执行一致性检查。任何不一致都会作为消息显示在 Inspector 窗口的"Info"下。
  9. 双击消息"Configuration XML file has been generated under..."以打开 Windows 资源管理器。
  10. 您可以使用生成的 XML 配置文件运行用户应用程序。

生成/导出 GSDML 文件

  1. 在 Properties 选项卡中,导航到"Operating mode > Export generic station description file (GSD)",点击 Export 按钮导出您的 GSDML 文件。

将故障安全设备与上层 F-PLC 配合使用

  1. 创建一个新的 TIA Portal 项目。
  2. 插入一个支持故障安全的控制器 F-PLC,例如 1515F。
  3. 将 F-PLC 配置为故障安全控制器。请参阅链接中的文档:https://support.industry.siemens.com/dl/files/126/54110126/att_915537/v4/ProgFAILenUS_en-US.pdf
  4. 使用顶部的"Options > Manage general station description files (GSD)"菜单,将导出的 GSDML 文件导入 TIA Portal。这将添加带故障安全功能的 PN Driver 设备。
  5. 要将支持故障安全的 PN Driver 设备添加到项目中,请在右侧目录中按路径"Other field devices > PROFINET IO > PLCs & CPs > SIEMENS AG > PROFINET Driver"操作。确保选择正确的 GSDML 版本,以添加支持故障安全的 PN Driver 设备模块。
  6. 支持故障安全的 PN Driver 设备模块现在已可添加到项目中。您可以将其连接到之前插入的 F-PLC。此外,您还可以在 Device overview 选项卡中点击相应的"Transfer area"来调整故障安全参数。

使用配置启动 PN Driver 示例应用

  1. 使用 TIA Portal 中创建的 XML 文件启动 iDevice 测试应用时,请使用"26..Failsafe Address Assignment"菜单选项来定义故障安全目标地址和源地址。
  2. 此设置至关重要,可确保 TIA Portal 工程项目中的"F_Dest_Add"和"F_Source_Add"值与 PN Driver 应用中的值保持一致。任何不一致都可能在测试和运行期间导致意外错误。
  3. 为目标地址分配"1",为源地址分配"1",以匹配工程项目中的值。接下来,指定要修改的子槽值(范围在 1000 到 32767 之间),然后定义要分配的期望值。

使用测试包 V2.45.0 运行 PROFINET 认证测试

PROFINET 认证工具需要 GSDML 文件来创建设备项目。请参阅"生成 GSDML 文件"部分中的步骤来创建此文件。确保选择"Parameter assignment of PN interface by higher-level IO controller"参数。这是必需的,因为认证工具期望设备在故障安全测试期间作为分散单元运行,并且需要 IOXS 值。如果未选择此参数,TIA Portal 将省略 GSDML 文件中 PDEV 子模块所需的 IOPS/IOCS 字节长度值,从而导致认证测试失败。

启动 iDevice 应用后,使用"26..Failsafe Address Assignment"菜单项,根据 TIA Portal 工程项目定义目标地址值。如果添加了多个故障安全传输区,请确保每个子槽具有唯一的值。您必须在工程项目和 iDevice 应用中为每个子槽分配不同的目标地址。

配置就绪后,您可以执行 PROFINET 认证包中包含的 PROFIsafe V2.6 测试。

运行 PROFIsafe 一致性测试

PROFIsafe 一致性测试使用经过认证的层测试程序和机器生成的测试帧执行。该测试验证 F 主机(F-host)与 F 从站(F-slave)之间的无差错通信,这种通信由 PSD 功能以及 PSD 在 F 应用中的集成共同实现。

运行在 PC 上的"Layer Tester"通过 PROFINET 映射向 F 从站发送预定义的 PROFIsafe 帧。随后,它会根据预期检查响应消息帧,并将结果存储在文件中。

自动化 PROFIsafe 一致性测试的操作在文档"PROFIsafe Test & Certification related to PROFIsafe V2.6.1"中进行了描述。

"Layer Tester"(PROFIsafe 驱动测试工具)及其对 PROFIsafe 一致性测试的详细说明,可从 ComDeC(ComDeC@siemens.com)购买。

术语表

术语 说明
F-application 故障安全应用
F-device 能够执行 PROFIsafe 协议、由 F 主机提示进行数据交换的被动通信伙伴
F-host 能够执行 PROFIsafe 协议、提示 F 设备进行数据交换的数据处理单元
F-parameter PROFIsafe 参数
F-PLC 故障安全可编程逻辑控制器
F-slave 故障安全从站
GSDML 通用站描述标记语言
iDevice 智能设备
PDEV 物理设备
PSD 用于 F 设备的 PROFIsafe 驱动
相关推荐
芥末博士6 小时前
EK-ERTEC 200P 评估套件上 PROFIsafe 驱动程序实现应用示例:入门指南
profinet·西门子
DreamLife☼5 天前
西门子 S7 系列协议深度科普
webapi·profinet·profibus·工业知识点·iso-on-tcp·串口时代·工业以太网时代
ss789018 天前
S7-1200的隐藏技能:解锁工艺功能背后的工程哲学
工业自动化·西门子·s7-1200·选型指南
集思广益的灰太狼14 天前
西门子SINAMICS G120变频器EMC干扰问题解析与整改实践
工控·emc·电磁兼容·变频器·西门子
集思广益的灰太狼17 天前
变频器启动致PLC数据异常?西门子G120配合滤波器EMC抑制方案
人工智能·算法·工控·emc·电磁兼容·变频器·西门子
模拟器连接器曾工1 个月前
M12 T型转接头在PROFINET网络中的分支长度限制与信号完整性实测报告
profinet·t型转接头·t型m12转接头·m12总干线分支器·m12分配器
Triv20252 个月前
Profinet与Modbus协议转换网关HD67602的硬件特性与配置方法
网络·plc·modbus·profinet·工业网关·协议转换
星恒讯工业路由器2 个月前
三大工业以太网协议选型对比
网络·物联网·ethercat·profinet·ethernet/ip·工业以太网协议
hong78172 个月前
西门子触摸屏PROSAVE无法传输PDF组件解决办法
西门子·prosave