Die Prüfung liest nur den Programmtext beider Archive – keine 3D-Zelle, keine Simulation – und dauert typischerweise 0,1 – 0,7 s pro Roboter, sodass sie vor und nach einer Programmänderung auch auf einem Laptop direkt an der Linie eingesetzt werden kann.
Sie wird mit der Option Check interlocks (requests, Makro20, releases, station interlocks) and technology points in den Einstellungen des Plugins aktiviert (standardmäßig eingeschaltet). Die Ergebnisse erscheinen in der Registerkarte Interlocks & tech points.
Video
Ein kurzes Video auf YouTube (Englisch und Deutsch) zeigt die Prüfung Schritt für Schritt: entfernte Anforderungen und Freigaben, verkürzte Verriegelungsbereiche, verschobene Punkte innerhalb eines Bereichs, Schweiß- und Klebepunkte sowie die Fanuc-Programme.
Die Option in den Einstellungen von VKRC Archive Diff und Fanuc Archive Diff (Schraubenschlüssel-Schaltfläche)
Was wird verglichen
| Kategorie | Inhalt | Fehler (rot) | Warnung (gelb) |
|---|---|---|---|
| Interlock | Kollisionsanforderungen A81..A96, Aktivierung mit Makro20, Freigaben / Sperren A41..A56 – auch innerhalb von Makros (z. B. Makro45, Makro46, Makro50, Makro57, Makro71); Fanuc A[..] / DO[..] | Anforderung, Aktivierung oder Freigabe entfernt | an einen anderen Punkt verschoben (Abstand in mm / Grad), Fanuc XYZWPR ↔ JOINT, anderer UF / UT oder Werkzeug / Basis, andere aktivierte Anforderungen, bedingter Aufruf geändert |
| Zone | Bahn zwischen Anforderung (Sperre) und Freigabe jeder Kollision | Bereich kürzer – später angefordert oder früher freigegeben (Bahnlänge vorher / nachher) | Punkte innerhalb des Bereichs über die Toleranz hinaus verschoben, eingefügt, JOINT / Frame geändert |
| Station | Stationsverriegelungen A57..A80 (alter Standard A49..A64) | entfernt | verschoben |
| Tech | Prozesspunkte (EZSP, KL, BZ, MS ... erkannt an der Punktnummer oder am Kommentar über dem Punkt), Klebebahnen KLIN / KCIR / KPTP, Prozessmakros 80-89, 180-187, 210-214; Informationsbefehle (SafeRobot, Koll_Ueb ...) nur als Information | Prozesspunkt entfernt, Prozessmakro im Punkt nicht mehr aufgerufen | verschoben, hinzugefügt, Punktnummer oder Parameter geändert |
| Rule | Prüfung des neuen Archivs: Makro20 später als die Anforderung oder fehlend, Anforderung ohne Makro20, E41..E56 fehlt oder wird in der Online-Bedingung nicht verwendet (FB PSPS / TC_ONLINE), manuelles A4x=AUS, am Ende der Folge nicht freigegeben, Sperre ohne Warten auf den Freigabeeingang | gekennzeichnet als [new] (durch die Änderung entstanden), [existing] (bereits im alten Archiv vorhanden) oder [resolved] (behoben) | |
Die Punkttoleranzen sind die für den Robotertyp eingestellten (VKRC- / Fanuc-Einstellungen – Abstands- und Winkeldelta).
Aufeinanderfolgende Befunde gleicher Art werden zusammengefasst (z. B. KLIN P12 .. P18, 7 points removed).
Punktschweißen: ein Schweißpunkt ohne Makro80, ein entfernter Punkt und ein um 2 mm verschobener Punkt
Fanuc: Freigabe an einen früheren Punkt verschoben (Bereich kürzer), Eingang fehlt in der Online-Bedingung, Punktnummer und User Frame geändert
Arbeiten mit den Ergebnissen
Der Filter zeigt alle Befunde, Fehler und Warnungen oder nur Fehler. Hide rule findings existing before the changes blendet die Probleme aus, die bereits im alten Archiv vorhanden waren.
Ein Doppelklick auf eine Zeile öffnet das Programm im Editor am Punkt / Befehl des Befunds.
Der Bericht kann als HTML, CSV (UTF-8, durch ';' getrennt) und XLSX (Übersichtsblatt und ein Blatt pro Roboter) exportiert werden.
Beispiel eines exportierten HTML-Berichts (in neuem Fenster öffnen):
ABB (VWKS Basis RAPID)
ABB Archive Diff prüft die Verriegelungen des VW-Standards für ABB-Steuerungen (Option Check interlocks (AnfVerriegelung / FrgVerriegelung) in den Einstellungen des Plugins, standardmäßig eingeschaltet, Registerkarte Interlocks & tech points). Die Programme werden aus RAPID/TASK1/PROGMOD/*.mod beider Backups gelesen: Jede PROC ist ein Programm (Folge12 = Folge, andere Prozeduren = Unterprogramme), jede Bewegungsanweisung (MoveL, MoveJ, MoveC, MoveAbsJ, MovePTP, MoveLIN, MoveABS ...) ist ein Punkt, die robtargets des Moduls liefern die Positionen (Quaternion umgerechnet in A, B, C).
| Programm | Bedeutung | Angezeigt als |
|---|---|---|
| AnfVerriegelung ROB01, AnfVerriegelung ROB01\V2:=ROB02 | Anforderung der Verriegelung(en); die Anweisung wartet auf die Freigabe und setzt die Fahrbedingung selbst (keine separate Aktivierung wie Makro20, keine Online-Bedingung im Programm) | AnfVerriegelung ROB01 |
| FrgVerriegelung ROB01 | Freigabe der Verriegelung | FrgVerriegelung ROB01 |
| IF ... AnfVerriegelung ROB01; | bedingte Anforderung | conditional |
| FrgVerriegelung FrgInit, RobInit | Initialisierung – wird nicht verglichen | – |
Eigene Systemmodule eines Projekts mit anderen Namen (z. B. VerrAnf Frg01 / VerrFrg Frg01) werden auf dieselbe Weise gelesen.
Verglichen werden: entfernte / verschobene / hinzugefügte Anforderungen und Freigaben, verkürzte Bereiche (früher freigegeben, später angefordert), Positionen der Punkte innerhalb eines Bereichs; Regel: Verriegelungen am Ende der Folge nicht freigegeben. Partnerroboter werden aus dem Text der Anweisung (\Info:="Warte auf Verriegelung 1 - 110015R01 < 110025R01") und aus den Kommentaren (!Verriegelung mit 75R1 ... Anfang) ermittelt.
Im VW-Standard (VWKS Basis, VWKS_BASE.SYS) setzt AnfVerriegelung den Anforderungsausgang (A81..A96), wartet auf die Quittierung und die Freigabe (E81..E96 / diSPS_FrgRob01..16) und nimmt den Freigabeeingang in die Fahrbedingung auf (FB_Monitor \Add); FrgVerriegelung gibt die Verriegelung frei und entfernt den Eingang aus der Fahrbedingung (FB_Monitor \Del). Es können mehrere Verriegelungen gleichzeitig angefordert werden (\V2 ... \V5).
Technologiepunkte (ABB): ABB-Programme haben keine typischen Technologiepunkte – der Prozess erfolgt über Aufrufe von Prozeduren. Die Prüfung der Technologiepunkte für ABB ist in Arbeit und wird später an die Anforderungen des Kunden angepasst; derzeit werden nur die Verriegelungen geprüft.
ABB: Prüfung der Systemmodule
In ABB-Steuerungen sind die Verriegelungsanweisungen Prozeduren eines Systemmoduls (Standard VWKS_BASE.SYS, in manchen Projekten ein eigenes Modul in SYSMOD), keine Befehle der Steuerung. Ob der Roboter bei Verlust der Freigabe des Partners tatsächlich anhält, hängt von diesem Modul ab: Für jede Verriegelung muss die Anforderung auf den Freigabeeingang warten (WaitDI diSPS_FrgRob01, high / WaitUntil) und ihn in die Fahrbedingung aufnehmen (Standard: FB_Monitor idROB\Add,fbROB, Projektmodule: APPL_FB_PSPS idVWKS\Add,[["diSPS_FrgRob01",1]]). Ohne Fahrbedingung wartet der Roboter nur einmal vor der Bewegung auf die Freigabe – nimmt die SPS die Freigabe während der Bewegung zurück (der Partnerroboter fährt in den Bereich ein), hält der Roboter nicht an. Die Programme sehen korrekt aus, der Fehler ist im Modulvergleich unsichtbar.
Deshalb liest die Prüfung alle Systemmodule des Backups und meldet für jede Verriegelungsprozedur:
- does not add the release input to the drive condition – APPL_FB_PSPS ... \Add / FB_Monitor ... \Add fehlt (ältere Version des Moduls) oder ist auskommentiert,
- APPL_FB_PSPS commented out – die Zeile existiert, ist aber abgeschaltet (z. B. während der Inbetriebnahme),
- does not wait for the release input – WaitDI diSPS_FrgRob.. fehlt.
B: VWKS_BASE.SYS (l.1179): AnfVerriegelung does not add the release inputs to the drive condition (FB_Monitor / APPL_FB_PSPS \Add commented out) - the robot does not stop when the release is lost during the motion
A, B: VERRIEGEL.sys (l.8): VerrAnf - APPL_FB_PSPS commented out for ROB05 (no drive condition)
Das Präfix bezeichnet das Backup: A: das erste (vorher), B: das zweite (nachher), A, B: derselbe
Befund in beiden Backups – ein Problem, das schon vor der Änderung bestand. Dieselben Präfixe verwenden VKRC und
Fanuc Archive Diff für die Meldungen der Prüfung.A, B: VERRIEGEL.sys (l.8): VerrAnf - APPL_FB_PSPS commented out for ROB05 (no drive condition)
Beispiel: In 13 Backups einer Linie (2016) war bei einem Roboter die Fahrbedingung der Verriegelung 5 auskommentiert, drei Roboter verwendeten ein Modul ohne Fahrbedingung für alle 16 Verriegelungen, und ein Roboter ein Servicemodul, das weder auf die Freigabe wartet noch die Fahrbedingung setzt.
Grenzen
Die Prüfung hat keine Informationen über die Position der Roboter in der Zelle – sie kann nicht sagen, ob eine geänderte Bahn tatsächlich kollidiert. Sie zeigt, wo die Verriegelungslogik oder die Bahn innerhalb eines Verriegelungsbereichs geändert wurde, sodass diese Stellen in der Zelle geprüft werden können. Die Signalbereiche folgen dem VW-Standard; andere Nummerierungen werden nicht erkannt.
