近期客户在使用PROFINET网络网关产品时,遇到在PLC组态工具中导入设备GSD文件报错。如下图所示,显示.XSD文件未找到。组态工具不同,显示的错误信息不完全相同,但基本都是跟XSD文件相关。
、
首先我们先了解一下GSD文件的作用:
GSD文件,它的全称是 “General Station Description” ,中文翻译为 “通用站描述文件” 。GSD文件的主要作用是对PROFINET或PROFIBUS设备的资源进行描述,以便组态工具能够正确对其进行解析。PROFIBUS总线的GSD文件和PROFINET实时以太网的GSD文件描述方式不同。PROFINET的GSD文件采用XML语言描述,后缀名为xml。按照约定,PROFINET I/O设备的GSD文件应遵循如下的命名规则:
GSDML-[版本号]-[设备厂商名称]-[设备家族名称]-[日期].xml
例如串行网关ABC3013的GSD文件名称为:
GSDML-V2.44-HMS-Anybus-Communicator-20240226
其中:
请注意不要随意修改GSD文件名称,增加或删除一些文字都可能会导致在组态工具中导入GSD文件报错。
接着我们看一下XSD文件:
PROFINET GSDML(General Station Description Markup Language)文件使用XML Schema Definition,即XSD文件来定义其结构和数据约束。它定义了PROFINET设备描述文件的合法元素、属性及数据格式,确保不同厂商的GSDML文件符合统一标准以实现设备互操作性。
综上,GSDML文件用于描述PROFINET设备的通信参数、模块信息、诊断功能等关键数据,而XSD文件就是该类XML文件的“语法规则手册”。
XSD文件的版本与GSDML文件版本紧密相关。不同版本的XSD可能引入新特性或调整约束,例如版本2.4可能支持更灵活的设备配置。在实际应用中,组态工具(如CODESYS或西门子TIA Portal)在解析GSDML文件时会自动加载对应XSD进行验证。
解决方法:
出现上图中.XSD文件未找到报错,主要是组态工具中的XSD版本低于设备GSDML文件版本,从而导致报错。解决方法有2种:
