Aufruf:
- Menü des Roboters (VKRC, KRC, Fanuc, ABB, Yaskawa) » Axis limit usage... - nur Roboter dieses Herstellers; das aktive Programm des Herstellers ist in der Liste angehakt;
- Projektbaum, Kontextmenü eines Roboters » Axis limit usage of <Roboter>... - alle Programme des Archivs des Roboters;
- Befehls-API:
axis_limits(siehe VeRa / Befehls-API).
Nutzung einer Achse
Mitte = (untere Grenze + obere Grenze) / 2 Hälfte = (obere Grenze - untere Grenze) / 2 Nutzung = |Achswert - Mitte| / Hälfte * 100 %
- 0 % - die Achse steht in der Mitte ihres Software-Bereichs, 100 % - auf dem Software-Endschalter, über 100 % - außerhalb;
- Reserve (Margin) - Abstand in Grad vom Achswert zur näheren Grenze; die Seite (+ / -) zeigt, welche Grenze nahe ist;
- ein Punkt ist eine Warnung, wenn seine schlechteste Achse die Schwelle erreicht (Standard 90 %, Einstellung Settings » General » Axis limit usage: warning threshold);
- Handsingularität - ein Punkt ist auch eine Warnung, wenn Achse 5 (KUKA A5, Fanuc J5, ABB Achse 5, Yaskawa B) näher als der eingestellte Winkel an 0° steht (Standard 5°, 0 = aus): Achsen 4 und 6 liegen in einer Linie, eine kartesische Bewegung durch den Punkt dreht sie sehr schnell oder bricht mit einem Fehler ab. Die Zeile zeigt die Achse mit ihrem Winkel (z. B. A5 1.20°) und einen Hinweis. Standardmäßig werden nur kartesische Bewegungen geprüft (VKRC LIN / KLIN / SLIN / CIRC / KCIR / SCIR, KRC LIN / CIRC / SLIN / SCIRC, Fanuc L / C, ABB MoveL / MoveC, Yaskawa MOVL / MOVC / MOVS), bei einem Kreis Ziel- und Hilfspunkt; PTP- / Achsbewegungen nahe der Singularität werden nur gezählt (Option include PTP / joint moves).
Standardmäßig geprüft
- Programme: nur Bewegungsprogramme mit Punkten - VKRC UP, Folge und Makro mit Bewegungen (nie
Makrostep, Makrotrigger, Makrosps, Makrosaw), KRC-Programme mit KRL-Bewegungen, Fanuc-TP-Programme mit
Abschnitt
/POSund J / L / C / A-Bewegungen, ABB-Module mit Move-Befehlen, Yaskawa-JOBs mit MOV-Befehlen. Andere Dateien werden nicht gelesen; die Zusammenfassung zählt sie nur (skipped: n without points / not a motion program); - keine KUKA-Systemdateien in Archiven und Ordnern: Namen mit
$am Anfang und die OrdnerSystem,Mada,TP,STEU,VW_User,RoboterunterKRC; einzeln hinzugefügte und geöffnete Programme werden immer gelesen; - Schwelle 90 % - gezeigt werden nur Punkte mit einer Achse ab der Schwelle (nur diese Achsen) und Punkte ohne Ergebnis;
- Handsingularität unter 5° für kartesische Bewegungen (siehe oben) einschließlich der Hilfspunkte von Kreisen;
- VW User jedes VKRC- / Fanuc-Roboters in der Kopfzeile (siehe unten).
Erweiterungen
| Option | Feld im Fenster | API-Parameter | Standard |
|---|---|---|---|
| KUKA-Systemdateien in Archiven / Ordnern | Include system files | includeSystem | aus |
| Handsingularität auch für PTP- / Achsbewegungen | include PTP / joint moves | wristIncludePtp | aus |
| jeder Punkt mit allen Achsen, Werten und Grenzen | Show all points | showAll | aus |
| Warnschwelle [%] | Threshold | threshold (+ remember) | 90 (Programmeinstellung) |
| Winkel der Handsingularität [°], 0 = aus | Wrist singularity below | wrist (+ remember) | 5 |
| Dateimasken für Archive / Ordner | File masks | masks | Programme des Roboters |
| Umfang: geöffnete Programme, Programme, Roboterprojekte, Archive / Ordner | Check (Liste) | open, files, projects, folders (oder scope + paths) | aktives Programm (API) |
| nur ein Steuerungstyp | Menü des Roboters | vendor | alle |
| Ergebnisdatei: PDF, HTML, XLSX, CSV | Result | format + save | nur Tabelle |
VW-User-Version
Die Kopfzeile nennt den VW User jedes VKRC- und Fanuc-Roboters (auch Spalte VW User in XLSX / CSV undvwUser der API), so wie der Editor ihn liest - nichts wird geraten:
- VKRC:
KRC\R1\VW_User\vw_usr_s.src-Tech_*.Name[](z. B. KS26.01.005_20180529), sonst&COMMENT; weicht der&COMMENTvonvw_usr_s.src,vw_usr_r.srcodervw_user.srcab, wird er ebenfalls gezeigt; - Fanuc: die Backup-Dateien
usersdat.va(LOG_UD_NAMES),prgstate.dg(VW_USER PC, Comment) undversion.va(VAG_UPDATE) - die erste gefundene; ein abweichendesVAG_UPDATEwird ebenfalls gezeigt; - nichts gefunden: unknown (...) mit Grund.
Achswerte und Software-Endschalter
| Roboter | Achswerte eines Punktes | Software-Endschalter |
|---|---|---|
| VKRC | Rückwärtstransformation mit der Stellung S / T des Punktes | $machine.dat: $SOFTN_END / $SOFTP_END |
| KRC | E6AXIS / AXIS - aus dem Programm, E6POS / POS - Rückwärtstransformation mit S / T | $machine.dat: $SOFTN_END / $SOFTP_END |
| Fanuc | J[] - aus dem Programm, P[] - Rückwärtstransformation mit CONFIG (Gruppe 1) | $MRR_GRP[1].$LOWERLIMS / $UPPERLIMS |
| ABB | jointtarget - aus dem Programm, robtarget - Rückwärtstransformation mit cf | MOC.cfg: -lower_joint_bound / -upper_joint_bound |
| Yaskawa | PULSE - aus dem Programm, RECTAN - Rückwärtstransformation mit RCONF | Achsbereich aus SC.PRM (wenn vorhanden), sonst die Kinematikdatei des Roboters |
PR[n] (sein Wert wird im laufenden Programm gesetzt), ein kartesischer Fanuc-Punkt mit
UF:F / UT:F (Achspunkte J[] damit werden geprüft). Ein KUKA-Roboter auf der Lineareinheit
ERSYS wird nicht unterstützt (die kinematische Kette der Einheit ist nicht bestätigt) - seine kartesischen Punkte
bekommen diesen Fehler, wie in der Punkttabelle. Ein mehrfach verwendeter Punkt erscheint einmal (erste
Bewegung). Ein kartesischer Punkt, der nach der Rückwärtstransformation mit vollständigen Roboterdaten außerhalb
eines Endschalters liegt, bekommt den Hinweis not reachable with this S/T within the software limits (point
probably never taught). Fenster des Editors, die beim Lesen eines Programms erscheinen (z. B. Unbalanced ;FOLD /
;ENDFOLD structure), schließt der Bericht und zeigt ihren Text als Hinweis des Programms.
Einstellungsfenster
Die Menübefehle öffnen zuerst die Einstellungen des Berichts; der Bericht startet mit Generate report. Die letzte Auswahl bleibt erhalten.- Check - beliebige Kombination aus: Open programs in the editor (mit nicht gespeicherten Änderungen), den Roboterprojekten des Projektbaums, Archiven / Ordnern und Programmen, die mit Add archive / folder... und Add programs... hinzugefügt wurden (Remove entfernt einen hinzugefügten Eintrag);
- File masks - Programme der Archive und Ordner, getrennt mit
;; leer = die Programme des Roboters (VKRCfolge*.src; up*.src, KRC*.src, Fanuc*.ls, ABB*.mod; *.modx, Yaskawa*.jbi); KUKA-Systemdateien und Dateien ohne Bewegungen werden übersprungen (siehe Standardmäßig geprüft); Include system files liest auch die Systemdateien; - Threshold, Wrist singularity below (Grad, 0 = aus), include PTP / joint moves und Show all points (aus: nur die Warnungen, siehe oben);
- Result - die Tabelle im Fenster und wahlweise eine Datei: PDF, HTML, Excel-Arbeitsmappe (XLSX) oder CSV.
Befehls-API
{"cmd":"axis_limits", "open":false, "files":["D:/cell/R1/KRC/R1/UPs/UP42.src"],
"projects":["K1TUVR215060R01"], "folders":["D:/archives/R03"], "masks":["up*.src"],
"threshold":90, "wrist":5, "wristIncludePtp":false, "includeSystem":false, "remember":false, "showAll":false, "vendor":"VKRC",
"format":"pdf", "save":"D:/reports/axis_limits.pdf", "maxRows":500, "dialog":false}
- die Quellen lassen sich kombinieren;
"projects":["*"]= alle Roboter des Projektbaums; ohne Quelle wird das aktive Programm geprüft; Kurzform"scope":"file|open|projects|folders"+"paths"; threshold- Standard: die Programmeinstellung;wrist- Winkel der Handsingularität in Grad (0 = aus, Standard: letzter Wert des Fensters, 5);wristIncludePtp(Standard false) - Handsingularität auch für PTP- / Achsbewegungen;includeSystem(Standard false) - KUKA-Systemdateien in Archiven / Ordnern;"remember":truespeichert sie als Einstellungen;format+save- die Berichtsdatei (pdf, html, xlsx, csv);"dialog":true- öffnet das Einstellungsfenster mit diesen Werten ("run":true- und erstellt dort den Bericht);showAll- jeder Punkt und jede Achse (Standard false: nur Warnungen und Punkte ohne Ergebnis);- Antwort:
summary,programs,points,above,belowThreshold,withoutResult,wristSingularity,wristSkipped,programsWithPoints,skippedNoPoints,systemFilesSkipped,vwUser(Roboter: Version und Quelle),withoutWarnings(Programme),rows(Punkt, Programm, Zeile,worstAxis,usage,side,marginDeg,wristAxis/wristDeg,axesmit Wert, Grenzen und Nutzung,axisSource,note),saved; - Fortschritt: Zeilen
axis_limits: start / n/m files ... / endindres.log(alle 3 s); während der Bericht in seinem Fenster läuft, hat der API-Befehlstatusdas Feldprogress.
Top