Telegrammdefinition - Der Industriestandard - csp-sw.de

Die Seite wird erstellt Horst Schäfer
 
WEITER LESEN
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                     Version 5.2.10 vom 22.04.2015

                 IPM
          Telegrammdefinition
                            - Der Industriestandard -

Allgemeines:
Diese Spezifikation bezieht sich auf die Version „5“ (Byte 25-26) im Telegramm-Header. Bei späteren Änderungen ist
darauf zu achten, dass abhängig von der Versionsnummer der Spezifikation auch die Versionsnummer im Telegramm
dementsprechend verändert wird.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                  Seite 1 von 41
Der                                  Telegrammdefinition
Industrie-                          für die Kommunikation
Standard                                    mit IPM

                                Version 5.2.10 vom 22.04.2015

Rechtlicher Hinweis

Die Weitergabe dieses Dokumentes an Dritte ist nicht gestattet.
Des Weiteren sind die technische Nutzung sowie deren Umsetzung für Drittanbieter nicht gestattet.
Die Urheberrechte liegen ausschließlich bei der CSP GmbH & Co. KG.
Zuwiderhandlungen werden zivilrechtlich verfolgt.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                   Seite 2 von 41
Der                                                  Telegrammdefinition
 Industrie-                                          für die Kommunikation
 Standard                                                    mit IPM

                                                 Version 5.2.10 vom 22.04.2015

0     Inhaltsverzeichnis
0    Inhaltsverzeichnis..............................................................................................................................3
1    Änderungsindex ................................................................................................................................5
2    Einleitung ..........................................................................................................................................6
3    Komponenten des Telegramms .........................................................................................................6
4    Verfahren zur Prüfsummenberechnung ............................................................................................6
5    Allgemeine Bemerkungen.................................................................................................................7
6    IPM Telegramm ................................................................................................................................8
  6.1     Telegramm-Header ...................................................................................................................8
  6.2     Übertragungsparameter .............................................................................................................8
  6.3     AFO-Nutzdaten .........................................................................................................................9
  6.4     Verbaute Teile .........................................................................................................................11
  6.5     Merkmalsdaten ........................................................................................................................12
  6.6     Parameter ................................................................................................................................13
  6.7     Kurve .......................................................................................................................................14
  6.8     Prüfsumme ..............................................................................................................................14
7    Quittung ..........................................................................................................................................15
  7.1     Quittungs-Header ....................................................................................................................15
  7.2     Nutzdaten ................................................................................................................................15
8    Life-Telegramm ..............................................................................................................................16
  8.1     Life-Telegramm ......................................................................................................................16
9    RFC 1006 Kommunikation .............................................................................................................16
10 Tabellen ...........................................................................................................................................17
  10.1 Tabelle „Quittungs-Fehlercodes“ ............................................................................................17
     10.1.1 1xxx: Allgemeiner Telegrammfehler / Fehler laufende Nummer / Prüfsummenfehler ..17
     10.1.2 2xxx: Daten im falschen Format .....................................................................................18
     10.1.3 3xxx: Wert nicht im definierten Bereich / Wert ist ungültig ..........................................20
     10.1.4 4xxx: Erforderliche Information fehlt .............................................................................22
     10.1.5 5xxx: Logische Fehler .....................................................................................................24
     10.1.6 6xxx: Fehler in der Kurvendefinition..............................................................................25
11 Verhalten bei Fehlern und Timeout ................................................................................................26
  11.1 Keine Fehler ............................................................................................................................26
  11.2 Fehler ......................................................................................................................................27
  11.3 Time Out .................................................................................................................................28
12 Datenformat ....................................................................................................................................29
  12.1 Intel Format (little endian) ......................................................................................................29
     12.1.1 Definition ........................................................................................................................29
     12.1.2 Beispiele ..........................................................................................................................29
  12.2 Network byte order (big endian) .............................................................................................30
     12.2.1 Definition ........................................................................................................................30
     12.2.2 Beispiele ..........................................................................................................................30
13 Bemerkungen zu Kurven ................................................................................................................31
14 Beispiele ..........................................................................................................................................32
  14.1 Quittung / Prüfsumme .............................................................................................................32
  14.2 Telegramm ohne Kurve ..........................................................................................................33
  14.3 Telegramm mit Kurve .............................................................................................................35
     14.3.1 Winkel übertragen durch Schrittweite und Startwert, Drehmoment durch Kurvenwerte
               35
IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                                              Seite 3 von 41
Der                                              Telegrammdefinition
Industrie-                                      für die Kommunikation
Standard                                                mit IPM

                                            Version 5.2.10 vom 22.04.2015
    14.3.2 Winkel und Drehmoment übertragen als Kurvenwerte ..................................................38
  14.4 Verbauhierarchie .....................................................................................................................41

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                                    Seite 4 von 41
Der                                      Telegrammdefinition
Industrie-                              für die Kommunikation
Standard                                        mit IPM

                                    Version 5.2.10 vom 22.04.2015

1   Änderungsindex

Version Datum      Änderung
5.0.0   30.11.2011 Änderungen gegenüber 4.2:
                   - Alle Felder (außer Prüfsumme) haben nun geradzahlige Längen:
                     Übertragungsparameter: Byte order, Herstellerkennung
                     AFO-Nutzdaten: Vorgangsnummer, Kurve vorhanden, Modus, zusätzlicher Status,
                        Werkerinformation vorhanden, Bedeutung und Länge Zusatzinformation, Fehlercode
                     Verbaute Teile: Länge Sachnummer und Länge Identnummer
                     Merkmalsdaten: Kurvenwert-Länge und –Vorzeichen, Stufentyp
                     Parameter: Datentyp, Länge bei Textwert,
                     Kurve: Kurvenblock-Länge
                   - Jedes Telegramm kann eine eindeutige ID enthalten (GUID)
                   - Umbenennung von „Vorgangsnummer“ in „Schraubfall“
                   - Zusätzliche Kennzeichnung einer AFO durch „Arbeitsvorgang“
                   - Die Länge der Typ-Information ist nun variabel
                   - Angabe, ob die letzte (geplante) Stufe eines Prozesses erreicht wurde
                   - Mehrere Werkerinformationen können übertragen werden
                   - Minimale Länge Werker-ID ist nun 0
                   - Merkmalkennung erweitert auf 18 Zeichen
                   - Messwert kann leer sein
                   - Messwert kann ein Text sein
                   - Verbaute Teile: weitere Informationen übermittelbar:
                       Teilecode, Kennzeichen, Lieferant, Anzahl, Zusatzinformationen zum Teil
                   - Zu jedem Merkmal kann ein Status übertragen werden
                   - Parameterkennung erweitert auf 20 Zeichen
                   - Anzahl Kurvenblöcke kann nun auch „0“ sein
                   - Länge Kurvenblock kann nun auch „0“ sein
                   - Life-Telegramm kann an IPM gesendet werden um Verbindung zu testen
5.0.1   16.12.2011 - Beispiel Kapitel 14.4 korrigiert und erweitert.
5.1.0   16.02.2012 - Wartungsinformationen hinzugefügt
5.2.0   23.03.2012 - Änderung Wartungsinformation in Modulinformation
                      und Bedeutung als Textwert
5.2.1   19.04.2012 - Kapitel 14.1 Version des Quittungstelegramm korrigiert.
5.2.2   26.04.2012 - Feld Bedeutung in Verbauzusatzinformation auf alphanumerisch geändert
5.2.3   13.07.2012 - Kapitel 6.4: Fußnote hinzugefügt betreffend Zusatzinformationsblock und Fehlercode 4476
                     entfernt
5.2.4   27.03.2013 - Beispiele Kapitel 14: Kurvenwert-Faktor korrigiert, wenn Kurvenwert-Länge = 0
                   - IPM Telegrammaufbau Kapitel 6: Pflichtfelder und korrespondierende Pflichtfelder korrigiert
5.2.5   16.08.2013 - Definition der erlaubten Zeichen für die AFO-Übertragung spezifiziert
                   - Quittungs Fehlercode „1“ (Allgemeiner Telegrammfehler) hinzugefügt
5.2.6   23.10.2013 - Beispiele Kapitel 14: Länge Werkzeug-ID korrigiert (14.2), Länge Nutzdaten korrigiert (alle)
                   - Beschreibung, wie optionale Felder zu befüllen sind
5.2.7   12.02.2014 - Kennzeichnung von Feldern, die in der IPM Weboberfläche durch Eingabefelder oder
                   Auswahlboxen gefiltert werden können.
5.2.8   19.02.2014 - Fehlercodes für Quelle und Ziel hinzugefügt (4010, 4020).
5.2.9   23.06.2014 - Zeitpunkt definiert, wann mit dem Senden von LIFE-Telegrammen begonnen wird
                   - Kennzeichnung ModulinformationInformationsart korrigiert
                   - Inhalte der Quittungen Kapitel 11 überarbeitet
5.2.10  22.04.2015 Korrekturen

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                Seite 5 von 41
Der                                         Telegrammdefinition
Industrie-                                 für die Kommunikation
Standard                                           mit IPM

                                       Version 5.2.10 vom 22.04.2015

2    Einleitung
Die Kommunikation zwischen dem IPM-Gateway und einer Anlage erfolgt über eine Socketverbindung.
Das IPM-Gateway ist der Server und die Anlage der Client, der die Verbindung auf- und abbaut. Damit getrennte
Verbindungen nicht unbegrenzt lange stehen bleiben können, kann eine Verbindung auch vom IPM-Gateway getrennt
werden, wenn über einen bestimmten Zeitraum hinweg keine Kommunikation stattfand.

3    Komponenten des Telegramms
Ein Telegramm besteht aus mehreren Komponenten. Diese sind:
*Telegramm-Header
*Übertragungsparameter
*AFO-Nutzdaten
 Merkmalsdaten
 Kurve
*Prüfsumme

Der Stern (*) kennzeichnet zwingend erforderliche Telegramm-Komponenten.
Die Raute (#) kennzeichnet Felder, die in der IPM Weboberfläche als Filter verwendet werden können. Ein Filter kann sein
ein Baumknoten, eine Eingabebox, eine Auswahlbox, etc. Nicht alle Felder können in allen Standard-Bereichen bzw. -
Reports gefiltert werden.
Der Telegramm-Header enthält Informationen über das Telegramm selbst wie Version, laufende Nummer oder Länge.
Die Übertragungsparameter legen fest, ob Binärdaten in Intel byte order (little endian) oder in Network byte order (big
endian) übertragen werden. Zusätzlich kann hier eine GUID für das Telegramm übertragen werden, mit der
Doppelverarbeitungen vermieden werden können.
Die AFO (Arbeitsfolge) beschreibt einen eindeutigen Arbeitsvorgang.
Die Merkmalsdaten beinhalten einen Messwert mit seinen Parametern.
Eine Kurve gibt bezogen auf die Merkmale den Verlauf einer Messung wieder.
Pro Telegramm wird genau eine Messung übertragen, welche auch mehr als einen Messwert beinhalten kann. Das nächste
Telegramm kann erst dann abgeschickt werden, wenn das vorhergehende quittiert wurde. Die Telegramme müssen je
Anlage in chronologischer Reihenfolge geschickt werden.

4    Verfahren zur Prüfsummenberechnung
Die Prüfsumme wird gebildet, indem die Bytes des Telegramms der Reihe nach XOR-verknüpft werden.
(Ergebnis E = Byte B0 XOR Byte B1; E = E XOR B2; E = E XOR B3; ...)
Das Byte für die Prüfsumme wird von der Erzeugung der Prüfsumme ausgeschlossen.
Zum Überprüfen auf der Empfangsseite wird dasselbe Verfahren verwendet. Wird hier die Prüfsumme mit in die
Berechnung einbezogen, muss als Ergebnis 0 herauskommen (z.B. berechnete Prüfsumme: 0x51 = 01010001b;
0x51 XOR 0x51 = 01010001b XOR 01010001b = 0).

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                      Seite 6 von 41
Der                                         Telegrammdefinition
Industrie-                                 für die Kommunikation
Standard                                           mit IPM

                                       Version 5.2.10 vom 22.04.2015

5    Allgemeine Bemerkungen
Alle Felder werden linksbündig eingetragen und mit Leerzeichen aufgefüllt.
Mit Ausnahme der Kurvenwerte werden alle Daten in Textform übertragen. Zahlen werden demnach nicht binär codiert
übertragen.
Als Dezimaltrennzeichen für alle Werte (ausgenommen Kurvenwerte, weil binär codiert) wird der Punkt „.“ festgelegt.
Bei der Beschreibung der Telegramm-Komponenten entspricht zur besseren Darstellung das Symbol „“ einem
Leerzeichen.
Bezeichnungen und Kennungen für Merkmale (z.B. WI und MI), Parameter, Status, Modus, etc. sind in dieser Definition
nicht enthalten, sondern werden in einer eigenen Liste gepflegt, die auf Anfrage zur Verfügung gestellt wird. Sollten in
dieser nicht alle vom Hersteller möglichen Kennungen enthalten sein, so ist dies zum Zweck der Erweiterung an CSP zu
melden. Diese Liste wird in diesem Dokument als „Anhang“ bezeichnet.
Eine Darstellung in Landessprache (Mehrsprachigkeit) erfolgt in der Auswertesoftware.
Um die Übertragung von negativen Kurvenwerten zu ermöglichen wird im Merkmal das Feld „Vorzeichen“ eingeführt, das
angibt, ob nur positive oder auch negative Kurvenwerte (zum jeweiligen Merkmal) übertragen werden.
Bei einer festen Schrittweite ist dieses Feld auf „“ (Leerzeichen) zu setzen.
Da alle anderen Werte im ASCII-Format übertragen werden, wird diesen bei negativen Werten ein „-“-Zeichen
vorangestellt.
Die Bytelänge für die Kurvenwerte wird auf 1, 2 oder 4 Byte festgelegt. Eine genaue Definition folgt im Abschnitt
„Kurve“.
Da Kurvenwerte immer als Ganzzahl (mit 1, 2 oder 4 Byte) übertragen werden, wird mit dem „Faktor“ die Anzahl der
Nachkommastellen angegeben. Um sehr große Werte kleiner darstellen zu können, ist ein negativer „Faktor“ möglich. Es
wird also immer der Dezimalpunkt um die angegebene Anzahl von Stellen verschoben.
Eine entsprechende Tabelle ist weiter unten aufgeführt.
In der Kurve können mehrere Stufen übertragen werden. Um für jede Stufe auch Messwerte übertragen zu können, wird im
Merkmalsblock die jeweilige Stufe, auf die sich der Messwert bezieht, eingetragen.
Jedes Telegramm wird vom IPM-Gateway quittiert.
Sowohl Daten- als auch Quittungstelegramm sind mit einer Prüfsumme versehen.
Bei einem Neustart des Clients wird als erste lfd. Nr. AAAA gesendet. Die nächste Nummer ist 1. Dadurch wird nach
einem Neustart die Synchronisation neu gestartet. Nach Überlauf der Sequenz (9999+1) ist wieder mit 0 zu starten.
Nach dem Verbindungsaufbau kann das Telegramm eine beliebige laufende Nummer haben
Die einzige laufende Nummer, die einen Fehler verursacht ist die, die beim letzten als korrekt quittierten Telegramm
verwendet wurde. Dies geschieht, um eine Wiederholung des letzten Telegramms zu verhindern. Alle anderen laufenden
Nummern sind erlaubt, damit eine Steuerung keine bereits in einem Telegramm im Puffer gesetzte laufende Nummer
ändern muss, falls sie über längere Zeit nicht senden kann und die ältesten Puffer-Einträge löschen muss. Niedrigere
laufende Nummern sind ebenfalls erlaubt, da in dieser Zeit möglicherweise ein Überlauf nach 9999 auftrat.
Die Felder „Kennung“, „Version“ und „Zeichencodierung“ im Telegramm-Header und im Quittungs-Header dürfen nur
Zeichen aus dem ASCII-Zeichensatz enthalten (US-ASCII).
Ein Stern (*) kennzeichnet zwingend zu befüllende Felder im Telegramm. Ein Plus (+) kennzeichnet Felder oder Blöcke,
die dann zwingend zu befüllen sind, falls ein korrespondierendes Feld gesetzt ist. Ist ein Feld optional (also nicht mit *
gekennzeichnet oder aufgrund eines + nicht erforderlich), so ist das Feld mit Leerzeichen zu befüllen. So ist z.B. die
Herstellerkennung in den AFO-Nutzdaten optional, jedoch ist der Platz im Telegramm fest diesem Feld zugeordnet, der
Wert kann aber leer gelassen (sprich: nur mit Leerzeichen besetzt) werden.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                      Seite 7 von 41
Der                                        Telegrammdefinition
Industrie-                                für die Kommunikation
Standard                                          mit IPM

                                    Version 5.2.10 vom 22.04.2015

6      IPM Telegramm
6.1     Telegramm-Header
Feld                             Länge Format Wertebereich /            Bemerkung
                                 [Byte]   t = Text    Codierung
                                          b = binär
*Quelle                            8          t                         z.B. CSP.0001: Steuerung der Fa. CSP mit
                                                                        laufender Nummer 1
*Ziel                              8          t                         Das Zielsystem, IPM.0001 z.B. ist IPM Bei
                                                                        mehreren Installationen gibt die Nummer die
                                                                        Ziel-Installation an.
*Kennung                           8          t           IPM-DATA      Kennzeichnung des Telegramms
*Version                           2          t              5         Telegrammversion (Versionskennung siehe
                                                            (integer)   Seite 1)
*Zeichencodierung                  20         t        US-ASCII oder    alle anderen Codierungen abhängig von der
                                                        ISO-8859-1      Plattform, auf der IPM installiert ist
*lfd. Nr.                          4          t         0 – 9999     Lfd. Nr. des Telegramms; wird von der
                                                            (integer)   Steuerung generiert
                                                         bzw. AAAA
*Länge Nutzdaten                   6          t       0 – 999999 incl. Prüfsumme aber ohne Telegramm-Header
                                                           (integer)  (erstes enthaltenes Feld: Byte order)

Die Informationen aus dem Telegramm-Header werden für das Quittungstelegramm verwendet.

6.2     Übertragungsparameter
Feld                             Länge Format Wertebereich /            Bemerkung
                                 [Byte]   t = Text    Codierung
                                          b = binär
*Byte order                        2          t               0        0 = Intel byte order (little endian)
                                                              1        1 = network byte order (big endian)
                                                                        Beschreibung siehe „Datenformat“ auf Seite 29
    GUID           * Länge         2          t            0 – 99      Länge der übertragenen GUID
                                                            (integer)
                   + Wert         len         t                         GUID zur eindeutigen Identifikation des
                                                                        Telegramms. Falls eine GUID verwendet wird,
                                                                        kann hierdurch eine doppelte Eintragung der
                                                                        Daten verhindert werden. Wenn die GUID
                                                                        schon von irgendeiner Quelle in das IPM-
                                                                        System übertragen wurde, werden die Daten
                                                                        nicht geschrieben.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                Seite 8 von 41
Der                                           Telegrammdefinition
Industrie-                                   für die Kommunikation
Standard                                             mit IPM

                                       Version 5.2.10 vom 22.04.2015
6.3    AFO-Nutzdaten
Der Block mit den Nutzdaten der AFO (Arbeitsfolge) ist genau 1-mal im Telegramm enthalten.
Eine AFO beschreibt die Stelle, an der Messungen durchgeführt werden, z. B. Schraubstelle, Schweißpunkt oder
Befüllstation.
Über die AFO wird der Datensatz in IPM eindeutig zugeordnet.
In der AFO erlaubt sind alle alphanumerische Zeichen (a-z, A-Z, 0-9) sowie die Zeichen „_“ (Unterstrich) „-„ (Minus) „.“
(Punkt)

Feld                                Länge Format Wertebereich /            Bemerkung / Beispiel
                                    [Byte]   t = Text    Codierung
                                             b = binär
 Herstellerkennung                    6          t                         mögliche Werte siehe Anhang
*AnlagentypAnlagentyp                 2          t            0 – 99      mögliche Werte siehe Anhang
                                                               (integer)
*#Datum                               10         t         dd.MM.yyyy      Datum der Messung
                                                                           (d = tag, M = Monat, y = Jahr)
*#Uhrzeit                             8          t           hh:mm:ss      Uhrzeit der Messung (in 24-Stunden-Notation)
                                                                           (h = Stunde, m = Minute, s = Sekunde)
*#AFO                                 30         t                         eindeutige Bezeichnung der Arbeitsfolge
 Schraubfall                          16         t                         Schraubfall
 #AFO-Text                            50         t                         Benennung der Arbeitsfolge
 Arbeitsvorgang * Länge               2          t             0-99       Länge des folgenden Wertes
                                                               (integer)
                  + Wert             len         t                         z.B. Radverschraubung
 Werkzeug-ID                         10          t                         Seriennummer der AnlageAnlage, Spindel …
*Anzahl Modulinformationen            2          t             0-99       Anzahl übertragener Modulinformationen
                                                               (integer)
Je Modul-       Informations-         2          t                         Modulinformationen mit der gleichen Gruppe
information     gruppe                                                     werden als zusammengehörend betrachtet.
                                                                           (innerhalb einer Gruppe darf eine Bedeutung
                                                                           nur einmal vorkommen)
               +Informationstyp       2          t             1-99       Informationstyp z.B. Stammdaten
                                                               (integer)   mögliche Werte siehe Anhang
               +Informationsart       6          t                         Information, was diese Information
                                                                           repräsentiert (z.B. einen Ist-Zähler)
              +Datentyp des           2          t               0        0 = Numerisch (float)
              Messwertes                                         1        1 = Text
              Falls     Num.          8          t              float      numerischer Wert
              Datentyp Wert
              =0
              Falls     +Länge        4          t         0 – 255     Länge des Text-Wertes
              Datentyp                                         (integer)
              =1        +Text-                   t                         Text-Wert
                        Wert
 #Bauteilträger-ID                    10         t                         ID eines evtl. vorhandenen Bauteilträgers
 Typ          *Länge                  2          t            0 – 99      Länge des folgenden Typs
                                                               (integer)
               +Wert                 len         t                         z.B. Fahrzeug-Typbezeichnung
 #Ident-Nr.                          40          t                         Fahrgestellnummer, Motornummer, etc.
 #Zusätzliche ID                     10          t                         z.B. laufende Nummer
*Kurve vorhanden                      2          t               0        0 = ohne Kurve
                                                                 1        1 = mit Kurve

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                     Seite 9 von 41
Der                                            Telegrammdefinition
Industrie-                                    für die Kommunikation
Standard                                              mit IPM

                                        Version 5.2.10 vom 22.04.2015
Feld                                 Länge Format Wertebereich /             Bemerkung / Beispiel
                                     [Byte]   t = Text    Codierung
                                              b = binär
*#Status                               2          t            0 – 99       0 = i.O.
                                                                (integer)    1 = nicht i.O.
                                                                             weitere mögliche Werte siehe Anhang
 Modus                                 2          t           , 0 – 99    mögliche Werte siehe Anhang
                                                                (integer)
 Zusätzlicher Status                   2          t           , 0 – 99    mögliche Werte siehe Anhang
                                                                (integer)
 Letzte Stufe des Ablaufs erreicht     2          t          , 0, 1       = keine Information
                                                                             0 = letzte Stufe nicht erreicht
                                                                             1 = letzte Stufe erreicht
*Anzahl Werkerinformationen            2          t             0-10        Anzahl übertragener Werkerinformationen
                                                                (integer)
je Werker-        +Länge               2          t            1 – 99       Länge der nachfolgenden Werker-ID
information                                                     (integer)
                 +Werker-ID           len         t                       ID des Werkers
                  Schutzstufe          2          t                       Schutzstufe des Werkers
*Anzahl Zusatzinformationen            2          t           0 – 10     Anzahl der folgenden zusätzlichen
                                                               (integer)  Informationsblöcke
Für jede Zusatz- +Bedeutung            6          t       0 – 999999 Was repräsentiert die zusätzliche Information?
information                                                    (integer)  mögliche Werte siehe Anhang
                 +Länge                4          t         0 – 255   Wie lang sind die folgenden Daten
                                                                (integer)
                 + Daten              len         t                          Wert der Zusatzinformation
*Anzahl Fehlercodes                    2          t            0 – 99       Anzahl der folgenden Fehlercodes
                                                                (integer)
Für jeden Fehler +Fehlercode           6          t       0 – 999999 6 Byte für jeden Fehlercode;
                                                               (integer)  mögliche Werte siehe Anhang
*Anzahl Verbauergebnisse               2          t           0 – 99     Gibt an, wie viele „Ergebnisse“ bei dieser AFO
                                                               (integer)  entstehen
Für jedes      +[Verbaute Teile]                  t                       Die Verbauergebnisse
Verbauergebnis
*Anzahl Merkmale                       2          t            0 – 99       Anzahl der folgenden Merkmalsblöcke, Anzahl
                                                                (integer)    der Messwerte innerhalb dieses Telegramms

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                       Seite 10 von 41
Der                                            Telegrammdefinition
Industrie-                                    für die Kommunikation
Standard                                              mit IPM

                                        Version 5.2.10 vom 22.04.2015
6.4         Verbaute Teile
(zwingend erforderlich falls Anzahl verbaute Teile nicht Null ist)
Feld                                 Länge Format Wertebereich /            Bemerkung
                                     [Byte]   t = Text    Codierung
                                              b = binär
*Länge Sachnummer                      4          t          1 – 255    Gibt an, wie lang die Sachnummer ist
                                                                (integer)
 #Sachnummer                                      t
*Länge Identnummer                     4          t          1 – 255    Gibt an, wie lang die Identnummer ist
                                                                (integer)
  #Identnummer                                    t
  #Teilecode (Teilefamilie)            16         t                         Gibt Teilefamilie an; hilfreich z.B. wenn es
                                                                            mehrere Sachnummern zu einem Bauteil gibt
                                                                            (z.B. Stoßdämpfer)
  #Kennzeichen/Identifikation          10         t                         z.B. ob Serienteil, Kaufteil
  #Lieferant         * Länge           4          t          0 – 255    Länge des Lieferanten-Wertes
                                                                (integer)
                     + Wert           len         t                         Lieferant
  Anzahl Teile                         4          t         , 0 –    Gibt die Anzahl der Teile an z.B. von Charge
                                                                9999
                                                                (integer)
*Anzahl Zusatzinformationen            2          t            0 – 99      Angabe, wie viele Zusatzinformationen zum
zum verbauten Teil                                              (integer)   Teil folgen
 Zusatzinfo je   + Bedeutung           6          t                         Was repräsentiert die zusätzliche Information?
verbautem        + Länge               4          t          0 – 255    Wie lang sind die folgenden Daten
Teil(1)                                                         (integer)
                       Daten          len         t                         Wert der Zusatzinformation
*Anzahl verbaute Teile                 2          t            0 – 99      Aus wie vielen Teilen wird die Sachnummer
                                                                (integer)   erzeugt
+[verbaute Teile]                                                           Die Teile, aus denen die Sachnummer erzeugt
                                                                            wird

      (1)
             Falls die Länge der Daten 0 beträgt oder bei einer Länge > 0 der Datenteil nur aus Leerzeichen
             besteht, wird dieser eine Zusatzinformationsblock als nicht vorhanden gewertet.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                    Seite 11 von 41
Der                                             Telegrammdefinition
Industrie-                                     für die Kommunikation
Standard                                               mit IPM

                                        Version 5.2.10 vom 22.04.2015
6.5    Merkmalsdaten
(zwingend erforderlich falls Anzahl Merkmale nicht Null ist)
Jede Kombination [Kennung – Stufe] darf pro Telegramm nur ein einziges Mal vorkommen.

Feld                                 Länge Format Wertebereich /              Bemerkung
                                     [Bytes]   t = Text    Codierung
                                               b = binär
*#Kennung                              18          t                          mögliche Werte siehe Anhang
 Einheit                               10          t                          mögliche Werte siehe Anhang
*Kurvenwert-Länge                      2           t         0, 1, 2, 4   bei Kurvenübertragung: entweder
+Kurvenwert-Faktor                     2           t                          - Länge, Faktor und Vorzeichen, oder
+Kurvenwert-Vorzeichen                 2           t           , -, +     - Schrittweite und Startwert angegeben
 Kurvenwert-Schrittweite               8           t              float       Vorzeichen: - bedeutet, Kurvenwerte sind
+Kurvenwert-Startwert                  8           t              float       vorzeichenbehaftet
*Datentyp des Messwertes               2           t               0         0 = Numerisch (float)
                                                                   1         1 = Text
Falls Datentyp = 0 Num. Wert           8           t              float       numerischer Messwert
Falls Datentyp = 1 +Länge              4           t          0 – 255     Länge des Text-Messwertes
                                                                 (integer)
                     +Text-Wert                    t                          Text-Messwert
  Status Merkmal                       2           t          , 0 – 99     0 = i.O.
                                                                 (integer)    1 = nicht i.O.
                                                                              weitere mögliche Werte siehe Anhang
*#Stufe                                2           t            0 – 99       z. B. die Nummer der Schraubstufe
                                                                 (integer)
*#Stufentyp                            4           t          0 – 9999     Art der Stufe, z.B. Voranzug
                                                                 (integer)    mögliche Werte siehe Anhang
*Anzahl Parameter                      2           t            0 – 99       z.B. 3 für untere Toleranz, Sollwert und obere
                                                                 (integer)    Toleranz

Beispiel: Um untere Toleranz, Sollwert und obere Toleranz zu senden, ist als Anzahl Parameter der Wert „3“ einzutragen
und sofort anschließend sind 3 Parameter-Blöcke anzugeben.
Ergänzende Erklärung zu den Feldern Länge, Faktor, Vorzeichen, Schrittweite, Startwert:
Die Felder „Länge“, „Faktor“, „Vorzeichen“, „Schrittweite“ und „Startwert“ werden nur berücksichtigt, wenn eine Kurve
mit übertragen wird.
Kurvenwerte werden entweder mittels „Länge“, „Faktor“, „Vorzeichen“ oder mittels „Schrittweite“ und „Startwert“
übertragen.
Arbeitet man mit „Länge“, „Faktor“ und „Vorzeichen“, so werden die Spalten „Schrittweite“ und „Startwert“ je mit 8
Blanks aufgefüllt.
In der Spalte „Vorzeichen“ ist es dann nur möglich, „+“ oder „-“ einzutragen.  (Leerzeichen)ist in diesem Fall nicht
zulässig.
Ist der Wert für den Faktor positiv, so kann sein Vorzeichen weggelassen werden (Feld Faktor: +1 ist gleichbedeutend mit
1).
Arbeitet man mit „Schrittweite“ und „Startwert“, so muss „Länge“ 0, „Faktor“  und „Vorzeichen“  sein.
“Startwert” ist der Wert, zu dem für jeden Kurvenwert im korrespondierenden Kurvenblock die „Schrittweite“ addiert wird.
Wenn zum Beispiel der „Startwert“ 0 ist und die „Schrittweite“ ist 2, dann ist der erste daraus resultierende Wert 0, der
zweite 2, der dritte 4 und so weiter. Falls der „Startwert“ 25.5 und die „Schrittweite“ 0.5 ist, dann resultieren daraus die
Werte 25.5, 26.0, 26.5 und so weiter.
Wird ein Merkmal nicht in der Kurve mit übertragen, so ist die „Länge“ auf 0, der „Faktor“ auf , das „Vorzeichen“ auf
, „Schrittweite“ und „Startwert“ auf  (8x Leerzeichen) zu setzen.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                      Seite 12 von 41
Der                                        Telegrammdefinition
Industrie-                                für die Kommunikation
Standard                                          mit IPM

                                      Version 5.2.10 vom 22.04.2015
6.6    Parameter
(zwingend erforderlich falls Anzahl Parameter in den Merkmalsdaten nicht Null ist)
Jede Parameterkennung darf pro Merkmalblock nur ein einziges Mal vorkommen.
 Feld                             Länge Format Wertebereich /         Bemerkung
                                  [Byte] t = Text Codierung
                                           b = binär
*Kennung                             20        t                          mögliche Werte siehe Anhang
*Datentyp des Parameterwertes        2         t           0             0 = Numerisch (float)
                                                           1             1 = Text
Falls Datentyp = 0 +Num. Wert         8        t          float           z.B. Wert für untere Toleranz oder Sollwert
Falls Datentyp = 1 +Länge             4        t       1 – 255        Länge des Text-Parameterwertes
                                                          (integer)
                    +Text-Wert                 t                          Text-Parameterwert

Beispiel 1: Der Parameter MI soll als Zahlenwert übertragen werden. Dann steht im Feld Kennung MI, bei Datentyp steht 0
und als Wert z.B. 17.12.
Beispiel 2: Der Parameter TEXT (bisher nicht definiert) soll als Text übertragen werden. Im Feld Kennung ist TEXT, bei
Datentyp 1 anzugeben, Länge und Wert sind Beispielsweise 16 und Das ist ein Text.
Da Parameterwerten keine Einheit explizit zugewiesen ist, wird diese vom dem Merkmal geerbt, bei dem der Parameter
definiert ist. Ist zum Beispiel die Merkmalkennung MI und die Einheit Nm, sind die möglicherweise zugeordneten
Parameter MA, M-, M+ und MS ebenfalls in Nm.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                  Seite 13 von 41
Der                                           Telegrammdefinition
Industrie-                                   für die Kommunikation
Standard                                             mit IPM

                                      Version 5.2.10 vom 22.04.2015
6.7    Kurve
(zwingend erforderlich, wenn in den AFO-Nutzdaten das Feld „Kurve“ gesetzt ist)
Auf ein Merkmal darf höchstens einmal in einer Kurve verwiesen werden, d.h., wenn im ersten Kurvenblock auf das
Merkmal 1 verwiesen wird, darf in keinem anderen Kurvenblock mehr auf das Merkmal 1 verwiesen werden. Es darf auch
nicht noch einmal im selben Kurvenblock auftauchen.
Feld                               Länge Format Wertebereich /               Bemerkung
                                   [Byte]    t = Text    Codierung
                                             b = binär
*Anzahl Kurvenblöcke                 2           t            0 – 99        Anzahl der Blöcke (= Stufen)
                                                               (integer)
*Anzahl Dimensionen (=nD)            2           t            1 – 99    Anzahl in der Kurve vorhandener Merkmale
                                                               (integer) (Merkmale, deren Kurvenwerte über eine
                                                                         Schrittweite definiert wurden, werden hier nicht
                                                                         mitgerechnet)
für jeden *Länge Block               6           t       0 – 999999 Anzahl der Kurvenwerte für den jeweiligen
Kurven- (=LB)                                                 (integer)  Kurvenblock
block     *Merkmal Dim. 1            2           t           1 – 99     Nummerierung der Merkmale festgelegt über
                                                              (integer)  die Reihenfolge ihres Erscheinens im
                                                                         Telegramm (erstes Merkmal: Nummer = 1)
          ...
          *Merkmal Dim nD            2           t            1 – 99
                                                               (integer)
          Kurven-    Wert Dim 1     aus          b                           der resultierende Wert ergibt sich aus dem hier
                                   Merk-
          wert 1                    mal                                      enthaltenen Integer-Wert kombiniert mit dem
                                                                             Faktor („Länge“, „Faktor“, „Vorzeichen“ aus
                                                                             dem Merkmal für diese Dimension)
                     ...
                     Wert Dim       aus          b
                                   Merk-
                     nD             mal
          ...
          Kurven-    Wert Dim 1     aus          b
                                   Merk-
          wert LB                   mal
                     ...
                     Wert Dim       aus          b
                                   Merk-
                     nd             mal

6.8    Prüfsumme
Feld                               Länge Format Wertebereich /               Bemerkung
                                   [Bytes]   t = Text    Codierung
                                             b = binär
*Prüfsumme                           1           b                           Berechnet über das gesamte Telegramm
                                                                             (Header mit eingeschlossen) mit Ausnahme
                                                                             dieses Prüfsummen-Feldes

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                     Seite 14 von 41
Der                                            Telegrammdefinition
Industrie-                                    für die Kommunikation
Standard                                              mit IPM

                                      Version 5.2.10 vom 22.04.2015

7      Quittung
Jedes von der Anlage gesendete Telegramm wird der Anlage quittiert.
Als Zeichencodierung wird der Wert eingetragen, der in dem zu quittierenden Telegramm angegeben wurde.
Sollte beim Verarbeiten des Telegramms ein Fehler auftreten (Prüfsumme falsch, Telegrammstruktur fehlerhaft, ...), so
repräsentiert der Wert im Status den Typ des Fehlers.

7.1     Quittungs-Header
Feld                                Länge Format Wertebereich /             Bemerkung
                                    [Bytes]   t = Text    Codierung
                                              b = binär
*Quelle                               8           t                         Ziel aus dem Telegramm-Header
*Ziel                                 8           t                         Quelle aus dem Telegramm-Header
*Kennung                              8           t           IPM-QUIT      Kennzeichnung des Telegramms
*Version                              2           t              5         Telegrammversion
                                                                (integer)
*Zeichencodierung                     20          t        US-ASCII oder    alle anderen Codierungen abhängig von der
                                                            ISO-8859-1      Plattform, auf der IPM installiert ist.
*lfd. Nr.                             4           t         0 – 9999     Laufende Nummer des Telegramms, auf das
                                                                (integer)   sich diese Quittung bezieht.
                                                              bzw. AAAA
*Länge Nutzdaten                      6           t            23       Quittung besteht aus 23 Byte Nutzdaten
                                                                            incl. Prüfsumme aber ohne Quittungs-Header

7.2     Nutzdaten
Feld                                Länge Format Wertebereich /             Bemerkung
                                    [Byte]    t = Text    Codierung
                                              b = binär
*Status                               4           t          0 – 9999    0 = i.O.
                                                                (integer)   > 0 nicht i.O; vgl. Tabelle „Quittungs-
                                                                            Fehlercodes“ auf Seite 17
*Datum                                10          t         dd.MM.yyyy      Datum des Rechners, auf dem das IPM
                                                                            Gateway läuft
                                                                            (Wert gelesen zum Sendezeitpunkt)
                                                                            (d = tag, M = Monat, y = Jahr)
*Uhrzeit                              8           t           hh:mm:ss      Uhrzeit des Rechners, auf dem das IPM
                                                                            Gateway läuft
                                                                            (in 24-Stunden-Notation)
                                                                            (Wert gelesen zum Sendezeitpunkt)
                                                                            (h = Stunde, m = Minute, s = Sekunde)
*Prüfsumme                            1           b                         Berechnet über das gesamte Telegramm
                                                                            (Header mit eingeschlossen) mit Ausnahme
                                                                            dieses Prüfsummen-Feldes

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                   Seite 15 von 41
Der                                             Telegrammdefinition
Industrie-                                     für die Kommunikation
Standard                                               mit IPM

                                        Version 5.2.10 vom 22.04.2015

8      Life-Telegramm
Um Verbindungsabbrüche sicher erkennen zu können (z.B. durch unterbrochene WLAN-Verbindung), müssen Daten von
IPM zum jeweiligen Client gesendet werden.
Aus diesem Grund gibt es ein „Life-Telegramm“.
Dieses Telegramm wird alle 300 Sekunden geschickt, egal ob in dieser Zeit Daten gesendet wurden, und es wird NICHT
von der Steuerung quittiert.
Das Sendeintervall beginnt nicht sofort mit dem Verbindungsaufbau. Da das Life-Telegramm in alten
Telegrammdefinitionen nicht enthalten war ist nicht davon auszugehen, dass jedes verbundene Gerät dieses Telegramm
verarbeiten kann. Aus diesem Grunde wird auf den Empfang eines Telegrammes gewartet. Falls das empfangene
Telegramm eine entsprechende Versionsnummer enthält, wird das Intervall für das Senden des Life-Telegramms gestartet.
Das Life-Telegramm kann auch jederzeit von der Anlage an IPM gesendet werden um den Status der Verbindung zu
prüfen. Auch hier wird das Telegramm NICHT quittiert.

8.1     Life-Telegramm
Feld                                 Länge Format Wertebereich /             Kommentar
                                     [Bytes]   t = Text    Code
                                               b = binär
Quelle                                 8           t              *****IPM
Ziel                                   8           t              ********
Kennung                                8           t              ****LIFE
Wert                                   4           t                0001

9      RFC 1006 Kommunikation
Es besteht die Möglichkeit, das RFC 1006 Protokoll für das Versenden von IPM Telegrammen zu verwenden.
In dieser Situation ist die Steuerung, die Daten zu IPM schickt, der passive Teilnehmer, d.h. sie wartet auf den eingehenden
Verbindungsaufbau.
Um auch hier Verbindungsabbrüche sicher erkennen zu können, wird ebenfalls alle 300 Sekunden ein Life-Telegramm
(siehe 8.1) gesendet, welches auch hier nicht von der Steuerung quittiert wird.

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                     Seite 16 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                   Version 5.2.10 vom 22.04.2015

10 Tabellen

 10.1 Tabelle „Quittungs-Fehlercodes“
 10.1.1   1xxx: Allgemeiner Telegrammfehler / Fehler laufende Nummer / Prüfsummenfehler

 Fehlercode     Bedeutung
 1              Allgemeiner Telegrammfehler
          1     Allgemeiner Telegrammfehler
 100x          Laufende Nummer
          1000 Laufende Nummer bereits erhalten
 150x          Prüfsumme
          1500 Prüfsumme ist inkorrekt

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                               Seite 17 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                      Version 5.2.10 vom 22.04.2015
10.1.2   2xxx: Daten im falschen Format
Fehlercode      Bedeutung
20xx          Telegramm-Header
         2040 Laufende Nummer ist nicht AAAA und kein Integer
         2050 Länge Nutzdaten ist kein Integer
21xx          Übertragungsparameter
         2110 Byte Order ist kein Integer
         2120 Länge GUID ist kein Integer
22xx            AFO-Nutzdaten
23xx     2215   Anlagentyp ist kein Integer
         2220   Datum ist nicht im festgelegten Format
         2225   Zeit ist nicht im festgelegten Format
         2242   Länge Arbeitsvorgang ist kein Integer
         2255   Länge Typ ist kein Integer
         2270   Kurve vorhanden ist kein Integer
         2275   Status ist kein Integer
         2280   Modus ist kein Integer
         2285   Zusätzlicher Status ist kein Integer
         2300   Letzte Stufe des Ablaufs erreicht ist kein Integer
         2310   Anzahl Werkerinformationen ist kein Integer
         2311   Länge Werker-ID ist kein Integer
         2320   Anzahl Zusatzinformationen ist kein Integer
         2321   Bedeutung der Zusatzinformation ist kein Integer
         2322   Länge der Zusatzinformation ist kein Integer
         2330   Anzahl Fehlercodes ist kein Integer
         2331   Fehlercode ist kein Integer
         2340   Anzahl Verbauergebnisse ist kein Integer
         2350   Anzahl Modulinformation ist kein Integer
         2353   Informationstyp der Modulinformation ist kein Integer
         2356   Datentyp der Modulinformation ist kein Integer
         2357   Numerischer Wert der Modulinformation ist kein Integer
         2358   Länge Text-Wert der Modulinformation ist kein Integer
         2380   Anzahl Merkmale ist kein Integer
24xx            Verbaute Teile
         2410   Länge Sachnummer ist kein Integer
         2420   Länge Identnummer ist kein Integer
         2430   Anzahl Verbaute Teile ist kein Integer
         2450   Länge Lieferant ist kein Integer
         2460   Anzahl Teile ist kein Integer
         2470   Anzahl Zusatzinformationen zum verbauten Teil ist kein Integer
         2475   Länge Zusatzinformation zum verbauten Teil ist kein Integer

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                    Seite 18 von 41
Der                                      Telegrammdefinition
Industrie-                              für die Kommunikation
Standard                                        mit IPM

                                    Version 5.2.10 vom 22.04.2015
Fehlercode    Bedeutung
25xx          Merkmalsdaten
       2530   Kurvenwert-Länge ist kein Integer
       2531   Kurvenwert-Faktor ist kein Integer
       2533   Kurvenwert-Schrittweite ist kein Float
       2534   Kurvenwert-Startwert ist kein Float
       2545   Datentyp des Messwertes ist kein Integer
       2550   Numerischer Istwert ist kein Float
       2555   Länge Text-Istwert ist kein Integer
       2560   Status Merkmal ist kein Integer
       2570   Stufe ist kein Integer
       2571   Stufentyp ist kein Integer
       2580   Anzahl Parameter ist kein Integer
26xx        Parameter
       2620 Datentyp ist kein Integer
       2650 Parameterwert ist kein Float
       2660 Länge ist kein Integer
29xx          Kurve
       2910   Anzahl Kurvenblöcke ist kein Integer
       2920   Anzahl Dimensionen ist kein Integer
       2950   Kurvenblocklänge ist kein Integer
       2960   Merkmal der Dimension x ist kein Integer

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                       Seite 19 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                     Version 5.2.10 vom 22.04.2015
10.1.3   3xxx: Wert nicht im definierten Bereich / Wert ist ungültig
Fehlercode      Bedeutung
30x           Telegramm-Header
         3040 Laufende Nummer ist außerhalb des Wertebereiches
         3050 Länge Nutzdaten ist außerhalb des Wertebereiches

31xx          Übertragungsparameter
         3110 Byte Order ist außerhalb des Wertebereiches
         3120 Länge GUID ist außerhalb des Wertebereiches
32xx            AFO-Nutzdaten
33xx     3215   Anlagentyp ist außerhalb des Wertebereiches
         3220   Datum ist kein gültiges Datum (z.B. Monat > 12, 30 Februar, …)
         3225   Zeit ist keine gültige Zeit (Stunde > 23, Minuten oder Sekunden > 59)
         3242   Länge Arbeitsvorgang ist außerhalb des Wertebereichs
         3255   Länge Typ ist außerhalb des Werbebereichs
         3270   Kurve vorhanden ist außerhalb des Wertebereiches
         3275   Status ist außerhalb der Wertebereiches
         3280   Modus ist außerhalb des Wertebereiches
         3285   Zusätzlicher Status ist außerhalb des Wertebereiches
         3300   Letzte Stufe des Ablaufs erreicht ist außerhalb des Wertebereichs
         3310   Anzahl Werkerinformationen ist außerhalb des Wertebereiches
         3311   Länge Werker-ID ist außerhalb des Wertebereiches
         3320   Anzahl Zusatzinformationen ist außerhalb des Wertebereiches
         3321   Bedeutung der Zusatzinformation ist außerhalb des Wertebereiches
         3322   Länge der Zusatzinformation ist außerhalb des Wertebereiches
         3330   Anzahl Fehlercodes ist außerhalb des Wertebereiches
         3331   Fehlercode ist außerhalb des Wertebereiches
         3340   Anzahl Verbauergebnisse außerhalb des Wertebereiches
         3350   Anzahl Modulinformation ist außerhalb des Wertebereichs
         3353   Informationstyp der Modulinformation ist außerhalb des Wertebereichs
         3356   Datentyp des Wertes der Modulinformation ist außerhalb des Wertebereichs
         3358   Länge Text-Wert der Modulinformation ist außerhalb des Wertebereichs
         3380   Anzahl Merkmale ist außerhalb des Wertebereiches
34xx            Verbaute Teile
         3410   Länge Sachnummer ist außerhalb des Wertebereiches
         3420   Länge Identnummer ist außerhalb des Wertebereiches
         3430   Anzahl Verbaute Teile ist außerhalb des Wertebereiches
         3450   Länge Lieferant ist außerhalb des Wertebereichs
         3460   Anzahl Teile ist außerhalb des Wertebereichs
         3470   Anzahl Zusatzinformation zum verbauten Teil ist außerhalb des Wertebereichs
         3475   Länge Zusatzinformation zum verbauten Teil ist außerhalb des Wertebereichs

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                 Seite 20 von 41
Der                                     Telegrammdefinition
Industrie-                             für die Kommunikation
Standard                                       mit IPM

                                   Version 5.2.10 vom 22.04.2015
Fehlercode    Bedeutung
35xx        Merkmalsdaten
       3530 Kurvenwert-Länge ist außerhalb des Wertebereiches
       3532 Kurvenwert-Vorzeichen ist außerhalb des Wertebereiches
       3545 Datentyp des Messwertes ist außerhalb des Wertebereichs
       3555 Länge Text-Istwert ist außerhalb des Wertebereichs
       3560 Status Merkmal ist außerhalb des Wertebereichs
       3570 Stufe ist außerhalb des Wertebereiches
       3571 Stufentyp ist außerhalb des Wertebereiches
       3580 Anzahl Parameter ist außerhalb des Wertebereiches
36xx        Parameter
       3620 Datentyp ist außerhalb des Wertebereiches
       3660 Länge ist außerhalb des Wertebereiches
39xx          Kurve
       3910   Anzahl Kurvenblöcke ist außerhalb des Wertebereiches
       3920   Anzahl Dimensionen ist außerhalb des Wertebereiches
       3950   Kurvenblocklänge ist außerhalb des Wertebereiches
       3960   Merkmal der Dimension x ist außerhalb des Wertebereiches

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                            Seite 21 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                   Version 5.2.10 vom 22.04.2015
10.1.4   4xxx: Erforderliche Information fehlt
Fehlercode      Bedeutung
40xx            Telegramm-Header
         4010   Quelle fehlt
         4020   Ziel fehlt
         4030   Zeichencodierung fehlt
         4040   Laufende Nummer fehlt
         4050   Länge Nutzdaten fehlt
41xx            Übertragungsparameter
         4110   Byte Order fehlt
         4120   Länge GUID fehlt
         4121   GUID fehlt
42xx            AFO-Nutzdaten
43xx     4215   Anlagentyp fehlt
         4220   Datum fehlt
         4225   Zeit fehlt
         4230   AFO fehlt
         4242   Länge Arbeitsvorgang fehlt
         4243   Arbeitsvorgang fehlt
         4255   Länge Typ fehlt
         4256   Typ fehlt
         4270   Kurve vorhanden fehlt
         4275   Status fehlt
         4310   Anzahl Werkerinformationen fehlt
         4311   Länge Werker-ID fehlt
         4312   Werker-ID fehlt
         4320   Anzahl Zusatzinformationen fehlt
         4321   Bedeutung der Zusatzinformation fehlt
         4322   Länge Zusatzinformation fehlt
         4323   Daten der Zusatzinformation fehlen
         4330   Anzahl Fehlercodes fehlt
         4331   Fehlercode fehlt
         4340   Anzahl Verbauergebnisse fehlt
         4350   Anzahl Modulinformation fehlt
         4353   Informationstyp der Modulinformation fehlt
         4355   Informationsart der Modulinformation fehlt
         4356   Datentyp der Modulinformation fehlt
         4358   Länge des Text-Wert der Modulinformation fehlt
         4359   Text-Wert der Modulinformation fehlt
         4380   Anzahl Merkmale fehlt

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                      Seite 22 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                   Version 5.2.10 vom 22.04.2015
Fehlercode    Bedeutung
44xx          Verbaute Teile
       4410   Länge Sachnummer fehlt
       4420   Länge Identnummer fehlt
       4430   Anzahl Verbaute Teile fehlt
       4450   Länge Lieferant fehlt
       4451   Lieferant fehlt
       4470   Anzahl Zusatzinformationen zum verbauten Teil fehlt
       4471   Bedeutung Zusatzinformation zum verbauten Teil fehlt
       4475   Länge Zusatzinformation zum verbauten Teil fehlt
45xx          Merkmalsdaten
       4510   Merkmalkennung fehlt
       4530   Kurvenwert-Länge fehlt
       4545   Datentyp des Messwertes fehlt
       4555   Länge Text-Istwert fehlt
       4556   Text-Istwert fehlt
       4570   Stufe fehlt
       4571   Stufentyp fehlt
       4580   Anzahl Parameter fehlt
46xx          Parameter
       4610   Parameterkennung fehlt
       4620   Datentyp fehlt
       4650   Parameterwert als Zahl fehlt
       4660   Parameterlänge fehlt
       4665   Parameterwert als Text fehlt
49xx          Kurve
       4910   Anzahl Kurvenblöcke fehlt
       4920   Anzahl Dimensionen fehlt
       4950   Kurvenblocklänge fehlt
       4960   Merkmal Dimension x fehlt

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                        Seite 23 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                     Version 5.2.10 vom 22.04.2015
10.1.5   5xxx: Logische Fehler
Fehlercode      Bedeutung
50xx          Telegramm-Header
         5050 Wert für Länge Nutzdaten ist kleiner als die eines minimalen Telegramms
              (Übertragungsparameter + Nutzdaten + Prüfsumme)
         5051 Wert für Länge Nutzdaten ist größer als die aktuelle Länge der Nutzdaten
52xx            AFO-Nutzdaten
53xx     5310   Telegrammlänge ist nicht ausreichend, um eine Werkerinformation zu enthalten
         5311   Telegrammlänge ist nicht ausreichend für die angegebene Länge Werker-ID
         5320   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl Zusatzinformationen
         5322   Telegrammlänge ist nicht ausreichend für die angegebene Länge der Zusatzinformation
         5331   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl Fehlercodes
         5340   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl Verbauergebnisse
         5350   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl Modulinformation
         5355   Doppelte Informationsart innerhalb einer Informationsgruppe der Modulinformation
         5356   Telegrammlänge ist nicht ausreichend für den Datentyp der Modulinformation
         5358   Telegrammlänge ist nicht ausreichend für die Länge des Text-Wertes der Modulinformation
         5380   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl Merkmale
54xx            Verbaute Teile
         5410   Telegrammlänge ist nicht ausreichend für die angegebene Länge der Sachnummer
         5420   Telegrammlänge ist nicht ausreichend für die angegebene Länge der Identnummer
         5430   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl verbauter Teile
         5470   Telegrammlänge ist nicht ausreichend für die angegebene Anzahl der Zusatzinfos verbauter Teile
         5475   Telegrammlänge ist nicht ausreichend für die angegebene Länge der Zusatzinformation verbauter Teile
55xx          Merkmalsdaten
         5500 Doppeltes Merkmal (gleiche Kennung und Stufe)
         5580 Telegrammlänge ist nicht ausreichend für die angegebene Anzahl Parameter
56xx            Parameter
         5600   Doppelter Parameter im Merkmal (gleiche Kennung)
         5620   Telegrammlänge ist nicht ausreichend für einen numerischen Parameterwert
         5621   Telegrammlänge ist nicht ausreichend für einen nicht-numerischen Parameterwert
         5660   Telegrammlänge ist nicht ausreichend für die angegebene Länge des Parameterwertes
         5670   Telegrammlänge ist nicht ausreichend für die Parameteranzahl
59xx          Kurve
         5910 Telegrammlänge ist nicht ausreichend, um eine Kurve zu enthalten
         5911 Telegrammlänge ist nicht ausreichend, um einen weiteren Kurvenblock zu enthalten
         5950 Telegrammlänge ist nicht ausreichend für die angegebenen Kurvenblocklänge

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                 Seite 24 von 41
Der                                       Telegrammdefinition
Industrie-                               für die Kommunikation
Standard                                         mit IPM

                                      Version 5.2.10 vom 22.04.2015
10.1.6   6xxx: Fehler in der Kurvendefinition
Fehlercode      Bedeutung
65xx          Merkmalsdaten
         6510 Sowohl [Länge, Faktor, Vorzeichen] als auch [Schrittweite, Startwert] sind angegeben
         6520 Länge ist 0, aber Faktor wurde gesetzt
         6525 Länge ist 0, aber das Vorzeichen wurde gesetzt
         6530 Länge ist nicht 0, aber Faktor wurde nicht gesetzt
         6535 Länge ist nicht 0, aber das Vorzeichen wurde nicht gesetzt
         6550 Schrittweite wurde festgelegt, aber der Startwert nicht
         6555 Startwert wurde festgelegt, aber die Schrittweite nicht
69xx          Kurve
         6910 Referenziertes Merkmal existiert nicht
         6920 Referenziertes Merkmal wurde nicht durch [Länge, Faktor, Vorzeichen] definiert
         6930 Merkmalkennungen sind nicht in allen Kurvenblöcken die gleichen
         6940 Merkmal wird in mehr als einem Kurvenblock verwendet
         6950 Merkmale eines Kurvenblocks haben unterschiedliche Stufen

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                  Seite 25 von 41
Der                                              Telegrammdefinition
Industrie-                                      für die Kommunikation
Standard                                                mit IPM

                                            Version 5.2.10 vom 22.04.2015

11 Verhalten bei Fehlern und Timeout
11.1 Keine Fehler
Das erste Telegramm nach einem Verbindungsaufbau kann jede beliebige laufende Nummer haben. Bild 1 zeigt den
Telegrammfluss zwischen Steuerung und IPM ohne Fehler. Bild 2 zeigt das Ganze für die laufende Nummer 9999.

                  Bild 1: Normaler Ablauf                                    Bild 2: Laufende Nummer 9999

Bild 3 zeigt das Verhalten, wenn die Steuerung AAAA sendet, in Bild 4 wird AAAA wiederholt.

              Bild 3: Laufende Nummer AAAA                              Bild 4: Laufende Nummer AAAA wiederholt

Wie Sie im Bild 5 sehen können, akzeptiert IPM alle laufenden Nummern außer derjenigen, die beim letzten als korrekt
quittierten Telegramm verwendet wurde. Wenn das nicht so wäre und die Steuerung für lange Zeit nicht senden kann
und somit einige Telegramme in seinem Puffer überschreiben muss, wäre sie gezwungen, alle gespeicherten
Telegramme umzuschreiben um die laufende Nummer anzupassen.

         Bild 5: Andere laufende Nummer als erwartet

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                   Seite 26 von 41
Der                                            Telegrammdefinition
Industrie-                                    für die Kommunikation
Standard                                              mit IPM

                                          Version 5.2.10 vom 22.04.2015
11.2 Fehler
Bild 6 zeigt was passiert wenn IPM zweimal direkt nacheinander die gleiche laufende Nummer bekommt.

               Bild 6: Telegramm wiederholt

Die nächsten Bilder beschreiben was passieren kann wenn ein Fehler im Telegramm auftritt. Wenn die Steuerung einen
Fehlercode in einer Quittung erhält, kann es das Telegramm (Bild 7) um einen Netzwerkfehler auszuschließen (dies wird
jedoch schon von TCP/IP garantiert). Sie kann auch versuchen den Fehler zu beheben und das geänderte Telegramm zu
senden (Bild 8). Die nächste Möglichkeit ist, mit dem nächsten Telegramm fortzufahren (Bild 9). Bild 10 zeigt, dass
IPM, wenn es die laufende Nummer ’y’ erhalten hat bevor ein fehlerhaftes Telegramm ankommt, ’y’ nicht noch einmal
akzeptiert (mit oder ohne Fehler).

                                                                       Bild 9: Fortfahren mit dem nächsten Telegramm

            Bild 7: Neuer Versuch ohne Änderung

            Bild 8: Neuer Versuch nach Änderung                       Bild 10: Laufende Nummer wiederholt nach Fehler

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                     Seite 27 von 41
Der                                                Telegrammdefinition
Industrie-                                        für die Kommunikation
Standard                                                  mit IPM

                                                Version 5.2.10 vom 22.04.2015
Im Fall eines Fehlers im Telegramm mit der laufenden Nummer die von IPM erwartet wird, beinhaltet die Quittung
Werte wie in Bild 11.
Wenn der Fehler im ersten Telegramm nach dem Verbindungsaufbau zwischen Steuerung und IPM festgestellt wurde,
sendet IPM AAAA als nächste erwartete laufende Nummer, da vorher kein korrektes Telegramm empfangen wurde, um
daraus eine laufende Nummer zu lesen (Bild 12).
Allgemein gilt, dass IPM im Fehlerfall in der Quittung die nächste laufende Nummer auf den Wert setzt, den es erwartet.
Dieser Wert ist die laufende Nummer des letzten als korrekt quittierten Telegramms plus Eins, 0 falls die letzte laufende
Nummer 9999 war ( (9999+1) = 10000 = 0) oder 1 wenn AAAA empfangen wurde.
Falls das erste Telegramm nach Verbindungsaufbau fehlerhaft war, erwartet IPM immer AAAA.

           Bild 11: Fehler im erwarteten Telegramm

                                                                                Bild 12: Fehler im ersten Telegramm

11.3 Time Out
Bild 13 zeigt was passiert, wenn IPM nicht schnell genug quittiert und die Steuerung das gleiche Telegramm nach
Ablauf des internen Time Outs noch mal sendet. Danach quittiert IPM das erste der beiden Telegramme und dann das
Zweite, welches für I-P-M ein Duplikat des ersten Telegramms ist und daher als Sequenzfehler quittiert. Die Steuerung
muss diese zweite Quittung mit der gleichen laufenden Nummer ignorieren.
In Bild 14 ist die Quittung auch zu spät, aber hier sendet die Steuerung das nächste Telegramm nachdem es die erste der
beiden Quittungen erhalten hat. Die Steuerung muss wiederum die zweite Quittung ignorieren, weil sie nicht zum zuletzt
gesendeten Telegramm gehört.

                                                                                    Bild 14: Quittung zu spät II

                  Bild 13: Quittung zu spät I

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                          Seite 28 von 41
Der                                        Telegrammdefinition
Industrie-                                für die Kommunikation
Standard                                          mit IPM

                                      Version 5.2.10 vom 22.04.2015

12 Datenformat
Die Kurvenwerte sind im Telegramm nach „INTEL“-Konvention oder in der Network byte order abgelegt, je nach dem,
wie das Feld „Byte order“ gesetzt ist

12.1 Intel Format (little endian)
12.1.1 Definition
In einem Wort oder Doppelwort ist das erste der Bytes das niederwertigere.
12.1.2   Beispiele

a) zwei Byte lange Zahl ohne Vorzeichen                     c) vier Byte lange Zahl ohne Vorzeichen

Wertebereich        0 bis   65535                           Wertebereich       0 bis           4294967295
                    0000h   FFFFh                                              00000000h       FFFFFFFFh

         Byte Nr.    Inhalt (hex)                                   Byte Nr.    Inhalt (hex)
         0           08h                                            0           47h
         1           15h                                            1           11h
                                                                    2           12h
                                                                    3           01h

Dies ergibt den Wert:       1508h (hexadezimal)             Dies ergibt den Wert:     01121147h (hexadezimal)
bzw.                        5384 (dezimal)                  bzw.                      17961287 (dezimal)

b) zwei Byte lange Zahl mit Vorzeichen                      d) vier Byte lange Zahl mit Vorzeichen

Wertebereich        -32768 bis      +32767                  Wertebereich       -2147483648 bis 2147483647
                    8000h           7FFFh                                      80000000h       7FFFFFFFh

         Byte Nr.    Inhalt (hex)                                   Byte Nr.    Inhalt (hex)
         0           08h                                            0           47h
         1           F5h                                            1           11h
                                                                    2           12h
                                                                    3           81h

Dies ergibt den Wert:       F508h (hexadezimal)             Dies ergibt den Wert:     81121147h (hexadezimal)
bzw.                        -2808 (dezimal)                 bzw.                      -2129522361 (dezimal)

IPM-DataTelegram_Client_Gateway_v5.2.10_de_V3                                                  Seite 29 von 41
Sie können auch lesen