OverviewIdentification & Maintenance (I&M) is an integral part of each PROFINET Device implementation. It provides standarized information about a device and its parts. The I&M Information is accessible through PROFINET Record Objects and is always bound to a submodule belonging to the item to be described. An item means here the PROFINET Device itself or a part of this device e.g. a plugable module for modular devices. Submodules can provide own I&M objects or share the I&M objects of other submodules. The I&M objects can be grouped into three kinds of information as described as follows. I&M0 is a read only information which describes the associated item. The following fields are defined: Field | Description | Usage Hints |
---|
Vendor ID | The PNO Vendor ID of the associated item. E.g. the vendor of the device or the vendor of a pluggable module/submodule. | This is the Vendor ID of the manufacturer of the item and not the Vendor ID of the PROFINET Protocol Vendor. Do not use the Hilscher Vendor ID. | Order ID | The order id of the associated item. | Order ID as defined by the manufacturer of the item. Must be equal to any order id markings on the item itself. | Serial Number | The serial number of the associated item. | Must be an unique serial number associated with the item. Must be equal to any serial number markings on the item itself. | Hardware Revision | The revision of the hardware of the item. | Must be equal to any hardware revision markings on the item itself. | Software Revision | The software revision of the item | This is the software version of the whole item including the PROFINET protocol implementation and the application. This version is managed by the manufacturer of the item. It must be changed whenever a part of the software within the item (including the PROFINET protocol implementation if it is part of the item) changes. This is not the version number of the PROFINET protocol implementation. Do not use the Hilscher Version of the PROFINET protocol implementation. | Revision Counter | Counts the changes of I&M1 to I&M4 objects | - | Profile ID | The Profile of the item if applicable. | - | Profile Specific Type | Supported I&M objects | Bitmask defining which I&M objects are supported by this item. | - |
The I&M1 to I&M4 objects provide a non-volatile storage for PROFINET engineering-related information. This information is typically generated by the engineering software and stored within the objects at engineering time. The information must be stored by the device in non-volatile memory. The objects must be stored physically within the associated item. This means in particular, if a plugable module is removed from one backplane and plugged into another backplane, it must deliver the same I&M1 to I&M4 information as stored before. Finally, the I&M5 record provides information about the PROFINET protocol implementation itself. It is quite similar to I&M0 but describes the PROFINET protocol implementation instead. Thus it is handled by the PROFINET protocol implementation itself. Addtionally to these submodule specific I&M objects each Profinet device must support the global I&M Filter Data object, the so called "I&M0FilterData". This is an read-only object which is used to determine which submodules are associated with dedicated I&M objects. Structure and access paths of I&M objectsThe following figure shows picture illustrates the structural organization of I&M Records within a device and the access paths: Image Added According I&M a submodule can be characterized as follows.: - Module Representative: The submodule has own I&M data and is a representative for the module. This That means that the submodule provides the I&M information of the submodule represents the superordinate module the submodule is part of.
- Device Representative: The submodule is a representative for the device. In this that case the I&M information of the submodule provides the I&M information of for the superordinate device. Exactly one submodule of the device must have this property. Typicall the DAP submodule is choosen for this that purpose.
When reading - Default: The submodule only represents itself and provides at least I&M0 dataset.
- No I&M: The submodule has no own I&M dataset.
When accessing the I&M objects of a submodule the following order is used to deliver the requested datachoose the I&M dataset provider: - If the submodule provides an own I&M0 object, the I&M read access will deliver use the submodule's I&M objectsdataset.
- If the submodule has no own I&M0 object and the superordinate module has a module representative, the module representative's I&M objects dataset will be deliveredused.
- If the submodule has no own I&M0 object and the superordinate module has no representativ the device representatives's I&M objects dataset will be delivered.
In contrast to this, writing I&M1 to I&M4 objects is only possible on the submodules associated with the I&M objects itself- used.
The access is restricted and validated as follows: - When the choosen I&M dataset provider (the submodule) does not implement the desired I&M object, the error code "Invalid Index" must be returned.
- When a write access is performed and the I&M dataset provider (the submodule) is not directly addressed, but addressed as module or device representative, the error code "Access denied" is to be used. Writing is only allowed if the submodule is addressed directly.
- When a write access to I&M 0 or 5 occurs the error code "Access denied" must be returned as I&M 0 and 5 are read only.
If none of the conditions above matches, the access is to be handled and shall be responded with status "Ok". Finally, the I&M0 Filter Data object contains the information which submodules are associated with their own I&M data, which submodules represent their superodinate module and which submodule represents the whole device. This object is global and a read-only object and it is not associated with any submodule. As a consequence of the above specifications: - Reading I&M 0 is never responded with an error and always succeeds.
- Writing I&M 0 is always responded with error "Access Denied".
- Writing I&M 5 on any submodule is responded either with error "Access Denied" or "Invalid Index".
- Writing I&M 1 to 4 on any submodule contained in I&M0 Filter Data is responded either with "Ok" or error "Invalid Index".
- Writing I&M 1 to 4 on any submodule not contained in I&M0 Filter Data is responded either with error "Access Denied" or "Invalid Index".
Note |
---|
Returning "Acces Denied" or "Invalid Index" is possible since Stack Version 4.2.0.16 or 3.11.0.1 using decidated packet status codes TLR_E_PNS_IF_APPL_IM_ACCESS_DENIED and TLR_E_PNS_IF_APPL_IM_INVALID_INDEX when applicatio handles I&M Read/Write Service. |
Usage of I&M with Hilscher PROFINET ProtocolThe PROFINET Device protocol implementation of Hilscher supports two modes of operation with I&M. For simple applications the PROFINET protocol implementation provides I&M0 to I&M5 objects within the DAP submodule. In this case the I&M is fully handled by the PROFINET protocol implementation without any interaction with the Application. If a more complex I&M structure is required, the PROFINET protocol implementation can forward I&M accesses to the Application. In this case all I&M objects must be handled by the application. The desired mode of operation is configured using the Set Configuration Service. If the PROFINET protocol implementation is configured to handle the I&M internally, the following parameters will be used within the I&M0 object: Field | Source of value |
---|
Vendor ID | Vendor ID in Set Configuration Service or Configuration Database. Can be overwritten by tag list if a Configuration Database is used. | Order ID | Order ID in Set Configuration Service or Configuration Database. | Serial Number | Defaults to the serial number from Security Memory / Flash device label. This is the serial number of the Hilscher communication module if applicable. It shall be changed to the serial number of the manufacturers device using the Set OEM Parameters service. | Hardware Revision | Hardware revision in Set Configuration Service. If a Configuration Database is used the hardware revision from Security Memory / Flash device label is used. This is the hardware revision of the Hilscher communication module if applicable. | Software Revision | Software revision in Set Configuration Service. If a Configuration Database is used the PROFINET protocol implementations software revision will be used. | Revision Counter | Internally stored an incremented on each change of I&M1 to I&M4. | Profile ID | Defaults is '0x00' (Manufacturer specific). Can be changed toa desired value using Set OEM Parameters service. | Profile Specific Type | Defaults is '0x05' (Generic Device). Can be changed to a desired value using Set OEM Parameters service. | Supported I&M objects | Defaults is I&M0 to I&M5. Can be changed to a desired value using Set OEM Parameters service. |
If the application requested to handle the I&M objects, all I&M accesses will be forwarded to the Application using the I&M Read and I&M Write service. For details on the data structures of the I&M services refer to the protocol api. The application must store the data of I&M write services permanently, so that the I&M1 to I&M4 objects and the I&M0 revision counter can be recovered after a power cycle. The I&M0 Filter data structure must be filled by the application with a list of the submodules which are associated with dedicated I&M data. Exactly one of these submodules must be characterized as device representative. Characterization as a module representative is optional and only sensible if the module has more than one submodule. The protocol stack will then internally build up to three lists out of the information provided by the application. |