Sonstiges PROFINET - Name Konvertierungsregeln

MFreiberger

Level-3
Beiträge
3.394
Reaktionspunkte
982
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Zusammen,

weiß Jemand zufällig, wie die Konvertierungsregeln für Profinet-Gerätenamen sind?

Bei uns war es jetzt so, dass es au der Baustelle Änderungen am Namen eines iDevice gab. Deswegen kam die Kommunikation nicht mehr hoch. Da der ursprüngliche Name nicht mehr rekonstruiert werden konnte, hat man auf die Schnelle den konvertierten Namen eingegeben, der in der GSDML stand.

Ich würde jetzt gerne nachvollziehen, wie der ursprüngliche Name war. Aber, da ich nur den konvertierten Namen habe, müsste ich wissen, wie die Konvertierungsregeln sind.

VG
MFreiberger
 
  • Der Gerätename darf max. 240 Zeichen lang sein. Es sind erlaubt:
    • Kleinbuchstaben "a" bis "z"
    • Ziffern "0" bis "9"
    • Bindestrich oder Punkt
  • Ein Namensbestandteil innerhalb des Gerätenamens, d. h. eine Zeichenkette zwischen zwei Punkten, darf max. 63 Zeichen lang sein.
  • Der Gerätename darf nicht mit einem Bindestrich beginnen oder enden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

das würde mich auch sehr interessieren.
Was ich jetzt bei kurzen Tests herausfinden konnte.
- es werden 4 Zeichen hinten dran gehängt die ignoriert werden können (CRC?)
- führende ziffer bekommt den prefix "xd"
- führendes oder abschließendes "-" wird "xq"
- führendes oder abschließendes "." wird entweder "x3." oder ".x3" (Der Profinetname "." wird zu "x3.3x" + Suffix :D)
- die Sonderzeichen die ich durchprobiert habe sind diverse einzelne Buchstaben (oder auch Ziffern) mit einem "x" davor.
 
Zuletzt bearbeitet:
Moin,


  • Der Gerätename darf max. 240 Zeichen lang sein. Es sind erlaubt:
    • Kleinbuchstaben "a" bis "z"
    • Ziffern "0" bis "9"
    • Bindestrich oder Punkt
  • Ein Namensbestandteil innerhalb des Gerätenamens, d. h. eine Zeichenkette zwischen zwei Punkten, darf max. 63 Zeichen lang sein.
  • Der Gerätename darf nicht mit einem Bindestrich beginnen oder enden.
Ja, das ist soweit klar. Aber wie werden die "ungültigen" Zeichen übersetzt?


Servus,

das würde mich auch sehr interessieren.
Was ich jetzt bei kurzen Tests herausfinden konnte.
- es werden 4 Zeichen hinten dran gehängt die ignoriert werden können (CRC?)
- führende ziffer bekommt den prefix "xd"
- führendes oder abschließendes "-" wird "xq"
- führendes oder abschließendes "." wird entweder "x3." oder ".x3" (Der Profinetname "." wird zu "x3.3x" + Suffix :D)
- die Sonderzeichen die ich durchprobiert habe sind diverse einzelne Buchstaben mit einem "x" davor.
...und "[..]_1" wird zu "[..]xb1f920"
...und "[..]_X" zu "[..]xbxx6acf"

Das hängt aber auf von dem gesamten PN-Namen ab, denn:
bft.idevice_X wird zu bft.idevicexbxxf8f8 UND
bft.profinet-schnittstelle_X zu bft.profinet-schnittstellexbxx6acf

Also scheinen die letzten 4-5 Stellen noch irgendeine Checksumme zu sein.
 
...und "[..]_1" wird zu "[..]xb1f920"
...und "[..]_X" zu "[..]xbxx6acf"
sprich "_" wird zu "xb", was unter den letzten Punkt "Sonderzeichen" fallen würde
/Edit: komischerweise wird bei einem konvertierten Namen wird der Buchstabe "x" auch als Sonderzeichen eingestuft (wahrscheinlich da er auch als "control character" fungiert./

und das
Also scheinen die letzten 4-5 Stellen noch irgendeine Checksumme zu sein.
würde unter meinen ersten Punkt fallen.
Die kannst du aber meines Erachtens für eine Rückkonvertierung ignorieren.
 
Zuletzt bearbeitet:
Wenn ich das so lese dann frage ich mich warum sich nicht direkt an die Konventionen gehalten wird?
Das hängt zumindest bei mir mit Namenskonventionen von Kunden zusammen.


Immerhin zeigt TIA den konvertierten Namen direkt an...
Aber nicht, wenn man den Namen automatisch generieren lässt. Dann muss man daran denken, dass man bei der Benamung der Schnittstelle auf "Sonderzeichen", wie z.B. '_' verzichtet und lieber '-' einsetzt!?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich das so lese dann frage ich mich warum sich nicht direkt an die Konventionen gehalten wird?
Das hatte ich mich auch gefragt, da ich mit einem anderen Tool die Namen automatisiert vergeben wollte. Das Problem war, dass die Namen Sonderzeichen enthielten. So kam ich auf das ursprüngliche Problem. Es handelt sich um eine Art checksum. Wie die berechnet wird, habe ich bis jetzt nicht herausgefunden.

Neue Anlagen werde ich nach dem DNS-Standard benennen: a-z, 0-9 und -
Aus PLC_1 bzw PLC_10 wird dann plc-1, plc-10 usw.
 
Neue Anlagen werde ich nach dem DNS-Standard benennen: a-z, 0-9 und -
Aus PLC_1 bzw PLC_10 wird dann plc-1, plc-10 usw.

Und warum nicht direkt nach dem richtigen Standard?
Mag ja alles sehr ähnlich sein, aber es gibt doch nun mal Regeln direkt für die Profinet-Namen!

Edit:
Und irgend so ein Kunde kann auch nicht an diesen Konventionen vorbei!!!
Selbst wenn er Mercedes,VW oder Rheinmetall heißt!

Es gibt halt Dinge an die man sich zu halten hat.
 
Und warum nicht direkt nach dem richtigen Standard?

Das ist der Standard:
Standard-Profinet-Namen müssen bestimmte Regeln einhalten:
sie dürfen bis zu 240 Zeichen lang sein, nur Kleinbuchstaben, Ziffern, Punkte und Bindestriche enthalten und nicht mit einem Bindestrich beginnen oder enden. Jeder Namensbestandteil (zwischen zwei Punkten) ist auf maximal 63 Zeichen beschränkt. Ausserdem dürfen sie nicht mit einer IP-Adresse, "port-xyz" oder "port-xyz-abcde" beginnen, wobei x, y, z für Ziffern stehen.

SIEMENS verletzt den Standard und das schon, wenn man nur ein Projekt erstellt, da für die Namen Unterstriche verwendet werden. Unterstriche gibt es in der Konvention nicht, ergo müssen Unterstriche durch Ersatzzeichen ersetzt werden und am Ende hängt noch die Checksumme mit dran.

Kunden wie VW definieren eigene Standards, woran sich die Hersteller/Auftragnehmer halten, weil das gut bezahlt wird.
Beispiel: Für Industrieroboter von Kuka gibt es einen Dialekt von VW.

Es gibt halt Dinge an die man sich zu halten hat.
SIEMENS ist anderer Meinung. Ansonsten würde Siemens diesen Standard strikt einhalten und es erst gar nicht anbieten, Namen mit einem Unterstrich und Sonderzeichen anzulegen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und prompt hatte ich ein Problem mit dem verdammten Profinet-Namen eines RF186CI.

Anstatt IID_XX habe ich den Unterstrich mit einem Leerzeichen verwechselt: IID XX
Ein normaler Bindestrich ist einfacher zu erkennen.


Wenn sich Siemens an Standards halten würde, wäre die Namensgebung unmöglich gewesen und hätte zu einem Fehler geführt. Da aber bei Siemens wieder alles speziell sein muss, hab ich 30 Minuten nach dem Problem gesucht.

Ich muss mal schauen, ob das bei Codesys auch so ist.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh jaaaaa und ich hoffe, dass die Großkunden starken Druck ausüben. Wenn ich mich beschwere, ändert das nichts, außer dass ich mich selbst wieder aufrege.
gestern auf der Messe wurde mir erzählt, dass sie den Kunden ja empfohlen haben Unified nicht vor V19 einzusetzen...
 
Ich fand es eigentlich bis jetzt ganz nett, daß ich bei Siemens "verbotene" aber selbstsprechende Namen verwenden kann und für die eigentliche Kommunikation der konvertierte Name verwendet wird. Natürlich muß man die meisten Clients auf den konvertierten Namen taufen, wobei es auch Nicht-Siemens-Clients gibt, die sich mit verbotenen Namen taufen lassen und den offenbar intern konvertieren.
Andererseits hatte ich, glaube ich, auch schon Clients, die über den Punkt gestolpert sind.
 
Ich fand es eigentlich bis jetzt ganz nett, daß ich bei Siemens "verbotene" aber selbstsprechende Namen verwenden kann und für die eigentliche Kommunikation der konvertierte Name verwendet wird.
Fand ich auch ganz gut, bis ich angefangen habe, diesen Prozess zu automatisieren. Erst dann ist mir aufgefallen, was für negative Auswirkungen es hat. Es waren 64 Geräte und jedes Gerät musste eine Zuordnung haben: MAC-Adresse -> IP und Name. Der Kunde hat uns eine Excel-Tabelle gegeben und dort musste alles korrekt eingetragen werden. Die Namen stimmten dann nicht mit den Namen in der Tabelle überein, da dort die verbotenen Zeichen verwendet worden sind. Dem Kunden kann man auch nichts vorwerfen, da ja Siemens selbst diesen Fehler beim Anlegen eines Geräts macht.
 
Zurück
Oben