Robot Cell Simulator – What RCS checks
« Work zones and collisions | Contents | Robustness test »

Work Zones > Check interlocks compares the interlocks programmed in the Folgen and UPs of every robot with the shared areas of the work zones and checks the signals of the interlocks (VW standard: request A81..A96 = EIN + SPSMAKRO20, release A41..A56 = EIN, input E41..E56 in FB PSPS). This page lists every check: what the program does wrong, an example and how to correct it. The same rules are used by the collision matrix (signal logic) and - without the geometry - by the command line test tool; the command API returns them with check_interlocks.

Severity: error - the robot can collide or the interlock does not work; warning - deviation from the standard, wrong or missing description, possible waiting; info - hint for the optimisation or the review of a change.
Long texts (descriptions of E41..E56 / A41..A56 / A81..A96) are the valid source of the partner robot of an interlock; the comments above the points are descriptions - a difference is a warning, not an error.

1. Interlocks and work zones | 2. Signal logic | 3. Comments and long texts | 4. Online condition, partner, simulation run | 5. Robot names

1. Interlocks and work zones (geometry)

These checks need the work zones (Work Zones > Calculate) of the checked programs.

Check (code)SeverityWhat is wrong in the programExampleHow to correct
No interlock
MISSING
errorThe robot moves in an area it shares with a partner robot (work zones calculated from the paths) without any interlock against this partner.UP42 P10..P14 in the area of R03, no A8n = EIN beforeRequest an interlock in the last exact point before the area, release it after the area (Insert interlocks).
Requested too late
LATE
errorThe interlock is requested only after the robot has entered the shared area.A84 = EIN in P7, the area starts with the motion to P6Request it in the last exact point before the area.
Released too early
EARLY
errorThe interlock is released (A4n = EIN) while the robot is still in the shared area.A44 = EIN in P20, the robot leaves the area only after P23Release it in the first point after the area.
Released inside the area
GAP
warningInside the shared area the interlock is released and requested again - for some points the robot moves unprotected.A44 = EIN in P15, A84 = EIN in P17, area P12..P20Keep the interlock over the whole area.
One-sided interlock
ONESIDED
warningOnly one robot of the pair protects the shared area; the partner moves in it without interlock.R03 requests zone 4 against R06, R06 never requests a zone against R03Request the same interlock in the programs of the partner.
Other partner
PARTNER
warningThe interlock is described for one robot, but in this part of the path the robot meets only another one.Interlock 3 "mit 0001R05", the path meets only 0001R04Check the long texts and the comment of the interlock and the wiring of the partner.
Not needed
UNNEEDED
infoWhile the interlock is held the robot never moves in an area shared with the partner.The interlock may be removed - check it with the zone parameters (link radius, tool).
Held too long
LONG
info / warningThe interlock is held at least 3 points longer than the motion in the shared area. After a simulation run it is a warning when the partner really waited for this zone (number and seconds). Without an exact point between the request and the area the suggestion says so.zone 4 held UP48 P5..P25, area only P19..P24, R06 waited 10 x, 216 sRequest later (last exact point before the area) / release earlier (first point after it) - never on a process path.
Stop on the process path
PATHSTOP
error / warning / infoAn interlock request in a point reached with a path motion (LIN, CIRC, KLIN, KCIR, KPTP ...) or a WARTE BIS in a technology motion - the robot can stop on the path. Error on KLIN / KCIR / KPTP, warning on LIN / CIRC, info in the VW service programs (UP101-163, UP201-210, Folge 120 / 123-125). UP90-99 (MAG) are process programs.A83 = EIN + SPSMAKRO20 in a KLIN point of the brushing pathRequest the interlock in the last exact point reached with PTP before the path.

2. Signal logic (order of request, Makro20, release)

Shown in Check interlocks as Signal logic and in the collision matrix.

Check (code)SeverityWhat is wrong in the programExampleHow to correct
Released again without request
R_RELEASE_AGAIN
warningA release A4n = EIN without a request A8n (or taking the zone) since the last release in the program.A43 = EIN in P5 and again in P20, no A83 = EIN betweenRemove the second release or add the missing request (A8n = EIN, SPSMAKRO20 = EIN, E4n in FB PSPS).
Makro20 without request
R_M20_NO_REQUEST
warningSPSMAKRO20 = EIN is called but no interlock is requested in the point.SPSMAKRO20 = EIN in P8 without A8n = EINRemove the Makro20 call or add the request in the same point.
Makro20 later than the request
R_M20_LATER
warningThe request A8n = EIN and Makro20 are in different points - the standard requires the same point (possible for synchronization).A84 = EIN in P3, SPSMAKRO20 = EIN in P5Call Makro20 in the point of the request.
Request never activated
R_M20_MISSING
errorAn interlock is requested but Makro20 is not called until the end of the program - the robot never waits for the grant.A85 = EIN in P2, no SPSMAKRO20Call SPSMAKRO20 = EIN in the point of the request.
One Makro20 for the same robot
R_M20_SAME_NEIGHBOUR
infoOne Makro20 activates several requests to the same partner robot - from KS 24.20 the standard requires Makro20 after each of them.A81, A85 = EIN (both to 0001R03), one SPSMAKRO20Call Makro20 after each request to the same robot (depends on the standard of the station).
Release cancels the request
R_RELEASE_CANCELS_REQUEST
errorThe Folge requests an interlock and calls a UP that releases it again in its P1 - the UP runs without the interlock.Folge81 P2: A84 = EIN, UP42 = EIN; UP42 P1: A44 = EINRemove the release from P1 of the UP (the request moved to the Folge).
Leaves Grundstellung without release
R_HOME_NOT_RELEASED
warningThe robot leaves Grundstellung (A15 = AUS) without releasing an interlock it uses in the Folge - the SPS keeps the zone taken.A15 = AUS in P2, A44 = EIN missing beforeRelease the interlock before A15 = AUS (A4n = EIN in point 2 or Makro45).
A15 = AUS not in point 2
R_A15_NOT_POINT2
warningIn a Folge started in Grundstellung, A15 = AUS belongs in the second point and only there (or it is missing).A15 = AUS in P4Set A15 = AUS in the second point, after releasing the interlocks.
UP called in Grundstellung
R_UP_CALL_AT_HOME
warningA UP that requests interlocks is called in a point of the Folge with the position of Grundstellung - the robot waits for the zones far from the station.R06 Folge81: P1 = P2 = P3 = HOME, UP42 called in P3, waits in UP42 P5 for zones 1 / 4 (21.6 s per cycle)Check whether the robot can safely move closer to the station before the call (or before the request) - an exact point just before the shared area, the request there.
UP called from several Folgen
R_UP_MULTI_FOLGE
infoA UP that requests interlocks is called from several Folgen - a change of its interlocks has to fit every one of them.UP42: folge81, folge83Check the change for every listed Folge (Import AI proposals shows the same note).

3. Comments above the points and long texts

The comments are recognized in the languages of the countries with VW plants - German (Verriegelung / Roboterverriegelung / Verr.), Spanish (Anticolision, Libera, enclavamiento), Portuguese (intertravamento, colisão), Czech (blokování, kolize, uvolnění), Slovak (blokovanie, kolízia, uvoľnenie), Polish (blokada, kolizja, zwolnienie), Hungarian (reteszelés), Chinese (互锁, 干涉, 释放), Russian (блокировка), English, French, Dutch, Italian - and with the words of the own templates. Settings > Interlock comments: up to three templates for a request and three for a release (e.g. a German, a Spanish and an English line above the same point); placeholders %E interlock number, %EE input 41..56, %A output, %R1 / %R2 robot names, %K1 / %K2 short robot numbers; examples in 12 languages. The interlock number is read from "Verriegelung 7", "7/8", "(A44)", "A47" or the input / output number (in Chinese also before the word); the partner from the robot named after it (the robot itself never).

Check (code)SeverityWhat is wrong in the programExampleHow to correct
Request / release without comment
R_REQUEST_NO_COMMENT / R_RELEASE_NO_COMMENT
warningAbove a point that requests (A8n = EIN) or releases (A4n = EIN) an interlock there is no comment naming the interlock. A description in the UP header or at another point does not count. Not reported: commands in a makro, bulk releases (3 or more in one point, initialization).UP48 P14 (KLIN): A41 = EIN, no comment aboveInsert missing comments in Check interlocks - text from Settings > Interlock comments, partner from the long texts.
Comment does not match the program
R_COMMENT_MISMATCH
warningA comment "Verriegelung n ... EIN" / "Anticolision n ..." without the request A8n in the point, or a release comment ("Libera ...", "... AUS") without the release A4n (old standard: A4n = AUS - taking the zone - matches too). State notes ("bereits EIN") are not checked."Anticolision 5 con 0001R03 (A45) EIN" above P1, A85 = EIN only in P2Check whether the command is missing / moved or the comment is old; correct the program or the comment.
Comment differs from the long texts
R_COMMENT_LONGTEXT
warningThe comment names another partner robot for interlock n than the long texts of E4n / A4n / A8n. The long texts are valid, the comment is only a description."Verriegelung 4 mit 0001R05 EIN", long text E44 "... zu 0001R03"Correct the comment.
Program header of another robot
R_HEADER_ROBOT
warningThe program header names another robot than the archive - a copied program; its comments and partners may be wrong."** 0001R05 **" in a program of 0001R04; "Station B 0002R03" in up101 of 0001R05Check the comments and the interlock partners of the copied program.

4. Online condition, partner check, simulation run

Check (code)SeverityWhat is wrong in the programExampleHow to correct
Online condition
ONLINE
error / warningAn active interlock without its input E4n in the online condition (FB PSPS) of the point - error when the motion is in the area shared with the partner. Collective merkers in makros are expanded (Settings > Simulation).zone 4 requested in P5, FB PSPS = M30 & E8146 in P8 without E44Add E4n to the FB PSPS condition of the point.
Partner of the interlock
PARTNERCHECK
error / warning / infoEach used interlock needs exactly one partner robot that names this robot back on the same interlock number (long texts E4n / A4n / A8n of both robots) - the same check as Robot Collisions Analyzer (To / Checked / Remarks).interlock 3 of R01 - to ???: NOKComplete the long texts of both robots so that they name each other.
Wait chain
CHAIN
warning / infoOnly after a simulation run: a robot waits for a zone of a partner while the partner itself waits - for another zone or for a condition (WARTE BIS, FB PSPS) - and keeps holding the first zone.R03 waits in UP48 P2 for zone 4 of R06, R06 holds it since Folge81 P2 and waits in UP42 P17 for zone 3 of R05Request the zones together (one Makro20), take the zone only after the wait, or release it before the wait.
Requests at the same moment
RACE
warningOnly after a simulation run: two partners request the same zone closer than the race window (Plugin settings > Simulation, default 1 s) and one of them waits. The order on the line is random - unless the SPS gives the zone in a fixed order (in the simulation: SPS block Interlock priority); it shows only in the station test at 100 %.R03 (UP48 P2) and R06 (Folge81 P2) request zone 4 0.001 s apartRequest the zone one exact point earlier in the robot that got it first in the simulation - the robots run together at 100 %, the order is then fixed. Variant B (the other robot first): SPS block Interlock priority or raceOrder in the Robustness test.
Collision risk in the run
COLLISION
errorDuring the simulation of the station: a robot moves without interlock in an area shared with a partner (MISSING of the work zones) while the partner is in this area at the same time - the robots can collide without any interlock signal. Motions without interlock are often safe only because of the order of the robots; after a change of the programs (order of the points, interlocks moved) they become a collision. Before the start the work zones of the programs of the run are checked (not calculated, programs changed, called UPs missing) and calculated again. Shown at once in the console, in a window after the simulation, in the cycle time report (Collision risk) and in Check interlocks after the run.R06 (UP42 P99 .. P111, zone 4 released already in P35) welds while R03 brushes the second time (UP48 P19 .. P24)Request the interlock before the motion into the shared area, or keep it until the robot has left the area.
Collision risk detected in the simulation (German user interface): R06 was changed to release zone 4 of R03 already in UP42 P35 - it welds P99 .. P111 without interlock while R03 brushes the second time (UP48 P19 .. P24). In the original programs the same motions are safe only because R03 has finished before.

5. Robot names

The full name of a VW robot, e.g. KDA4G1214460R01, consists of the station (KDA4G1), the Arbeitsgruppe (ARG, one digit: 2), the Schutzkreis (SK, one digit: 1) and the robot number 4460R01 (four digits, R and two or three digits). Only the robot number identifies the robot - comments and long texts often write ARG + SK + number (214460R06). Fixtures have V01.. (Vorrichtung), not R.

When a simulation file is loaded, RCS compares the robot number of every robot in the file with the robot name of its archive and with the archive folder; another number gives a warning in the console ("check that the archive belongs to this robot") and in the command API (status: robotNameWarnings).

Top