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.
Siehe auch:
DReS - Online Conditions for KUKA and Fanuc - Add or Remove FB PSPS and Define Sammelmerker (YouTube, Englisch)
DReS - Fahrbedingungen für KUKA und Fanuc - FB PSPS ergänzen oder entfernen, Sammelmerker anlegen (YouTube, Deutsch)
- Beispiel: Roboter mit großem Greifer
- Bedienung
- Dialog
- Welche Fahrbedingungen geändert werden
- Definition im Makro
- Fanuc: TC_ONLINE mit OR und negierten Klammern
- Syntaxprüfung der Fahrbedingung
- Meldungen
- Tipps
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
- Ö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.
- 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.
- Menü VKRC » Define Sammelmerker oder VFanuc » Define Sammelmerker.
- 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.
| Feld | Beschreibung |
|---|---|
| Group | Operanden 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 M | Neuer 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. |
| Comment | Kommentar, der im Makro über die Definition geschrieben wird (Standard: „Sammelmerker“). |
| Add / modify Makro | Schreibt 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 files | Ersetzt die Gruppe im aktuellen Programm oder in allen geöffneten Folgen und UPs. |
| For all Folgen and UPs of the robot of this file | Ersetzt 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 - Nur Fahrbedingungen, die alle Operanden der Gruppe auf oberster Ebene, mit AND verknüpft, enthalten. Die Reihenfolge der Operanden spielt keine Rolle, und andere Operanden können dazwischen stehen - z. B. wird die Gruppe E41 & E42 & E43 auch in E41 & E43 & E42 und in E41 & E42 & M2 & E43 gefunden. Der neue Merker wird an die Stelle des ersten ersetzten Operanden gesetzt; mit der Option zum Umsortieren der Fahrbedingung werden die Operanden wie gewohnt sortiert.
- Klammern mit OR, z. B. (M2 + M4) oder (M[7] OR M[8]), sind ein Operand der Bedingung und bleiben unverändert. Klammern mit AND gehören nur zur obersten Ebene.
- Vor jeder Änderung prüft das Programm, ob der neue Merker bereits in einer Fahrbedingung verwendet wird, und zeigt diese Zeilen an; Cancel bricht den gesamten Vorgang ab.
- Die geänderten Zeilen werden gelb hervorgehoben und auf der Bildlaufleiste markiert. Alle Änderungen in einem Programm sind ein Rückgängig-Schritt (Ctrl+Z).
- Hat eine Fahrbedingung nach der Änderung immer noch mehr als 11 Operanden, werden die Zeilen in einer Warnung aufgelistet.
- Wird die Gruppe in keiner Fahrbedingung gefunden, erscheint eine Meldung - die Definition im Makro kann trotzdem geschrieben 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:
- Yes - nur diese Zeilen werden ersetzt (ihre Einrückung bleibt erhalten). Der Rest des Makros bleibt unverändert.
- No - das Makro wird nicht geändert, die vorhandene Definition wird markiert.
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
- einen fehlenden logischen Operator, z. B. E1 E2 oder E1 (E2 + E3),
- einen doppelten oder fehlenden Operanden, z. B. E1 & & E2, E1 &,
- unbekannte Operanden oder Zeichen, z. B. E-5,
- fehlende oder leere Klammern,
- eine negierte Klammer !( ... ), die VKRC nicht unterstützt.
Ein fehlender Operator wird mit seiner Position gemeldet.
▲ Meldungen | Meldung | Bedeutung |
|---|---|
| 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_ONLINE | Keine Fahrbedingung enthält alle Operanden der Gruppe. |
| FB PSPS / TC_ONLINE still contains more than 11 operands | Liste 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. |
- Beginnen Sie mit Gruppen, die in vielen Punkten vorkommen: Verriegelungen eines Partners, Zustand des Greifers (alle Spanngruppen offen / geschlossen), Teileabfragen eines Teiletyps.
- Sammelmerker können auf anderen Merkern aufbauen - Spanngruppe » Greiferzustand » Fahrbedingung.
- Laut Standard werden die Merker in Makro50 definiert; bei mehr als 60 aktiven Merkern werden sie auf die Typ-Makros 51 - 54 aufgeteilt.
- VKRC: Die Merkerdefinitionen (Makro50) müssen am Anfang eines UP wiederholt werden, damit eine manuelle Anwahl oder ein Probelauf des UP funktioniert.
- Speichern Sie die geänderten Programme und das Makro gemeinsam.













