技术文档文章工业自动化工业以太网IO-LinkPROFINETEtherCATEtherNet/IP

技术文档|GSDML、ESI、EDS、CSP+、IODD,这些工业通讯配置文件到底有什么区别?

梳理 GSDML、ESI、EDS、CSP+ 与 IODD 的用途和区别,说明它们分别描述哪种通讯协议、哪一层设备,以及工程配置时如何选择。

10 分钟阅读
技术文档|GSDML、ESI、EDS、CSP+、IODD,这些工业通讯配置文件到底有什么区别?封面图
导语

购买一台 IO-Link 主站后,到官网下载工程资料,常常会看到 GSDML、ESI、EDS、CSP+ 等文件;如果再去查看 IO-Link 压力传感器、温度传感器或转换器,又可能遇到 IODD。


它们看起来都属于“配置文件”,实际却不在同一个层级。为什么 PROFINET 主站对应 GSDML,EtherCAT 主站对应 ESI,而主站下面的 IO-Link Device 又要看 IODD?要把这些概念真正分清楚,关键不是先看 PLC 品牌,而是先判断:使用的是什么通讯协议,以及这个文件究竟在描述哪一层设备。

01|先把系统分成两层,五种文件就容易理解了

理解这些文件之前,先看一套典型的 IO-Link 系统。

最上层是 PLC 或控制器,中间是 IO-Link 主站,下面则是压力传感器、温度传感器、IO-Link Hub、转换器等 IO-Link Device。这里实际上存在两段不同的通讯:一段发生在 PLC 与 IO-Link 主站之间,另一段发生在 IO-Link 主站与 IO-Link Device 之间

PLC 与主站之间通常运行工业网络协议。例如主站上行采用 PROFINET、EtherCAT、EtherNet/IP 或 CC-Link IE Field Basic。对于上层工程系统来说,此时首先需要解决的是:这台主站是什么设备,它有哪些数据,可以怎样配置,相关参数和诊断信息如何组织。

因此,上层协议不同,对应的设备描述方式也会变化。PROFINET 中常见 GSDML,EtherCAT 使用 ESI,EtherNet/IP/CIP 体系中常见 EDS,CC-Link 家族则有 CSP+。虽然具体格式和内容并不完全相同,但核心作用比较接近:让工程软件能够识别并正确配置网络中的设备。

而主站向下连接的压力传感器、温度传感器、Hub、转换器等设备运行的是 IO-Link。设备是谁、过程数据如何组织、有哪些参数和诊断信息,这些则由 IODD 来描述。

核心观点

GSDML、ESI、EDS、CSP+主要描述上层工业网络中的设备;IODD则用于描述 IO-Link Device。判断该使用哪个文件,首先要看通讯协议,其次要看正在配置系统中的哪一层。

02|GSDML:PROFINET 工程怎么“认识”一台设备?

在 PROFINET 系统中,工程软件需要知道网络中接入的是什么设备,以及这台设备具有哪些通讯和数据能力,这时就会涉及 GSDML。

GSDML 可以描述 PROFINET Device 的厂商和设备身份、模块结构、输入输出数据、参数以及诊断等相关信息。工程软件读取这些内容之后,才能按照设备实际能力进行组态。

例如,一台 PROFINET 版本的 IO-Link 主站接入控制系统。对于上层 PLC 来说,这台主站首先是一台 PROFINET Device。工程软件需要知道主站提供多少数据、具有怎样的模块结构,以及相关诊断信息如何定义,这些都可以通过对应的设备描述文件提供。

可以把 GSDML 简单理解成:PROFINET 设备交给工程软件的一份标准化“电子说明书”。

03|ESI:换成 EtherCAT,设备描述方式也随之改变

如果 IO-Link 主站的上行网络从 PROFINET 换成 EtherCAT,工程软件面对的设备描述方式也会发生变化。

EtherCAT 中常见的是 ESI,EtherCAT Slave Information。它用于描述 EtherCAT 设备的相关信息,让 EtherCAT 配置工具知道接入网络的是什么设备,以及设备具有怎样的通讯和数据结构。

其中可以涉及设备身份、通讯能力、PDO 数据、相关参数以及初始化配置等内容。工程软件读取 ESI 后,就可以按照设备定义完成网络配置和过程数据映射。

例如,一台 EtherCAT IO-Link 主站接入 EtherCAT 网络。这时主站在上层网络中的身份已经从 PROFINET Device 变成了 EtherCAT 设备,因此工程中不再使用 GSDML,而是使用对应的 ESI。

虽然 GSDML 和 ESI 所属协议不同、格式不同,但从工程角度来看,它们有一个重要的共同点:都是在帮助上层网络正确识别和配置现场设备。

所以看到 ESI 时,与其先问“这是哪个品牌 PLC 使用的”,不如先确认:当前上层通讯是不是 EtherCAT。

04|EDS:EtherNet/IP 中常见,但并不意味着一定要这样集成

到了 EtherNet/IP,设备集成方式会稍微复杂一些。

EDS,Electronic Data Sheet,可以理解为电子数据表,是 EtherNet/IP/CIP 体系中常见的标准设备描述方式之一。它可以包含设备身份、通讯信息、可配置参数、Connection 以及相关 I/O 数据等内容,帮助兼容的工程工具理解这台设备。

例如,一台 EtherNet/IP IO-Link 主站接入控制系统,工程软件需要建立与主站之间的通讯,并确定过程数据如何交换。此时就可能使用厂商提供的 EDS 文件完成设备识别和配置。

但这里不能简单理解成:所有 EtherNet/IP 项目都必须导入 EDS。

根据设备本身和工程平台不同,实际还可能通过 AOP,也就是 Add-On Profile,或者 Generic Ethernet Module 等方式完成设备集成。

因此,EDS 更准确的理解是:EtherNet/IP/CIP 体系中常见的标准设备描述方式之一,而不是所有 EtherNet/IP 项目唯一的组态方式。

05|CSP+:CC-Link IE Field Basic 为什么又是另一种文件?

如果主站上行采用 CC-Link IE Field Basic,工程中还可能遇到 CSP+

CSP+ 全称为 Control & Communication System Profile Plus。它可以理解为 CC-Link 家族设备提供给兼容工程工具的一种标准化设备 Profile,用于描述设备相关信息。

对于支持 CC-Link IE Field Basic 的设备,CSP+ 可以包含厂商与产品信息、网络相关信息、输入输出数据以及参数等内容。工程软件读取这些信息后,就可以更加方便地理解网络中接入的设备。

例如,一台 CC-Link IE Field Basic IO-Link 主站接入相应控制网络,上层工程系统面对的首先仍然是“这台主站”。为了完成设备识别和网络配置,这一层就可能涉及 CSP+。

看到这里其实可以发现,GSDML、ESI、EDS、CSP+虽然名称不同,所属协议也不同,但它们解决的问题非常接近:

上层控制系统怎样正确理解接入工业网络中的这台设备。

真正决定文件类型的,是设备运行在哪一种通讯体系中,而不是单纯看 PLC 品牌。

06|为什么 IODD 和前面四种文件不能简单放在同一层?

IODD 最容易产生误解,因为它经常和 GSDML、ESI 等文件同时出现在 IO-Link 项目中。

假设现在有一台 PROFINET IO-Link 主站,主站的 Port 1 再连接一只 IO-Link 压力传感器。

从 PLC 到主站这一段运行的是 PROFINET。因此,这一层需要解决的是:PLC 如何识别这台 IO-Link 主站,主站提供多少过程数据,可以怎样配置和诊断。对应的设备描述文件就是 GSDML。

但是到了主站的 Port 1,通讯已经变成 IO-Link。

这时候需要知道的是:Port 1 接的到底是哪一台 Device,它的 Vendor ID 和 Device ID 是什么,Process Data 有多少 Byte,其中的数据分别代表什么,支持哪些参数,又能够提供哪些诊断信息。

这些内容,就由 IODD 来描述。

IODD 全称为 IO Device Description,可以理解为 IO-Link Device 的标准电子设备描述。其中可以包含设备及厂商信息、Process Data、参数、诊断以及通讯特性等内容。

例如森特奈的 IO-Link 设备本身就具有 Vendor ID、Device ID、过程数据长度、ISDU 参数以及设备状态等定义,这些设备层信息正是 IO-Link Device 描述所关注的内容。

因此,一个 IO-Link 系统中同时出现 GSDML 和 IODD,并不冲突。GSDML 描述的是 IO-Link 主站作为 PROFINET Device 的相关信息,而 IODD 描述的是主站下面具体的 IO-Link Device。

这里还有一个非常重要的概念需要澄清:

IODD 不是西门子文件,也不是博途专用文件。

IODD 属于 IO-Link 标准体系。只要设备是一台 IO-Link Device,它的设备描述就遵循 IO-Link 对应的体系,而不会因为上层 PLC 从西门子换成其他品牌,就变成另外一种 Device 描述标准。

真正会变化的,是不同 IO-Link 主站、PLC 平台和工程软件如何使用 IODD 中的信息

07|用了 IO-Link,为什么有些项目从头到尾都没导入过 IODD?

这也是实际项目中最容易产生误解的地方。

有些工程师使用西门子系统时,经常会接触到 IODD 导入、设备参数化等操作,因此容易形成一种印象:好像只有西门子系统才会用到 IODD。

实际上,“有没有手动导入过 IODD”和“IODD 属于哪个标准”是两个不同的问题。

在一些工程平台中,可以通过相应工具导入 IODD。导入之后,软件能够更直观地识别 Device,并显示参数、Process Data 和诊断信息,工程师不需要完全按照产品说明书逐项查找参数定义。

但在另外一些项目中,IODD 可能由主站厂商提供的独立配置工具或 Web 配置界面使用,而不是直接导入 PLC 编程软件。对于工程师来说,设备仍然具有 IODD,只是日常组态过程中不一定直接接触这个文件。

还有一种情况更加常见:项目只需要使用 IO-Link Device 的固定 Process Data。

例如已经明确某个端口对应 2 Byte Input 或 4 Byte Input,工程师直接根据产品说明书中的数据定义,在 PLC 程序中完成解析。此时项目完全可能从调试到运行都没有手动导入过 IODD。

因此:

“项目中没有手动导入 IODD”和“这台 IO-Link Device 没有 IODD”是两回事。

也不能因为在某些 PLC 项目中没有手动操作 IODD,就得出“只有西门子才使用 IODD”的结论。

改变的是 PLC 与 IO-Link 主站之间的工业网络以及工程平台的集成方式;只要主站下面连接的还是同一台 IO-Link Device,它对应的 IODD 就不会因为 PLC 品牌发生变化。

08|以后看到这些文件,怎么快速判断该下载哪个?

以后再面对一堆 GSDML、ESI、EDS、CSP+、IODD 文件,其实不需要逐个背文件名,只需要先问自己一个问题:

现在正在配置谁?

如果现在配置的是 PLC / 控制器与 IO-Link 主站之间的通讯,就先确认主站的上行工业网络。

上行采用 PROFINET,就重点查看 GSDML;采用 EtherCAT,就查看 ESI;采用 EtherNet/IP,则根据设备和工程平台查看 EDS、AOP 或厂家提供的其他集成方式;采用 CC-Link IE Field Basic,则查看 CSP+ 等相应工程资料。

如果现在配置的是 IO-Link 主站端口下面的 Device,例如 IO-Link 压力传感器、温度传感器、Hub、转换器或者其他设备,那么需要关注的就是该设备对应的 IODD

森特奈 IO-Link 主站根据上层工业网络不同,可对应 PROFINET、EtherCAT、EtherNet/IP、CC-Link IE Field Basic 等协议版本。实际进行选型和组态时,建议先确认主站型号以及上行协议,再下载相应的工程配置文件;对于主站下面的 IO-Link Device,则进一步确认对应的 IODD、说明书以及 Process Data 定义。

文章总结

GSDML、ESI、EDS、CSP+、IODD看起来都与“设备配置”有关,但真正区分它们的,并不是西门子、三菱、AB 或其他 PLC 品牌,而是通讯协议以及设备所在的系统层级


对 IO-Link 系统来说,可以记住一条简单的判断逻辑:先看 PLC 到主站使用什么工业网络,再看主站下面连接的是哪一台 IO-Link Device。 前者决定 GSDML、ESI、EDS、CSP+ 等上层集成方式,后者则对应 IODD。

FAQ

1. IODD 是不是只有西门子博途组态时才会用到?

不是。IODD 属于 IO-Link 标准体系,用于描述 IO-Link Device,本身不属于西门子或博途。不同工程平台使用 IODD 的方式可能不同,有的软件支持相关工具直接导入,有的由主站配置工具读取,也有项目主要按照说明书和 Process Data 进行配置,因此工程师并不一定会手动接触 IODD。

2. 一台 IO-Link 主站已经有 GSDML 或 ESI,为什么还会涉及 IODD?

因为它们描述的对象不同。以 PROFINET IO-Link 主站为例,GSDML主要用于描述主站作为 PROFINET Device 的相关信息;IODD则描述连接在主站端口下面的具体 IO-Link Device。一个解决上层工业网络中的设备集成问题,一个解决 IO-Link Device 的身份、参数、数据和诊断描述问题。

3. 怎么快速判断应该下载 GSDML、ESI、EDS、CSP+ 还是 IODD?

先判断正在配置哪一层。如果配置 PLC 与 IO-Link 主站之间的通讯,就根据主站上行工业网络选择相应工程资料;如果配置的是主站下面的 IO-Link Device,则重点查看该设备的 IODD。简单来说就是:协议决定上层文件类型,设备层级决定是否需要关注 IODD。

GSDML、ESI、EDS、CSP+、IODD 区别 | 森特奈