Das Ergebnis ist eine Warnung, keine Sicherheitszertifizierung. Die Prüfung verwendet den TCP der eingelernten Punkte und die Geraden der Linearbewegungen (mit optionalem Werkzeugradius). Roboterarm, Werkzeuggeometrie, Bremswege, durch ein Signal geschaltete Zonen und die reale Zelle werden nicht ausgewertet. Das Ergebnis ersetzt nicht die Validierung und das Abnahmeprotokoll der Sicherheitskonfiguration. Die Sicherheitsdateien der Steuerung werden nur gelesen, nie geschrieben.
Wo: Menü Plugins » Robot Safety View; Kommando-API:
plugin_cmd mit den Kommandos
safety_open, safety_calculate, safety_status, safety_zones,
safety_findings, safety_report, safety_image (siehe
VeRa / Kommando-API).
Beispiele
Alle Beispiele zeigen einen Roboter R1 und Zonen "Zone n".
ABB SafeMove, Draufsicht: drei verbotene Zonen (rot, jeweils mit ihrer Belegtüberwachung, Beschriftungen 1/2, 3/4 und 5/6), die erlaubte Arbeitszelle (grün, Beschriftung 31), die Kontur des Arbeitsraums der Programme (blau gestrichelt) mit den TCP-Punkten und die Punkte, die näher als 1000 mm an einer Grenze liegen (orange; Nahe der Grenze = 1000 mm). 0 Verletzungen. Die Zonentabelle zeigt Aktivierung (Eingangssignal oder permanent), Stoppreaktion und den kleinsten Abstand jeder Zone.
Derselbe Roboter in der Seitenansicht (X-Z): die Zonen mit ihren Z-Grenzen, der Quader um die TCP-Punkte und die gepunktete Linie Z = 0.
Fanuc DCS: die Zonen der Cartesian Position Check (ein erlaubtes Polygon, zwei verbotene Quader, durch einen Disabling input geschaltet - gestrichelt). Dieser Roboter hat eine externe Achse (J7), deshalb rät das Programm seine Position in WORLD nicht: die Meldung im Panel sagt, dass Arbeitsraum und Prüfung nicht ausgewertet werden; die Zonen werden weiterhin gezeigt.
Beispielbericht: HTML und PDF - Zusammenfassung, Zonentabelle, Befunde und die Bilder mit der Legende.
Die Ansicht lesen
Die Bilder dieses Abschnitts stammen aus zwei Demo-Archiven (ein KUKA-iiQKA-Roboter mit Demo-Arbeitsräumen und ein KUKA-VKRC-Roboter mit Kreisbewegungen) und zeigen die englische Oberfläche. Die Demo-Zonen wurden in eine Kopie des Archivs geschrieben, damit jede Markierung vorkommt; es sind nicht die Zonen einer realen Zelle.Das Ergebnis ist eine Warnung, keine Sicherheitsbescheinigung. Ein Befund heißt "diese Stelle im Programm ansehen"; kein Befund heißt nicht, dass die Zelle sicher ist (Roboterarm, Werkzeuggeometrie, Bremswege und die reale Zelle werden nicht bewertet).
Das Fenster: links die Zeichnung (Reiter Draufsicht (X-Y) und Seitenansicht (X-Z)) mit der Legende darunter, rechts das Panel Roboter und Zonen mit der Datei, den Prüfeinstellungen, der Zusammenfassung, der Zonentabelle und der Befundtabelle. Demo: KUKA iiQKA, Arbeitsräume
$WORKSPACE[1..8] aus $custom.dat und ein Achsarbeitsraum
$AXWORKSPACE[8]; Nahe der Grenze = 50 mm, Werkzeugradius = 0 mm; Zone 206 ist vom Bericht ausgeschlossen.
Dieselbe Draufsicht als exportiertes Bild (Bild exportieren... / API
safety_image) mit der Legende (der
untere Teil der großen grauen Zone 201 ist hier abgeschnitten). Was sie zeigt:
- 202
#TCP_INSIDE_STOP- verbotene Zone (rote Fläche, gepunktet, weil es ein KUKA$WORKSPACEist): ein geteachter Punkt liegt darin - roter Punkt, Befund der Art point, Abstand -59 mm. - 203
#INSIDE_STOP- eine dünne verbotene Schicht (Z 170 .. 200 mm). Die Endpunkte einer Linearbewegung liegen darüber und darunter, die Gerade dazwischen durchquert sie: Befund der Art segment, Abstand -15 mm. Die beiden Endpunkte selbst sind nur nahe der Grenze (orange) - in der Draufsicht liegen ihre orangen Punkte über dem roten Punkt des Segments. - 204
#INSIDE- ein MODE ohne STOP setzt nur den AusgangSTATE: grauer Rand, nur Information, nicht geprüft. Der rote Punkt darin ist ein Befund der Zone 208 (dieser Punkt liegt außerhalb der erlaubten Zone 208), nicht der Zone 204. - 201
#OUTSIDE- ebenfalls nur Information (grau). - 208
#TCP_OUTSIDE_STOP- erlaubte Zone (grüner gepunkteter Rand, ohne Füllung): die Punkte außerhalb sind Verletzungen (rot), die Punkte innen näher als 50 mm an ihrer Grenze sind nahe der Grenze (orange). - 205
#OFFsteht in der Zonentabelle ("in der Steuerung deaktiviert") und wird nicht gezeichnet; 206 hat keinen Haken Bericht: graue Zeile, nicht gezeichnet, nicht ausgewertet. - 308
$AXWORKSPACE[8]- Achsbereiche haben keine X-Y-Z-Form: nur in den Tabellen, Befunde der Art axisWorkspace mit dem Abstand in Grad. - Das blaue gestrichelte Polygon ist die Kontur des Arbeitsraums der Programme (konvexe Hülle aller TCP-Punkte und Kreispunkte). Seine Kanten sind keine Roboterbahnen.
Ein Roboter mit Kreisbewegungen (KUKA VKRC, Draufsicht): die blauen Quadrate sind die TCP-Punkte, die dünnen durchgezogenen blauen Kurven sind Kreisbewegungen (vom vorherigen Punkt über den Hilfspunkt zum Zielpunkt), das blaue gestrichelte Polygon ist die Kontur des Arbeitsraums. SafeOperation ist in dieser Steuerung ausgeschaltet - ihre Zone ist als deaktiviert gelistet und nicht gezeichnet, deshalb gibt es keinen Befund.
Ausschnitt der exportierten Draufsicht: zwei Kreisbewegungen als Bögen zwischen Start- und Zielpunkt.
Derselbe Roboter in der Seitenansicht (X-Z): der Quader um die TCP-Punkte (blau gestrichelt), die Bögen, der Ursprung von WORLD mit den Buchstaben X und Z und die gepunktete Linie Z = 0.
Markierungen der Zeichnung
| Markierung | Bedeutung |
|---|---|
| hellrote Fläche mit rotem Rand (2 px) | verbotene Zone mit Stoppreaktion: der TCP darf nicht eindringen. Eine Verletzung ist ein Punkt oder eine Bahn darin. |
| grüner Rand (2 px), ohne Füllung | erlaubte Zone mit Stoppreaktion: der Roboter muss darin bleiben. Eine Verletzung ist ein Punkt oder eine Bahn außerhalb. |
| gestrichelter Rand (rot oder grün) | durch ein Signal geschaltete Zone (SafeOperation: Aktivierung über einen Eingang; Fanuc: Disabling input; ABB: Aktivierungssignal). Sie wird geprüft, als wäre sie aktiv; die Befunde bekommen den Hinweis "Zone durch ein Signal geschaltet". Beispiel: das Fanuc-Bild unter Beispiele oben. |
| grauer Rand (1 px), ohne Füllung | nur Information: keine Stoppreaktion (KUKA-MODE ohne STOP, ABB
NoStop, Belegtsignale). Gezeichnet, nicht geprüft, keine Befunde. |
| gepunkteter Rand (rot, grün oder grau) | KUKA $WORKSPACE[n]: Überwachungs-Arbeitsraum der Steuerung,
keine Sicherheitszone. Die Farbe folgt dem MODE (INSIDE_STOP = rot, OUTSIDE_STOP = grün, ohne STOP = grau). |
| nicht gezeichnet | KUKA $AXWORKSPACE[n] (Achsbereiche, keine X-Y-Z-Form), in der Steuerung ausgeschaltete
Zonen (z. B. #OFF, SafeOperation ausgeschaltet), Zonen mit einem Fehler (z. B. gekipptes Koordinatensystem),
Zonen ohne Haken Bericht. Sie stehen in der Zonentabelle. |
| blauer gestrichelter Rand | Arbeitsraum der Programme: Draufsicht - konvexe Hülle aller TCP-Punkte und Kreispunkte; Seitenansicht - der Quader darum (X und Z). |
| kleine blaue Quadrate | TCP-Punkte der Programme (Zielpunkte in WORLD), nur mit TCP-Punkte anzeigen. |
| Linearbewegungen | nicht als Linien gezeichnet - ihre Geraden werden geprüft (Befund der Art segment), die Zeichnung zeigt ihre Endpunkte. |
| dünne durchgezogene blaue Kurve | Kreisbewegung (z. B. KUKA CIRC, Yaskawa MOVC) als Bogen vom vorherigen Punkt über den Hilfspunkt zum Zielpunkt; entlang des Bogens geprüft (Art arc). Nur mit TCP-Punkte anzeigen. |
| großer roter Punkt (120 mm) | Verletzung: am TCP-Punkt (Art point) oder an der tiefsten Stelle der Geraden bzw. des Bogens (Arten segment, arc). |
| großer oranger Punkt (120 mm) | nahe der Grenze: auf der erlaubten Seite, aber der Abstand (mit Werkzeugradius) ist kleiner als Nahe der Grenze. Die Punkte werden in der Reihenfolge der Befundtabelle gezeichnet (schlimmste zuerst), ein oranger Punkt kann deshalb einen roten an derselben Stelle verdecken. |
| Kreuz mit X und Y (Draufsicht) oder X und Z (Seitenansicht) | Ursprung von WORLD (die Linien reichen von -300 bis +600 mm). |
| gepunktete braune Linie (Seitenansicht) | Z = 0 (Hallenboden). |
| Beschriftung 202 $WORKSPACE[2]... | Zonennummer und ein Kurzname (auf 14 Zeichen gekürzt); Zonen mit gleicher Form teilen sich eine Beschriftung (Nummern mit / verbunden). Die vollen Namen stehen im Tooltip der Beschriftung und in der Zonentabelle. Beschriftungen behalten beim Zoomen ihre Größe und werden verschoben, wenn sie sich verdecken würden. |
Das Panel Roboter und Zonen der Demo (verbreitert): die Zonentabelle mit der vom Bericht ausgeschlossenen Zone 206 (graue Zeile) und die Befundtabelle mit den Arten point, axisWorkspace und segment.
Zonentabelle
| Spalte | Bedeutung |
|---|---|
| Bericht | Haken: die Zone wird ausgewertet, gezeichnet und in den Bericht geschrieben. Ohne Haken ist die Zeile grau und die
Zone wird nicht ausgewertet (Status "nicht im Bericht (nicht ausgewertet)"). Schaltflächen Alle / Keine; API
report_zones / report_exclude; je Archiv gespeichert. |
| Nr. | Nummer der Zone: die Nummer der Steuerung (Fanuc, ABB, SafeOperation-Räume), 100 = Zellbereich von SafeOperation,
200 + n = KUKA $WORKSPACE[n], 300 + n = KUKA $AXWORKSPACE[n]. |
| Name | Name aus der Sicherheitskonfiguration; KUKA: $WORKSPACE[n] <MODE>, $AXWORKSPACE[n] <MODE> (Name). |
| Typ | erlaubt oder verboten und die Form (Quader, Polygon, Achsbereiche); bei KUKA-Arbeitsräumen der Hinweis, dass es ein Arbeitsraum der Steuerung und keine Sicherheitszone ist. |
| Z [mm] | untere und obere Z-Grenze (- bei Achsbereichen). |
| Koordinatensystem | Koordinatensystem der Zone (WORLD, User Frame ...); bei $AXWORKSPACE die überwachten Achsen und ihre
Bereiche in Grad. |
| Aktivierung | permanent, durch ein Signal (in der Zeichnung gestrichelt) oder der KUKA-MODE. |
| Stopp | Reaktion der Steuerung (Roboter stoppt / kein Stopp: nur Ausgang). |
| Status | Ergebnis je Zone: kleinster Abstand, Anzahl der Verletzungen und der Punkte nahe der Grenze, oder warum die Zone nicht geprüft wird (nur Information, in der Steuerung deaktiviert, nicht im Bericht, Fehler). |
Befundtabelle (schlimmste zuerst, Doppelklick öffnet das Programm in der Zeile)
| Spalte | Bedeutung |
|---|---|
| Stufe | violation (Verletzung, Abstand unter 0) oder near (nahe der
Grenze, Abstand von 0 bis zum Wert von Nahe der Grenze, bei $AXWORKSPACE Nahe der Grenze (Achsen)). |
| Zone | Nummer und Name der Zone. |
| Art | point - der TCP eines geteachten Punkts;
segment - die Gerade einer Linearbewegung vom vorherigen Punkt geht tiefer in die Zone als ihre beiden Endpunkte (die
Punkte selbst haben eigene Befunde);
arc - eine Kreisbewegung, entlang des Bogens geprüft, geht tiefer als ihre Endpunkte;
axisWorkspace - die Achswerte eines Punkts gegen einen KUKA $AXWORKSPACE (keine Position in der Zeichnung). |
| Abstand | Abstand zur Grenze auf der erlaubten Seite: in mm (der Werkzeugradius ist abgezogen), bei axisWorkspace in Grad. Negativ = wie tief der TCP oder die Bahn auf der falschen Seite liegt. |
| Programm, Punkt, Zeile | das Programm, der Name des Zielpunkts der Bewegung und die Zeile der Bewegung im Programm. |
| Position | X Y Z in WORLD des Befunds (bei segment / arc die tiefste Stelle der Bahn); bei axisWorkspace
die Achswerte gegen ihre Bereiche, z. B. A1 -15.0 outside 80.0 .. 125.0. |
| Hinweis | z. B. "Zone durch ein Signal geschaltet", "Achsarbeitsraum: Abstand in Grad (Werkzeugradius nicht verwendet)". |
Woher die Daten kommen (je Roboter)
| Roboter | Programme (Arbeitsraum) | Sicherheitszonen |
|---|---|---|
| Fanuc | Textprogramme *.LS des Backups (die binären *.TP-Dateien werden nicht gelesen); TCP in WORLD aus den
Punktdaten, UT / UF und der Kinematik des Roboters | DCSVRFY.DG |
| ABB | RAPID-Module *.mod / *.sys (im Modul deklarierte oder in der Anweisung stehende Robtargets), Werkzeug und
Werkobjekt aus der Anweisung | BACKINFO\sc_cfg.xml |
| KUKA VKRC / KRC | Folgen, UPs und Makros *.src mit den Punkten der .dat-Datei
(TCP in WORLD, nur bei einem in WORLD stehenden Roboter - siehe Wie Robot Safety View rechnet) | SCTLPARA.SAF (Zellenbereich und 16 überwachte Räume) und die
Arbeitsräume $WORKSPACE[n] aus KRC\STEU\Mada\$custom.dat sowie die achsspezifischen Arbeitsräume
$AXWORKSPACE[n] aus KRC\R1\Mada\$machine.dat (nur KUKA KRC; beide bei VKRC vorerst nicht gezeigt) |
| KUKA iiQKA | KRL-Programme *.src / *.dat des Backups (wie KUKA KRC) | active_safety_configuration.yml,
die Arbeitsräume $WORKSPACE[n] aus KRC\STEU\Mada\$custom.dat und die achsspezifischen Arbeitsräume
$AXWORKSPACE[n] aus KRC\R1\Mada\$machine.dat |
| Yaskawa | INFORM-Jobs *.JBI | FSU-Blöcke //RBRNGLMT ... (erkannt, nicht interpretiert) |
Lizenz
Die Basislizenz des Roboters, auf den sich der Bericht bezieht:VKRC_HASP (KUKA VKRC), KRC_HASP
(KUKA KRC), VFANUC_HASP (Fanuc), ABB_HASP (ABB) oder YASKAWA_HASP (Yaskawa). Die
Programme eines Roboters ohne seine Basislizenz werden nicht analysiert. Das Fenster öffnet sich ohne Lizenz; die Lizenz
wird bei Recalculate bzw. Read zones geprüft und muss die des analysierten Roboters sein (ein ABB-Archiv
braucht die ABB-Basislizenz, ein VKRC-Archiv die VKRC-Basislizenz usw.), nicht irgendeine. Ein KUKA iiQKA-Archiv (mit
der Sicherheitskonfiguration active_safety_configuration.yml oder KRL-Programmen eines iiQKA-Backups) braucht
statt KRC_HASP die Lizenz iiQKA. Eine zusätzliche Lizenz ist nicht nötig.
Wie Robot Safety View rechnet
Robot Safety View vergleicht die Punkte der Roboterprogramme mit den Zonen der Sicherheitskonfiguration. Es ist eine Plausibilitätsprüfung der Programme gegen die aus dem Archiv gelesenen Zonen - eine Warnung, keine Sicherheitsabnahme.1. Punkte: der TCP jedes Bewegungspunkts in WORLD
- Die Programme des Roboters (Archivordner, geöffnete Programme oder Dateien) werden wie bei den anderen Programmprüfungen im Hintergrund gelesen; verwendet werden nur Bewegungsanweisungen. Für jede Bewegung wird der TCP des Zielpunkts mit dem Werkzeug des Punkts genommen und nach WORLD umgerechnet. Bei einer Kreisbewegung wird auch ihr Hilfspunkt auf dieselbe Weise nach WORLD umgerechnet (siehe 3. Bahnen zwischen den Punkten).
- Der Weg nach WORLD je Roboter:
- KUKA KRC, KUKA iiQKA und KUKA VKRC: der Punkt (ein Achspunkt über die Vorwärtskinematik) mit seinem TOOL
wird auf BASE 0 umgerechnet. BASE 0 ist nur bei einem in WORLD stehenden Roboter WORLD:
$ROBROOT= 0 in$machine.datund keine Linearachse (ET1 #ERSYS). Sonst (oder wenn$ROBROOTnicht lesbar bzw. die Montage nicht unterstützt ist) hat das Ergebnis einen Fehler und kein Punkt wird ausgewertet; die Zonen werden weiterhin gezeigt. - Fanuc: der Punkt mit seinem UT (ein Achspunkt über die Vorwärtskinematik) wird auf UF 0 (WORLD des Roboters) umgerechnet; die Kinematik des Roboters muss unterstützt sein.
- ABB: das Robtarget in
wobj0(Roboterbasis) wird mit dem Baseframe aussc_cfg.xmlnach WORLD verschoben. Ausgewertet wird nurwobj0; andere Werkobjekte und stationäre Werkzeuge (robhold FALSE) werden nicht ausgewertet. Ohne lesbaresc_cfg.xmlwird kein ABB-Punkt verwendet. - Externe Achse / Linearachse (z. B. Fanuc M-900 mit J7): die Position in WORLD hängt von der Achse ab - Fehler, die Punkte werden nicht ausgewertet.
- KUKA KRC, KUKA iiQKA und KUKA VKRC: der Punkt (ein Achspunkt über die Vorwärtskinematik) mit seinem TOOL
wird auf BASE 0 umgerechnet. BASE 0 ist nur bei einem in WORLD stehenden Roboter WORLD:
- Punkte, die nicht berechnet werden können (Punkt nicht eingelernt, ungültige Koordinaten, nicht unterstützte Montage,
anderes ABB-Werkobjekt,
UF:F, ...), werden als nicht ausgewertet gezählt, der Grund steht in den Hinweisen - sie werden nie stillschweigend weggelassen. - Der Arbeitsraum der Programme wird als TCP-Punkte, konvexe Kontur in der Draufsicht und Hüllquader in der Seitenansicht gezeigt; der Bericht nennt die Ausdehnung in X, Y und Z.
2. Zonengeometrie und Abstand
- Jede Zone ist ein Prisma: ein Polygon in der X-Y-Ebene plus ein Z-Bereich (ein Quader = Polygon mit 4 Ecken).
- Der vorzeichenbehaftete Abstand eines Punkts zur Grenze: innerhalb des Prismas > 0 = Tiefe bis zur nächsten Fläche (Seite oder Z-Grenze); außerhalb < 0 = Abstand zum Prisma.
- Der Abstand zur Grenze (Margin) wird mit dem Werkzeugradius berechnet (der TCP ist eine Kugel mit diesem
Radius, Vorgabe 0 mm):
- erlaubte Zone (der Roboter muss innen bleiben): Margin = Abstand - Werkzeugradius;
- verbotene Zone: Margin = -Abstand - Werkzeugradius.
- Margin < 0 = Verletzung; 0 ≤ Margin < Nahe der Grenze (Vorgabe 100 mm) = Warnung nahe der Grenze. Die Zonentabelle zeigt den kleinsten Margin jeder Zone.
3. Bahnen zwischen den Punkten
- Linearbewegungen (LIN, L): die Gerade zwischen zwei aufeinanderfolgenden ausgewerteten Punkten desselben Programms wird alle 10 mm abgetastet. Ein Abschnitt wird nur gemeldet, wenn er tiefer geht als seine Endpunkte (die Punkte selbst werden getrennt gemeldet).
- Kreisbewegungen (KUKA
CIRC, FanucC, ABBMoveC): geprüft entlang des tatsächlichen Bogens - des Kreises durch den Startpunkt (den vorherigen ausgewerteten Punkt desselben Programms), den Hilfspunkt und den Zielpunkt, in der Ebene dieser drei Punkte, vom Start über den Hilfspunkt zum Ziel. Der Bogen wird alle 10 mm Bogenlänge abgetastet. Ein Befund der Artarcwird nur gemeldet, wenn der Bogen tiefer geht als seine Endpunkte (um mehr als 1 mm); die Punkte selbst werden getrennt gemeldet.- Start-, Hilfs- und Zielpunkt auf einer Geraden oder zusammenfallend: es gibt keinen Kreis - die Bewegung wird als Gerade geprüft, ein Hinweis nennt den Punkt, das Programm und die Zeile ("arc to ... checked as a straight segment: ...").
- Hilfspunkt in WORLD nicht verfügbar oder Startpunkt nicht ausgewertet (erste Bewegung des Programms, vorheriger Punkt nicht ausgewertet): nur der Zielpunkt wird geprüft (nie als Gerade behandelt), der Grund steht in den Hinweisen ("arc not evaluated: ...").
- Fanuc
A(Kreisbogen-Anweisung) wird nicht modelliert: sie zählt als Bewegung anderer Art, nur ihr Zielpunkt wird geprüft (Hinweis "motion(s) of another kind"). Yaskawa: die Punkte werden im ROBOT-Koordinatensystem ausgewertet (= BASE ohne Basisachse; ein Roboter auf einer Basisachse wird nicht ausgewertet), MOVC entlang des Bogens; die Bereiche der Functional Safety Unit werden noch nicht interpretiert, daher wird nur der Arbeitsraum gezeigt.
- PTP- / Achsbewegungen: nur die Zielpunkte; die Achsbahn zwischen den Punkten wird nicht berechnet.
- Ein nicht ausgewerteter Punkt unterbricht die Kette: der nächste lineare Abschnitt oder Bogen beginnt erst wieder am nächsten ausgewerteten Punkt.
- Die Bögen werden in Drauf- und Seitenansicht sowie im Bild des Berichts als Bögen gezeichnet, die Punkte entlang
des Bogens gehören zum Arbeitsraum der Programme. Der Bericht enthält die Zeile Circular motions (along the arc /
as a segment / not evaluated); die JSON-Antwort enthält
arcsundotherMotions(siehe unten).
4. KUKA-Achsarbeitsräume $AXWORKSPACE: die Achsen der Punkte
- Die achsspezifischen Arbeitsräume (siehe unten) werden nicht mit dem TCP, sondern mit den
Achswerten A1..A6 jedes Bewegungspunkts verglichen (Programme von KUKA KRC und iiQKA; vorerst nicht VKRC):
- Achspunkte (E6AXIS, AXIS): die Achswerte aus dem Programm;
- kartesische Punkte (E6POS, POS): die Achswerte über die inverse Kinematik mit S / T des Punkts (wie im Bericht der Achsgrenzen).
- Punkte ohne Achswerte (Punkt nicht eingelernt - Achswerte 999, keine Lösung der inversen Kinematik, ungültige Koordinaten) werden als Punkte ohne Achswerte gezählt, der Grund steht in den Hinweisen ("point not evaluated for $AXWORKSPACE: ...") - nie stillschweigend weggelassen.
- Die Achswerte hängen nicht von der Position des Roboters in WORLD ab: die Achsarbeitsräume werden auch geprüft, wenn die
kartesischen Zonen nicht verglichen werden können (
$ROBROOTungleich 0). - Der Abstand zur Grenze ist in Grad: bei einem Achsarbeitsraum, in dem der Roboter bleiben muss = der kleinste Abstand einer überwachten Achse zu ihrer nächsten Grenze (negativ = außerhalb, die größte Überschreitung); bei einem verbotenen Achsarbeitsraum umgekehrt. Der Werkzeugradius gilt hier nicht. Margin < 0 = Verletzung; 0 ≤ Margin < Nahe der Grenze (Achsen) (Vorgabe 2 Grad) = Warnung nahe der Grenze.
- Die Achswerte werden nur für einen Roboter mit mindestens einem geprüften Achsarbeitsraum (MODE mit STOP, ohne Fehler) ermittelt.
5. Zonen, die nicht ausgewertet werden
- in der Steuerung deaktiviert (als deaktiviert gelistet);
- mit einem Fehler (z. B. gekippter
$WORKSPACE- oder SafeOperation-Frame, ein anderer Frame als WORLD / UF 0, Polygon ohne Fläche,$ROBROOTnicht bestätigt) - mit dem Grund gelistet; - nur Information: eine Überwachung ohne Stoppreaktion (KUKA
$WORKSPACEohne STOP, ABBNoStop, Belegtsignale) - grau gezeigt, nicht als Verletzung gezählt. - Eine durch ein Signal geschaltete Zone (Fanuc Disabling input, ABB Eingangsaktivierung, KUKA Aktivierung über einen Eingang) wird als aktiv geprüft und als "signalgeschaltet" markiert - das Programm kann korrekt sein, wenn die Zone freigegeben ist.
- KUKA
$WORKSPACE[n]wird nur mit dem TCP verglichen: die Modi ohneTCP_überwachen in der Steuerung auch den Flansch - das wird nicht geprüft. KUKA VKRC: die$WORKSPACE[n]und$AXWORKSPACE[n]werden vorerst nicht gezeigt. - eine Zone ohne Haken in der Spalte Bericht der Zonentabelle: nicht ausgewertet, nicht gezeichnet und nicht im Bericht (Status "nicht im Bericht").
6. Überhaupt nicht ausgewertet
- der Roboterarm und die Geometrie des Werkzeugs (nur eine Kugel mit dem Werkzeugradius um den TCP);
- Brems- und Anhaltewege;
- die signalabhängige Aktivierung (der Zustand der Signale);
- Geschwindigkeitsgrenzen und die anderen Überwachungen (Achsen, Stillstand, Orientierung);
- die reale Zelle (Vorrichtungen, andere Roboter, CAD).
Fanuc (Dual Check Safety)
- Datei:
DCSVRFY.DGim Backup (gesucht im Archivordner und bis zu 3 Unterordnern). Es ist der Textbericht der Steuerung, der beim Backup erzeugt wird. - Gelesen: der Abschnitt Cartesian Position Check - je Zone: Kommentar (Name), Enable/Disable, Methode (Working zone (Lines) = erlaubtes Polygon, Restricted zone (Lines) = verbotenes Polygon, Diagnal = Quader aus zwei Ecken), Anzahl der Vertexes und die Punkte P1..P8 (X, Y), Z1 und Z2 (oder die Quaderecken), das Basis-Koordinatensystem (User frame), die Zielmodelle, der Stopp-Typ und der Disabling input (die Zone wird dann als signalgeschaltet markiert). Aus dem Abschnitt Robot setup (Achsenzahl, externe Achsen) und der Signature number (Total) werden Angaben für den Bericht gelesen.
- Nicht interpretiert: Zonen mit einem anderen User Frame als 0 als Basis (mit Grund aufgelistet, nicht geprüft), Joint Position / Speed Check, Cartesian Speed Check, Stop position prediction, Robot model und die Elemente des User model (die Prüfung verwendet stattdessen den TCP und den Werkzeugradius).
ABB (SafeMove)
- Datei:
BACKINFO\sc_cfg.xml(XML der Konfiguration der Sicherheitssteuerung, Einheit Meter, bis zu 4 Ordner tief gesucht). - Gelesen: ConfigurationSeal (Systemname, Prüfsumme), Robot / Baseframe (Translation und Quaternion - die Position des Roboters in WORLD, auf die Programmpunkte angewendet), SafeZone (id, name, top und bottom, das Polygon Point x, y) und ToolPositionSupervision (allowInside = erlaubte oder verbotene Zone, includeRobot, ActivationFunction - permanent oder Eingangssignal, ViolationFunction - der Stopp-Typ). Werkzeuggeometrie und Oberarm-Kapseln werden in die Daten gelesen, aber nicht geprüft.
- Nicht interpretiert: Geschwindigkeits-, Stillstands- und Werkzeugorientierungs-Überwachungen, SyncCheck,
CyclicBrakeCheck, die Signalzuordnung, der zweite Roboter eines MultiMove-Systems. Nur Ziele in
wobj0werden geprüft; andere Werkobjekte werden als nicht ausgewertet gezählt. - ABB-Archive sind oft ZIP-Dateien: das Archiv zuerst entpacken (der Ordner muss
BACKINFOenthalten).
Yaskawa (Functional Safety Unit)
- Dateien: die FSU-Parameterdateien des Backups (
*.DAT,*.CND, bis zu 400 Dateien werden durchsucht) mit den Blöcken//RBRNGLMT(Arbeitsbereich),//TOOLINTF,//AXRNGLMT,//SPDLMT,//AXSPDMON,//TLANGMONund//YSFLOGIC. - Stand: nur erkannt - der Bericht nennt die gefundenen Blöcke. Die Bedeutung der Felder
(Koordinatensystem, innen / außen, Aktivierungssignal) stammt aus dem Handbuch der Einheit und wird nicht
interpretiert; es werden keine Zonen gezeichnet und keine Prüfung durchgeführt.
CUBEINTF.CND(Interferenzwürfel) ist keine Sicherheitsdatei und steht in den Roboterdaten des Yaskawa-Editors.
KUKA (SafeOperation)
- Datei:
SCTLPARA.SAF(die Binärparameter der Sicherheitssteuerung, meistC\KRC\Roboter\Config\User\Common; im ganzen Archiv gesucht). Die Namen der Räume und Werkzeuge stammen ausSafetyConfigData.xmldaneben (MonitoringSpaceNameItems, ToolNameItems). Die Datei wird nur gelesen. - Prüfungen: Kopf, Länge und beide CRC32-Prüfsummen (der Datei und des Parameterblocks) sowie die Größe zur Blockversion (unterstützt: 6.0, 9.0 und 11.0). Eine falsche Prüfsumme, eine andere Blockversion oder eine unerwartete Größe ergibt die Meldung format not recognized - es werden keine Zonen gezeichnet und keine geprüft.
- Gelesen: der Zellenbereich (ein Polygon mit bis zu 10 Knoten in WORLD und die Z-Grenzen; gezeigt als erlaubte Zone "Cell area", Nr. 100) und die 16 überwachten Räume: die Aktivierung (0 = immer, 50 = durch einen Eingang - gestrichelt, 255 = immer aus - als deaktiviert aufgelistet), Schutzraum (verboten) oder Arbeitsraum (erlaubt), ob der Roboter stoppt (ohne Stopp ist der Raum nur Information), die kartesische Geschwindigkeitsgrenze und der Quader in seinem Koordinatensystem X, Y, Z, A, B, C. Der Winkel A wird als Drehung um Z genommen (KUKA-Konvention). Die Werkzeugkugeln werden in die Daten gelesen und nicht geprüft. Ist SafeOperation in der Steuerung ausgeschaltet, enthält die Datei Standardwerte: die Zonen werden als deaktiviert aufgelistet.
- Nicht gezeichnet, mit Grund: Achsräume (RangeType 0), Räume mit gekipptem Koordinatensystem (B oder C ungleich 0) und alle Zonen,
wenn das in der Datei gespeicherte
$ROBROOTnicht 0 ist (die Koordinatensysteme relativ zu $ROBROOT sind nicht bestätigt). - Prüfung der Programme: der TCP der Punkte wird in WORLD genommen; das gilt nur, wenn
$ROBROOT= 0 in$machine.datund der Roboter nicht auf einer Linearachse steht (ET1 #ERSYS). Sonst werden die Zonen gezeigt und die Meldung sagt, dass Arbeitsraum und Prüfung nicht ausgewertet werden. - Nicht interpretiert: die Achsgrenzen, die Geschwindigkeitsüberwachung, die Stopp-Einstellungen, die Justageüberwachung.
- Verifiziert am Abnahmeprotokoll (PDF) eines realen Roboters Wert für Wert und an 223 Dateien verschiedener Roboter (in allen stimmten beide Prüfsummen).
KUKA-Arbeitsräume $WORKSPACE[n] (KUKA KSS und KUKA iiQKA)
- KUKA VKRC: die Arbeitsräume werden für VKRC-Roboter vorerst nicht gezeigt (ein Hinweis sagt das); der Rest dieses Abschnitts gilt für KUKA KRC und iiQKA.
- Datei:
KRC\STEU\Mada\$custom.datdes Archivs (im Archiv gesucht; verwendet wird nur eine Datei in einem Ordner...\STEU\Mada). Die Datei wird nur gelesen. - Was sie sind: kartesische Überwachungs-Arbeitsräume der Steuerung, keine Sicherheitszonen von SafeOperation
oder der iiQKA-Sicherheit. Sie sind so gekennzeichnet in der Zonentabelle (Typ "controller workspace, not a safety zone",
Tooltip), im Bericht (Spalte Kind) und im JSON (
kind=workspace) und werden mit einem gepunkteten Rand gezeichnet. Der Zonenname ist$WORKSPACE[n] <MODE>, das Koordinatensystem WORLD, die Aktivierung permanent. - Modus:
- ein MODE mit STOP (z. B.
#INSIDE_STOP,#TCP_OUTSIDE_STOP) = Zone mit Stoppreaktion: INSIDE = verbotene Zone (der Roboter stoppt innen), OUTSIDE = erlaubte Zone (der Roboter stoppt außen); - ein MODE ohne STOP (z. B.
#INSIDE,#OUTSIDE) setzt nur den Ausgang$WORKSPACE[n].STATE- nur Information (grau, nicht als Verletzung gezählt); #OFF- ausgeschaltet (als deaktiviert aufgelistet);- Modi ohne
TCP_überwachen auch den Flansch - die Prüfung verwendet nur den TCP.
- ein MODE mit STOP (z. B.
- Um X oder Y gedrehtes Koordinatensystem (B oder C ungleich 0): ein nicht zu Z paralleler Quader wird nicht unterstützt - der Arbeitsraum wird mit dem Fehler aufgelistet, nicht gezeichnet und nicht geprüft.
- Die Arbeitsräume liegen in WORLD: ist die Position des Roboters in WORLD nicht bestätigt (
$ROBROOTungleich 0, iiQKAWorldToRobRootungleich 0), erhalten sie einen Fehler und werden nicht mit den Punkten verglichen. - Eine fehlende oder nicht lesbare Sicherheitskonfiguration hält die Arbeitsräume nicht auf: ihr Fehler wird ein Hinweis ("safety configuration not evaluated: ..."), die Arbeitsräume werden trotzdem gezeigt.
KUKA-Achsarbeitsräume $AXWORKSPACE[n] (KUKA KSS und KUKA iiQKA)
- KUKA VKRC: die Achsarbeitsräume werden für VKRC-Roboter vorerst nicht gezeigt (ein Hinweis sagt das); der Rest dieses Abschnitts gilt für KUKA KRC und iiQKA.
- Datei:
KRC\R1\Mada\$machine.datdes Roboters (neben dem Roboterverzeichnis und im Archiv gesucht, auch in<Instanz>\ROBOTER\KRC\R1\Madaeines iiQKA-Backups). Gelesen werden die Deklarationen$AXWORKSPACE[n]={A1_N ..,A1_P .., ... E6_P .., MODE #..., STATE ...}und die Namen$AXWORKSPACE_NAMEn[]. Die Datei wird nur gelesen. - Was sie sind: achsspezifische Überwachungs-Arbeitsräume der Steuerung, keine Sicherheitszonen. Sie haben
die Nummern 300 + n, den Zonennamen
$AXWORKSPACE[n] <MODE> (Name), den Typ "axis ranges - controller axis workspace, not a safety zone" und die überwachten Achsen in der Spalte Koordinatensystem (z. B.axes: A1 80.0 .. 125.0, A4 -5.0 .. 5.0 [deg]); JSON:kind=axisWorkspace. Sie haben keine X-Y-Z-Geometrie und werden in den Ansichten nicht gezeichnet. - Verwendete Semantik (in unseren Unterlagen nicht durch eine KUKA-Dokumentation bestätigt -
dieselben Regeln wie bei
$WORKSPACE):- eine Achse mit N = P (z. B. 0 / 0 in einem unbenutzten Eintrag) wird nicht überwacht; ein Eintrag ohne überwachte Achse ist nicht definiert und wird nicht gelistet;
- der Roboter ist innen, wenn jede überwachte Achse in ihrem Bereich [N, P] liegt;
- N > P bei einer überwachten Achse wird nicht unterstützt - der Achsarbeitsraum wird mit dem Fehler gelistet und nicht geprüft;
- MODE wie bei
$WORKSPACE: ein MODE mit STOP = Reaktion der Steuerung -#INSIDE_STOP= verboten (der Roboter stoppt innen),#OUTSIDE_STOP= erlaubt (der Roboter muss innen bleiben); ein MODE ohne STOP (#INSIDE,#OUTSIDE) setzt nur den AusgangSTATE- nur Information, nicht geprüft;#OFF- ausgeschaltet (als deaktiviert gelistet).
- Externe Achsen: eine überwachte Achse E1..E6 ergibt einen Fehler des Achsarbeitsraums (die Werte der externen Achsen werden nicht ausgewertet) - er wird gelistet und nicht geprüft.
- Prüfung: mit den Achswerten der Punkte (Achspunkte aus dem Programm, kartesische Punkte über die inverse Kinematik
mit S / T), Abstand in Grad, Schwelle Nahe der Grenze (Achsen) - siehe
Wie Robot Safety View rechnet, Schritt 4. Die Befunde haben die Art
axisWorkspace, den Abstand in Grad und die Achswerte in der Spalte Position, z. B.A1 81.0 in 80.0 .. 125.0, A4 7.0 outside -5.0 .. 5.0. - Eine fehlende
$machine.datoder eine Datei ohne definierten Achsarbeitsraum wird in den Hinweisen genannt.
KUKA iiQKA (Sicherheitskonfiguration)
- Datei:
active_safety_configuration.yml(odersafety_configuration.yml) des Backups, bis zu 8 Ordner tief gesucht. Die Datei wird nur gelesen. EineSCTLPARA.SAFin einem iiQKA-Backup wird nicht verwendet - sie wird nur in den Hinweisen genannt; die Sicherheitskonfiguration von iiQKA ist die yml-Datei. - Quelle: die Backup-ZIP-Datei oder die yml-Datei selbst (Schaltfläche ...); ein Ordner wird nicht angenommen. Die
Programme stammen aus
<Instanz>\ROBOTER\KRC\R1. - Gelesen: der Kopf (Version, Prüfsumme, letzte Änderung, SafetyId), die sicheren Werkzeuge (Nummer, Name, SafeTcp X, Y, Z und Anzahl der Kugeln - Information in den Hinweisen, die Kugeln werden nicht gezeichnet), WorldToRobRoot (Position des Roboters in WORLD; muss 0 sein, sonst werden die Zonen nicht mit den Punkten verglichen) und die Listen der Sicherheitsräume (MonitorableSpaces Cuboids / Prisms, CartesianSpaceList).
- Leere Liste der Sicherheitsräume: in den Hinweisen gemeldet ("no safety spaces configured").
- Gefüllte Sicherheitsräume werden mit dem Fehler "format is not supported yet" und der Anzahl der Quader, Prismen und Überwachungsblöcke gemeldet - es werden keine Zonen gezeichnet und keine geprüft (das Format der Einträge wird nicht geraten).
- Die Arbeitsräume
$WORKSPACE[n]und die Achsarbeitsräume$AXWORKSPACE[n]des iiQKA-Backups werden wie oben beschrieben gelesen.
Programme von KUKA KRC und iiQKA
Die Punkte von KUKA-KRC- und KUKA-iiQKA-Programmen werden wie die VKRC-Punkte ausgewertet: der TCP des Werkzeugs des Punkts in WORLD, nur bei einem in WORLD stehenden Roboter ($ROBROOT = 0, keine Linearachse) -
siehe Wie Robot Safety View rechnet.
Legende der Zeichnung
Dieselbe Legende steht im Fenster unter der Ansicht und unter den Bildern des Berichts. Beispiele für jede Markierung und die Spalten der Tabellen: Die Ansicht lesen.| Zeichnung | Bedeutung |
|---|---|
| rote Fläche mit rotem Rand | verbotene Zone: der TCP darf nicht eindringen |
| grüner Rand, ohne Füllung | erlaubte Zone: der Roboter muss darin bleiben |
| gestrichelter Rand (rot oder grün) | Zone, die durch ein Signal aktiviert (Fanuc: deaktiviert) wird - wird als aktiv geprüft |
| grauer Rand | nur Information: eine Überwachung ohne Stoppreaktion (ABB NoStop, Belegtsignale) oder eine
Zonenform ohne Überwachung |
| gepunkteter Rand | KUKA $WORKSPACE[n]: Überwachungs-Arbeitsraum der Steuerung, keine Sicherheitszone |
| blauer gestrichelter Rand | Arbeitsraum der Programme: die Kontur aller TCP-Punkte in der Draufsicht, der Quader darum in der Seitenansicht |
| blaue Punkte | TCP-Punkte der Programme (Zielpunkte in WORLD) |
| Kreuz mit den Buchstaben X und Y (Draufsicht) oder X und Z (Seitenansicht) | Ursprung des Koordinatensystems WORLD |
| gepunktete waagerechte Linie (Seitenansicht) | Z = 0 (Hallenboden) |
| Beschriftung 1/2 Name | Zonennummer und ein Kurzname; Zonen mit gleicher Form teilen sich eine Beschriftung (z. B. eine Zone und ihre Belegtüberwachung); eine Beschriftung wird verschoben, wenn sie eine andere verdecken würde; die vollen Namen stehen im Tooltip der Beschriftung und in der Zonentabelle |
| roter Punkt | Verletzung (der TCP oder eine Linearbahn ist in einer verbotenen Zone oder außerhalb einer erlaubten) |
| oranger Punkt | nahe der Grenze (auf der erlaubten Seite näher als der Wert von Nahe der Grenze) |
$AXWORKSPACE[n] haben keine Position in X, Y, Z: sie und ihre Befunde werden nicht
gezeichnet, nur in den Tabellen gelistet. Zonen ohne Haken Bericht werden nicht gezeichnet.
In den Berichtstabellen sind die Zeilen der Verletzungen rot und der Punkte nahe der Grenze orange.
Fenster
- Datei - eine mit der Schaltfläche ... gewählte Datei: die Archivdatei des Roboters (zip, wird für die
Analyse entpackt) oder die Datei mit den Sicherheitszonen (Fanuc
DCSVRFY.DG, ABBsc_cfg.xml, KUKASCTLPARA.SAF, KUKA iiQKAactive_safety_configuration.yml); die Programme stammen aus dem Ordner dieser Datei (KUKA: aus dem ganzen Archiv oberhalb vonC\KRC, iiQKA: oberhalb vonROBOTER). KUKA: die Arbeitsräume$WORKSPACEaus$custom.datund die Achsarbeitsräume$AXWORKSPACEaus$machine.datwerden mitgelesen. Ein Ordner wird mit einer Meldung abgelehnt. API:archive/safetyFile(dasselbe Feld). - Programme öffnen - statt einer Datei die im Editor geöffneten Programme (nur ein Roboter). API:
open. - Nahe der Grenze (mm) - Warnung, wenn ein Punkt oder eine Bahn auf der erlaubten Seite näher als dieser Wert an
der Grenze liegt. API:
near_mm. - Werkzeugradius (mm) - der TCP wird als Kugel mit diesem Radius behandelt. API:
tool_radius_mm. - Nahe der Grenze (Achsen) (Grad, Vorgabe 2, 0..90) - KUKA-Achsarbeitsräume
$AXWORKSPACE: Warnung, wenn eine überwachte Achse auf der erlaubten Seite näher als dieser Wert an ihrer Grenze liegt; der Werkzeugradius gilt hier nicht. API:near_deg. - TCP-Punkte anzeigen - zeichnet die Punkte; die Kontur des Arbeitsraums wird immer gezeichnet. API:
show_points. - Zonen lesen liest nur die Sicherheitskonfiguration; Berechnen ergänzt Programme und Prüfung.
- Ansichten: Draufsicht (X-Y) und Seitenansicht (X-Z); rot = verbotene Zone, grün = erlaubte Zone, gestrichelt = signalgeschaltet, grau = nur Information; rote und orange Punkte = Verletzungen und Punkte nahe der Grenze.
- Zonentabelle (Bericht, Typ, Z-Bereich, Koordinatensystem, Aktivierung, Stopp, Status) und Befundtabelle (Abstand in mm,
bei
$AXWORKSPACEin Grad; Position X Y Z, bei$AXWORKSPACEdie Achswerte; Doppelklick öffnet das Programm in der Zeile). - Spalte Bericht der Zonentabelle mit den Schaltflächen Alle / Keine (Zonen im Bericht): nur die
Zonen mit Haken werden ausgewertet und im Bericht gezeigt. Eine Zone ohne Haken entfällt in der Prüfung, den Befunden, den
Zeichnungen und allen Berichtsdateien (Status "nicht im Bericht (nicht ausgewertet)", grau); die Zahlen der
Zusammenfassung sind die der gezeigten Zonen, die Zusammenfassung des Berichts nennt die weggelassenen Zonen. Beim Ändern
eines Hakens wird das Ergebnis neu berechnet. Die Auswahl wird je Roboterarchiv gespeichert (Dateiname des
Archivs); Vorgabe: alle Zonen. API:
report_zones/report_exclude. - Bericht - HTML, PDF, CSV, Excel, JSON, PNG, SVG mit den Bildern und der Warnung. Im PDF (A4 quer) steht jede
Zeichnung auf einer eigenen Seite, an die Seite angepasst, und Ihr Logo (Druckeinstellung Footer logo) steht auf
jeder Seite unten rechts. Der Bericht ist in der Sprache des Robot Cell Simulators geschrieben (Help »
Language: Englisch oder Deutsch). API:
safety_report(file,formats) undsafety_image(file,view).
Kommando-API: Parameter der Achsarbeitsräume und der Berichtszonen
Diese Parameter sind neu (die übrigen Parameter sind oben bei den Feldern des Fensters beschrieben):| Parameter | Kommandos | Bedeutung | Standard |
|---|---|---|---|
near_deg | safety_open, safety_calculate, safety_report |
Feld Nahe der Grenze (Achsen) in Grad (Zahl, 0..90): Warnung nahe der Grenze der KUKA-Achsarbeitsräume
$AXWORKSPACE. Keine Zahl = Fehler near_deg: number expected. | der Wert des Felds
(zuerst 2 Grad) |
report_zones | safety_open, safety_calculate, safety_report |
nur diese Zonen im Bericht (Spalte Bericht): ein Array von Zonennummern (id aus
safety_zones, z. B. 308) oder Namen (wie in der Zonentabelle) oder eine einzelne Nummer / ein
Name; alle anderen Zonen entfallen | fehlt = die gespeicherte Auswahl des Archivs (zuerst: alle Zonen) |
report_exclude | safety_open, safety_calculate, safety_report |
diese Zonen entfallen in der Auswertung und im Bericht (Nummern oder Namen wie bei report_zones);
zusammen mit report_zones gelten beide. [] = keine Zone weggelassen. | fehlt = die gespeicherte Auswahl des Archivs |
report_zones/report_excludewirken wie die Haken der Spalte Bericht: die übergebene Auswahl ersetzt die gespeicherte und wird für das Archiv gespeichert. Beisafety_open/safety_calculategilt sie beim Lesen der Zonen; beisafety_reportwird das geladene Ergebnis vor dem Schreiben der Dateien neu ausgewertet (Fehler nothing to report, wenn nichts geladen ist).- Eine Zone, die nicht in der geladenen Konfiguration ist, ergibt die Antwort
ok: falsemit dem Fehlerreport_zones: zone '...' not found in the loaded configuration; ein Wert, der weder Array noch Zahl noch Text ist, ergibtarray of zone ids or names expected. - Die Antwort von
safety_reportenthältfiles,report_zones,report_exclude,violationsundnear; die Antwort vonsafety_zoneszusätzlichreport_zonesundreport_exclude.
{"cmd": "plugin_cmd", "plugin": "Robot Safety View", "command": "safety_calculate", "archive": "...zip",
"near_deg": 3, "report_exclude": [208, 308]}.
Kommando-API: JSON der Ergebnisse
Die Antworten vonsafety_open, safety_calculate, safety_status und der JSON-Bericht enthalten
diese Felder (zusätzlich zu den bisherigen); die Zonenfelder stehen auch in der Antwort von safety_zones:
| Feld | Wo | Bedeutung | Standard |
|---|---|---|---|
iiqka | Ergebnis | true = KUKA iiQKA (yml-Sicherheitskonfiguration im Archiv gefunden) | false |
workspaces | Ergebnis | KUKA: Anzahl der definierten $WORKSPACE[n] (auch #OFF) | 0 |
workspaceFile | Ergebnis | KUKA: Pfad der $custom.dat mit den Arbeitsräumen | fehlt (keine Datei) |
kind | jede Zone | workspace = KUKA $WORKSPACE (Überwachung der Steuerung, keine
Sicherheitszone), safety = Sicherheitszone | safety |
mode | jede Zone mit kind = workspace | MODE des Arbeitsraums, z. B.
#INSIDE_STOP, #OUTSIDE, #OFF | fehlt bei Sicherheitszonen |
near_deg | Ergebnis | Wert von Nahe der Grenze (Achsen) [Grad] | 2 |
axisWorkspaces | Ergebnis | KUKA: Anzahl der definierten $AXWORKSPACE[n] (auch #OFF) | 0 |
axisWorkspaceFile | Ergebnis | KUKA: Pfad der $machine.dat mit den Achsarbeitsräumen | fehlt (keine Datei) |
pointsWithAxes, pointsWithoutAxes | Ergebnis | KUKA: Punkte mit / ohne Achswerte für
$AXWORKSPACE | fehlt (kein Achsarbeitsraum geprüft) |
report_zones, report_exclude | Ergebnis | Nummern der Zonen im Bericht / weggelassen (Spalte Bericht) | alle Zonen / [] |
report | jede Zone | true = Zone ausgewertet und im Bericht. Die Antworten der Kommandos
listen alle Zonen; die JSON-Datei des Berichts nur die Zonen des Berichts. | true |
kind = axisWorkspace | jede Zone | KUKA $AXWORKSPACE (Achsüberwachung der
Steuerung, keine Sicherheitszone), Nummer 300 + n; mit mode, axes (überwachte Achsen:
{"A1": [N, P], ...}), unit = deg, axName (Name
$AXWORKSPACE_NAMEn), minMargin_deg (statt minMargin_mm) und
pointsNotEvaluated; polygon ist leer | - |
margin, unit | jeder Befund | Abstand auf der erlaubten Seite und seine Einheit
(mm oder deg); zusätzlich margin_mm mit x, y,
z oder bei kind = axisWorkspace margin_deg und axes
(Text, z. B. A1 81.0 in 80.0 .. 125.0) | mm |
kind | jeder Befund | point (Zielpunkt), segment (Linearbewegung),
arc (Kreisbewegung entlang des Bogens), axisWorkspace (KUKA $AXWORKSPACE) | - |
arcs | Ergebnis | Kreisbewegungen: {"evaluated": n, "asSegment": n, "notEvaluated": n}
= entlang des Bogens geprüft / als Gerade geprüft (Punkte auf einer Geraden oder zusammenfallend) / nur Zielpunkt
(Hilfs- oder Startpunkt nicht verfügbar) | alle 0 |
otherMotions | Ergebnis | Bewegungen anderer Art (Spline, nicht modellierte Bewegung wie Fanuc
A): nur Zielpunkt | 0 |
archive / safetyFile kann auch eine KUKA-iiQKA-Backup-ZIP oder
active_safety_configuration.yml sein; die neuen Parameter stehen in der Tabelle oben.
Grenzen
- Ein Roboter pro Lauf; mehrere in den Quellen gefundene Roboter werden mit einer Liste abgelehnt.
- KUKA (KRC, iiQKA, VKRC): Punkte nur bei einem in WORLD stehenden Roboter (
$ROBROOT= 0, keine LinearachseET1 #ERSYS); KUKA VKRC: die$WORKSPACE[n]und$AXWORKSPACE[n]werden vorerst nicht gezeigt. - KUKA
$AXWORKSPACE[n]: nur die Zielpunkte werden geprüft (nicht die Achsbahn dazwischen); überwachte externe Achsen E1..E6 werden nicht ausgewertet (Fehler); die Semantik ist in unseren Unterlagen nicht durch eine KUKA-Dokumentation bestätigt. - KUKA iiQKA: gefüllte Sicherheitsräume der yml-Datei werden noch nicht unterstützt (gemeldet, nicht gezeichnet).
- Arm, Werkzeuggeometrie, Bremswege und Signalzustände werden nicht ausgewertet (siehe Warnung oben).
- Roboter mit externer Achse, nicht unterstützter Montage oder fehlenden Positionsdaten ergeben eine eindeutige Meldung statt eines berechneten Ergebnisses.