PROFINET从站设备描述文件

2023-11-14

目录

一、GSDML文件名格式

二、设备标识信息

三、设备支持的通讯周期时间 

 四、设备支持的槽位和数据模块


        相信熟悉工业现场的工程师们,对于PROFIBUS和PROFINET这两个工业协议都不陌生。过去在使用PROFIBUS现场总线时,从站设备厂家需要提供给PROFIBUS主站通用设备描述文件,也就是GSD(General Station Description)文件用于描述设备的生产厂家,支持的PROFIBUS特性以及和主站进行交互的数据量大小等信息。

        同样的,设备厂家在开发PROFINET 从站时,需要按照GSDML文件规范编写从站设备描述文件,提供给PROFINET主站组态软件如SIEMENS TIA PORTAL 软件使用。主站根据从站提供的GSDML文件能够获取从站设备的特性和从站设备支持的数据接口。GSDML本质上是对GSD文件结构化的拓展,其文件是XML格式,可以使用任何文本编辑器进行打开并编辑。

        本文简单介绍PROFINET从站描述文件的重要知识点,以便用户在使用GSDML文件时能够更加迅速的进行设备组态调试工作。

一、GSDML文件名格式

        PROFINET 从站设备描述文件GSDML的文件名称有特殊的规定,不能随意更改。比如用户在使用时经常在复制粘贴时对其重命名,结果会导致TIA PORTAL软件在导入GSDML文件时报错。

        PROFINET的GSD文件采用XML语言描述,后缀名为xml。按照约定,PROFINET I/O设备的GSD文件应遵循如下的命名规则:

GSDML-[架构版本]-[制造商名称]-[设备族名称]-[GSD发布日期].xml

        下面是一个GSDML文件名示例:  

GSDML-V2.31-Renesas-TPS1-Template-20170222.xml

       

        GSDML文件名称包含7个部分,每部分之间使用“-”符号(ASCII 45)进行连接:

1、固定以“GSDML”字符串作为文件名的起始。

2、GSDML文件中使用的PNIO版本,如“V2.35”表示该GSDML文件使用的为V2.35版本的GSDML模板,该版本需要与GSDML文件内部的格式一致。

3、设备厂商名称,例如“HMS”

4、设备分类名称,如“CompactCom-40-PIR”

5、GSDML发布日期,格式遵循“yyyymmdd”,如“20191210”

6、可选的GSDML发布日期,格式遵循“hhmmss”,如“080159”

7、文件扩展名,".xml"

        其中设备厂商名称和设备分类名称允许使用Microsoft Windows NT支持的任意字符,包括空格和“-”符号,因此以下文件名称均为正确的文件名,但应尽量与设备实际信息一致:

 

        下面是GSDML文件名示例: 

GSDML-V2.35-HMS-CompactCom-40-PIR-20191210.xml

GSDML-V2.35-HMS-CompactCom-40-PIR-20191210-080159.xml

GSDML-V2.35-HMS Networks-CompactCom-40-PIR-20191210.xml

GSDML-V2.35-HMS Networks-CompactCom-40-PIR-2-20191210.xml

GSDML-V2.35-HMS-Demo-CompactCom-40-PIR-2-20191210.xml

        GSDML文件名中的发布日期和可选的发布时间可用作设备描述文件的版本信息使用,例如在TIA PORTAL中导入了多个同样的设备描述文件时,应使用正确的发布日期版本的文件进行设备组态:

 

二、设备标识信息

        在GSDML文件中需要给出设备的生产厂商和设备的标识等信息,主站在读取GSDML组态后会在和从站建立连接时校验其中的某些信息,用于判断连接的从站是否为正确的设备。

        VendorID 是设备厂家成为PI会员时申请到的唯一厂商标识,每个设备厂家均应使用合法的VendorID,已经注册的VendorID可在网站查询https://www.profibus.com/IM/Man_ID_Table.xml

        通常组态软件的数据库中也会有一份类似的文件,可以通过读取设备的VendorID从而显示设备的生产厂商名称。

        DeviceID是设备厂家自行分配的设备标识,无需向PI进行申请,用于标识同一厂家的不同设备。

        MainFamily用于设备分类,设备制造商需要根据设备的功能用途对设备进行归类,类型只能选择以下值:

  • General
  • Drives
  • Switching Devices
  • I/O
  • Valves
  • Controllers
  • HMI
  • Encoders
  • NC/RC
  • Gateway
  • PLCs
  • Ident Systems
  • PA Profiles
  • Network Components
  • Sensors

        组态软件在导入设备的GSDML文件之后,会使用设备的标识信息对其分类,用户在使用时可在设备树中方便的找到该设备。

        如下图设备导入到TIA PORTAL 会根据1.MainFamily-2.VendorName-3.ProductFamily对其进行分组: 

三、设备支持的通讯周期时间 

        DAP中的MinDeviceInterval属性通知主站设备支持的最小通讯周期间隔,属性值SendClockFactor为31.25us的倍数,例如MinDeviceInterval="8",那么设备能够和主站实现的最小周期为8*31.25us=250us。对于支持RT_CLASS_1通讯的CC-A 和CC-B 设备,其最小时间间隔应至少支持128ms,对应MinDeviceInterval="4096"。

        对于CC-C 设备,其最小时间间隔应至少支持1ms,对应MinDeviceInterval="32"

        连接在同一个PROFINET网络上的多个从站设备可能需要发送数据的频率并不相同。例如某些温度传感器采集到的温度值是缓慢变化的,有些伺服驱动器的位置信息是快速变化的,这就要求即使是在同一个PROFINET网络上,不同设备也需要能够使用不相同的通讯周期进行数据交换。

        例如在PROFINET网络上连接了4个设备:

  • 设备1 需要8毫秒数据交换
  • 设备2 需要4毫秒数据交换
  • 设备3 需要2毫秒数据交换
  • 设备4 需要1毫秒数据交换

        那么就需要根据每个设备的需求分别设置通讯周期,这时候ReductionRatio就起到了重要作用。ReductionRatio用于设置最小通讯间隔的倍数,从站只有在通讯间隔倍数的周期时才会有实际数据交换

 

 

 四、设备支持的槽位和数据模块

 

        PhysicalSlots用于设置从站有多少个槽位,UseableModules用于设置设备有哪些数据模块能够插入到哪些槽位中。

        UseableModules可以使用三种关键词,来设置设备槽位中允许插入的数据模块:

  • AllowedInSlots,使用该关键词的Module允许插入到设备中的某些槽位中,但是在设备组态时默认是不插入到槽位中的,需要用户手动添加
  • UsedInSlots,使用该关键词的Module允许插入到设备中的某些槽位,在设备组态时默认插入到槽位中,用户可手动修改
  • FixedInSlots,使用该关键词的Module必须插入到设备中的固定槽位,在设备组态时默认插入到槽位中,用户不可手动修改

        UseableModules引用的Module全部在ModuleList中进行详细定义

        ModuleList中定义设备的可用Module,每一个Module对应一个ModuleItem,每一个Module都有唯一的ModuleIdentNumber。

        ModuleItem中包含一个或多个VirtualSubmoduleItem,或者引用UseableSubmodules,在SubmoduleItem定义设备传输的输入/输出数据IOData。

 

        以上介绍只是简要介绍了PROFINET设备描述文件的一些要点,实际在开发PROFINET设备时需要详细阅读GSDML规范,按照设备实际特性进行GSDML的匹配编辑。

        这项工作通常对于不熟悉PROFINET协议规范的开发人员来说是非常繁琐的,HMS为了解决这一问题,针对使用我们Anybus CompactCom 40 系列嵌入式模块的设备开发人员,推出了HMS PROFINET GSD Generator Tool生成工具。

        研发人员使用 CompactCom 40 模块开发完成后,只需要将该软件安装在电脑上并通过网线连接 CompactCom 40 模块,该软件能够自动读取模块中实际的配置信息,并自动生成符合GSDML最新规范的GSDML文件,使得开发人员无需再为GSDML文件的一致性和规范性担忧,能够快速的通过PROFINET一致性测试,推动产品进入市场。

        那么这就是PROFINET从站设备描述文件的相关内容,后续我们还会有PROFINET系统启动过程的相关内容分享,从PLC上电,到IO连接建立的过程。欢迎关注和收藏。 

致谢:PROFINET从站设备描述文件! - 知乎 (zhihu.com)

 

       

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

PROFINET从站设备描述文件 的相关文章

随机推荐

  • 如果编程IDE的使用受到限制,我们该何去何从?

    最近看到下面的信息 JetBrains宣布 无限期暂停在俄罗斯和白俄罗斯的销售 突然心头一紧 如果 诸如像VS VS Code Android Studio Altium Designer等等IDE国内的使用受到限制 国产IDE有什么替代吗
  • CSS使用方法

    css就是规定各种显示风格样式的名称和设置值的规则 它有4种方式可以将样式加入到HTML中 分别是内联样式表 嵌入样式表 外联样式表 输入样式表 内联样式表 在html标签中直接使用style属性 它适用于只需要将一些简单的样式应用于某个独
  • tkinter 界面设计工具

    先推荐一个非tkinter的GUI框架 Python Eel 是Electron的python版 vb6 https gitcode net mirrors cdhigh Visual Tkinter for Python https gi
  • 华为女性开发者峰会 共同感受“她力量”

    关注我们牛年牛气冲天 4月28日 HUAWEI WOMEN DEVELOPERS2021华为女性开发者峰会 广州站圆满落幕 身处不同领域 不同职业发展阶段的科技女性齐聚一堂 共同感受 她力量 峰会邀请到了多位优秀科技女性代表 从技术心得 从
  • python-批量顺序重命名文件

    网上找的 稍微改了一下 原文找不到了抱歉 rename py import sys import os i len sys argv print argv is d i if len sys argv 3 print nerror plea
  • 记一次win 10 下wsl2 机制 的docker 镜像文件转移过程

    解决了 解决使用win10 docker 后C盘存储过大的问题 的问题 我使用的win10 在开启了wsl2之后 使用docker desktop用 use the WSL2 based engine 选项 使用起来如丝般畅滑 但是 随着各
  • AI绘画:StableDiffusion实操教程-完美世界-魔女(附高清图下载)

    前段时间我分享了StableDiffusion的非常完整的教程 AI绘画 Stable Diffusion 终极宝典 从入门到精通 尽管如此 还有读者反馈说 尽管已经成功安装 但生成的图片与我展示的结果相去甚远 真实感和质感之间的差距到底在
  • C++中的类型推导

    本文参考Effective Morden C C 98只有一种类型推导规则 函数模板 而C 11改变了其中的一些规则 并添加了另外两种类型推导 他们是auto和decltype C 14又有了进一步的扩充 一 首先来看函数模板中的类型推导
  • Unity学习:资源存储加载之——文件夹、路径格式及其方法等

    1 Assets文件夹 Assets文件夹是unity项目中放置游戏资源的主文件夹 根目录文件夹 1 路径格式 assetsPath Assets xx xx xxx 2 编辑器下使用的加载方法 Resources LoadAssetAtP
  • 算法通关18关

    18关的前几篇文章看过之后 对回溯的模板问题基本解题思路就知道了 就是固定的for循环问题 外层for循环控制横向 递归控制纵向 还要考虑撤销操作和元素是否能被重复利用问题 重复利用的情景较少 只用注意撤销就行 1 复原IP地址 题目 经典
  • 01背包一维数组

    public class testWeightBagProblem1 public static void main String args Solution solution new testWeightBagProblem1 new S
  • Unity3D如何开发最简单的VR游戏 vrPlus(神之眼)

    VR是一种可创建和体验虚拟世界 Virtual World 的计算机系统 是一种可以创建和体验虚拟世界的计算机仿真系统 它利用计算机生成一种模拟环境 是一种多源信息融合的交互式三维动态视景和实体行为的系统仿真使用户沉浸到该环境中 作为一个u
  • Git(5)已有项目连接远端git仓库

    文章目录 初始化git 连接远程仓库 拉下仓库代码 添加代码到本地仓库 删除idea配置的git本地缓存 提交代码 推上去 初始化git git init 连接远程仓库 git remote add origin 你的仓库地址 拉下仓库代码
  • qqkey获取原理_【逆向】QQkey盗号木马原理分析

    一 简介 QQkey是一段字符串 通过这段字符串在没有QQ登录密码的前提下你依然能够在浏览器中对别人QQ空间 邮箱等应用进行随意访问和操作 现在市面上已经有很多使用易语言编写的盗号木马 专门盗取别人的QQkey 通过QQkey改绑关联了该邮
  • Robot Framework 自动化测试详解

    一 Robot Framework 简介 1 界面自动化测试工具 界面自动化测试 即UI自动化测试 比较常见的工具有 QTP AutoIt Selenium等 像QTP经历了很多版本 最新的版本好像叫UFT了 对初学者来说 录制回放是相当容
  • 搭建免费IP代理池

    声明 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 由于本人水平有限 如有理解或者描述不准确的地方 还望各位大佬指教 搭建代理池思路 思路来源 崔庆才大佬的爬虫书 代理从何而来 用
  • 网络安全面试必问

    项目经历 因为大家写的都是渗透相关 所以编故事也要编的圆润些 题材可以去freebuf看 https search freebuf com search search E6 8C 96 E6 B4 9E article 这里主要记录如何挖洞
  • 三类保留地址(私有地址)【个人笔记,仅供参考】

    A类 10 X X X是私有地址 私有地址就是在互联网上不使用 而被用在局域网络中的地址 127 X X X是保留地址 用做循环测试用的 B类 172 16 0 0 172 31 255 255是私有地址 169 254 X X是保留地址
  • 在Anaconda下安装并使用Pytorch,pillow,numpy等库及Python版本的匹配

    我在Anaconda下创建的新环境为 python 3 7 0 pytorch 1 8 0 pillow 9 5 0 numpy 1 21 5 能够正常运行 如果我这个版本够用的话可以按照这个版本进行安装 具体步骤如下 1 在Anacond
  • PROFINET从站设备描述文件

    目录 一 GSDML文件名格式 二 设备标识信息 三 设备支持的通讯周期时间 四 设备支持的槽位和数据模块 相信熟悉工业现场的工程师们 对于PROFIBUS和PROFINET这两个工业协议都不陌生 过去在使用PROFIBUS现场总线时 从站