当前位置: 首页 > backend >正文

S7-1200 与 ET200SP:PROFINET 设备关键数据 IP 地址、MAC 地址及 MRP 环状态获取

在工业自动化领域,PROFINET 作为主流的工业以太网标准,凭借高速实时的数据传输能力,成为工厂自动化系统中设备互联的核心纽带。在 PROFINET 网络中,及时获取设备的 IP 地址、MAC 地址以及 MRP(介质冗余协议)环状态等关键数据,对系统的监控、故障诊断和维护至关重要。本文以 S7-1200 连接 ET200SP 为例,详细介绍如何利用 PROFINET 数据记录库中的功能块,实现对这些关键数据的读取,附详细操作步骤与实战要点。

一、前期准备:硬件与软件清单

在开始操作之前,需确保以下硬件设备和软件工具准备就绪,这是顺利完成数据获取的基础。

硬件设备

  • CPU 1215C DC/DC/DC(固件版本 V4.5):作为主控制器,负责发起数据读取请求并处理返回结果。
  • ET200SP PN/2 HF(固件版本 V4.2):分布式 IO 设备,通过 PROFINET 与 S7-1200 通信。
  • SCALANCE X204IRT(固件版本 V5.4):工业以太网交换机,支持 MRP 功能,用于构建冗余网络。
  • 网线:用于连接各设备,确保 PROFINET 网络通畅。

软件工具

  • TIA PORTAL V17:西门子全集成自动化软件,用于项目创建、设备组态和程序编写。
  • PROFINET 数据记录库:可从 SIOS 网站下载,包含用于读取 PROFINET 设备数据的功能块。

二、读取 IP 地址和 MAC 地址:LPNDR_ReadGlobalInfo 函数块的应用

IP 地址和 MAC 地址是 PROFINET 设备在网络中的 “身份标识”,通过 LPNDR_ReadGlobalInfo 函数块可轻松获取这些信息。

项目创建与设备组态

  1. 打开 TIA PORTAL V17,创建一个新项目。在项目中依次添加 CPU 1215C 和 ET200SP PN/2 HF 设备,完成初步的硬件组态,如图所示。

  2. 对 CPU 1215C 进行参数设置,在 “属性” 窗口中配置其 PROFINET 接口的 IP 地址和设备名称,例如将 IP 地址设为 192.168.0.15,设备名称设为 “S7-1215C”,如图 所示。

  3. 同样地,为 ET200SP PN/2 HF 设置参数,配置其 IP 地址(如 192.168.0.10)和设备名称(如 “ET200SP”),如图 3所示。完成配置后,将项目下载到 PLC 中。

编程调用 LPNDR_ReadGlobalInfo 函数块

  1. 在 TIA PORTAL V17 的库选项中,打开全局库,找到已下载并添加的 PROFINET 数据记录库。从库中拖拽 LPNDR_ReadGlobalInfo 函数块到程序编辑区,如图所示。

  2. LPNDR_ReadGlobalInfo 函数块的各引脚功能如下:
    参数声明数据类型说明
    executeINBool读数据记录
    hwIdINHW_IOPROFINET 接口硬件标识符
    modeINInt允许值:
    1: 接口信息
    2: MRP 信息
    3: 端口信息
    4:端口连接状态
    5:端口统计
    busyOUTBool命令执行中
    doneOUTBool命令执行完成
    errorOUTBool发生错误
    statusOUTWord错误说明
    DataRecordIN_OUTVersion将信息读取到的目标区域根据“mode”参数选择数据类型声明目标区域
    • “execute”:输入参数,数据类型为 Bool,用于触发读数据记录操作,当该引脚为 “1” 时,函数块开始执行读取操作。
    • “hwId”:输入参数,数据类型为 HW_IO,用于指定 PROFINET 接口的硬件标识符,可在设备的硬件配置中查找对应接口的硬件标识符。
    • “mode”:输入参数,数据类型为 Int,用于选择读取的信息类型,其中 1 表示接口信息,2 表示 MRP 信息,3 表示端口信息,4 表示端口连接状态,5 表示端口统计。
    • “busy”:输出参数,数据类型为 Bool,当函数块正在执行命令时,该引脚为 “1”。
    • “done”:输出参数,数据类型为 Bool,当命令执行完成且成功时,该引脚为 “1”。
    • “error”:输出参数,数据类型为 Bool,当执行过程中发生错误时,该引脚为 “1”。
    • “status”:输出参数,数据类型为 Word,用于显示错误说明,当 “error” 为 “0” 时,该参数无实际意义。
    • “DataRecord”:输入输出参数,数据类型为 Version,根据 “mode” 参数的选择,用于存储读取到的信息,当 “mode” 为 1 时,需选择 “LPNDR_typeInterfaceInformation” 数据类型。
  1. 在程序段 1 中,若要读取 CPU 1215C 的接口信息,需将 “hwId” 设置为 CPU PROFINET 接口的硬件标识符,“mode” 设为 1,“DataRecord” 选择 “LPNDR_typeInterfaceInformation” 数据类型。
  2. 在程序段 2 中,读取 ET200SP 的接口信息时,设置方法类似,只需将 “hwId” 改为 ET200SP PROFINET 接口的硬件标识符。

测试结果

分别触发程序段 1 和程序段 2 中 LPNDR_ReadGlobalInfo 函数块的 “execute” 引脚,待函数块执行完成后,在 “DataRecord” 所连接的变量中,可读取到相应设备的 IP 地址和 MAC 地址等接口信息,。

读取 CPU 1215C 的接口信息如下

读取 ET200SP 的接口信息

三、读取 MRP 环状态:LPNDR_ReadMRPState 函数块的应用

MRP 环状态对于保障 PROFINET 网络的冗余性至关重要,通过 LPNDR_ReadMRPState 函数块可实时监测 MRP 环的状态。

组态编程

  1. 在 TIA PORTAL V17 中创建新项目,组态 CPU S7-1200、ET200SP 以及 SCALANCE X204IRT 交换机,形成 PROFINET 网络。

  2. 进入拓扑视图进行组态,。分别设置各设备的介质冗余角色:将 S7-1200 和 ET200SP 组态为介质冗余客户端;

  3. 将 SCALANCE X204IRT 组态为介质冗余管理员。

编程调用 LPNDR_ReadMRPState 函数块

  1. 从 PROFINET 数据记录库中调用 LPNDR_ReadMRPState 函数块到程序编辑区。

  2. 该函数块各引脚功能如下:
    参数声明数据类型说明
    executeINBool读数据记录
    hwIdINHW_IOMRP 管理员接口硬件标识符
    busyOUTBool命令执行中
    doneOUTBool命令执行完成
    errorOUTBool发生错误
    mrpRingStateOUTWordMRP 环状态
    statusOUTWord错误说明
    • “execute”:输入参数,Bool 类型,用于触发读 MRP 环状态操作。
    • “hwId”:输入参数,HW_IO 类型,为 MRP 管理员接口的硬件标识符。
    • “busy”:输出参数,Bool 类型,函数块执行命令时为 “1”。
    • “done”:输出参数,Bool 类型,命令执行成功完成时为 “1”。
    • “error”:输出参数,Bool 类型,执行出错时为 “1”。
    • “mrpRingState”:输出参数,Word 类型,用于表示 MRP 环状态,“1” 表示环闭合,“0” 表示环打开。
    • “status”:输出参数,Word 类型,用于显示错误说明。

测试结果

当 MRP 环处于闭合状态时,触发 LPNDR_ReadMRPState 函数块的 “execute” 引脚,函数块执行完成后,“mrpRingState” 输出为 1;

当 MRP 环处于打开状态时,“mrpRingState” 输出为 0。

通过上述方法,利用 PROFINET 数据记录库中的功能块,能够便捷地获取 PROFINET 设备的关键数据,为工业自动化系统的高效运行和维护提供有力支持。在实际应用中,需严格按照操作步骤进行组态和编程,并注意函数块参数的正确设置,以确保数据获取的准确性和可靠性。

(注:文档部分内容可能由 AI 生成)

http://www.xdnf.cn/news/15339.html

相关文章:

  • Spring Boot RESTful API 设计指南:查询接口规范与最佳实践
  • 在新版本的微信开发者工具中使用npm包
  • java8 ConcurrentHashMap 桶级别锁实现机制
  • css如何同时给元素设置背景和背景图?
  • 004_Claude功能特性与API使用
  • 垃圾收集器-Serial Old
  • Java_Springboot技术框架讲解部分(二)
  • 飞算JavaAI:开启 Java 开发 “人机协作” 新纪元
  • PyTorch武侠演义 第一卷:初入江湖 第3章:神经网络派的绝世武功
  • 全星质量管理QMS软件系统——汽车零部件制造业数字化转型的质量管理中枢
  • Mybatis 两级缓存可能导致的问题
  • 如何成为 PostgreSQL 中级专家
  • 算法学习笔记:18.拉斯维加斯算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • IT岗位任职资格体系及发展通道-产品经理岗位任职标准参考
  • 力扣经典算法篇-19-判断子序列(双指针法,双指针递归法,批量校验时的进阶解法(预处理+二分查找))
  • AI交互中的礼貌用语:“谢谢“的效用与代价分析
  • Sping AI Alibaba
  • 【unitrix】 5.1 第二套类型级二进制数基本结构体(types2.rs)
  • Sqlmap工具下载及使用
  • 【算法】贪心算法入门
  • 算法学习笔记:19.牛顿迭代法——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 【SCI 4区推荐】《Journal of Visual Communication and Image Representation》
  • 代码随想录|图论|14有向图的完全可达性
  • 集训Demo1
  • CVPR2025 Mamba系列
  • JAVA--双亲委派机制
  • 维基艺术图片: python + scrapy 爬取图片
  • Linux系统中部署Redis详解
  • 算法练习6-大数乘法(高精度乘法)
  • RocketMQ-