GSDml結構

不愿透露姓名的小村村發表於2024-11-13

1. 如何方便的看到GSDml的結構

  • 在github上找到一個很好用的開源工具以及它的開源漢化,叫xml notepad,可以很好的看到裝置樹檢視。
    [2.9.0.8官方下載地址]
    [漢化外掛]

2. 檔案結構

  • 總體就是headerBody兩個部分
ISO15745Profile
|
+--ProfileHeader
+--ProfileBody
    |
    +--DeviceIdentity
    |  |
    |  +--InfoText
    |  +--VendorName
    |
    +--DeviceFunction
    |  |
    |  +--Family
    |
    +--ApplicationProcess 
       |
       +--DeviceAccessPointList
       +--ModuleList
       +--SubmoduleList
       +--ValueList
       +--ChannelDiagList
       +--UnitDiagTypeList
       +--GraphicsList
       +--CategoryList
       +--ExternalTextList
      

3. 裝置訪問點

  • DeviceAccessPoint是裝置描述點,簡稱DAP。裝置描述的重要資訊在裡面。

PNIO_Version="V2.4": GSDml檔案版本
RequiredSchemaVersion="V2.4": 需要的架構版本
ID="IM 155-6 PN R1 V6.0 Redundant":
PhysicalSlots="0..66": 槽實際槽數,DAP位於0
ModuleIdentNumber="0x00104753": 模組ID
MinDeviceInterval="8": 資料重新整理最小時間間隔
ImplementationType="ERTEC200P":
DNS_CompatibleName="ET200SP": DNS站名
AllowedInSlots="0 1":
FixedInSlots="0 1": DAP模組始終位於插槽0
ObjectUUID_LocalIndex="1":
MultipleWriteSupported="true":允許單個請求多次寫入
MaxSupportedRecordSize="12288":
ParameterizationSpeedupSupported="false": 不支援快速啟動
PowerOnToCommReady="3000": 啟動首次資料交換時間
DeviceAccessSupported="true":
SharedDeviceSupported="false": 不支援共享裝置
CheckDeviceID_Allowed="true":
NameOfStationNotTransferable="false":
LLDP_NoD_Supported="true": 支援LLDP
PhysicalSubslots="32769..32770":
ResetToFactoryModes="2":
NumberOfDeviceAccessAR="6": 訪問裝置的連線數
PrmBeginPrmEndSequenceSupported="true":
CIR_Supported="false":
NumberOfSubmodules="256":
AddressAssignment="DCP": 地址分配使用的通訊協議

4.具體的IO模組結構

  • VirtualSubmoduleList作為具體的輸入輸出子模組,基本結構如下:
VirtualSubmoduleList
|
+--VirtualSubmoduleItem
  |
  +--IOData
  |  |
  |  +--Input
  |  |  |
  |  |  +--DataItem
  |  |
  |  +--Output
  |     |
  |     +--DataItem
  |        |
  |        +--BitDataItem
  |
  +--RecordDataList
  |  |
  |  +--ParameterRecordDataItem
  |     |
  |     +--Name
  |     +--Ref
  |     +--Const
  |     +--MenuItem
  |         |
  |         +--MenuItem
  |         |
  |         +--Name
  |         +--MenuRef
  |         +--ParameterRef
  |
  +--ModuleInfo
     |
     +--Name
     +--InfoText
     +--OrderNumber

  • 模組列表的層級結構:

ID="DI 16x24VDC ST_01": 模組標識
ModuleIdentNumber="0x00004D40": 模組標識號
SoftwareRelease: 軟體版本
HardwareRelease: 硬體版本
VirtualSubmoduleList: 子模組列表
VirtualSubmoduleItem: 子模組成員

相關文章