与IO-Link相关的文件有三种类型,包括:
-
用于IO-Link主站的GSDML文件。如果没有此文件,从PLC的角度来看,IO-Link主站便不存在。
-
用于单个现场设备的IODD文件。如果没有这些文件,IO-Link主站就只是一个昂贵的数字IO设备,不具备任何IO-Link功能。
-
用于PLC的设备特定功能块(可选)。如果没有这些功能块,您将面临大量的编程和调试工作。
关键要点
-
IO-Link主站是一个双向桥接器,一侧使用PROFINET通信,另一侧使用IO-Link通信。
-
PLC从不直接看到端口,它看到的是PNIO子模块。
-
IO-Link主站从不直接看到硬件,它看到的是IO-Link数据。
-
IO-Link的配置可以在PLC和IO-Link主站之间分配。
本文是DigiKey工业自动化现场指南的一部分
位置 :编程 → 网络与协议
难度 :
工程师 — 难度等级说明
最后更新 :2026年4月1日
图 1 :SICK SIG300 IO-Link主站图片。
GSDML 文件的用途是什么?
-
GSDML文件由TIA Portal读取,并作为一个菜单驱动工具,供您配置IO-Link主站。
-
GSDML文件由IO-Link主站的制造商提供。在此示例中,SICK为SIG300(图1)提供了该文件。
技术提示 :从技术上讲,GSDML文件并非IEC 61131-9 IO-Link标准的一部分。换句话说,PLC从不直接使用IO-Link进行通信。例如,PLC使用IEC 61158和IEC 61784定义的PROFINET与图1所示的SICK主站进行通信。
如何理解 GSDML 文件
GSDML文件描述了暴露给PLC的可用构建块(模块和子模块)。它是OEM对您的PLC能够对IO-Link主站和端口执行哪些操作的描述。例如,我们在端口S4上安装一个IO-Link距离传感器。
-
端口必须配置为匹配传感器,包括OEM数据中标识的内存要求,例如32I/32O接口。
-
TIA Portal分配内存位置,程序员将这些位置链接到PLC标签。
机架与插槽类比
从机架和插槽的角度来考虑IO-Link主站。从概念上讲,我们有一个支持PROFINET的机架,带有背板来容纳插卡。除非机架和插卡正确配置,否则什么也不会发生。
-
IO-Link主站的主体就是机架。
-
每个M12端口都是一个软件接口,等待在PLC配置中被实例化。
未实例化的端口默认被停用,就像物理插卡从未安装过一样。
技术提示 :如果我们站在TIA Portal环境中,并将注意力转向IO-Link设备,那么GSDML文件就有意义了。这种框架对于理解IO-Link至关重要。没有它,我们就会混淆硬件和软件,导致对IO-Link本质的错误假设。
图2显示了SIG300的配置。右侧展示了暴露给PLC的SIG300选项。设备概览描述了SIG300的实际接口。类型列显示了实际的端口配置,例如数字输出或IO-Link 32I/32O。如果没有GSDML文件,就不会有右侧的子模块。
图 2 :SIG300端口的实例化。
关于循环通信和非循环通信的说明
PLC与IO-Link设备接口有两种方式:
-
循环通信 :这是首选方法,因为它作为常规PROFINET I/O(PNIO)操作的一部分自动执行。从程序员的角度来看,循环操作与连接到PLC的任何其他数字或模拟模块没有区别。配置设备一次,然后将标签用作更大程序的一部分。可以调整更新时间,以在数据新鲜度和网络带宽之间取得平衡。
-
非循环 :非循环操作仍然是PNIO交换的一部分。然而,它们会根据需要被激活。这可以是启动例程的一部分,或根据程序需要执行。
这是GSDML文件的一个重要考虑因素。设备概览(图2)标识了实例化的循环PNIO端口。这允许您(程序员)一次性配置IO-Link子模块,然后将其当作PLC本地IO的一部分来使用。
技术提示 :用户主程序[OB1]不控制PNIO。当OB1正在处理大型程序时,PNIO可能执行多次更新。这一区别在过渡到如PROFIsafe等时间关键型通信时尤为重要。
IODD 文件的用途是什么?
-
IODD文件被导入IO-Link主站,作为描述连接到端口的现场设备的路由图。IODD文件可以从现场设备本身获取,也可以从OEM网站或IO-Link下载。
-
IODD文件由各个现场设备的制造商提供,例如图3所示的SICK W10距离传感器。
图 3 :配备IO-Link的SICK W10距离传感器图像。
如何理解 IODD 文件
虽然传感器包含微控制器,但 IODD 不应与寄存器映射混淆。
IODD使用IEC 61131-9协议描述IO-Link主站与现场设备之间的接口。与GSDML文件类似,IODD描述了公开的功能特性。例如,图3所示的SICK W10包含一个使用单线双向接口进行通信的微控制器。IODD文件描述了通过物理(M12)连接共享的配置参数和数据。
如何理解 GSDML 与 IODD 的关系
可将其视为一个两阶段的映射操作。
- PLC以标签和存储位置的方式进行通信。
- GSDML文件对于将标签映射到循环PNIO子模块是必需的。
- IO-Link主站桥接PNIO(以太网)与IO-Link(串行)。
- IODD文件是将IO-Link主站数据映射到现场设备所必需的
- 终端现场设备提供数据或对提供的数据作出响应
IODD 文件中包含哪些内容?
如果没有IODD文件,IO-Link主站将变成一个昂贵的多端口数字IO模块。这种向后兼容的接口使用图2所示的TIA Portal工具进行配置和控制。这假设GSDML文件已正确加载到TIA Portal中。
IODD文件是解锁配备IO-Link的现场设备IO-Link功能所必需的。它基于逐个端口的方式运行,需要特定的IODD文件来匹配连接到物理端口的单个现场设备。原本仅限于原始IO的功能变成了智能传感器接口。
例如,考虑图4中SICK W10传感器的IODD查看器。请注意,我们已登录到设备的USB服务端口。
SIG300网络服务器基于以下内容构建了整个页面:
-
IODD文件中包含的传感器描述。
-
从W10传感器检索到的实时数据。
考虑“到物体的距离”字段(中间列最后一个字段)。IODD文件有效地告知SIG300该字段的存在。然后SIG300从传感器拉取数据并填充该字段。SIG300还通过与端口4关联的PNIO子模块将这些数据提供给PLC。
技术提示 :查阅现场设备文献以确定循环数据的内存大小。这条关键链路从PLC到IO-Link主站再到现场设备,确保数据快速完整地到达,供PLC使用或反之亦然。
图 4 :来自SICK IODD查看器的W10距离传感器数据。
探索 IODD 文件
我们可以检查IODD文件以找到传感器的识别数据;答案就在那些尖括号中。以下是SICK W10某些明显字段的示例。循环和非循环数据存储区的发现留待日后探讨。这是AI能够帮助发现和理解文件结构的应用之一。不过,OEM的工具(图4)使用起来要容易得多。
<DeviceIdentity deviceId="8389422" vendorId="26" vendorName="SICK AG">
...
...
<DeviceVariant deviceIcon="SICK-W10-icon.png" deviceSymbol="SICK-W10-pic.png" productId="W10WM11">
技术提示 :IO设备描述(IODD)是以IO-Link主站为中心的。我们现在进入IO-Link主站的配置环境。IODD告诉我们哪些现场设备选项已暴露给IO-Link主站。然后IO-Link主站将这些字段作为PNIO子模块提供给PLC,用于循环和非循环接口。
如何理解 OEM 提供的库
许多OEM为现场设备提供PLC库。这包括简化PLC编程的功能块和数据类型。这并非总是必要,但在配置IO-Link设备时极为有用。
某些应用不需要库,例如SICK W10距离数据,该数据以循环形式直接可用。然而,配置设置更为复杂。例如,这些IODD行与使用M12连接器针脚2作为输出相关。
<Text id="TI_85" value="Physical input / output type configuration pin2"/>
<Text id="TI_86" value="PNP"/>
<Text id="TI_87" value="NPN"/>
<Text id="TI_88" value="Push/Pull"/>
强烈建议使用SICK到PLC的库来设置这些内存位置。或者,可以使用SICK IO-Link主站图形工具(图4)进行设置。但这需要特别注意,因为“IO-Link真相”现在分散在PLC和IO-Link主站之间。理想情况下,程序应保留在PLC中作为单一控制点。这种黄金真相也简化了版本控制,因为只需一个备份,而无需分散管理权限。
技术提示 :OEM提供的库可能是非循环的,即使它们出现在OB1或其他块中。为简单起见,我们可以使用库从图2中标识的I和Q地址设置或获取数据。
结束语
注意!“IO-Link真相现在分散在PLC和IO-Link主站之间”这一说法对未来维护技术人员有严重隐患。这意味着IO-Link配置和版本控制可能会被遗漏。当IO-Link主站发生故障时,危险就会出现。
去查看一下。你的IO-Link主站配置文件在哪里?
不要在凌晨3点开始查找。
继续探索工业控制系统
如果本次讨论对您有帮助,您可能还想探索:
DigiKey 导航
- 完整目录 :工业控制与自动化



