← Blog

    PROFINET SBOM: Was I&M0 über jedes Gerät verrät und warum DCP nicht reicht

    Kurz gefasst · Stand: Oktober 2026

    PROFINET liefert für die Anlagen-SBOM die vollständigsten Daten: Jedes zertifizierte IO-Device muss den Datensatz I&M0 führen: Hersteller-ID, OrderID (bei Siemens die MLFB), Seriennummer, Hardware- und Softwarestand. Die Abfrage läuft in zwei Schritten: DCP Identify auf Schicht 2 findet alle Teilnehmer im Segment, nennt aber nur Typ und Stationsnamen; erst das Lesen von Datensatz 0xAFF0 per PNIO-CM (UDP 34964, „Read Implicit“, ohne Verbindung zur Steuerung) liefert die Felder, die ein Advisory-Abgleich braucht. Was PROFINET nicht erreicht: alles, was nicht PROFINET spricht, und die Softwarebestandteile unterhalb des Firmwarestands.

    I&M0 ist Pflicht für jedes PROFINET-Gerät und enthält genau die Felder der Geräteliste

    Die „Identification & Maintenance“-Datensätze sind in der PI-Richtlinie 3.502 beschrieben und Teil der Zertifizierung: Ohne I&M0 besteht kein Gerät den Konformitätstest. Der Datensatz liegt unter Index 0xAFF0 und ist vom Hersteller beschrieben, nicht vom Anwender.

    Feld (I&M0)GrößeBedeutung für die Geräteliste
    IM_Vendor_ID2 ByteHersteller als PI-Nummer (42 = Siemens, 176 = Phoenix Contact, 288 = Beckhoff, 333 = Festo); Auflösung über die öffentliche PI-Herstellertabelle
    IM_Order_ID20 ZeichenBestellnummer, wie sie das Advisory nennt – bei Siemens die MLFB, bei Phoenix die Artikelnummer
    IM_Serial_Number16 ZeichenSeriennummer des Geräts
    IM_Hardware_Revision2 ByteHardwarestand
    IM_Software_Revision4 ByteFirmwarestand als Präfix (V/R/P/U/T) plus x.y.z – das Feld, an dem der Versionsbereich des Advisories geprüft wird
    IM_SupportedBitmaskewelche weiteren Datensätze (I&M1–I&M5) das Gerät führt

    I&M1 bis I&M3 (Funktion, Einbauort, Datum, Beschreibung) sind vom Betreiber beschreibbar und helfen bei der Zuordnung zur Teilanlage. I&M5 beschreibt ein eingebettetes Kommunikationsmodul (etwa den Anybus-Chip in einem Fremdgerät) mit eigener OrderID und Firmware.

    DCP findet die Teilnehmer, das Lesen von I&M0 identifiziert sie

    Schritt 1, DCP Identify-All: ein Ethernet-Rahmen an die Multicast-Adresse 01:0E:CF:00:00:00 (EtherType 0x8892); jedes PROFINET-Gerät im selben Schicht-2-Segment antwortet mit Stationsname, Gerätetyp als Text („S7-1500“), Vendor- und Device-ID, Rolle und IP-Konfiguration. Keine Seriennummer, keine Bestellnummer, kein Firmwarestand. Der Scan braucht Raw-Socket-Zugriff und eine Netzwerkkarte im Segment, je VLAN ein Durchlauf.

    Schritt 2, Datensatz lesen: über den PNIO-CM-Dienst auf UDP 34964 liest ein Engineering-Werkzeug den Datensatz 0xAFF0 als „Read Implicit“, ohne Applikationsbeziehung, also ohne die laufende Verbindung zwischen Steuerung und Gerät zu berühren. Genau so arbeiten PRONETA und die Online-Funktionen im TIA Portal. Alternativ liest die Steuerung selbst per Baustein (RDREC bei Siemens, FB_PN_IM0_READ bei Beckhoff).

    Ein Nebeneffekt, der die Arbeit erleichtert: Die Endpoint-Mapper-Antwort auf UDP 34964 enthält bei vielen Geräten einen Text mit Modell und Bestellnummer („S7-1500 6ES7 672-5DC01-0YA0“), ein günstiger Fingerabdruck auf Schicht 3, bevor überhaupt ein Datensatz gelesen wird.

    Was PROFINET nicht liefert

    • Alles außerhalb von PROFINET: Switches ohne PROFINET-Profil, Access Points, Industrie-PCs, Kameras und Router antworten weder auf DCP noch auf PNIO-CM. Sie brauchen SNMP oder eine Inventur über ihre Weboberfläche.
    • Modulare Geräte: Ein ET-200-Kopf hat ein I&M0, jedes Modul mit eigener Firmware ein weiteres je Slot und Subslot. Ein Scan, der nur Slot 0 liest, übersieht Interface- und Funktionsmodule.
    • Geräte hinter einem Proxy: Ein IE/PB-Link antwortet mit eigenem I&M0; die PROFIBUS-Teilnehmer dahinter sind nur per DPV1 (Index 255, Subindex 65000) über den Master erreichbar.
    • Die Software unterhalb der Firmware: I&M0 nennt den Firmwarestand, nicht die Bibliotheken darin. Das ist für die Geräteebene ausreichend, denn Hersteller-Advisories benennen Produkte und Firmwarebereiche, keine Bibliotheken.
    • Schreibzugriffe: DCP Set (Name, IP, Werksreset) ist unauthentifiziert. Ein Inventarwerkzeug darf ausschließlich Identify und Lesedienste verwenden.

    Was das für die Anlagen-SBOM heißt

    • Bei der Abnahme je Segment DCP Identify fahren, dann I&M0 je Teilnehmer und je Slot lesen; Ergebnis ist eine Liste mit Hersteller, OrderID, Seriennummer und Firmware, also die Spalten, über die Siemens, Phoenix Contact, Festo und Pilz ihre Advisories zuordnen.
    • Die Vendor-ID über die PI-Tabelle in einen Herstellernamen auflösen und die OrderID unverändert übernehmen; sie ist der Abgleichsschlüssel, nicht der Produktname.
    • Nicht-PROFINET-Geräte über SNMP, ARP-Tabellen und Weboberflächen ergänzen; welches Verfahren welche Geräte erreicht, steht im Beitrag zum Netzwerkscan je Steuerungswelt.
    • I&M1 (Funktion, Einbauort) nutzen, um Geräte der Teilanlage zuzuordnen. Das spart die Handarbeit beim Zusammenführen mit der Stückliste.

    Alle 13 Hersteller im Vergleich: SBOM je Hersteller →

    Werkspilot Scan an Ihrer eigenen Anlage erproben.

    Wir erproben die Erfassung mit wenigen Anlagenbauern an deren Test- oder Referenzanlagen, vier Monate lang, Stufe für Stufe um ihre Steuerungen erweitert. Der Partner bekommt eine Anlage seiner Wahl als Anlagen-SBOM: jedes erreichbare Gerät mit Hersteller, Bestellnummer und Firmwarestand, offene Positionen einzeln ausgewiesen.

    Entwicklungspartnerschaft anfragen →

    Werkspilot Scan liest diese Felder vom Wartungs-PC aus, lesend und mit fester Anfrageliste, und führt sie je Anlage. Dieser Beitrag beschreibt den Stand der Spezifikationen zum Zeitpunkt der Veröffentlichung.

    Häufige Fragen

    Hersteller-ID (PI-Vendor-ID), OrderID (Bestellnummer, bei Siemens die MLFB), Seriennummer, Hardwarestand und Softwarestand (Firmware als Präfix plus x.y.z), dazu eine Bitmaske der weiteren unterstützten I&M-Datensätze. I&M0 liegt unter Index 0xAFF0, ist vom Hersteller beschrieben und für jedes zertifizierte PROFINET-IO-Device Pflicht.

    Nein. DCP Identify findet alle Teilnehmer im Schicht-2-Segment und nennt Stationsname, Gerätetyp als Text, Vendor- und Device-ID und die IP-Konfiguration, aber weder Seriennummer noch Bestellnummer noch Firmwarestand. Diese Felder liefert erst das Lesen des Datensatzes 0xAFF0 per PNIO-CM auf UDP 34964, das ohne Verbindung zur Steuerung möglich ist.

    Nicht, wenn er nur Identify und Lesedienste nutzt. DCP Identify sendet jede Steuerung beim Hochlauf selbst, und das Lesen von Datensätzen als „Read Implicit“ berührt die laufende Verbindung nicht. Riskant sind DCP-Set-Befehle (Name, IP, Werksreset), die unauthentifiziert sind, und Port-Scans nach Art eines IT-Schwachstellenscanners, die ältere Stacks zum Stillstand bringen können.