PROFINET工业以太网教程---GSDML文件详解

2023-11-10

       

        前面的文章(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文件的总体介绍就到这里。其实里面还有很多内容,后续有机会我们再介绍。

致谢:PROFINET工业以太网教程(16)-GSDML文件详解 - 知乎 (zhihu.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PROFINET工业以太网教程---GSDML文件详解 的相关文章

  • Java中InputStream转化为MultipartFile类型

    由于工作需要 涉及到文件类型的转化 实际上MultipartFile有方法可以直接转化为InputStream 但是并没有办法可以从InputStream直接转化为MultipartFile 网上的资料大概看了下 有两种简单的方案Commo
  • ADC-dma死循环问题

    方法一 初始化dma时候 里面会先使能dma 然后打开相应的中断 然后结果会导致main函数中卡死 卡在箭头处 也就是打不开adc和dma 解决方案 全部注释 只留第一个配置dma的函数 11 16 补充 同样的现象 程序卡死在HAL AD
  • stm32Cubemx实用篇(一):PWM控制SG90舵机

    stm32Cubemx 一 PWM控制SG90舵机 本章将介绍使用stm32Cubemx软件配置PWM来控制SG90舵机角度 硬件平台 Stm32H743IIT6 舵机 SG90 0 180 旋转范围 网购5元一个 软件 Stmcubemx
  • [ 容器 ] Docker 基本管理

    目录 一 Docker 概述 1 1 Docker 是什么 1 2 Docker 的宗旨 1 3 容器的优点 1 4 Docker 与 虚拟机的区别 1 5 容器在内核中支持的两种技术 namespace的六大类型 二 Docker核心概念
  • ubuntu卸载软件

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 1 打开终端 你将使用 apt get 命令 这是用于管理已安装程序的通用命令 在卸载程序时 你可能需要输入管理员密码 当你输入密码时 密码将不会被显示 完成输入后按回车即

随机推荐

  • PrintWriter返回乱码的分析及解决

    用response得到输出流 即response getOuptStream 返回值为ServletOutputStream 对象 即JSP的out对象 要么用response得到输出对象PrintWriter即response getWr
  • 十三、Linux中虚拟化的使用

    十三 Linux中虚拟化的使用 13 1 Linux中kvm虚拟化软件的安装及硬件设定 安装条件 对于Intel的cpu 要有vmx 对于amd的cpu 要有svm 执行cat proc cpuinfo grep vmx查看 1 搭建好软件
  • 保姆级mysql8.0.32安装配置教程(windows 64位)以及mysql的root密码忘记怎么办

    1 官网下载MySQL 下载Mysqlhttps dev mysql com downloads mysql 可能需要登录Oracle账户 下载完成后解压到某一个文件夹 记住这个路径 一会要用到 我的配置环境习惯性放在E盘 2 配置初始化文
  • leetcode1588、所有奇数长度子数组的和(c++)

    leetcode1588 所有奇数长度子数组的和 c 难度 简单 给你一个正整数数组 arr 请你计算所有可能的奇数长度子数组的和 子数组 定义为原数组中的一个连续子序列 请你返回 arr 中 所有奇数长度子数组的和 示例1 输入 arr
  • 基于MVC的博客系统【JavaWeb项目】

    项目说明书 一 摘要 博客系统是一个使用JavaWeb技术开发的博文及不同用户交流的平台 博客系统是一个简单的博文交流的web平台 可以满足用户简单的博文管理需求 操作简单 主要包含以下几个方面 登录注册 查看所有用户的博客文章 对博文进行
  • 10开机蓝屏无限重启_Win10蓝屏代码PAGE_FAULT_IN_NONPAGED_AREA的解决方法

    电脑继1803更新后第4次蓝屏了 原本蓝屏后自动重启后就会恢复正常 然而天真的我太低估了微软的实力 蓝屏 重启 蓝屏 重启无限循环 当然 重启几次就进入了高级模式 高级模式 进去疑难解答 高级选项 试了试启动修复 没用 继续 搜索蓝屏代码P
  • flink程序运行问题

    异常 kafka分区连接超时 phoinex启动阻塞 发现hbase起不来 hdfs报错Please check the logs or run fsck in order to identify the missing blocks 解决
  • ntp服务器是什么,有什么用?

    https www idcbest com servernews 11002256 html ntp服务器隶属于小众时间频率行业 对于初次接触者和未涉猎此行业的人群来说 就会有很大的疑问 ntp服务器能做什么 为什么会需要ntp服务器 本文
  • 用Python爬取微信好友签名并生成词云(解决词云白板问题)

    今天上班看到一篇关于用Python爬取微信好友签名并生成词云的文章 觉得很有趣 就学着尝试爬取自己的微信好友签名 菜鸟写代码 总是会出现很多问题 摸索了一天 终于成功了 记录下自己的经过 希望能给像自己一样的小白一点点参考 本博客代码参考h
  • neon 指令 c语言,NEON初步使用

    前言 指令集并行是CPU的优化加速的一个方向 在ARM芯片主要是利用NEON指令集实现指令集并行 NEON简介 NEON就是高级SIMD 单指令多数据 适用于图像 音频等数据处理 ARMv6就叫SIMD ARMv7开始叫NEON aarch
  • 前端JS笔记

    JS笔记 持续更新中
  • c语言string函数作用,浅谈C语言之字符串处理函数

    下面介绍8种基本的常用的字符串处理函数 在数值数组中也常常用到 部分函数 所有的C语言编译系统中一般都提供这些函数 1 puts函数 输出字符串的函数 一般的形式为puts 字符串组 作用 将一个字符串输出到终端 如 char一个strin
  • CAD卸载/完美解决安装失败/如何彻底卸载清除干净cad各种残留注册表和文件的方法...

    在卸载cad重装CAD时发现安装失败 提示是已安装或安装失败 这是因为上一次卸载后没有清理干净 系统会误认为已经安装过了 有的同学是新装的系统也会出现安装失败的情况 这是因为C 或者 NET的原因 无论任何版本的cad在手动删除卸载之后都会
  • nginx查看php错误日志,nginx php-fpm输出php错误日志的方法

    nginx php fpm输出php错误日志的方法 发布时间 2020 08 15 11 03 12 来源 亿速云 阅读 137 作者 小新 nginx php fpm输出php错误日志的方法 这个问题可能是我们日常学习或工作经常见到的 希
  • B+树结构与索引<一> _ 结构与索引

    目录 一 B 树结构 1 二分查找法 2 二叉查找树 3 平衡二叉树 4 平衡多路查找树 B Tree 5 B 树 二 操作B 树 1 插入操作 2 删除操作 三 B 树索引类型 1 聚集索引 clustered index 2 辅助索引
  • == 和 equals 的区别是什么

    解读 对于基本类型和引用类型 的作用效果是不同的 如下所示 基本类型 比较的是值是否相同 引用类型 比较的是引用是否相同 equals 解读 equals 本质上就是 只不过 String 和 Integer 等重写了 equals 方法
  • 给你的类重写Equals--检测Class是否相等

    在C 的容器中 常用的三个容器数组 ArrayList Hashtable 数组比较简单 实现某种单一数据的存储 但是并不能自由插入 移除和容纳不同的对象 所以ArrayList是数组的替代品 并且由于ArrayList可以自由的添加 删除
  • 调用接口时 net::ERR_CERT_AUTHORITY_INVALID

    调用接口控制台报错net ERR CERT AUTHORITY INVALID network栏也是红色 这种一般的情况是证书不被浏览器认可 检查下证书 我的情况是我在本地模拟的https 生成的模拟证书 所以是不被浏览器认可的 解决方案
  • centos-6.8下载与安装

    一 centos的下载 有了需要自己才会去动手 算是配置开发环境的一些记录吧 首先进入官网 https www centos org download 官网页面 全英文的界面 英语不是很好 但容易找到 list of current mir
  • PROFINET工业以太网教程---GSDML文件详解

    前面的文章 PROFINET工业以太网教程 10 GSD文件 我们介绍过GSD文件 它的全称是 General Station Description 中文翻译为 通用站描述文件 GSD文件的主要作用是对PROFINET或PROFIBUS子