Arbeitsbereiche > Verriegelungen prüfen vergleicht die in den Folgen und UPs jedes Roboters programmierten Verriegelungen mit den gemeinsamen Bereichen der Arbeitsbereiche und prüft die Signale der Verriegelungen (VW-Standard: Anforderung A81..A96 = EIN + SPSMAKRO20, Freigabe A41..A56 = EIN, Eingang E41..E56 in FB PSPS). Diese Seite listet jede Prüfung: was das Programm falsch macht, ein Beispiel und die Korrektur. Dieselben Regeln nutzen die Kollisionsmatrix (Signallogik) und - ohne Geometrie - das Kommandozeilen-Testwerkzeug; die Befehls-API liefert sie mit check_interlocks.
Langtexte (Beschreibungen von E41..E56 / A41..A56 / A81..A96) sind die gültige Quelle des Partnerroboters einer Verriegelung; die Kommentare über den Punkten sind Beschreibungen - eine Abweichung ist eine Warnung, kein Fehler.
1. Verriegelungen und Arbeitsbereiche | 2. Signallogik | 3. Kommentare und Langtexte | 4. Fahrbedingung, Partner, Simulationslauf | 5. Roboternamen
1. Verriegelungen und Arbeitsbereiche (Geometrie)
Diese Prüfungen brauchen die Arbeitsbereiche (Arbeitsbereiche > Berechnen) der geprüften Programme.
| Prüfung (Code) | Gewicht | Was im Programm falsch ist | Beispiel | Korrektur |
|---|---|---|---|---|
| Keine Verriegelung MISSING | Fehler | Der Roboter fährt in einem mit einem Partnerroboter gemeinsamen Bereich (aus den Bahnen berechnete Arbeitsbereiche) ohne Verriegelung gegen diesen Partner. | UP42 P10..P14 in the area of R03, no A8n = EIN before | Verriegelung im letzten Genauhaltpunkt vor dem Bereich anfordern, nach dem Bereich freigeben (Verriegelungen einfügen). |
| Zu spät angefordert LATE | Fehler | Die Verriegelung wird erst angefordert, nachdem der Roboter den gemeinsamen Bereich erreicht hat. | A84 = EIN in P7, the area starts with the motion to P6 | Im letzten Genauhaltpunkt vor dem Bereich anfordern. |
| Zu früh freigegeben EARLY | Fehler | Die Verriegelung wird freigegeben (A4n = EIN), während der Roboter noch im gemeinsamen Bereich ist. | A44 = EIN in P20, the robot leaves the area only after P23 | Im ersten Punkt nach dem Bereich freigeben. |
| Im Bereich freigegeben GAP | Warnung | Im gemeinsamen Bereich wird die Verriegelung freigegeben und wieder angefordert - einige Punkte fährt der Roboter ungeschützt. | A44 = EIN in P15, A84 = EIN in P17, area P12..P20 | Verriegelung über den ganzen Bereich halten. |
| Einseitige Verriegelung ONESIDED | Warnung | Nur ein Roboter des Paares schützt den gemeinsamen Bereich; der Partner fährt ohne Verriegelung hinein. | R03 requests zone 4 against R06, R06 never requests a zone against R03 | Dieselbe Verriegelung in den Programmen des Partners anfordern. |
| Anderer Partner PARTNER | Warnung | Die Verriegelung ist für einen Roboter beschrieben, in diesem Bahnteil trifft der Roboter aber nur einen anderen. | Interlock 3 "mit 0001R05", the path meets only 0001R04 | Langtexte und Kommentar der Verriegelung sowie die Verdrahtung des Partners prüfen. |
| Nicht nötig UNNEEDED | Info | Während die Verriegelung gehalten wird, fährt der Roboter nie in einem mit dem Partner gemeinsamen Bereich. | Die Verriegelung kann entfallen - mit den Bereichsparametern (Gliederradius, Werkzeug) prüfen. | |
| Zu lange gehalten LONG | Info / Warnung | Die Verriegelung wird mindestens 3 Punkte länger gehalten als die Bewegung im gemeinsamen Bereich. Nach einem Simulationslauf ist es eine Warnung, wenn der Partner wirklich auf diesen Bereich gewartet hat (Anzahl, Sekunden). Ohne Genauhaltpunkt zwischen Anforderung und Bereich sagt der Vorschlag das. | zone 4 held UP48 P5..P25, area only P19..P24, R06 waited 10 x, 216 s | Später anfordern (letzter Genauhaltpunkt vor dem Bereich) / früher freigeben (erster Punkt danach) - nie auf einer Prozessbahn. |
| Halt auf der Prozessbahn PATHSTOP | Fehler / Warnung / Info | Eine Verriegelungsanforderung in einem Punkt mit Bahnbewegung (LIN, CIRC, KLIN, KCIR, KPTP ...) oder WARTE BIS in einer Technologiebewegung - der Roboter kann auf der Bahn anhalten. Fehler bei KLIN / KCIR / KPTP, Warnung bei LIN / CIRC, Info in den VW-Serviceprogrammen (UP101-163, UP201-210, Folge 120 / 123-125). UP90-99 (MAG) sind Prozessprogramme. | A83 = EIN + SPSMAKRO20 in a KLIN point of the brushing path | Verriegelung im letzten mit PTP angefahrenen Genauhaltpunkt vor der Bahn anfordern. |
2. Signallogik (Reihenfolge von Anforderung, Makro20, Freigabe)
In Verriegelungen prüfen als Signallogik und in der Kollisionsmatrix angezeigt.
| Prüfung (Code) | Gewicht | Was im Programm falsch ist | Beispiel | Korrektur |
|---|---|---|---|---|
| Erneut freigegeben ohne Anforderung R_RELEASE_AGAIN | Warnung | Eine Freigabe A4n = EIN ohne Anforderung A8n (oder Belegung) seit der letzten Freigabe im Programm. | A43 = EIN in P5 and again in P20, no A83 = EIN between | Zweite Freigabe entfernen oder fehlende Anforderung ergänzen (A8n = EIN, SPSMAKRO20 = EIN, E4n in FB PSPS). |
| Makro20 ohne Anforderung R_M20_NO_REQUEST | Warnung | SPSMAKRO20 = EIN wird aufgerufen, im Punkt ist aber keine Verriegelung angefordert. | SPSMAKRO20 = EIN in P8 without A8n = EIN | Makro20-Aufruf entfernen oder Anforderung im selben Punkt ergänzen. |
| Makro20 später als die Anforderung R_M20_LATER | Warnung | Anforderung A8n = EIN und Makro20 stehen in verschiedenen Punkten - der Standard verlangt denselben Punkt (zur Synchronisation möglich). | A84 = EIN in P3, SPSMAKRO20 = EIN in P5 | Makro20 im Punkt der Anforderung aufrufen. |
| Anforderung nie aktiviert R_M20_MISSING | Fehler | Eine Verriegelung wird angefordert, Makro20 wird bis zum Programmende aber nicht aufgerufen - der Roboter wartet nie auf die Freigabe. | A85 = EIN in P2, no SPSMAKRO20 | SPSMAKRO20 = EIN im Punkt der Anforderung aufrufen. |
| Ein Makro20 für denselben Roboter R_M20_SAME_NEIGHBOUR | Info | Ein Makro20 aktiviert mehrere Anforderungen an denselben Partnerroboter - ab KS 24.20 verlangt der Standard Makro20 nach jeder. | A81, A85 = EIN (both to 0001R03), one SPSMAKRO20 | Makro20 nach jeder Anforderung an denselben Roboter aufrufen (abhängig vom Standard der Station). |
| Freigabe hebt die Anforderung auf R_RELEASE_CANCELS_REQUEST | Fehler | Die Folge fordert eine Verriegelung an und ruft ein UP auf, das sie in P1 wieder freigibt - das UP fährt ohne Verriegelung. | Folge81 P2: A84 = EIN, UP42 = EIN; UP42 P1: A44 = EIN | Freigabe aus P1 des UP entfernen (Anforderung wurde in die Folge verschoben). |
| Verlässt Grundstellung ohne Freigabe R_HOME_NOT_RELEASED | Warnung | Der Roboter verlässt die Grundstellung (A15 = AUS), ohne eine in der Folge benutzte Verriegelung freizugeben - die SPS hält den Bereich belegt. | A15 = AUS in P2, A44 = EIN missing before | Verriegelung vor A15 = AUS freigeben (A4n = EIN in Punkt 2 oder Makro45). |
| A15 = AUS nicht in Punkt 2 R_A15_NOT_POINT2 | Warnung | In einer in Grundstellung gestarteten Folge gehört A15 = AUS in den zweiten Punkt und nur dorthin (oder es fehlt). | A15 = AUS in P4 | A15 = AUS im zweiten Punkt setzen, nach der Freigabe der Verriegelungen. |
| UP in Grundstellung aufgerufen R_UP_CALL_AT_HOME | Warnung | Ein UP, das Verriegelungen anfordert, wird in einem Punkt der Folge mit der Position der Grundstellung aufgerufen - der Roboter wartet weit weg von der Station auf die Bereiche. | R06 Folge81: P1 = P2 = P3 = HOME, UP42 called in P3, waits in UP42 P5 for zones 1 / 4 (21.6 s per cycle) | Prüfen, ob der Roboter vor dem Aufruf (oder vor der Anforderung) sicher näher an die Station fahren kann - ein Genauhaltpunkt kurz vor dem gemeinsamen Bereich, dort die Anforderung. |
| UP aus mehreren Folgen aufgerufen R_UP_MULTI_FOLGE | Info | Ein UP, das Verriegelungen anfordert, wird aus mehreren Folgen aufgerufen - eine Änderung seiner Verriegelungen muss zu jeder passen. | UP42: folge81, folge83 | Änderung für jede genannte Folge prüfen (KI-Vorschläge importieren zeigt denselben Hinweis). |
3. Kommentare über den Punkten und Langtexte
Die Kommentare werden in den Sprachen der Länder mit VW-Werken erkannt - Deutsch (Verriegelung / Roboterverriegelung / Verr.), Spanisch (Anticolision, Libera, enclavamiento), Portugiesisch (intertravamento, colisão), Tschechisch (blokování, kolize, uvolnění), Slowakisch (blokovanie, kolízia, uvoľnenie), Polnisch (blokada, kolizja, zwolnienie), Ungarisch (reteszelés), Chinesisch (互锁, 干涉, 释放), Russisch (блокировка), Englisch, Französisch, Niederländisch, Italienisch - und mit den Wörtern der eigenen Vorlagen. Einstellungen > Verriegelungskommentare: bis zu drei Vorlagen für eine Anforderung und drei für eine Freigabe (z. B. eine deutsche, eine spanische und eine englische Zeile über demselben Punkt); Platzhalter %E Nummer der Verriegelung, %EE Eingang 41..56, %A Ausgang, %R1 / %R2 Roboternamen, %K1 / %K2 Kurznummern; Beispiele in 12 Sprachen. Die Nummer wird aus "Verriegelung 7", "7/8", "(A44)", "A47" oder der Ein- / Ausgangsnummer gelesen (auf Chinesisch auch vor dem Wort), der Partner aus dem danach genannten Roboter (nie der Roboter selbst).
| Prüfung (Code) | Gewicht | Was im Programm falsch ist | Beispiel | Korrektur |
|---|---|---|---|---|
| Anforderung / Freigabe ohne Kommentar R_REQUEST_NO_COMMENT / R_RELEASE_NO_COMMENT | Warnung | Über einem Punkt, der eine Verriegelung anfordert (A8n = EIN) oder freigibt (A4n = EIN), steht kein Kommentar mit der Verriegelung. Eine Beschreibung im UP-Kopf oder an einem anderen Punkt zählt nicht. Nicht gemeldet: Befehle in einem Makro, Sammelfreigaben (3 oder mehr in einem Punkt, Initialisierung). | UP48 P14 (KLIN): A41 = EIN, no comment above | Fehlende Kommentare einfügen in Verriegelungen prüfen - Text aus Einstellungen > Verriegelungskommentare, Partner aus den Langtexten. |
| Kommentar passt nicht zum Programm R_COMMENT_MISMATCH | Warnung | Ein Kommentar "Verriegelung n ... EIN" / "Anticolision n ..." ohne Anforderung A8n im Punkt oder ein Freigabekommentar ("Libera ...", "... AUS") ohne Freigabe A4n (alter Standard: A4n = AUS - Belegung - passt auch). Zustandshinweise ("bereits EIN") werden nicht geprüft. | "Anticolision 5 con 0001R03 (A45) EIN" above P1, A85 = EIN only in P2 | Prüfen, ob der Befehl fehlt / verschoben wurde oder der Kommentar alt ist; Programm oder Kommentar korrigieren. |
| Kommentar weicht von den Langtexten ab R_COMMENT_LONGTEXT | Warnung | Der Kommentar nennt für Verriegelung n einen anderen Partnerroboter als die Langtexte von E4n / A4n / A8n. Die Langtexte gelten, der Kommentar ist nur eine Beschreibung. | "Verriegelung 4 mit 0001R05 EIN", long text E44 "... zu 0001R03" | Kommentar korrigieren. |
| Programmkopf eines anderen Roboters R_HEADER_ROBOT | Warnung | Der Programmkopf nennt einen anderen Roboter als das Archiv - ein kopiertes Programm; Kommentare und Partner können falsch sein. | "** 0001R05 **" in a program of 0001R04; "Station B 0002R03" in up101 of 0001R05 | Kommentare und Verriegelungspartner des kopierten Programms prüfen. |
4. Fahrbedingung, Partnerprüfung, Simulationslauf
| Prüfung (Code) | Gewicht | Was im Programm falsch ist | Beispiel | Korrektur |
|---|---|---|---|---|
| Fahrbedingung ONLINE | Fehler / Warnung | Eine aktive Verriegelung ohne ihren Eingang E4n in der Fahrbedingung (FB PSPS) des Punktes - Fehler, wenn die Bewegung im mit dem Partner gemeinsamen Bereich liegt. Sammelmerker in Makros werden aufgelöst (Einstellungen > Simulation). | zone 4 requested in P5, FB PSPS = M30 & E8146 in P8 without E44 | E4n in die FB-PSPS-Bedingung des Punktes aufnehmen. |
| Partner der Verriegelung PARTNERCHECK | Fehler / Warnung / Info | Jede benutzte Verriegelung braucht genau einen Partnerroboter, der diesen Roboter auf derselben Nummer zurück nennt (Langtexte E4n / A4n / A8n beider Roboter) - dieselbe Prüfung wie Robot Collisions Analyzer (To / Checked / Remarks). | interlock 3 of R01 - to ???: NOK | Langtexte beider Roboter so ergänzen, dass sie sich gegenseitig nennen. |
| Wartekette CHAIN | Warnung / Info | Nur nach einem Simulationslauf: ein Roboter wartet auf einen Bereich des Partners, während der Partner selbst wartet - auf einen anderen Bereich oder eine Bedingung (WARTE BIS, FB PSPS) - und den ersten Bereich weiter belegt. | R03 waits in UP48 P2 for zone 4 of R06, R06 holds it since Folge81 P2 and waits in UP42 P17 for zone 3 of R05 | Bereiche zusammen anfordern (ein Makro20), den Bereich erst nach der Wartestelle belegen oder vor ihr freigeben. |
| Anforderungen im selben Moment RACE | Warnung | Nur nach einem Simulationslauf: zwei Partner fordern denselben Bereich näher als das Wettlauf-Zeitfenster an (Plugin-Einstellungen > Simulation, Standard 1 s) und einer wartet. Die Reihenfolge an der Linie ist zufällig - außer die SPS gibt den Bereich in fester Reihenfolge (in der Simulation: SPS-Baustein Interlock priority); sie zeigt sich erst beim Stationstest mit 100 %. | R03 (UP48 P2) and R06 (Folge81 P2) request zone 4 0.001 s apart | Den Bereich bei dem Roboter, der ihn in der Simulation zuerst bekam, einen Genauhaltpunkt früher anfordern - die Roboter fahren mit 100 % zusammen, die Reihenfolge ist dann fest. Variante B (der andere Roboter zuerst): SPS-Baustein Interlock priority oder raceOrder im Robustheitstest. |
| Kollisionsgefahr im Lauf COLLISION | Fehler | Während der Simulation der Station: ein Roboter fährt ohne Verriegelung im gemeinsamen Bereich mit einem Partner (MISSING der Arbeitsbereiche), während der Partner zur selben Zeit in diesem Bereich ist - die Roboter können ohne Verriegelungssignal kollidieren. Bewegungen ohne Verriegelung sind oft nur wegen der Reihenfolge der Roboter sicher; nach einer Änderung der Programme (Reihenfolge der Punkte, verschobene Verriegelungen) werden sie zur Kollision. Vor dem Start werden die Arbeitsbereiche der Programme des Laufs geprüft (nicht berechnet, Programme geändert, aufgerufene UPs fehlen) und neu berechnet. Angezeigt sofort in der Konsole, in einem Fenster nach der Simulation, im Taktzeitbericht (Kollisionsgefahr) und in Check interlocks nach dem Lauf. | R06 (UP42 P99 .. P111, zone 4 released already in P35) welds while R03 brushes the second time (UP48 P19 .. P24) | Verriegelung vor der Bewegung in den gemeinsamen Bereich anfordern oder halten, bis der Roboter den Bereich verlassen hat. |

5. Roboternamen
Der volle Name eines VW-Roboters, z. B. KDA4G1214460R01, besteht aus der Station (KDA4G1), der Arbeitsgruppe (ARG, eine Ziffer: 2), dem Schutzkreis (SK, eine Ziffer: 1) und der Roboternummer 4460R01 (vier Ziffern, R und zwei oder drei Ziffern). Nur die Roboternummer kennzeichnet den Roboter - Kommentare und Langtexte schreiben oft ARG + SK + Nummer (214460R06). Vorrichtungen haben V01.. (Vorrichtung), nicht R.
Beim Laden einer Simulationsdatei vergleicht RCS die Roboternummer jedes Roboters der Datei mit dem Roboternamen seines Archivs und mit dem Archivordner; eine andere Nummer ergibt eine Warnung in der Konsole ("prüfen, ob das Archiv zu diesem Roboter gehört") und in der Befehls-API (status: robotNameWarnings).