Define Sammelmerker
Jeder Bewegungspunkt eines VKRC- oder Fanuc-Programms hat eine Online-Fahrbedingung: FB PSPS bei VKRC und TC_ONLINE bei Fanuc. Der Roboter prüft sie ständig, während er zum nächsten Punkt fährt. Typische Operanden sind die Roboterverriegelungen (Eingänge 41 - 56), die Positionsfreigaben der Stationen (Eingänge 57 - 80), Teileabfragen und die Rückmeldungen der Spanngruppen des Greifers.

Bei einem Roboter mit großem oder doppeltem Greifer, vielen Spanngruppen und mehreren Verriegelungspartnern wird diese Bedingung schnell lang und unübersichtlich - und sie erreicht die Grenze von 11 Operanden. Der VW-Standard verwendet daher einen Sammelmerker: Ein Teil der Bedingung wird in einem Merker zusammengefasst, der im Makro zur Merkerinitialisierung (Makro50) definiert wird. Die Merker M1 - M30 sind für diesen Zweck reserviert („Zusammenfassung Fahrbedingungen“).

Define Sammelmerker erledigt dies in einem Schritt: Die Funktion definiert den neuen Merker im Makro und ersetzt die Gruppe in jeder Fahrbedingung der aktuellen Datei oder aller geöffneten Folgen und UPs. Die Funktion ist in den Menüs VKRC und VFanuc verfügbar.
English DReS - Define Sammelmerker: clear online conditions for KUKA and Fanuc (YouTube, Englisch)
Deutsch DReS - Sammelmerker definieren: übersichtliche Fahrbedingungen für KUKA und Fanuc (YouTube, Deutsch)
Siehe auch: English DReS - Online Conditions for KUKA and Fanuc - Add or Remove FB PSPS and Define Sammelmerker (YouTube, Englisch)
Deutsch DReS - Fahrbedingungen für KUKA und Fanuc - FB PSPS ergänzen oder entfernen, Sammelmerker anlegen (YouTube, Deutsch)
▲ Beispiel: Roboter mit großem Greifer

Ein Handlingroboter mit einem Mehrfachgreifer für zwei Teiletypen. Der Greifer hat acht Spanngruppen, jede Spanngruppe hat mehrere Zylinder, und jeder Zylinder hat zwei Sensoren (offen / geschlossen). In vielen Punkten wartet der Roboter außerdem auf fünf Roboterverriegelungen und drei Stationsfreigaben. Ohne Merker bräuchte ein einziger Punkt mehr als vierzig Signale. Das Programm verwendet Sammelmerker auf drei Ebenen - Sensoren, Spanngruppen, Zustand des Greifers:
-- 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
und trotzdem verwendet die Fahrbedingung eines Punkts alle 11 Operanden:
FB PSPS = M1 & M10 & M30 & E43 & E44 & E47 & E49 & E51 & E64 & E76 & E80
Die fünf Roboterverriegelungen kommen in vielen Punkten gemeinsam vor. Nach Define Sammelmerker (Gruppe E43 & E44 & E47 & E49 & E51 in M25):
Makro50: -- Robot interlocks -- M25 = E43 & E44 & E47 & E49 & E51 Jeder Punkt mit der Gruppe: FB PSPS = M1 & M10 & M25 & M30 & E64 & E76 & E80
Der Punkt ist wieder lesbar, es ist Platz für weitere Bedingungen, und eine Änderung der Verriegelungen erfolgt an einer einzigen Stelle.

▲ Bedienung

  1. Öffnen Sie eine Folge oder ein UP (VKRC: .src, Fanuc: .ls). Das Makro wird über das Projekt des Roboters gefunden; öffnen Sie das Programm daher aus dem Projektbaum.
  2. Markieren Sie die Gruppe in einer beliebigen Fahrbedingung, z. B. E43 & E44 & E47 & E49 & E51. Es kann auch die ganze Zeile markiert werden - FB PSPS =, TC_ONLINE, die Zeilennummer, äußere Klammern und ; werden ignoriert. Ohne Markierung wird die letzte Gruppe vorgeschlagen.
  3. Menü VKRC » Define Sammelmerker oder VFanuc » Define Sammelmerker.
  4. Prüfen Sie die Gruppe, wählen Sie den neuen Merker, einen Kommentar und das Makro, und drücken Sie dann OK.
Gruppe in FB PSPS markiert, Menü VKRC » Define Sammelmerker.

▲ Dialog

Die Gruppe wird aus dem markierten Text übernommen: vier Operanden in M26, für alle Folgen und UPs des Roboters dieser Datei.
FeldBeschreibung
GroupOperanden der Gruppe, mit UND verknüpft (VKRC &, Fanuc AND), jeder optional mit ! negiert. Operanden: VKRC E, A, M, F, T, S - Fanuc DI, DO, M, F. Ein neues Feld erscheint, sobald das vorherige ausgefüllt ist; ein leerer Typ beendet die Gruppe. Die Gruppe wird aus dem markierten Text gefüllt. Kann die Markierung nicht übernommen werden (z. B. weil sie OR oder einen unbekannten Operanden enthält) oder hat sie mehr Operanden, als der Dialog zulässt, wird über der Gruppe eine Warnung angezeigt.
Into MNeuer Merker. Es wird die zuletzt verwendete Nummer vorgeschlagen, der Standardbereich ist M1 - M30. Jede andere Nummer der Steuerung kann eingegeben werden - neben dem Feld wird dann eine Warnung mit dem Standardbereich angezeigt.
CommentKommentar, der im Makro über die Definition geschrieben wird (Standard: „Sammelmerker“).
Add / modify MakroSchreibt die Definition in das Makro mit dieser Nummer (0 - 999, Standard 50). VKRC: Makros\makroNN.src des Roboters, Fanuc: MAKRONNN.LS im Sprachordner des Backups.
For the current file only / For all session filesErsetzt die Gruppe im aktuellen Programm oder in allen geöffneten Folgen und UPs.
For all Folgen and UPs of the robot of this fileErsetzt die Gruppe in allen Folgen und UPs des Roboters, zu dem das aktuelle Programm gehört (nicht des aktiven Projekts), auch in nicht geöffneten Programmen (VKRC: Ordner Folgen und UPs, Fanuc: FOLGE*.LS und UP*.LS im Programmordner). Fahrbedingungen gibt es nur in Bewegungspunkten, daher werden andere Programme nicht geprüft. Programme, die die Gruppe enthalten, werden aufgelistet, geöffnet und im Editor geändert - sie werden nicht automatisch gespeichert.
Alle Folgen und UPs des Roboters: Nicht geöffnete Programme mit der Gruppe werden aufgelistet, bevor sie geöffnet und geändert werden.
Der Dialog wird nicht geschlossen, solange die Gruppe leer ist oder der neue Merker selbst Teil der Gruppe ist.
Ein Merker außerhalb des Standardbereichs ist möglich, wird aber mit einer Warnung gekennzeichnet.
Markierung (M[7] OR M[8]) AND DI[14]: Nur mit AND verknüpfte Operanden können in die Gruppe übernommen werden.
▲ Welche Fahrbedingungen geändert werden

Der neue Merker wird bereits verwendet - alle Zeilen damit werden aufgelistet, bevor etwas geändert wird.
11 Operanden auf 7 reduziert in jedem Punkt mit der Gruppe - M25 hervorgehoben, Markierungen auf der Bildlaufleiste.
Alle Folgen und UPs des Roboters: Eine nicht geöffnete Folge wird geöffnet und geändert. Die Gruppe E43 & E47 & E49 & E51 wird gefunden, obwohl E44 zwischen ihren Operanden steht.
▲ Definition im Makro

Das Makro wird im Editor geöffnet (oder aktiviert, falls es bereits offen ist). Die Definition wird an seinem Ende eingefügt, mit dem Kommentar darüber, im Format der Steuerung:
VKRC: -- Robot interlocks -- M25 = E43 & E44 & E47 & E49 & E51 Fanuc: ! Robot interlocks ; M[20]=(DI[41] AND DI[45] AND DI[53]) ;
Definiert das Makro diesen Merker bereits, werden alle Zeilen mit seiner Definition und die neue Definition angezeigt, und das Programm fragt vor dem Überschreiben nach: Die neue oder geänderte Definition wird im Makro markiert. Makro und Programme werden nicht automatisch gespeichert. In den Programmen sind alle Ersetzungen ein Rückgängig-Schritt. Im VKRC-Makro erzeugt eine neue Definition neue Folds, daher kann der Editor den Undo-Verlauf des Makros löschen - um die Änderung zu verwerfen, schließen Sie das Makro ohne zu speichern.
Der Kommentar und die Definition M25 = E43 & E44 & E47 & E49 & E51 werden am Ende von Makro50 eingefügt.
Eine vorhandene Definition wird nur nach Bestätigung ersetzt.
▲ Fanuc: TC_ONLINE mit OR und negierten Klammern

Die Fanuc-Steuerung kennt keinen Vorrang von AND vor OR - Kombinationen müssen in Klammern gesetzt werden. TC_ONLINE-Bedingungen mit verschachtelten Klammern, OR und negierten Klammern werden vollständig unterstützt:
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]) ;
Eine Klammer mit OR, z. B. (M[7] OR M[8]), oder eine negierte Klammer, z. B. !(DI[4] AND DI[5]), ist ein Operand der Bedingung und bleibt unberührt. Die Negation wird wie im Programm als ! geschrieben. Langtexte der Signale (DI[41:...]) werden beim Vergleich der Gruppen ignoriert und nicht in die geänderte Zeile geschrieben. Dieselben Regeln gelten, wenn die Fahrbedingung über die Optionen des Fanuc-Editors umsortiert wird.
Fanuc: Die Klammer mit OR bleibt erhalten, die markierten Signale werden zu M[20].
Die neue Definition mit ihrem Kommentar am Ende von MAKRO050, im Editor markiert.
▲ Syntaxprüfung der Fahrbedingung

VKRC: FB PSPS und FB ONL werden geprüft auf Eine solche Zeile wird als Syntaxfehler Wrong logical expression mit Grund und Position gemeldet, statt stillschweigend geändert zu werden. Klammern, z. B. M30 & (E1 + E2), sind korrekt. Verschachtelte Klammern, z. B. M30 & ((E1 & E2) + E3), werden als Command not supported gemeldet. Fanuc: TC_ONLINE wird von der Fanuc-Syntaxprüfung geprüft.
Ein fehlender Operator wird mit seiner Position gemeldet.
▲ Meldungen

MeldungBedeutung
Define at least one operand of the group.Die Gruppe im Dialog ist leer.
M.. cannot be a part of its own group.Der neue Merker ist einer der Operanden der Gruppe.
The selection could not be taken over (...)Der markierte Text ist keine mit AND verknüpfte Gruppe von Operanden.
M.. is already used in n online condition(s)Der neue Merker ist bereits Operand dieser Zeilen; fortfahren oder abbrechen.
The group ... was not found in any FB PSPS / TC_ONLINEKeine Fahrbedingung enthält alle Operanden der Gruppe.
FB PSPS / TC_ONLINE still contains more than 11 operandsListe der Zeilen, die weiterhin über der Grenze des Standards liegen.
M.. is already defined in ...Das Makro enthält eine Definition dieses Merkers; überschreiben oder beibehalten.
Could not find ... / Could not open ...Das Makro oder der Makro-Ordner des Roboters wurde nicht gefunden.
▲ Tipps