Define Sammelmerker
Every motion point of a VKRC or Fanuc program has an online travel condition: FB PSPS in VKRC and TC_ONLINE in Fanuc. The robot checks it permanently while it moves to the next point. Typical operands are the robot interlocks (inputs 41 - 56), the position releases of the stations (inputs 57 - 80), part checks and the feedback of the clamp groups of the gripper.

On a robot with a large or double gripper, many clamp groups and several interlocking partners this condition quickly becomes long and hard to read - and it reaches the limit of 11 operands. The VW standard therefore uses a Sammelmerker: a part of the condition is combined into one merker, which is defined in the merker initialisation makro (Makro50). The merkers M1 - M30 are reserved for this purpose ("Zusammenfassung Fahrbedingungen").

Define Sammelmerker does this in one step: it defines the new merker in the makro and replaces the group in every online condition of the current file or of all open Folgen and UPs. The function is available in the menu VKRC and VFanuc.
English DReS - Define Sammelmerker: clear online conditions for KUKA and Fanuc (YouTube, English)
Deutsch DReS - Sammelmerker definieren: übersichtliche Fahrbedingungen für KUKA und Fanuc (YouTube, Deutsch)
See also: English DReS - Online Conditions for KUKA and Fanuc - Add or Remove FB PSPS and Define Sammelmerker (YouTube, English)
Deutsch DReS - Fahrbedingungen für KUKA und Fanuc - FB PSPS ergänzen oder entfernen, Sammelmerker anlegen (YouTube, Deutsch)
▲ Example: robot with a large gripper

A handling robot with a multi gripper for two part types. The gripper has eight clamp groups, every clamp group has several cylinders and every cylinder has two sensors (open / closed). In many points the robot also waits for five robot interlocks and three station releases. Without merkers a single point would need more than forty signals. The program uses Sammelmerker on three levels - sensors, clamp groups, state of the gripper:
-- Clamp group 1 OPEN -- M31 = E579 & !E580 & E581 & !E582 & E583 & !E584 & E585 & !E586 -- Clamp group 1 CLOSED -- M32 = !E579 & E580 & !E581 & E582 & !E583 & E584 & !E585 & E586 ... -- Gripper open -- M10 = M31 & M33 & M35 & M37 & M40 & M41 & M43 & M45
and still the online condition of a point uses all 11 operands:
FB PSPS = M1 & M10 & M30 & E43 & E44 & E47 & E49 & E51 & E64 & E76 & E80
The five robot interlocks appear together in many points. After Define Sammelmerker (group E43 & E44 & E47 & E49 & E51 into M25):
Makro50: -- Robot interlocks -- M25 = E43 & E44 & E47 & E49 & E51 Every point with the group: FB PSPS = M1 & M10 & M25 & M30 & E64 & E76 & E80
The point is readable again, there is space for further conditions, and a change of the interlocks is made in one place.

▲ How to use it

  1. Open a Folge or an UP (VKRC: .src, Fanuc: .ls). The makro is found through the project of the robot, so open the program from the project tree.
  2. Select the group in any online condition, e.g. E43 & E44 & E47 & E49 & E51. The whole line can be selected as well - FB PSPS =, TC_ONLINE, the line number, outer brackets and ; are ignored. Without a selection the last group is proposed.
  3. Menu VKRC » Define Sammelmerker or VFanuc » Define Sammelmerker.
  4. Check the group, choose the new merker, a comment and the makro, then press OK.
Group selected in FB PSPS, menu VKRC » Define Sammelmerker.

▲ Dialog

The group is taken over from the selected text: four operands into M26, for all Folgen and UPs of the robot of this file.
FieldDescription
GroupOperands of the group, combined with AND (VKRC &, Fanuc AND), each one optionally negated with !. Operands: VKRC E, A, M, F, T, S - Fanuc DI, DO, M, F. A new field appears when the previous one is filled; an empty type ends the group. The group is filled from the selected text. If the selection can not be taken over (e.g. it contains OR or an unknown operand), or it has more operands than the dialog allows, a warning is shown above the group.
Into MNew merker. The last used number is proposed, the standard range is M1 - M30. Any other number of the controller can be entered - a warning with the standard range is shown next to the field.
CommentComment written above the definition in the makro (default: "Sammelmerker").
Add / modify MakroWrite the definition into the makro with this number (0 - 999, default 50). VKRC: Makros\makroNN.src of the robot, Fanuc: MAKRONNN.LS in the language folder of the backup.
For the current file only / For all session filesReplace the group in the current program or in all open Folgen and UPs.
For all Folgen and UPs of the robot of this fileReplace the group in all Folgen and UPs of the robot the current program belongs to (not the active project), also in programs which are not opened (VKRC: folders Folgen and UPs, Fanuc: FOLGE*.LS and UP*.LS in the program folder). Online conditions are only in motion points, so other programs are not checked. Programs which contain the group are listed, opened and changed in the editor - they are not saved automatically.
All Folgen and UPs of the robot: programs with the group which are not opened are listed before they are opened and changed.
The dialog does not close with an empty group or when the new merker is itself a part of the group.
A merker outside the standard range is possible, but marked with a warning.
Selection (M[7] OR M[8]) AND DI[14]: only operands combined with AND can be taken over into the group.
▲ Which online conditions are changed

The new merker is already used - all lines with it are listed before anything is changed.
11 operands reduced to 7 in every point with the group - M25 highlighted, markers on the scroll bar.
All Folgen and UPs of the robot: a Folge which was not opened is opened and changed. The group E43 & E47 & E49 & E51 is found although E44 stands between its operands.
▲ Definition in the makro

The makro is opened in the editor (or activated, if it is already open). The definition is added at its end, with the comment above it, in the format of the controller:
VKRC: -- Robot interlocks -- M25 = E43 & E44 & E47 & E49 & E51 Fanuc: ! Robot interlocks ; M[20]=(DI[41] AND DI[45] AND DI[53]) ;
If the makro already defines this merker, all lines with its definition and the new definition are shown and the program asks before overwriting: The new or changed definition is selected in the makro. The makro and the programs are not saved automatically. In the programs all replacements are one undo step. In the VKRC makro a new definition creates new folds, so the editor may clear the undo history of the makro - to discard the change, close the makro without saving.
The comment and the definition M25 = E43 & E44 & E47 & E49 & E51 are added at the end of the Makro50.
An existing definition is replaced only after confirmation.
▲ Fanuc: TC_ONLINE with OR and negated brackets

The Fanuc controller has no priority of AND before OR - combinations have to be put in brackets. TC_ONLINE conditions with nested brackets, OR and negated brackets are fully supported:
TC_ONLINE ((M[7] OR M[8]) AND DI[14] AND DI[24] AND M[32] AND M[34] AND M[36] AND DI[75] AND DI[63] AND !DI[64] AND DI[41] AND DI[45] AND DI[53]) ; TC_ONLINE ((M[7] OR M[8]) AND DI[14] AND DI[24] AND M[32] AND M[34] AND M[36] AND DI[75] AND DI[63] AND !DI[64] AND M[20]) ;
A bracket with OR, e.g. (M[7] OR M[8]), or a negated bracket, e.g. !(DI[4] AND DI[5]), is one operand of the condition and stays untouched. The negation is written as !, like in the program. Long texts of the signals (DI[41:...]) are ignored when the groups are compared and are not written into the changed line. The same rules are used when the online condition is reordered by the options of the Fanuc editor.
Fanuc: the bracket with OR stays, the selected signals become M[20].
The new definition with its comment at the end of MAKRO050, selected in the editor.
▲ Syntax check of the online condition

VKRC: FB PSPS and FB ONL are checked for Such a line is reported as a syntax error Wrong logical expression with the reason and the position, instead of being changed silently. Brackets, e.g. M30 & (E1 + E2), are correct. Nested brackets, e.g. M30 & ((E1 & E2) + E3), are reported as Command not supported. Fanuc: TC_ONLINE is checked by the Fanuc syntax check.
A missing operator is reported with its position.
▲ Messages

MessageMeaning
Define at least one operand of the group.The group in the dialog is empty.
M.. cannot be a part of its own group.The new merker is one of the operands of the group.
The selection could not be taken over (...)The selected text is not a group of operands combined with AND.
M.. is already used in n online condition(s)The new merker is already an operand of these lines; continue or cancel.
The group ... was not found in any FB PSPS / TC_ONLINENo online condition contains all operands of the group.
FB PSPS / TC_ONLINE still contains more than 11 operandsList of lines which are still over the limit of the standard.
M.. is already defined in ...The makro has a definition of this merker; overwrite it or keep it.
Could not find ... / Could not open ...The makro or the makro folder of the robot was not found.
▲ Tips