Einige Funktionsbausteine besitzen einen Eingang BufferMode . Diese Funktionsbausteine können ineinander überschliffen werden, um schnellere Bewegungen ohne zwischenzeitliches Anhalten an den Übergängen zu realisieren.
- Ein Kommando im BufferMode "mcAborting" wird sofort ausgeführt. Die aktuelle und alle folgenden Bewegungen werden schnellstmöglich abgebrochen. Anschließend wird die programmierte Bewegung durchgeführt. Ein Überschleifen wird in diesem BufferMode nicht unterstützt.
- Ein Kommando im BufferMode "mcBuffered" wird erst ausgeführt, nachdem alle vorherigen programmierten Bewegungen abgeschlossen sind.
- Der BufferMode ist stets beim nächsten (nachfolgenden) FB einzustellen und wirkt sich auf den vorhergehenden (aktuellen) FB aus.
- Für den Eingang BufferMode stehen folgende Optionen zur Auswahl, die den Übergang zum nächsten Kommando festlegen. Die Auswahl erfolgt über den Aufzählungstyp MC_BUFFER_MODE der Funktionsbibliothek "L_MC1P_MotionControlBasic", für den folgende Konstanten (INT) definiert sind:
|
Name |
Initialwert |
Info |
|---|---|---|
|
mcAborting |
0 |
" Non-buffered mode " (Standard-Verhalten): Das nächste Bewegungskommando bricht das laufende Bewegungskommando ab.
|
|
mcBuffered |
1 |
Das nächste Bewegungskommando wird erst ausgeführt, wenn das vorhergehende Bewegungskommando beendet ist (Statusausgang Done = TRUE). |
|
Modi für Überschleifen |
||
|
In den folgenden Modi wird das nächste Bewegungskommando ebenfalls erst ausgeführt, wenn das vorhergehende Bewegungskommando beendet ist (Statusausgang Done = TRUE). Im Unterschied zum Modus " Buffered " stoppt die Achse aber nicht zwischen den zwei Bewegungskommandos, sondern "durchläuft" die erste Zielposition mit einer Geschwindigkeit wie nachfolgend beschrieben: |
||
|
mcBlendingLow |
2 |
Der Übergang zum nächsten Bewegungskommando erfolgt mit der niedrigeren Geschwindigkeit der zwei Bewegungskommandos. |
|
mcBlendingPrevious |
3 |
Der Übergang zum nächsten Bewegungskommando erfolgt mit der Geschwindigkeit des laufenden Bewegungskommandos. |
|
mcBlendingNext |
4 |
Der Übergang zum nächsten Bewegungskommando erfolgt mit der Geschwindigkeit des nächsten Bewegungskommandos. |
|
mcBlendingHigh |
5 |
Der Übergang zum nächsten Bewegungskommando erfolgt mit der höheren Geschwindigkeit der zwei Bewegungskommandos. |
|
Hinweis!
Für FBs, die die Bewegungsbeauftragung einer Achse koordinieren (L_MC1P, L_MC2P), wird eine Buffergröße von "2" unterstützt, d. h. es kann gleichzeitig ein Funktionsbaustein abgearbeitet werden und zusätzlich ein zweiter Funktionsbaustein auf seine Aktivierung warten. Wird während dieser Zeit noch ein dritter FB gestartet, wird der zweite FB abgebrochen und der dritte FB wird unmittelbar nach dem ersten FB abgearbeitet. |
Die folgende Tabelle gibt einen Überblick, welche Funktionsbausteine den "B uffered mode " unterstützen und bei welchen Funktionsbausteinen ein Folge-Kommando im " Buffered mode " möglich ist:
|
Funktionsbaustein |
" Buffered mode " möglich |
Folge-Kommando im " Buffered mode " möglich |
Relevantes Signal für Aktivierung des Folge-Kommandos |
|---|---|---|---|
|
l |
l |
InSync |
|
|
l |
l |
InSync |
|
|
l |
l |
InGear |
|
|
l |
l |
InSync |
|
|
l |
l |
Done |
|
|
l |
l |
Done |
|
|
l |
l |
Done |
|
|
l |
l |
Done |
|
|
l |
l |
InEndVelocity |
|
|
l |
l |
InEndVelocity |
|
|
l |
l |
Done |
|
|
l |
l |
InVelocity |
|
|
l |
l |
Done |
|
|
l |
l |
Done |
|
|
- |
l |
Status |
|
|
- |
l |
Done AND NOT Execute |
In den folgenden Unterkapiteln finden Sie Beispiele zu den verschiedenen Modi.