The following sequence of steps lays out a general procedure for the creation of a ‘generic’ Information Model for Devices the Server has access to by PROFINET means:
- The Server reads Vendor-ID and Device-ID from the Device.
- With Vendor-ID and Device-ID the Server finds the matching GSDML file. The GSDML file must have made accessible for the Server beforehand, see 4.1 also.
- The Server reads the “RealIdentificationData” to obtain the IO Data available on the Device.
- The Server reads the “ARData” record to obtain a list of all ARs active on the Device, then reads the “ExpectedIdentificationData” record (see [PN PROTOCOL]) for each AR to obtain a list of expected modules and Submodules.
- For each Submodule found in the “RealIdentificationData” and the “ExpectedIdentificationData” records, the Server creates GsdGenSubmoduleApplicationType Objects in the Information Model accordingly (see 6.3). Missing Submodules (SubmoduleState.IdentInfo block contains “NoSubmodule”) shall not be represented in the Information Model.
- If the “ModuleDiffBlock” for each AR is empty or has a SubmoduleState.IdentInfo block containing “Substitute” or “OK” for the Submodule, the Submodule shall be represented with the CommunicationStatus Property set to INDATA (see 7.1) in the Information Model. If the SubmoduleState.IdentInfo block indicates a configuration mismatch for a Submodule (“Wrong”), it shall have the CommunicationStatus Property set to OFFLINE.
- The ConfigurationStatus Property (see 7.1) is set to WRONG or SUBSTITUTE according to the content of the SubmoduleState.IdentInfo block. If the ModuleDiffBlock is empty or the SubmoduleState.IdentInfo block contains “OK”, the ConfigurationStatus Property shall be set to OK.
- Submodules found in the “RealIdentificationData” record which are not part of a configured AR (are not found an a “ExpectedIdentificationData” record) shall be represented with the CommunicationStatus Property set to OFFLINE and the ConfigurationStatus Property set to UNKNOWN.
- The ARIdentifier Property (see 7.1) shall be provided for each Submodule belonging to an AR which is “InData”.
- The Server learns the structure of each represented Submodule’s IO Data by reading the corresponding “(Virtual)SubmoduleItem/IOData” elements in the GSDML file and creates the GsdGenIoDataType Objects and their components representing the IO Data of the Submodule (see 6.3 and 6.4).
- The Server evaluates the child-elements of the Submodule’s “RecordDataList” element referencing the “ParameterRecordDataItem” elements describing the parameterization records of the Device and creates Variables in the Information Model accordingly (see 6.6).
- The Server evaluates the child-elements of the Submodule’s “AvailableRecordDataList” element referencing the “ParameterRecordDataItem” elements describing the Data Objects offered by the Device and creates Variables in the Information Model accordingly (see 6.7).
The Server might also find a “PROFIenergy” element (see [GSDML]). The Server shall evaluate the structure inside this element and build a PROFIenergy Information Model using the PESAP as defined in [OPC PE].