To create a GSDML file, follow these steps:
- Start from an existing example GSDML file. You can find sample files showcasing different aspects of the file format.
- Edit the file using an XML editor of your choice. Some recommended XML editors are QXmlEdit, CAM editor, and XML Notepad.
- After editing, run the resulting file through the “Profinet GSD Checker” tool to verify its structure. The tool is available for download to Profinet members.
- Open the “Profinet GSD Checker” tool on a Windows PC by searching for “profinet” in the Windows search bar.
- Use the tool’s “File > Open” menu to select your edited GSD file. The tool will provide an overview of the file and allow you to navigate its different parts.
- To verify the file, use the “File > Check” menu. The tool will display any error messages and provide details on the issues found.
The GSD files are structured like:
ISO15745Profile | +--ProfileHeader +--ProfileBody | +--DeviceIdentity | | | +--InfoText | +--VendorName | +--DeviceFunction | | | +--Family | +--ApplicationProcess | +--DeviceAccessPointList +--ModuleList +--SubmoduleList +--ValueList +--LogBookEntryList +--CategoryList +--ChannelDiagList +--ChannelProcessAlarmList +--UnitDiagTypeList +--GraphicsList +--ExternalTextList
The encoding is given in the first line of the XML file. Use utf-8
if using non-ASCII characters in any of the text fields.
When creating a GSDML file, it’s important to understand the key elements and attributes:
- The file follows an XML structure, starting with the ISO15745Profile element.
- The GSD file describes the IO-device and its characteristics. For controller descriptions, a separate CDML (Controller Description Markup Language) file is used.
- The DeviceIdentity section contains information such as InfoText and VendorName.
- The DeviceFunction section includes details about the device’s family.
- The ApplicationProcess section specifies various lists, including DeviceAccessPointList, ModuleList, SubmoduleList, ValueList, LogBookEntryList, CategoryList, ChannelDiagList, ChannelProcessAlarmList, UnitDiagTypeList, GraphicsList, and ExternalTextList.
- The GSD file’s encoding should be specified as utf-8, especially if using non-ASCII characters.
- The CategoryList element can be used to categorize different aspects of the device.
- The ExternalTextList contains human-readable text strings referenced throughout the file.
- The GSDML file can include elements related to diagnosis, process alarms, and graphics.
Remember to adhere to the GSDML file syntax specified in the official GSDML specification for complete details.
To upgrade the GSDML file version, modify the version part of the file name, update the PNIO_Version attribute in the DeviceAccessPointItem element, and adjust the schema name in the ISO15745Profile element to match the new version.