Atlas Copco Open Protocol (Verschraubung)
Open Protocol ist eine Ende der 1990er-Jahre von Atlas Copco (Schweden) veröffentlichte Standardspezifikation für Verschraubungssteuerungen (tightening). Nahezu alle Drehmomentschlüssel, Schraubspindeln und Elektrowerkzeuge in Montagelinien der Automobil-, Luftfahrt- und Hausgeräteindustrie verwenden diese Spezifikation.
Typische Steuerungen: Power Focus 4000 / 6000 / 8 / Tools Net / FlexController.
Der OP-Treiber dieses Gateway ist auf die Erfassung von Verschraubungsergebnissen (last result) und den Pset-Wechsel ausgerichtet.
Eingabewerte im Registrierungsformular
| Eingabefeld | Was einzutragen ist | Beispiel |
|---|---|---|
| IP-Adresse | IP der Steuerung | 192.168.0.100 |
| Port | Open-Protocol-Port | 4545 (Standard) |
| Zellen-ID (cell-id) | Zellennummer in Mehrzellen-Umgebungen | 1 (bei Einzelzelle 0 oder leer) |
| Kanal-ID (channel-id) | Kanal / Spindel innerhalb der Steuerung | 1 |
Open Protocol kennt kein Authentifizierungsverfahren. Sobald die IP erreichbar ist und die Steuerung „MID 0001 application start“ akzeptiert, beginnt die Kommunikation.
PLC-Adressnotation der Tags
Die Daten von Open Protocol kommen einheitenweise als MID (Message ID) herein. Das Gateway stellt die Felder der am häufigsten verwendeten MIDs wie folgt aufgeschlüsselt bereit.
| Notation | Bedeutung |
|---|---|
MID:0061:torque | Letztes Verschraubungsergebnis — Drehmoment (Gleitkomma) |
MID:0061:angle | Letztes Verschraubungsergebnis — Winkel |
MID:0061:status | Ergebnisstatus (1 = OK, 0 = NOK) |
MID:0061:psetId | Verwendete Pset-Nummer |
MID:0061:vin | VIN / Identifier (Zeichenkette) |
MID:0061:resultData | Gesamtes Raw-Payload (Zeichenkette) |
MID:0071:alarm | Alarm aufgetreten (Zeichenkette) |
MID:0035:psetId | Aktuell gewähltes Pset (Read) |
Schreiben (Pset-Wechsel)
| Notation | Bedeutung |
|---|---|
MID:0018:psetId | Pset-Nummer schreiben und damit erzwingen (nur Write) |
Für schreibfähige Notationen muss im Gateway unter [Tag-Registrierung] die Schreibberechtigung auf ON gesetzt werden.
Zuordnung der Datenformate
| MID-Feld | Datenformat | Formatzusatz |
|---|---|---|
| Messwerte wie Drehmoment / Winkel | Float | REAL |
| Status / Pset-Nummer | Integer | (leer) |
| VIN / Alarmmeldung | String | STR[N] |
| OK / NOK | Boolean | (leer) |
Häufige Probleme und Lösungen
| Symptom / Meldung | Mögliche Ursache | Lösung |
|---|---|---|
| Verbindung steht, aber keine Werte | Subscribe auf MID 0060 / 0061 fehlgeschlagen | Prüfen, ob die Firmware der Steuerung „Result data subscription“ unterstützt |
| Neue Verschraubung, aber Wert ändert sich nicht | Steuerung im Zustand unsubscribe | Gateway neu starten → MID 0001 + 0060 werden automatisch erneut abonniert |
| „MID not supported“ | MID-Unterschiede je nach Firmware / Modell | Kompatibilitätstabelle im PDF „Atlas Copco Open Protocol Specification“ prüfen |
| Drehmomentwert um Faktor 100 / 1000 abweichend | Einheit (Nm vs. cNm) stimmt nicht überein | Einheitenumrechnung über Formel anwenden |
Häufig verwendete Beispiele
Standard-Registrierungssatz für einen Kanal einer Verschraubungslinie.
| Tag-Name | Adresse | Datenformat | Formatzusatz |
|---|---|---|---|
| Letztes Drehmoment | MID:0061:torque | Float | REAL |
| Letzter Winkel | MID:0061:angle | Float | REAL |
| OK/NOK | MID:0061:status | Boolean | (leer) |
| Pset-Nummer | MID:0061:psetId | Integer | (leer) |
| VIN | MID:0061:vin | String | STR[25] |
Verschraubungsergebnisse werden häufig nachverarbeitet oder in eine DB geschrieben. In Kombination mit Erfassungshistorie anzeigen und Erweitert — REST API lässt sich ein Push zum MES einfach realisieren.
Umfangreiche Ergebnisdatenfelder von MID 0061 (Last Tightening Result)
Atlas-Copco-Steuerungen übermitteln in der Antwort auf MID 0061 die folgenden umfangreichen Felder. Das Gateway schlüsselt die häufig genutzten Felder vorab auf, es ist jedoch ebenso möglich, über resultData das Raw-Payload zu empfangen und selbst zu parsen.
| Feld | Bedeutung | Datenformat |
|---|---|---|
cellId | Zellennummer | Integer |
channelId | Kanal- / Spindelnummer | Integer |
torqueControllerName | Name der Steuerung | String |
vin | VIN / Identifier (meist Karosserienummer) | String |
psetId | Verwendete Pset-Nummer | Integer |
psetName | Pset-Name (menschenlesbar) | String |
batchSize | Größe einer Charge (z. B. 4 Schrauben) | Integer |
batchCount | Aktueller Chargenzähler (n/batchSize) | Integer |
batchStatus | Charge OK / NOK / laufend | Integer (0/1/2) |
torque | Gemessenes Drehmoment (Nm) | Float |
torqueStatus | Drehmoment OK / Low / High | Integer |
angle | Gemessener Winkel (Grad) | Float |
angleStatus | Winkel OK / Low / High | Integer |
prevailingTorque | Reibmoment (optional) | Float |
currentMonitoring | Ergebnis der Strommessung | Float |
selfTapTorque | Selbstschneid-Drehmoment | Float |
tighteningId | Eindeutige ID der Verschraubung | Long |
timestamp | Zeitpunkt der Verschraubung (ISO-8601) | String |
toolSerial | Seriennummer des Werkzeugs | String |
operatorName | Bediener-ID (sofern vorhanden) | String |
resultData | Raw-Text mit allen oben genannten Feldern | String |
Im Gateway unter [Tag-Registrierung] können Sie gezielt auswählen und registrieren, etwa MID:0061:torque, MID:0061:angle oder MID:0061:status.
Häufig verwendete Betriebsmuster
Muster 1. Standard-Registrierungssatz für einen Linienkanal (Automobillinie)
| Tag-Name | Adresse | Format | Bemerkung |
|---|---|---|---|
| Letztes Drehmoment | MID:0061:torque | Float | Einheit standardmäßig Nm |
| Letzter Winkel | MID:0061:angle | Float | Grad |
| OK/NOK | MID:0061:status | Boolean | OK=true |
| Pset-Nummer | MID:0061:psetId | Integer | |
| VIN | MID:0061:vin | String | Karosserienummer |
| Bearbeitungszeitpunkt | MID:0061:timestamp | String | ISO-8601 |
| Werkzeug-Seriennummer | MID:0061:toolSerial | String | Zur Werkzeugverfolgung |
Muster 2. OK/NOK auf Chargenebene (eine Karosserie = 6 Schrauben)
| Tag-Name | Adresse | Format |
|---|---|---|
| Chargenzähler | MID:0061:batchCount | Integer |
| Chargenstatus | MID:0061:batchStatus | Integer |
Der Moment, in dem batchStatus auf 1 (OK) wechselt, markiert die Fertigstellung einer Karosserie. Wird als Trigger für MES / Folgeprozess verwendet.
Muster 3. Pset-Wechsel erzwingen (write)
MID:0018:psetId = 12
Bei Linienwechsel / Typenwechsel wird die Pset-Nummer vom Host aus fest vorgegeben. Üblicherweise übernimmt dies die PLC bzw. das MES, es ist aber auch über die [Tag-Schreibberechtigung] von PlantPulse möglich.
Muster 4. Alarmüberwachung
| Tag-Name | Adresse | Format |
|---|---|---|
| Alarmtext | MID:0071:alarm | String |
Die Steuerung sendet im Alarmfall einen Push. Nutzbar für Benachrichtigungen und Nachverarbeitung in PlantPulse.
Ausführlichere Beispiele / automatisierte Registrierung
Siehe die Open-Protocol-Beispiele unter Erweitert — REST API.