4、GSDML文件配置:从结构到实战
好,咱们进入第四讲。这一讲的核心,就是搞定GSDML文件。说白了,它就是PROFINET设备的“身份证”和“说明书”。没有它,TIA Portal根本不认识你的远程IO站。
我记得刚入行那会儿,第一次配置PROFINET从站,拿着一个第三方的IO模块,翻遍了光盘都没找到GSDML文件。后来才知道,要去官网下载。嗯,这第一步就卡了我半天。今天咱们就把这块彻底讲透。
4.1 GSDML文件结构:它到底长什么样?
GSDML,全称是General Station Description Markup Language。你把它想象成一个XML文件就行了。实际上,它就是一个标准的XML文件,遵循特定的Schema。
我习惯用记事本或者Notepad++直接打开看。你打开后,会发现它主要包含这几大块:
- 设备头信息:厂商名称、设备名称、版本号、订货号。这些是基础信息,TIA Portal靠它们来识别设备。
- 设备访问点:定义了设备有几个网络接口,每个接口的MAC地址、IP地址设置方式。
- 模块/子模块定义:这是最核心的部分。定义了你的IO模块支持哪些插槽,每个插槽能插什么类型的模块(比如8路DI、4路DO、2路AI)。
- 参数数据:定义了模块的配置参数,比如输入滤波时间、输出默认值等。
- 系统属性:比如是否支持IRT(等时同步实时)、最小周期时间等。
举个例子,一个典型的GSDML文件片段长这样:
<?xml version="1.0" encoding="utf-8"?>
<ISO15739Profile>
<ProfileHeader>
<ProfileIdentification>GSDML-V2.35-PI-Fictitious-Device-20231001</ProfileIdentification>
<ProfileRevision>2.35</ProfileRevision>
</ProfileHeader>
<DeviceIdentity>
<VendorName>Fictitious GmbH</VendorName>
<DeviceName>RemoteIO-16DI-8DO</DeviceName>
<OrderNumber>RIO-168-0001</OrderNumber>
<HardwareRelease>1.0</HardwareRelease>
<SoftwareRelease>1.0.0</SoftwareRelease>
</DeviceIdentity>
<DeviceAccessPointList>
<DeviceAccessPointItem ID="DAP1">
<Name>PROFINET Interface</Name>
<PhysicalSlots>0</PhysicalSlots>
<ModuleIdentNumber>0x00000001</ModuleIdentNumber>
<SubslotList>
<SubslotItem ID="1">
<Name>Interface Subslot</Name>
</SubslotItem>
</SubslotList>
</DeviceAccessPointItem>
</DeviceAccessPointList>
<ModuleList>
<ModuleItem ID="DI_8x24V">
<Name>8DI 24V DC</Name>
<ModuleIdentNumber>0x00000010</ModuleIdentNumber>
<SubslotList>
<SubslotItem ID="1">
<Name>Input Data</Name>
<IOData>
<Input>
<DataLength>1</DataLength>
</Input>
</IOData>
</SubslotItem>
</SubslotList>
</ModuleItem>
</ModuleList>
</ISO15739Profile>
4.2 导入TIA Portal步骤:别走弯路
把GSDML文件导入TIA Portal,其实就几步。但步骤不对,容易出问题。我一步步说。
- 找到入口:打开TIA Portal,在项目树里,找到“选项”菜单,点击“管理通用站描述文件(GSD)”。
- 选择源路径:在弹出的对话框里,点击“浏览”,找到你存放GSDML文件的文件夹。注意,TIA Portal会扫描该文件夹下的所有GSDML文件。
- 开始安装:勾选你要安装的设备,点击“安装”。TIA Portal会开始解析文件,并把它加入到硬件目录里。
- 等待完成:安装过程可能需要几十秒。完成后,会提示“安装成功”。
- 验证安装:在硬件目录里,搜索你刚才安装的设备名称。如果能找到,说明安装成功。
这里有个坑。有些第三方厂商的GSDML文件,版本号可能和TIA Portal不兼容。比如,TIA Portal V15只能导入GSDML V2.3及以下的文件。V16支持V2.33。你想想看,如果你拿一个V2.4的文件去装V15,肯定报错。
我曾经遇到过一个国产IO模块,它的GSDML文件是用旧版本工具生成的,里面有些标签不符合规范。TIA Portal安装时直接报“文件格式错误”。后来联系厂家,要了一个重新生成的文件才搞定。
4.3 设备名称与IP地址分配:一对孪生兄弟
PROFINET网络里,设备名称和IP地址是绑定的。但它们的分配方式,和普通以太网不太一样。
设备名称(Station Name):这是PROFINET的核心。TIA Portal通过设备名称来识别网络上的物理设备。名称必须唯一,不能重复。我习惯用“站号-设备类型”的命名方式,比如“01-RIO-16DI”。
IP地址:PROFINET设备的IP地址,通常是通过设备名称解析出来的。也就是说,你先给设备分配一个名称,然后TIA Portal会根据名称,自动分配或通过DCP协议设置IP地址。
分配步骤是这样的:
- 在TIA Portal中分配:在设备视图里,选中你的远程IO站,在“属性” -> “PROFINET接口” -> “以太网地址”中,勾选“在项目中设置IP地址”。然后输入IP地址和子网掩码。
- 分配设备名称:在同一界面,输入设备名称。注意,名称不能有空格和特殊字符。
- 下载到设备:编译项目,然后下载到PLC。TIA Portal会通过DCP协议,把设备名称和IP地址发送给远程IO模块。
- 在线分配(备用方案):如果设备是新的,没有名称,你可以用TIA Portal的“在线访问”功能,直接搜索网络上的设备,手动分配名称和IP。
| 参数 | 说明 | 我的建议 |
|---|---|---|
| 设备名称 | PROFINET网络唯一标识 | 使用“站号-设备类型”格式,如“03-RIO-8AI” |
| IP地址 | 网络层地址 | 与PLC在同一网段,建议使用固定IP |
| 子网掩码 | 网络划分 | 通常为255.255.255.0 |
| PROFINET设备编号 | PROFINET IO系统中的站号 | 与设备名称中的站号保持一致 |
嗯,这里还要提一句。有些老手喜欢用“PRONETA”这个工具来分配设备名称和IP。它比TIA Portal更轻量,适合现场快速调试。但我的习惯是,只要项目还在开发阶段,一律用TIA Portal来管理。这样项目文件和实际设备的状态才能保持一致。
好了,GSDML文件这块就讲这么多。说白了,它就是一座桥,把物理设备和软件工具连接起来。你只要理解了它的结构,掌握了导入步骤,再搞清楚名称和IP的分配逻辑,配置远程IO模块就是水到渠成的事。