Der Arbeitsbereich eines Roboters ist der Raum, den der Roboter, sein Werkzeug und sein Arm entlang der Bahnen der ausgewählten Programme überstreichen. Bereiche, die von zwei oder mehr Robotern genutzt werden, sind gemeinsame Bereiche. Die Verriegelungen der Programme (A81–A96 = EIN Anforderung, A41–A56 = EIN Freigabe, Kommentare Verriegelung n Roboter ...) werden mit den Zeitpunkten verglichen, zu denen ein Roboter in einen gemeinsamen Bereich einfährt.
Berechnung
|
Haken Sie die Roboter oder einzelne Programme in der Liste an (das Werkzeug am Flansch wird neben jedem Roboter angezeigt) und drücken Sie Calculate. Rechtsklick auf ein Programm (Folge / UP): '...' für alle Roboter auswählen hakt das Programm mit demselben Namen bei jedem Roboter der Liste an, der es hat (Anzahl in Klammern), '...' für alle Roboter abwählen nimmt den Haken weg – z. B. Folge 81 der ganzen Station mit einem Klick. Parameter:
Die Bahnen stammen vom Bewegungsplaner (LIN / CIRC entlang der Bahn, Überschleifen). Angehakt werden können ein ganzer Roboter, eine Gruppe (alle Folgen / alle UPs) oder einzelne Programme. Das Abhaken blendet einen Bereich sofort aus, erneutes Anhaken zeigt ihn ohne neue Berechnung wieder an; Calculate berechnet immer alles neu. Clear entfernt die Bereiche. Seit dem 25.10.2026 laufen der Bewegungsplaner und das Markieren der Zellen im Hintergrund auf allen Prozessorkernen – bei Calculate und auch, wenn die Bereiche vor einem Lauf berechnet werden (Calculate and run). Das Fenster des Simulators reagiert während der Berechnung, die 3D-Ansicht wird gezeichnet und Cancel funktioniert; das Ergebnis ist identisch mit der bisherigen Berechnung (das parallele Markieren hält die Reihenfolge der Proben ein). Das Werkzeug im Bereich ist das reale, am Flansch angebaute 3D-Modell (mit Vorrichtungen) – der TCP der Werkzeugdaten wird nicht verwendet. Roboter ohne angebautes Werkzeug werden vor der Berechnung aufgelistet (No tool is attached to the flange of: ...; Continue rechnet für diese Roboter ohne Werkzeug). Ein Werkzeug der Studie, das als Vorrichtung montiert ist (z. B. eine Schweißzange an einem Werkzeugwechsler), zählt als Werkzeug, für einen solchen Roboter gibt es also keine Frage; nur der Adapter des Werkzeugwechslers allein (ein Teil mit dem Namen swv_...) ist kein Werkzeug. Ohne die Lizenz Work Zones werden die Bereiche der ersten 2 angehakten Roboter berechnet (eine Meldung wird einmal angezeigt). Work Zones |
Darstellung
- grün – Bereich, der von einem Roboter genutzt wird,
- gelb – Bereich, den sich zwei oder mehr Roboter mit Verriegelungsanforderungen teilen,
- rot – gemeinsamer Bereich, der ohne Verriegelungsanforderung erreicht wird.
Show only shared areas (yellow / red) blendet die grünen Teile aus (verfügbar, wenn Show work zones eingeschaltet ist). Der Transparenz-Schieberegler legt fest, wie viel der Zelle durch die Bereiche sichtbar bleibt (Standard 70 %). Überlappende Bereiche werden in einer einheitlichen Farbe gezeichnet.

Einfahrten ohne Verriegelung
Die Tabelle listet jeden Punkt auf, an dem ein Roboter ohne Verriegelungsanforderung in einen gemeinsamen Bereich einfährt: Roboter, Programm / Punkt, der andere Roboter und das Volumen des befahrenen Teils. Ein Doppelklick auf eine Zeile fährt den Roboter an diesen Punkt und wählt ihn im Bereich Programs aus – bereit für Touch-up oder zum Öffnen im Editor. Der Punkt ist die Stelle der ersten Einfahrt: Die Verriegelung muss früher angefordert werden, im Punkt vor der Bewegung in den Bereich. Die Konsole enthält dieselbe Liste.
Unter der Tabelle: Program path in interlock colors (siehe unten), Check interlocks... – Bewertung aller Verriegelungen auf den Bahnen (siehe Check interlocks) und Insert interlocks... – automatische Vorschläge für Stopps oder Verriegelungen für diese Einfahrten (siehe Insert interlocks).
Anonymisierte Studie für KI
Anonymisierte Studie für KI... (Registerkarte Arbeitsbereiche) speichert die Ergebnisse der Arbeitsbereiche, von Verriegelungen prüfen und der letzten Simulation ohne Namen, Koordinaten und Programmtext für einen KI-Assistenten (Roboter R1..Rn, Programme F#/U#); der Schlüssel zu den echten Namen wird in einer eigenen Datei gespeichert, die auf diesem Rechner bleibt. Einzelheiten, Datenschutz und Nutzung mit Copilot: Anonymisierte Studie für KI.
KI-Vorschläge importieren... liest die Antwort des KI-Assistenten (Änderungen der Verriegelungen in den IDs der Studie), zeigt die Änderungen in den Programmen, übernimmt sie in die aktuelle Simulation (mit Sicherung der Programme) und vergleicht die Taktzeiten vorher und nachher: Import der KI-Vorschläge.
Kollisionsmatrix Work Zones
Kollisionsmatrix... (Registerkarte Arbeitsbereiche) zeigt für jedes Roboterpaar der Zelle Zeilenroboter / Spaltenroboter, welche Verriegelungen sie gegeneinander schützen und ob die Programme sie richtig verwenden. Sie beantwortet drei Fragen:
- Welche Verriegelungen werden verwendet, mit wem? – eine Zelle nennt die Verriegelungsanforderungen (A81..A96) des Zeilenroboters für den Spaltenroboter. Der Partner einer Verriegelung kommt aus den Programmkommentaren (Verriegelung 4 mit 0001R02 EIN, Anticolision 3 con ...) und den Langtexten des Roboterarchivs. Eine Anforderung ohne bekannten Partner schützt gegen alle Roboter – die Diagonalzelle (Tooltip) nennt solche Anforderungen.
- Sind sie richtig programmiert? – die Liste unter der Matrix zeigt die Fehler der Signallogik, dieselben Regeln wie Verriegelungen prüfen (Code LOGIC) und Robot Collisions Analyzer: Verriegelung erneut freigegeben ohne Anforderung, Makro20 ohne Anforderung / später als die Anforderung / nie aufgerufen, der Roboter verlässt die Grundstellung (A15 = AUS), ohne einen verwendeten Bereich freizugeben, A15 = AUS nicht im zweiten Punkt der Folge, Kommentar und Programm passen nicht zusammen, Programm von einem anderen Roboter kopiert (Kopf). Ein Doppelklick fährt den Roboter in den Punkt.
- Begegnen sich die Roboter wirklich? – nach Berechnen zeigen die Zellen auch das Volumen des gemeinsamen Bereichs beider Roboter und den ohne Verriegelung befahrenen Teil (Farben unten), Roboter in die Position vor dem Bereich fahren wird verfügbar.
Programme: Markierte Programme – die in der Liste der Registerkarte Arbeitsbereiche markierten Folgen / UPs (wie die Arbeitsbereiche) und die von ihnen aufgerufenen UPs; Ganzes Archiv – jede Folge der Roboterarchive mit den aufgerufenen UPs (der vollständige Bericht des Robot Collisions Analyzer). Der Signalteil wird in weniger als einer Sekunde aus den Programmen gelesen – keine Berechnung der Arbeitsbereiche nötig; die Geometrie kommt hinzu, wenn die Bereiche beider Roboter berechnet sind.
Fahrbedingung FB PSPS. Die Fehlerliste prüft auch die Fahrbedingung der aktiven Kollisionen: nach einer Anforderung muss das FB PSPS jedes Punktes den Freigabeeingang der Kollision (E41..E56) enthalten, nach der Freigabe darf der nächste Punkt ihn nicht mehr haben; ein Punkt mit aktiver Kollision braucht überhaupt ein FB PSPS. Sammelmerker (z. B. M8 = E41 & E43 & E45) werden durch ihre Eingänge ersetzt – gesucht in den Makros der Einstellung Kollisionsmerker in Makros suchen (Plugin-Einstellungen > Simulation, Nummern mit ';' oder ',' getrennt, Standard 50; 20; 45; 51; 52, leer = jedes Programm). Dieselbe Einstellung verwenden Verriegelungen prüfen und der Robot Collisions Analyzer.
Partner der Verriegelungen. Die zweite Registerkarte unter der Matrix prüft jede in den Programmen verwendete Verriegelung wie die Roboterblätter des Robot Collisions Analyzer: Zu – der in den drei Langtexten (E41..E56 / A41..A56 / A81..A96) genannte Partnerroboter, unbekannt wenn keiner; Geprueft – i.O., wenn genau ein anderer Roboter diesen Roboter bei derselben Verriegelung nennt, sonst n.i.O.; Anmerkungen – Kommentare unvollständig, doppelte Verwendung, Roboterarchiv nicht geladen, unbenutzt durch anderen Roboter, benutzt, Probleme der Langtexte. Orange statt rot: die Verriegelung wird nur in Makro45 verwendet. Dieselben Ergebnisse stehen im Export, in der Befehls-API und in Verriegelungen prüfen (Prüfung Partner der Verriegelung).

| Farbe | Bedeutung |
| rot | gemeinsamer Bereich, ohne Verriegelung befahren (Bereiche berechnet) |
| orange | Verriegelung nur auf einer Seite beschrieben (der Partner fordert sie für diesen Roboter nicht an) |
| grün | gemeinsamer Bereich, durch Verriegelungen geschützt (Bereiche berechnet) |
| blau | Verriegelungen auf beiden Seiten – ohne berechnete Bereiche oder ohne gemeinsamen Bereich in den berechneten Programmen |
| weiß | keine Verriegelung und kein gemeinsamer Bereich |
Ein Doppelklick zeigt die Details einer Zelle. Export... speichert die Matrix und die Fehler der Signallogik
als CSV. Das Fenster ist nicht modal – es kann geöffnet bleiben, während die Roboter verfahren werden.
Befehls-API: {"cmd":"collision_matrix","scope":"archive"} (Referenz).
Der Signalteil wird von der gemeinsamen Funktion von Robot Logic Check (RLC::buildSignalMap) berechnet, die auch Robot Collisions Analyzer verwenden soll – beide Werkzeuge liefern dasselbe Ergebnis.
Roboter in die Position vor dem Bereich fahren
Wählen Sie eine Zelle mit Einfahrten ohne Verriegelung und drücken Sie Move robots to the position before the zone: Beide Roboter fahren zum letzten Punkt, bevor sie in den gemeinsamen Bereich einfahren (zuerst der Spaltenroboter, dann der Zeilenroboter, der im Bereich Programs ausgewählt wird). Die Konsole nennt den Punkt, z. B. '0001R02' at folge123/P1 - the last point before the area shared with '0001R01'. Dies ist der Ausgangspunkt für die Prüfung der Verriegelung oder die Korrektur der Bahn.
Programmbahn in Verriegelungsfarben Work Zones
|
Mit Program path in interlock colors (Gruppe Entries without interlock) werden die mit dem Bewegungsplaner gezeichneten Bahnen (Bereich Programs, Draw the real path in der Registerkarte Motion) nach dem Verriegelungszustand der letzten Arbeitsbereichsberechnung statt nach der Bewegungsart eingefärbt:
Die Konsole nennt die Punkte der roten Bewegungen und die Partnerroboter, z. B. Path of 'folge124.src' in interlock colors ... - motions to P3, P4 (partner: 0001R05). Zusätzlich nennt sie für jeden Partnerroboter die Punkte, deren Bewegung in den gemeinsamen Bereich führt – z. B. Fahrten in die gemeinsamen Bereiche mit 0001R05: P28-P30, P45-P48 oder Keine Fahrt in einen gemeinsamen Bereich. Der erste Punkt eines Bereichs ist der späteste Punkt, an dem die Verriegelung angefordert sein muss, der letzte der Punkt, nach dem sie freigegeben werden kann – eine viel früher angeforderte oder viel später freigegebene Verriegelung blockiert den Partnerroboter unnötig (siehe die Wartezeiten auf Verriegelungen im Bericht). Die Farben verwenden die Parameter der letzten Berechnung (Methode, Raster, Gliedradius, Werkzeug, Unterprogramme). Sichtbare Bahnen des aktuellen Roboters werden beim Ein- oder Ausschalten der Option und nach einer neuen Berechnung neu gezeichnet; nach einer Änderung des Programms zeigen Sie die Bahn erneut an. Roboter, die nicht in der letzten Berechnung enthalten waren, behalten die Farben der Bewegungsarten (Meldung in der Konsole). |
Check interlocks Work Zones
Work Zones → Check interlocks... vergleicht die Verriegelungen der Programme mit der Geometrie der letzten Arbeitsbereichsberechnung. Die roten Bereiche zeigen nur die Bewegungen ganz ohne Verriegelung; die Prüfung findet außerdem Verriegelungen, die zu spät angefordert, zu früh freigegeben, nur von einem Roboter eines Paares gesetzt, für einen anderen Partner geschrieben oder ohne Notwendigkeit gehalten werden. Sie verbindet die Logik der Programme (wie in Archive Diff – Verriegelungen) mit der Geometrie der Zelle.
Funktionsweise
- Die in der Registerkarte Work Zones angehakten Programme werden mit den Parametern der letzten Berechnung analysiert (Raster, Gliedradius, Werkzeug, aufgerufene UPs, Bewegungsplaner). Die Bewegung jedes Programms wird aus der Arbeitsbereichsberechnung übernommen – die Prüfung startet den Bewegungsplaner nicht erneut; nur seit der Berechnung geänderte Programme (z. B. durch Insert interlocks) werden neu gelesen und geplant. Eine ganze Zelle mit 6 Robotern und 112 Programmen wird in etwa 20 s geprüft (vorher: etwa 4 min), eine wiederholte Prüfung ohne Änderungen in etwa 2 s.
- Für jeden Punkt (in der Ausführungsreihenfolge, mit den aufgerufenen UPs) kennt die Prüfung die Roboter, deren gemeinsamen Bereich die Bewegung zum Punkt (bzw. der Halt darin) berührt, sowie die Verriegelungen, die während der Bewegung und nach den Befehlen des Punktes aktiv sind: Anforderung A81..A96 = EIN, Freigabe A41..A56 = EIN.
- Eine Verriegelung schützt die Bewegung nur gegenüber dem im Kommentar genannten Partner (Verriegelung n Roboter X ein); ohne Kommentar schützt sie gegenüber allen Robotern.
- Die Online-Bedingungen (FB PSPS mit E41..E56) werden mit den Regeln von RobotLogicCheck für das gesamte Archiv geprüft; ein fehlender Eingang in einem Punkt innerhalb eines gemeinsamen Bereichs ist ein Fehler.
Prüfungen
| Prüfung | Schweregrad | Bedeutung | Vorschlag |
| No interlock | Fehler | Bewegung in einem mit dem Partner gemeinsamen Bereich ohne Verriegelungsanforderung (roter Bereich) | Anforderung im letzten Genauhaltpunkt vor dem Bereich, Freigabe danach (Insert interlocks) |
| Requested too late | Fehler | die Verriegelung wird erst angefordert, nachdem der Roboter in den gemeinsamen Bereich eingefahren ist – die erste Bewegung in den Bereich ist nicht geschützt | Anforderung im letzten Genauhaltpunkt vor dem Bereich |
| Released too early | Fehler | die Verriegelung (A(40+n) = EIN) wird freigegeben, während sich der Roboter noch im gemeinsamen Bereich bewegt | Freigabe im ersten Punkt nach dem Bereich |
| Released inside the area | Warnung | die Verriegelung wird freigegeben und erneut angefordert, während der Roboter im gemeinsamen Bereich bleibt – der Partner kann dazwischen einfahren | Verriegelung über den gesamten Bereich halten |
| One-sided interlock | Warnung | Roboter A schützt den mit B gemeinsamen Bereich, B bewegt sich darin jedoch ohne Verriegelung – die SPS kann A freigeben, während B sich im Bereich befindet | die Verriegelung auch in den Programmen von B anfordern |
| Other partner | Warnung | der Kommentar der Verriegelung nennt Roboter X, während der Verriegelung trifft der Roboter jedoch nur auf Roboter Y | Kommentar und Verdrahtung des Partners prüfen |
| Online condition | Fehler / Warnung | eine aktive Verriegelung ohne ihren Eingang E41..E56 in FB PSPS des Punktes – der Roboter hält nicht an, wenn die Freigabe während der Bewegung wegfällt (Fehler in einem gemeinsamen Bereich, sonst Warnung) | den Eingang zur FB-PSPS-Bedingung hinzufügen |
| Signal logic (Signallogik) | Fehler / Warnung | Reihenfolge der Verriegelungssignale (RobotLogicCheck): eine
Verriegelung wird erneut freigegeben (A41..A56 = EIN) ohne Anforderung (A81..A96 = EIN) seit der letzten
Freigabe im Programm, Makro20 ohne Anforderung, in einem späteren Punkt als die Anforderung oder bis zum
Programmende nie aufgerufen. Die erste Freigabe einer Verriegelung im Programm (Initialisierung) und Punkt 1
(Freigabe aller Verriegelungen) sind erlaubt, ebenso Sammelfreigaben: über ein Makro (Makro45), erneut nach
einem UP-Aufruf, zweimal im selben Punkt und 3 oder mehr Verriegelungen in einem Punkt einer Folge (z. B.
Roboterverriegelung Ein am Ende der Folge). Eine zweite Freigabe ändert die Signale nicht, zeigt aber meist eine
Verwechslung (Freigabe statt Anforderung geschrieben) oder eine fehlende Anforderung – die Spalte Partner zeigt,
ob die Bewegung zum Punkt einen gemeinsamen Bereich berührt. Außerdem in dieser Gruppe:
|
prüfen, welche Freigabe gemeint war: zweite Freigabe entfernen oder die fehlende Anforderung ergänzen; Programm oder Kommentar korrigieren |
| Stop on the process path (Halt auf der Prozessbahn) | Fehler / Warnung | eine Verriegelungsanforderung (A81..A96 = EIN) in einem Punkt mit Bahnbewegung (LIN, CIRC, KLIN, KCIR, KPTP, SLIN, SCIR, Spline) oder ein WARTE BIS mit Bedingung in einem Punkt mit Technologiebewegung (KLIN, KCIR, KPTP) – der Roboter kann auf der Bahn anhalten. Fehler bei KLIN / KCIR / KPTP; Warnung bei einfachem LIN / CIRC: eine Anforderung ist dort auf einer Prozessbahn (Laser, MAG) nicht zulässig, kann aber in einem Serviceprogramm (z. B. Kappenfräsen UP101) nötig sein, wenn die Station wenig Platz hat. In den Serviceprogrammen des VW-Standards (UP101–163, UP201–210, Folge 120 / 123 / 124 / 125) ist eine Anforderung in einem LIN-Punkt nur eine Info. VW: kein Halt beim Bürsten, Laser, Kleben, MAG usw. Nur mit der Option Kein Halt auf der Prozessbahn (siehe unten) | die Verriegelung im letzten Genauhaltpunkt mit PTP vor der Bahn anfordern |
| Not needed | Info | während die Verriegelung gehalten wird, bewegt sich der Roboter nie in einem mit dem Partner gemeinsamen Bereich | die Verriegelung kann entfernt werden (mit den Bereichsparametern prüfen) |
| Held too long | Info | die Verriegelung wird mindestens 3 Punkte länger gehalten als die Bewegung im gemeinsamen Bereich – der Partner wartet länger als nötig. Nach einem Simulationslauf wird daraus eine Warnung, wenn der Partner im Lauf wirklich auf diesen Bereich gewartet hat (Anzahl und Sekunden). Ohne Genauhaltpunkt zwischen Anforderung und gemeinsamem Bereich sagt der Vorschlag das – eine Anforderung lässt sich nur in einen Genauhaltpunkt verschieben | spätere Anforderung (letzter Genauhaltpunkt vor dem Bereich) / frühere Freigabe (erster Punkt danach) |
| Wait chain (Wartekette) | Warnung (≥ 1 s) / 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 (Punkt, in dem der Partner ihn belegt hat, Anzahl und Sekunden im Lauf) | die Bereiche zusammen anfordern (ein Makro20), den Bereich erst nach der Wartestelle belegen oder ihn vor der Wartestelle freigeben, wenn der Roboter dort schon aus dem gemeinsamen Bereich ist |
| Requests at the same moment (Anforderungen im selben Moment) | Warnung | nur nach einem Simulationslauf: zwei Partner fordern denselben Bereich näher als das Wettlauf-Zeitfenster an (Plugin-Einstellungen > Simulation, Standard 1 s; oft nach einem gemeinsamen WARTE BIS) und einer wartet – die Reihenfolge an der Linie ist zufällig (außer die SPS gibt den Bereich in fester Reihenfolge, in der Simulation der SPS-Baustein Interlock priority) und sie zeigt sich erst beim Stationstest mit 100 %; die simulierte Wartezeit ist unsicher | den Bereich bei einem Roboter einen Genauhaltpunkt früher anfordern – die Roboter fahren immer zusammen mit 100 %, die Reihenfolge ist dann fest (der Vorschlag nennt den Roboter, der den Bereich in der Simulation zuerst bekam) |
Der Zeitenbericht eines Simulationslaufs (Times > Report) zeigt dieselben Warteketten und gleichzeitigen Anforderungen in eigenen Abschnitten; die Laufdaten (rcsrun.json, Befehl run_data) enthalten sie als waitChains und requestRaces (siehe Wettläufe der Anforderungen).

Kein Halt auf der Prozessbahn
VW-Regel: beim Bürsten, Laserschweißen, Kleben, MAG-Schweißen usw. darf der Roboter auf der Bahn nicht anhalten – das gilt für alle LIN- und KLIN- / KCIR-Sätze eines Prozesses. Deshalb fordern die Programme die Verriegelungen vor der Prozessbahn an (in einem Punkt mit PTP), auch wenn der gemeinsame Bereich erst später erreicht wird. Die Option Kein Halt auf der Prozessbahn in den Einstellungen des Plugins (Einstellungen > Simulation, standardmäßig ein) hält diese Regel ein:
- Check interlocks meldet eine Verriegelungsanforderung in einem Punkt mit Bahnbewegung oder ein WARTE BIS mit Bedingung in einem Punkt mit KLIN / KCIR / KPTP als Fehler Halt auf der Prozessbahn. Ein einfaches LIN oder CIRC wird auch außerhalb eines Prozesses verwendet (z. B. Kappenfräsen, Greifer) – ein WARTE BIS dort wird nicht gemeldet.
- Die Vorschläge der Prüfungen (No interlock, Requested too late, Held too long) und Insert interlocks verwenden für eine Anforderung nur Genauhaltpunkte mit PTP – eine Anforderung wird nie in eine Prozessbahn verschoben, um das Warten des Partners zu verkürzen.
- Die Simulation schreibt einen Fehler in die Konsole, wenn ein Roboter auf einer Prozessbahn anhält (FB PSPS während einer Bahnbewegung nicht erfüllt oder Warten vor einer Bahnbewegung, die auf eine Bahnbewegung folgt) – siehe Merker, Flags und FB PSPS.
Bahnbewegungen: LIN, CIRC, KLIN, KCIR, KPTP, SLIN, SCIR und Spline. Ein Halt in der Simulation ist auf KLIN / KCIR / KPTP ein Fehler, auf den anderen Bahnbewegungen eine Warnung. Die Option nur für Zellen ohne Prozessbahnen ausschalten, in denen ein Halt auf einer LIN-Bewegung erlaubt ist.

Fenster
- Die Liste zeigt Schweregrad, Prüfung, Roboter, Punkt (folge12/UP81/P6), Partner, Beschreibung und Vorschlag; der Tooltip der Prüfung erklärt sie.
- Show filtert nach Schweregrad (Fehler, Fehler und Warnungen) oder nach Prüfung, die zweite Liste nach Roboter.
- Doppelklick oder Go to the point – der Roboter fährt zum Punkt, und der Punkt wird im Bereich Programs ausgewählt (Touch-up, Editor).
- Export report... – Zellenbericht als HTML (Parameter der Berechnung, Zusammenfassung der Prüfungen, Roboterpaare mit gemeinsamem Bereich, Bereich ohne Verriegelung, Verriegelungen und Anzahl der Fehler / Warnungen, alle Befunde) oder als CSV für Excel.
- Die Konsole enthält die Anzahl der Programme, Fehler, Warnungen und die Anzahl je Prüfung.
Beispiel eines exportierten HTML-Berichts – Beispielzelle mit 6 Robotern und 112 Programmen (in einem neuen Fenster öffnen):
Insert interlocks Work Zones
Insert interlocks... unter der Tabelle Entries without interlock schlägt Änderungen in den Roboterprogrammen für jede Stelle vor, an der sich ein Roboter ohne Verriegelung in einem gemeinsamen Bereich bewegt. Zwei Modi stehen zur Verfügung:
| Modus | Wird in das Programm eingefügt | Verwendung |
| Stop before the shared area | Kommentar mit dem Partnerroboter vor dem letzten Genauhaltpunkt vor dem Bereich und WARTE BIS AUS in diesem Punkt | der Roboter hält in einer sicheren Position an, bis der Programmierer die korrekte Verriegelung einfügt – schneller Schutz eines unbekannten oder unfertigen Programms |
| Request an interlock (VW-Standard) | Kommentare Verriegelung n Roboter ... ein / aus, Anforderung A(80+n) = EIN + SPSMAKRO20 = EIN, E(40+n) in der Online-Bedingung FB PSPS der Bewegungen im Bereich, Freigabe A(40+n) = EIN nach dem Bereich | vollständige Verriegelungslogik für Programme, die ohne Verriegelungen geschrieben wurden (z. B. neue Bahnen) – die SPS muss die Freigabe E(40+n) für das Roboterpaar liefern |
Wie die Vorschläge ermittelt werden
- Berechnen Sie die Arbeitsbereiche (Calculate) – der Dialog verwendet die letzte Berechnung, ihre Parameter und die Einfahrten ohne Verriegelung.
- Für jedes Programm mit einer Einfahrt ohne Verriegelung werden die Bewegungen mit demselben Bewegungsplaner neu geplant – das Hauptprogramm und die in seinen Punkten aufgerufenen Unterprogramme (UP), in der Ausführungsreihenfolge.
- Für jede Bewegung kennt der Dialog die gemeinsamen Bereiche (und den jeweiligen Partnerroboter), die der Roboter beim Fahren zum Punkt oder beim Stehen darin berührt, und ob eine Verriegelung für diesen Partner aktiv ist (Anforderungen A81–A96, Freigaben A41–A56, Partner aus den Kommentaren Verriegelung n Roboter ...).
- Aufeinanderfolgende Bewegungen in einem mit einem Partner gemeinsamen Bereich bilden einen Bereichsabschnitt (z. B. folge124/P3 .. folge124/P7). Ein Abschnitt mit mindestens einer Bewegung ohne Verriegelung erhält einen Vorschlag.
- Der Roboter muss vor dem Abschnitt anhalten: Der Vorschlag verwendet den letzten Genauhaltpunkt (VE = 0) vor dem Abschnitt, nach dem vorherigen Bereich desselben Partners. In einem überschliffenen Punkt hält der Roboter nicht an. Mit der Option Kein Halt auf der Prozessbahn wird nur ein Punkt mit PTP verwendet – ein Punkt auf einer Prozessbahn (LIN, KLIN, KCIR ...) wird übersprungen; ohne einen solchen Punkt wird die Zeile mit manuell einfügen markiert.
Der Dialog
- Mode – Stop before the shared area oder Request an interlock; die Tabelle wird beim Wechsel des Modus neu aufgebaut.
- Comment (stop) – Text des Kommentars im Haltepunkt, %1 = Partnerroboter (Standard Kollision mit Roboter %1 - Verriegelung fehlt).
- Comment (request) / Comment (release) – Texte der Kommentare vor dem Anforderungs- und dem Freigabepunkt, %1 = Verriegelungsnummer, %2 = Partnerroboter (Standard Verriegelung %1 Roboter %2 ein / Verriegelung %1 zu Roboter %2 aus). Behalten Sie das Wort Verriegelung und die Roboternummer bei – die Arbeitsbereiche, die Kollisionsmatrix und die Verriegelungsprüfung von Archive Diff lesen den Partner aus diesen Kommentaren.
- Der Robotername in den Kommentaren ist die Roboternummer aus der Zelle (R_0001R05_G → 0001R05).
| Spalte | Inhalt |
| Robot | Roboter mit der Bewegung ohne Verriegelung; das Kontrollkästchen wählt den Vorschlag aus |
| Shared with | Partnerroboter |
| Area (points) | erste und letzte Bewegung des Bereichsabschnitts, z. B. folge124/UP112/P3 .. folge124/UP112/P6 |
| Changes | Punkt und eingefügte Befehle, z. B. folge124/P2: A83 = EIN, SPSMAKRO20 = EIN; E43 in FB PSPS up to ... |
| Note | Warnungen (rote Zeilen werden nicht ausgewählt): kein Genauhaltpunkt vor dem Bereich, Verriegelung bereits für den Partner verwendet, Freigabe innerhalb des Bereichs, Unterprogramm geändert, Roboter am Programmende noch im Bereich, alle 16 Verriegelungen belegt |
Modus 1: Stop before the shared area
Der Dialog fügt vor dem Haltepunkt einen Kommentar mit dem Partnerroboter ein (Haupt-Fold, wie in Modus 2) und WARTE BIS AUS im Punkt nach dessen erster FB PSPS-Zeile (als ersten Befehl, wenn der Punkt kein FB PSPS hat). Der Fold des Punktes bleibt aufgeklappt, sodass die eingefügten Zeilen sichtbar sind. AUS wird nie wahr – der Roboter wartet in diesem Punkt, bis der Programmierer das Warten durch die Verriegelung ersetzt. Enthält der Punkt bereits WARTE BIS AUS (zweiter Partner im selben Punkt), wird vor dem Punkt nur eine weitere Kommentarzeile hinzugefügt.
|
Vorher PTP VB=100% VE=0% ... P2 FB PSPS = EIN A23 = AUS WARTE BIS E23 A23 = EIN FB PSPS = M2 & M21 & M30 |
Nachher -- Kollision mit Roboter 0001R05 - Verriegelung fehlt -- PTP VB=100% VE=0% ... P2 FB PSPS = EIN WARTE BIS AUS A23 = AUS WARTE BIS E23 A23 = EIN FB PSPS = M2 & M21 & M30 |


Modus 2: Request an interlock (VW-Standard)
Die Verriegelungsnummer n (1–16) ist die Nummer, die in den Kommentaren der Programme bereits für den Partnerroboter verwendet wird; andernfalls die niedrigste vom Roboter nicht verwendete Nummer (Anforderungen, Freigaben, Kommentare in allen Folgen und UPs). Für alle Abschnitte desselben Roboterpaares wird dieselbe Nummer verwendet. Der Dialog fügt ein:
- Kommentar -- Verriegelung n Roboter X ein -- vor dem Anforderungspunkt (Haupt-Fold, wie in den VW-Programmen).
- Im Anforderungspunkt (letzter Genauhaltpunkt vor dem Bereich): A(80+n) = EIN und SPSMAKRO20 = EIN vor WARTE BIS E23 (oder vor dem letzten FB PSPS des Punktes, sonst am Ende vor UP-Aufrufen). Ruft der Punkt bereits SPSMAKRO20 auf, wird nur die Anforderung davor eingefügt.
- E(40+n) im letzten FB PSPS des Anforderungspunktes (eine neue Zeile FB PSPS = ... mit der aktiven Bedingung wird hinzugefügt, wenn der Punkt nach SPSMAKRO20 kein FB PSPS hat) und jedes Punktes bis zur letzten Bewegung im Bereich – das letzte FB PSPS eines Punktes ist die Online-Bedingung der Bewegung zum nächsten Punkt. Operanden werden mit UND hinzugefügt, eine ODER-Bedingung wird geklammert, ein bereits in der Bedingung vorhandener Operand wird nicht doppelt hinzugefügt.
- Kommentar -- Verriegelung n zu Roboter X aus -- vor dem ersten Punkt nach dem Bereich und A(40+n) = EIN in diesem Punkt (nach dessen erstem FB PSPS) – der Bereich wird für den Partner freigegeben.
|
Anforderungspunkt (nachher) -- Verriegelung 3 Roboter 0001R05 ein -- PTP VB=100% VE=0% ... P2 FB PSPS = EIN A23 = AUS A83 = EIN SPSMAKRO20 = EIN WARTE BIS E23 A23 = EIN FB PSPS = M2 & M21 & M30 & E43 |
Punkte im Bereich und Freigabepunkt (nachher) LIN VB=1.5m/s VE=100% ... P3 FB PSPS = M2 & M21 & M30 & E43 ... -- Verriegelung 3 zu Roboter 0001R05 aus -- PTP VB=100% VE=100% ... P8 FB PSPS = EIN A43 = EIN FB PSPS = M2 & M21 & M30 |

In den Editor einfügen
Insert into the editor übernimmt die ausgewählten Zeilen:
- jede Programmdatei wird im DReS-Editor geöffnet (ein bereits geöffnetes Programm wird verwendet – auch mit ungespeicherten Änderungen),
- das Programm muss in der VKRC-Ansicht als Folge oder UP geöffnet und bearbeitbar sein – andernfalls wird die Datei mit einer Warnung in der Konsole übersprungen,
- dieselbe Änderung für denselben Punkt wird nur einmal eingefügt (z. B. ein Unterprogramm, das aus zwei Folgen erreicht wird),
- zugeklappte Punkte werden für die Änderung aufgeklappt und danach wieder zugeklappt, die Syntax wird geprüft, der Undo-Verlauf wird gelöscht,
- die Konsole listet jede eingefügte Zeile auf (Insert interlocks: up112.src P2: A83 = EIN, SPSMAKRO20 = EIN, FB PSPS = ...) sowie eine Zusammenfassung.
Anschließend: Prüfen Sie die Programme, speichern Sie sie (der KRL-Code der Folds wird beim Speichern erzeugt) und drücken Sie erneut Calculate – die roten Bereiche der geänderten Bewegungen werden gelb.
Hinweise und Einschränkungen
- Änderungen in einem Unterprogramm (UP) wirken bei jedem Aufruf des UP (Hinweis in der Tabelle).
- Kein Genauhaltpunkt vor dem Bereich (nur überschliffene Punkte, oder der Bereich beginnt mit dem ersten Punkt des Programms) – die Zeile wird nicht ausgewählt; fügen Sie den Stopp oder die Verriegelung manuell ein.
- Roboter am Programmende noch im gemeinsamen Bereich – die Freigabe wird nicht eingefügt (Zeile nicht ausgewählt).
- Eine Freigabe A(40+n) = EIN, die sich bereits innerhalb des Bereichs befindet (zu früh freigegeben), wird gemeldet – entfernen Sie sie.
- Die Bereiche stammen aus den Arbeitsbereichen (Raster, Gliedradius, Werkzeugmodell) – ein grobes Raster ergibt größere Bereiche und frühere Haltepunkte.
- Nur VKRC-Programme (VW-Standard).
Konsolenmeldungen
Die Berechnung schreibt ihre Ergebnisse in die Konsole des Plugins (Message Window). Die Werte in den Beispielen stammen aus einer Testzelle.
| Meldung (Beispiel) | Bedeutung | Was zu tun ist |
| Berechnung | ||
| Work zone 'R1': 13 program(s), 365 point(s), volume about 30.78 m3, interlock requests: A81, A83, A85, A87, path with an interlock requested 42 %, path protected against all robots of the list 0 % | Zusammenfassung für einen Roboter. Volume = Volumen des gesamten Arbeitsbereichs des Roboters. Interlock requests = in den berechneten Programmen angeforderte Verriegelungen (A81..A96 = EIN). Path with an interlock requested = Anteil der Bahn (Bewegungsstützpunkte), auf dem der Roboter mindestens eine angeforderte Verriegelung hält. Path protected against all robots of the list = Anteil der Bahn, auf dem die gehaltenen Verriegelungen jeden anderen Roboter der Work-Zones-Liste abdecken; eine Verriegelung deckt den in ihrem Programmkommentar genannten Partner ab (eine Verriegelung ohne Kommentar deckt alle Roboter ab). Ein niedriger Wert ist normal: Ein Roboter hält eine Verriegelung meist nur für jeweils einen Partner. | Informativ. 0 % beim ersten Wert, obwohl Verriegelungsanforderungen aufgeführt sind: Die Anforderungen werden in den berechneten Programmen nicht erreicht (z. B. nur UPs angehakt) – prüfen Sie die Programmauswahl. |
| Work zone 'R1': interlock partners from the program comments: A81 -> 0002R01 (not in the list), A83 -> 0001R03 ... | Partnerroboter jeder Verriegelung, gelesen aus den Kommentaren der Programme (Verriegelung n Roboter ...). not in the list = der Partner ist nicht in der Work-Zones-Liste (andere Zelle oder Roboter nicht in der Studie) – eine solche Verriegelung schützt gegenüber keinem der berechneten Roboter. | Prüfen Sie die Kommentare, wenn ein Partner falsch ist; Verriegelungen ohne Kommentar schützen gegenüber allen Robotern. |
| Work zone 'R1': tool attached to the flange: Gripper (1403 surface point(s) of the 3D model) | Das 3D-Modell des angebauten Werkzeugs ist Teil des Bereichs; Anzahl der verwendeten Oberflächenpunkte. | – |
| Work zone 'R1': no tool attached to the flange - the zone contains only the arm | Am Roboter ist kein Werkzeug angebaut (oder dessen Geometrie ist noch nicht geladen). | Werkzeug anbauen (Model Browser > Rechtsklick > Attach) und erneut berechnen. |
| Work zone 'R1': tool change in the programs (... 12 point(s)) - 32 % of the path without the tool | Die Programme legen das Werkzeug ab und nehmen es wieder auf (Werkzeugwechselbefehle der Registerkarte Auto-Docking). Der Teil der Bahn dazwischen wird ohne Werkzeug berechnet. | – |
| Work zone 'R1': geometry of 14 part(s) not loaded after 7.8 s | Einige 3D-Teile (Werkzeug oder bei der Dreiecksmethode der Roboter) wurden nicht rechtzeitig geladen; sie fehlen im Bereich. | Zeigen Sie die Teile in der 3D-Ansicht an (auf den Roboter zoomen) und berechnen Sie erneut. |
| Work zone 'R1': 3D model of the robot - 900 part(s), 4 210 surface point(s) | Dreiecksmethode: Anzahl der Teile des Robotermodells (Glieder, Energiezuführungen) und der in jeder Position verwendeten Oberflächenpunkte. | – |
| Work zone 'R1': no triangles of the robot model - the zone is calculated from the axis line of the arm | Dreiecksmethode, aber das Robotermodell hat keine geladene Geometrie. Der Bereich wird wie bei der Rastermethode berechnet. | Zeigen Sie den Roboter in der Ansicht an und berechnen Sie erneut. |
| Work zone 'R1': flange of the arm model differs from the robot kinematics by 120 mm / chain of the robot model differs from the kinematics | Das 3D-Modell des Roboters passt nicht zur Kinematik des Archivs (anderer Robotertyp, falsches Archiv) – der Bereich kann verschoben sein. | Prüfen Sie das dem Roboter zugeordnete Archiv. |
| Work zones calculated in 42.0 s: 6 robot(s), grid 100 mm, link radius 200 mm; shared areas about 0.32 m3 with interlocks (yellow), 0.09 m3 without interlock (red) | Zusammenfassung der Berechnung: Methode und Parameter, Gesamtvolumen der gelben und roten Bereiche. | – |
| Shared area 'R1' / 'R2': about 0.56 m3, of which 0.09 m3 reached without interlock | Von beiden Robotern genutztes Volumen und der Teil, in den mindestens einer von ihnen ohne Verriegelung für den anderen einfährt. Wird als Warnung angezeigt, wenn der zweite Wert nicht 0 ist. | Siehe Einfahrten ohne Verriegelung, Check interlocks. |
| 'R1' enters the area shared with 'R2' without interlock at: folge124/UP112/P3 (0.09 m3) | Punkte (Programm/UP/Punkt), an denen der Roboter ohne Verriegelung in den gemeinsamen Bereich einfährt, mit dem ab diesem Punkt befahrenen Volumen (die 8 größten). | Doppelklicken Sie auf die Zeile in Entries without interlock; fügen Sie eine Verriegelung ein (Insert interlocks). |
| Work zones: 30 program(s) with the motion planner (LIN / CIRC along the path, approximation), 2 program(s) with axis interpolation | Wie die Bahnen berechnet wurden. Achsinterpolation wird verwendet, wenn der Bewegungsplaner das Programm nicht starten kann (erster Punkt nicht erreichbar). | – |
| Work zones: calculation canceled | Cancel wurde gedrückt; die Bereiche des nicht fertig berechneten Roboters werden nicht behalten. | Erneut berechnen. |
| Punkte und Bahnen | ||
| 'R1' at folge124/UP112/P3 - enters the area shared with 'R2' without interlock | Der Roboter wurde zum Punkt der ausgewählten Einfahrt gefahren (Doppelklick / Go to the point). Bei Check interlocks wird stattdessen der Name der Prüfung ausgegeben. | – |
| Point P3 of 'R1' cannot be reached - the robot is not moved | Keine Achslösung für den Punkt mit der aktuellen Konfiguration. | Prüfen Sie den Punkt (Status/Turn, Basis, Werkzeug). |
| Path of 'up112.src' in interlock colors (last work zone calculation): ... motions to P3, P4 (partner: R2) | Bahn in Verriegelungsfarben gezeichnet; rote Bewegungen und die Partnerroboter werden aufgelistet. | – |
| Estimated motion time of 'up112.src' (motion planner): 15.24 s | Bewegungszeit der gezeichneten Bahn (Schätzung des Planers). | – |
| Check interlocks | ||
| Check interlocks: 71 program(s), 2 error(s), 0 warning(s), 12 info (18.7 s) | Zusammenfassung mit der Dauer der Prüfung; die folgenden Zeilen nennen die Anzahl je Prüfung (No interlock, Held too long ...). | Öffnen Sie die Liste, filtern Sie nach Roboter oder Prüfung. |
| R1: points in areas shared with other robots under interlock 94 % (R2 100 %, R3 68 %) | Je Roboter: Anteil der Punkte, deren Bewegung oder Halt einen mit einem anderen Roboter gemeinsamen Bereich berührt und die unter einer Verriegelung gegenüber diesem Roboter stehen – insgesamt und je Partner. Anders als die Prozentwerte der Arbeitsbereichsberechnung zählt dieser Wert nur die Stellen, an denen eine Verriegelung erforderlich ist. | Unter 100 %: siehe die Befunde No interlock, Requested too late, Released too early für dieses Paar. |
| R1: Halt auf der Prozessbahn bei UP48/P17 (KLIN) - 2.4 s auf der Bahn angehalten (FB PSPS ...) | Während der Simulation hat der Roboter auf einer Prozessbahn angehalten (Option Kein Halt auf der Prozessbahn), einmal je Punkt in einem Programmdurchlauf. | Die Verriegelung vor der Prozessbahn anfordern; siehe Check interlocks. |
| Check interlocks: report saved - D:\...\interlock_check.html | Bericht geschrieben (HTML oder CSV). | – |
| Interlock colors: 'R1' was not in the last work zone calculation | Die Bahn wird in den Farben der Bewegungsarten gezeichnet: Der Roboter war in der letzten Berechnung nicht angehakt. | Haken Sie den Roboter an und berechnen Sie die Arbeitsbereiche erneut. |
| Interlock colors: ... | Die Schritte des Programms konnten nicht berechnet werden (Grund in der Meldung); die Bahn behält die Farben der Bewegungsarten. | Siehe Grund, z. B. Programm oder Konfiguration des Roboters nicht gefunden. |
| Insert interlocks: programs not found: folge124.src, ... | Programme der letzten Berechnung, die nicht mehr im Archiv vorhanden sind. | Prüfen Sie das Roboterarchiv (File > Wizard) und berechnen Sie die Arbeitsbereiche erneut. |
| Insert interlocks: R1 - ... | Die Schritte eines Programms konnten nicht berechnet werden – kein Vorschlag für dieses Programm. | Siehe Grund in der Meldung. |
| Insert interlocks: up112.src P1: -- Kollision mit Roboter 0001R02 - Verriegelung fehlt --, WARTE BIS AUS | Modus Stop: Kommentar vor dem Punkt und WARTE BIS AUS im Punkt eingefügt. | Programmieren Sie später die Verriegelung und entfernen Sie das Warten. |
| Insert interlocks: up112.src P1: A83 = EIN, SPSMAKRO20 = EIN, FB PSPS = ... & E43 | Modus Request: Anforderung, Makro und Online-Bedingung im Punkt eingefügt (nur die fehlenden Zeilen). | – |
| Insert interlocks: up112.src P3: FB PSPS = ... & E43 | Freigabeeingang zur Online-Bedingung eines Punktes im gemeinsamen Bereich hinzugefügt. | – |
| Insert interlocks: up112.src P5: A43 = EIN | Freigabe des Bereichs für den Partner im ersten Punkt nach dem Bereich eingefügt. | – |
| Insert interlocks: up112.src before P1: -- Verriegelung 3 Roboter 0001R02 ein -- | Kommentar vor dem Punkt eingefügt (Haupt-Fold). | – |
| ! Insert interlocks: up112.src could not be opened in the editor | Die Programmdatei konnte nicht geöffnet werden – nicht geändert. | Prüfen Sie, ob die Datei existiert und nicht gesperrt ist. |
| ! Insert interlocks: up112.src is not opened as an editable VKRC program (Folge / UP) - not changed | Die Datei ist als anderer Dokumenttyp oder schreibgeschützt geöffnet. | Schließen Sie die Datei und fügen Sie erneut ein. |
| ! Insert interlocks: point P3 not found in up112.src | Der Punkt des Vorschlags ist nicht im Programm vorhanden (das Programm wurde nach der Berechnung geändert). | Berechnen Sie die Arbeitsbereiche erneut. |
| Insert interlocks: 2 proposal(s), 2 program(s) changed in the editor - check and save the programs, then calculate the work zones again | Zusammenfassung – auf der Festplatte wird nichts gespeichert. | Prüfen und speichern Sie die Programme und berechnen Sie dann die Arbeitsbereiche erneut. |












