PROFINET工业以太网教程(16)-GSDML文件详解
xsobi 2025-01-11 18:16 1 浏览
前面的文章(PROFINET工业以太网教程(10)——GSD文件)我们介绍过GSD文件,它的全称是“General Station Description”,中文翻译为“通用站描述文件”。GSD文件的主要作用是对PROFINET或PROFIBUS子站的资源进行描述,以便组态工具能够正确对其进行解析。PROFIBUS总线的GSD文件和PROFINET实时以太网的GSD文件描述方式不同,由于前者已经逐渐被后者取代,所以今天这篇文章我们仅介绍PROFINET的GSD文件的结构。
PROFINET的GSD文件采用XML语言描述,后缀名为xml。按照约定,PROFINET I/O设备的GSD文件应遵循如下的命名规则:
GSDML-[版本号]-[设备厂商名称]-[设备家族名称]-[日期].xml
比如,西门子IM151-3PN的GSD文件名称为:
GSDML-V2.25-Siemens-ET200S-20191007.xml
其中:
- 文件名以“GSDML”开头;
- V2.25是版本号;
- Siemens是设备厂商;
- ET200S是产品的家族名称;
- 20191007是该版本GSD文件的发布日期;
GSDML文件的第一行应包含xml的版本及编码,固定格式如下:
<?xml version="1.0" encoding="utf-8"?>
根元素ISO15745Profile是整个GSD文件的基础元素,它必须声明元素的命名空间,如下面的代码:
<ISO15745Profile xmlns="http://www.profibus.com/GSDML/2003/11/DeviceProfile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.profibus.com/GSDML/2003/11/DeviceProfile ..\XSD\GSDML-DeviceProfile-V2.25.xsd"><!--其它代码部分--></ISO15745Profile>
其中:
- xmlns:表明元素ISO15745Profile的默认命名空间;
- xmlns:xsi:表明XSD文件的命名空间;
- xsi:schemaLation:指明XSD文件的路径;
ISO15745Profile是GSDML文件的根元素,它包括规则头(Profile Header)和规则体(Profile Body)两部分,整个GSD文件的结构如下图所示:
1、规则头(Profile Header)
规则头以ProfileHeader元素标记,包括了规则的标识、版本、名称、及ISO15745的相关信息,如下面的代码:
<ProfileHeader> <ProfileIdentification>PROFINET Device Profile</ProfileIdentification> <ProfileRevision>1.00</ProfileRevision> <ProfileName>Device Profile for PROFINET Devices</ProfileName> <ProfileSource>PROFIBUS Nutzerorganisation e. V. (PNO)</ProfileSource> <ProfileClassID>Device</ProfileClassID> <ISO15745Reference> <ISO15745Part>4</ISO15745Part> <ISO15745Edition>1</ISO15745Edition> <ProfileTechnology>GSDML</ProfileTechnology> </ISO15745Reference></ProfileHeader>
2、规则体(Profile Body)
规则体包含了PROFINET I/O设备(子站)的实际数据,由三个部分组成:
- Device Identity(设备标识):包含了用于确认该设备的标识信息;
- Device Function(设备功能):包含了用于描述设备功能的数据;
- Application Process(应用处理):这是整个通用站描述文件的主要部分,包含了设备访问点列表、模块列表、子模块列表、值列表等PROFINET I/O设备的数据,后面会详细介绍。
2.1、设备标识(Device Identity)
西门子IM151-3 PN GSD文件中关于设备标识的代码如下:
<DeviceIdentity VendorID="0x002A" DeviceID="0x0301"> <InfoText TextId="Finely-graduated modular distributed I/O device, protection type IP20"/> <VendorName Value="SIEMENS"/></DeviceIdentity>
其中包括了该PROFINET I/O设备的供应商ID、设备ID及描述等信息;
2.2、设备功能(Device Function)
西门子IM151-3 PN GSD文件中关于设备功能的代码如下:
<DeviceFunction> <Family MainFamily="I/O" ProductFamily="ET 200S"/></DeviceFunction>
2.3、应用处理(Application Process)
2.3.1、设备访问点列表(Device Access Point List)
这部分是PROFINET I/O设备访问接口的描述,可以理解为分布式I/O的接口模块,一个GSD文件中可以包括多个接口模块的描述。
2.3.2、模块列表(Module List)
该部分是PROFINET I/O设备中包含的模块的描述,它可以是一种可选择插入的模块(比如模块化的I/O设备),也可以是一种永久集成在I/O设备中的模块。
2.3.3、子模块列表(Sub Module List)
该部分是PROFINET I/O设备中包含的子模块的描述。与模块列表类似,它也可以是一种可选择插入的子模块或者永久集成在I/O设备中的子模块。
2.3.4、值列表(Value List)
该部分包含了模块所支持的取值。
2.3.5、通道诊断列表(Channel Diag List)
该部分包含了通道的诊断信息,即通道的错误编号及其描述。
2.3.6、单元诊断列表(Unit Diag List)
该部分包含了该PROFINET I/O设备的诊断信息。
2.3.7、图形列表(Graphics List)
该部分是GSD文件的图形列表,即在组态工具中显示的图形(图标)。
2.3.8、分类列表(Categrory List)
该部分包含了GSD文件的分类信息,比如DI、DQ、AI等模块的分类;
2.3.9、外部文本列表(External Text List)
该部分包含了GSD文件所包含的外部文本信息,这些信息可以被其它部分引用,可用于多语言环境。
好了,关于GSDML文件的总体介绍就到这里。其实里面还有很多内容,后续有机会我们再介绍。
相关推荐
- bootstrap入门
-
bootstrap是一个前端ui框架,它把我们网页开发常用的功能都写好了,我们使用它可以像搭积木一样的轻松的开发网站,不过现在都流行前后端分析了,而且layui也比较好用,个人觉得无论哪个ui框架,我...
- BootStrap简介及应用要点
-
BootStrap简介BootStrap是基于HTML、CSS和JavaScript的框架,使你只需要写简单的代码就可以很快的搭建一个还不错的前端框架,他是后端程序员的福音,使它们只需要专注业务逻辑,...
- 如何在Bootstrap Studio中使用图标字体?
-
BootstrapStudioforMac是一款网站设计制作工具,图标字体类似于普通的Web字体,但是它们包含矢量形状,而不是字母和数字。那么如何在BootstrapStudio中使用图标字体...
- Bootstrap5.0-全球流行的前端开源UI工具包迎来了大版本更新
-
Bootstrap5.0正式发布了,带来了很多亮点,还学得动吗?Bootstrap介绍...
- BootstrapBlazor 模板适配移动设备使用笔记
-
项目模板BootstrapBlazorApp模板为了方便大家利用这套组件快速搭建项目,作者制作了项目模板(ProjectTemplates),使用dotnetnew命令行模式,使用步骤...
- bootstrap的tab标签页的使用
-
标签tab页在,当前的web中应用十分广泛,君不见,在博客的右侧出现的最新文章和随机文章中有它的身影,在大型门户网站中也有它的身影,可以说其无处不在的刷着存在感。既然其如此嚣张的存在,我们没有理由不应...
- 使用 Bootstrap 的最简单方法 - 让你的 HTML 看起来赏心悦目
-
什么是BootstrapBootstrap是一个免费的开源CSS框架,使得前端Web开发变得更加简单。...
- Bootstrap-table 使用总结
-
一、什么是Bootstrap-table?在业务系统开发中,对表格记录的查询、分页、排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这...
- 建议收藏:哪些电子发票有XML格式?
-
报销时,财务要求提供发票XML格式。但不是所有的电子发票都有哦,目前只有数电发票(全面数字化的电子发票)有XML格式!目前的数电发票有下面这几大类:1、电子发票(增值税专用发票):适用于增值税一般纳税...
- Mybatis中mapper的xml解析详解
-
上一篇文章分析了mapper注解关键类MapperAnnotationBuilder,今天来看mapper的项目了解析关键类XMLMapperBuilder。基础介绍回顾下之前是在分析configur...
- word修改文中任意一处文字,其他地方相同的内容自动修改
-
我们工作写方案处理word的时候,经常会遇到这么一种情况,即文中存在多处相同的文字内容,可能是词语,也可能是段落。当我们修改了其中一处后,其他地方还得手动修改,十分不便。今天给大家分享一下,在word...
- 第9天 | 鸿蒙App开发实战,XML创建布局,共性很重要
-
XML声明布局的方式更加简便直观,是开发App的核心内容之一,咱们完全有必要搞清楚。每一个Component和ComponentContainer对象大部分属性都支持在XML中进行设置,它们有各自的X...
- 可扩展标记语言格式XML
-
1,XML(eXtensibleMarkupLanguage):指可扩展标记语言,一种数据表示格式,被设计用来传输和存储数据,不用于表现和展示数据。2,XML和基于XML的语言的整个结构是...
- 比较一下JSON与XML两种数据格式?
-
JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...
- PROFINET工业以太网教程(16)-GSDML文件详解
-
前面的文章(PROFINET工业以太网教程(10)——GSD文件)我们介绍过GSD文件,它的全称是“GeneralStationDescription”,中文翻译为“通用站描述文件”。GSD文件的...
- 一周热门
- 最近发表
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- dedecms模版 (53)
- c 视频教程下载 (33)
- listview排序 (33)
- firebug 使用 (31)
- characterencodingfilter (33)
- getmonth (34)
- hibernate教程 (31)
- label换行 (33)
- curlpost (31)
- android studio 3 0 (34)
- android应用开发 (31)
- html转js (35)
- 索引的作用 (33)
- checkedlistbox (34)
- localhost 8080 (32)
- 多态 (32)
- xmlhttp (35)
- mysql更改密码 (34)