Diagnostics and maintenance
4.1 Diagnostics mechanisms of PROFINET IO
PROFINET with STEP 7 V15
94 Function Manual, 12/2017, A5E03444486-AH
Forming an AM record with the determined I&M data
The following sections are based on the description of the fundamental structure of the AM
record, see the preceding section.
Since each module of an S7-1500 contains hardware and firmware information, select the
coding for "AM_FullInformation" for the assigned BlockType.
For the data types used:
● IM_Annotation, IM_OrderID, AM_SoftwareRevision and AM_HardwareRevision:
Characters (UTF-8)
● IM_Serial_Number: Characters ("ASCII characters") with the exception of the characters
for DEL (0x7F)
● Do not use String data types. They require additional bytes and therefore do not conform
to the conventions of the PROFINET standard 61158-6-10 "Application layer protocol
specification"
Form the AM_FullInformationBlock for each module as follows:
Table 4- 2 AM_FullInformationBlock for modules
IM_UniqueIdentifier Generate a (pseudo) random UUID (hash value) in accordance with ISO 9834-8 as follows:
• Generate an 8-byte hash value across the I&M0 data of the module (as of Slot 2).
Use the algorithm Fowler-Noll-Vo (in short: FNV); an algorithm for generating variance coef-
ficients (hash values) across data field, see corresponding example code in the Internet or
online support.
• Generate an 8-byte hash value across the I&M0 data of the CPU.
(Use the algorithm Fowler-Noll-Vo (in short: FNV) as described above)
• IM_UniqueIdentifier
Byte 0 to 7: Hash value of module I&M0 data
Bytes 8 to 15: Hash value for CPU-I&M0 data
Required customizations to ISO 9834-8:
Byte 8, Bit 7 has to be set to 1, and Byte 8, Bit 6 to 0 (result of the AND operator with
11
1111, subsequent OR operator with
00 0000)
Byte 6, Bit 4 to 7 have to be set to 0100 (result of the AND operation with 0000 1111, then
OR operation with 0001 0000)
Since this algorithm is based on the I&M0 data of the CPU as well as of the modules, it gener-
ates a constant IM_UniqueIdentifier for an individual module.
When the configuration changes
the IM_UniqueIdentifier also changes.
Byte 0 = 0x02 (slot-oriented coding), see description in the preceding section.
Example: "S7-1500 module" and pad the remaining bytes of IM_Annotation with spaces (0x20).
IM_OrderID Copy 20 bytes of the I&M0 data of the module (beginning with offset 2 of the I&M0 data). Pad
the remaining 44 bytes with spaces (0x20)
Pad the field with 64 spaces (0x20)
Pad the field with 64 spaces (0x20)
Copy 16 bytes of the I&M0 data of the module (beginning with offset 22 of the I&M0 data)
Copy 4 bytes of the I&M0 data of the module (beginning with offset 40 of the I&M0 data)