Where:
- menu of the robot (VKRC, KRC, Fanuc, ABB, Yaskawa) » Axis limit usage... - only robots of this manufacturer; the active program of the manufacturer is checked in the list;
- project tree, context menu of a robot » Axis limit usage of <robot>... - all programs of the archive of the robot;
- command API:
axis_limits(see VeRa / command API).
Usage of an axis
middle = (lower limit + upper limit) / 2 half = (upper limit - lower limit) / 2 usage = |axis value - middle| / half * 100 %
- 0 % - the axis is in the middle of its software range, 100 % - on the software limit, over 100 % - outside of the limit;
- Margin - the distance in degrees from the axis value to the nearer limit; the side (+ / -) shows which limit is near;
- a point is a warning when its worst axis reaches the threshold (default 90 %, setting Settings » General » Axis limit usage: warning threshold);
- wrist singularity - a point is also a warning when axis 5 (KUKA A5, Fanuc J5, ABB axis 5, Yaskawa B) is closer than the set angle to 0° (default 5°, 0 = off): axes 4 and 6 are in one line and a Cartesian motion through the point turns them very fast or stops with an error. The row shows the axis with its angle (e.g. A5 1.20°) and a note. By default only Cartesian motions are checked (VKRC LIN / KLIN / SLIN / CIRC / KCIR / SCIR, KRC LIN / CIRC / SLIN / SCIRC, Fanuc L / C, ABB MoveL / MoveC, Yaskawa MOVL / MOVC / MOVS), for an arc the target and the auxiliary point; PTP / joint moves near the singularity are only counted (option include PTP / joint moves).
What is checked by default
- Programs: only motion programs with points - VKRC UP, Folge and Makro with motions (never
Makrostep, Makrotrigger, Makrosps, Makrosaw), KRC programs with KRL motions, Fanuc TP programs with a
/POSsection and J / L / C / A motions, ABB modules with Move instructions, Yaskawa JOBs with MOV instructions. Other files are not read; the summary only counts them (skipped: n without points / not a motion program); - no KUKA system files in archives and folders: names starting with
$and the foldersSystem,Mada,TP,STEU,VW_User,RoboterbelowKRC; programs added one by one and open programs are always read; - threshold 90 % - shown are only points with an axis at or above it (only these axes) and points without a result;
- wrist singularity below 5° for Cartesian motions (see above) including the auxiliary points of arcs;
- VW User of every VKRC / Fanuc robot in the header (see below).
Options to extend the report
| Option | Field in the window | API parameter | Default |
|---|---|---|---|
| KUKA system files in archives / folders | Include system files | includeSystem | off |
| wrist singularity also for PTP / joint moves | include PTP / joint moves | wristIncludePtp | off |
| every point with all axes, values and limits | Show all points | showAll | off |
| warning threshold [%] | Threshold | threshold (+ remember) | 90 (program setting) |
| wrist singularity angle [°], 0 = off | Wrist singularity below | wrist (+ remember) | 5 |
| file masks of archives / folders | File masks | masks | programs of the robot |
| scope: open programs, programs, robot projects, archives / folders | Check (list) | open, files, projects, folders (or scope + paths) | active program (API) |
| only one controller type | menu of the robot | vendor | all |
| result file: PDF, HTML, XLSX, CSV | Result | format + save | table only |
VW User version
The header gives the VW User of every VKRC and Fanuc robot (also the column VW User of XLSX / CSV andvwUser of the API), the same way the editor reads it - nothing is guessed:
- VKRC:
KRC\R1\VW_User\vw_usr_s.src-Tech_*.Name[](e.g. KS26.01.005_20180529) or else&COMMENT; when the&COMMENTofvw_usr_s.src,vw_usr_r.srcorvw_user.srcdiffers it is shown too (e.g. KS26.01.005_20180529 (vw_usr_s.src); &COMMENT KS26 (vw_user.src)); - Fanuc: the backup files
usersdat.va(LOG_UD_NAMES),prgstate.dg(VW_USER PC, Comment) andversion.va(VAG_UPDATE) - the first one found; a differentVAG_UPDATEis shown too; - nothing found: unknown (...) with the reason.
Axis values and software limits
| Robot | Axis values of a point | Software limits |
|---|---|---|
| VKRC | inverse kinematics with the configuration S / T of the point | $machine.dat: $SOFTN_END / $SOFTP_END |
| KRC | E6AXIS / AXIS - from the program, E6POS / POS - inverse kinematics with S / T | $machine.dat: $SOFTN_END / $SOFTP_END |
| Fanuc | J[] - from the program, P[] - inverse kinematics with CONFIG (group 1) | $MRR_GRP[1].$LOWERLIMS / $UPPERLIMS |
| ABB | jointtarget - from the program, robtarget - inverse kinematics with cf | MOC.cfg: -lower_joint_bound / -upper_joint_bound |
| Yaskawa | PULSE - from the program, RECTAN - inverse kinematics with RCONF | SC.PRM axis range (when found), else the kinematics file of the robot |
PR[n] (its value is set while the program runs), a Fanuc Cartesian point with UF:F /
UT:F (joint points J[] with them are checked). A KUKA robot on the linear unit ERSYS is not
supported (the kinematic chain of the unit is not confirmed) - its Cartesian points get this error, the same as
in the point table. A point used several times in a program is shown once (its first motion).
A Cartesian point which lies outside of a software limit by the inverse kinematics with complete robot data
gets the note not reachable with this S/T within the software limits (point probably never taught).
Windows of the editor which appear while a program is read (for example Unbalanced ;FOLD / ;ENDFOLD
structure) are closed by the report and their text is shown as a note of the program.
Settings window
The menu commands open the settings of the report first; the report starts with Generate report. The last choices are kept.- Check - any combination of: Open programs in the editor (with unsaved changes), the robot projects of the project tree, archives / folders and programs added with Add archive / folder... and Add programs... (Remove deletes an added entry);
- File masks - programs of archives and folders, separated by
;; empty = the programs of the robot (VKRCfolge*.src; up*.src, KRC*.src, Fanuc*.ls, ABB*.mod; *.modx, Yaskawa*.jbi); KUKA system files and files without motions are skipped (see What is checked by default); Include system files reads the system files too; - Threshold, Wrist singularity below (degrees, 0 = off), include PTP / joint moves and Show all points (off: only the warnings, see above);
- Result - the table in the window and optionally a file: PDF, HTML, Excel workbook (XLSX) or CSV.
Command 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}
- the sources can be combined;
"projects":["*"]= all robots of the project tree; without a source the active program is checked; short form"scope":"file|open|projects|folders"+"paths"; threshold- default: the program setting;wrist- wrist singularity angle in degrees (0 = off, default: the last value of the window, 5);wristIncludePtp(default false) - wrist singularity also for PTP / joint moves;includeSystem(default false) - KUKA system files in archives / folders;"remember":truestores them as the settings;format+save- the report file (pdf, html, xlsx, csv);"dialog":true- opens the settings window with these values ("run":true- and generates the report there);showAll- every point and axis (default false: only warnings and points without a result);- answer:
summary,programs,points,above,belowThreshold,withoutResult,wristSingularity,wristSkipped,programsWithPoints,skippedNoPoints,systemFilesSkipped,vwUser(robot: version and source),withoutWarnings(programs),rows(point, program, line,worstAxis,usage,side,marginDeg,wristAxis/wristDeg,axeswith value, limits and usage,axisSource,note),saved; - progress: lines
axis_limits: start / n/m files ... / endindres.log(every 3 s); while the report runs in its window the API commandstatushas the fieldprogress.
Top