MC_GearInMultiMaster
Mit dem Funktionsbaustein MC_GearInMultiMaster wird eine lineare Master-Slave-Kopplung (Getriebekopplung) zu bis zu vier verschiedenen Masterachsen aktiviert. Der Getriebefaktor kann jeweils dynamisch, d. h. in jedem SPS-Zyklus angepasst werden. Die Slave-Bewegung ergibt sich aus der Überlagerung der Bewegungen der Master. Der Parameter „Acceleration“ wirkt begrenzend, falls die Änderungen des Getriebefaktors sehr groß sind.
Die Slaveachse kann mit dem Funktionsbaustein MC_GearOut abgekoppelt werden. Wird der Slave während der Fahrt abgekoppelt, behält er seine Geschwindigkeit bei und kann mit MC_Stop angehalten werden.
Wenn weniger als vier Master verwendet werden, kann für die Parameter „Master2“ bis „Master4“ jeweils eine leere Datenstruktur übergeben werden (die Achs-ID muss 0 sein).
Eingänge
VAR_INPUT
Master1 : Reference To AXIS_REF;
Master2 : Reference To AXIS_REF;
Master3 : Reference To AXIS_REF;
Master4 : Reference To AXIS_REF;
Enable : BOOL;
GearRatio1 : LREAL;
GearRatio2 : LREAL;
GearRatio3 : LREAL;
GearRatio4 : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
BufferMode : MC_BufferMode;
Options : ST_GearInMultiMasterOptions;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Master1 | Reference To AXIS_REF | Achsdatenstruktur des ersten Masters |
Master2 | Reference To AXIS_REF | Achsdatenstruktur des zweiten Masters |
Master3 | Reference To AXIS_REF | Achsdatenstruktur des dritten Masters |
Master4 | Reference To AXIS_REF | Achsdatenstruktur des vierten Masters |
Enable | BOOL | Ist „Enable“ TRUE, stellt der Baustein eine Kopplung her. Wird ein MC_GearOut ausgeführt, während der MC_GearInMultiMaster weiterhin mit „Enable“ TRUE aufgerufen wird, wird nur kurzzeitig abgekoppelt und danach direkt versucht, die Kopplung wieder herzustellen. Solange „Enable“ TRUE ist, können die Getriebefaktoren zyklisch geändert werden. Wenn „Enable“ nach der Kopplung FALSE wird, wird das Kommando beendet. Die Getriebefaktoren werden auf ihre letzten Werten eingefroren, aber der Slave wird nicht entkoppelt. |
GearRatio1 | LREAL | Getriebefaktor als Fließkommawert für die erste Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert. |
GearRatio2 | LREAL | Getriebefaktor als Fließkommawert für die zweite Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert. |
GearRatio3 | LREAL | Getriebefaktor als Fließkommawert für die dritte Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert. |
GearRatio4 | LREAL | Getriebefaktor als Fließkommawert für die vierte Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert. |
Acceleration | LREAL | Beschleunigung (≥0). Bei einem Wert von 0 wirkt die Standardbeschleunigung aus der Achskonfiguration im System Manager. Der Parameter begrenzt die Beschleunigung des Slaves bei großen Änderungen des Getriebefaktors. |
Deceleration | LREAL | Verzögerung (≥0). Bei einem Wert von 0 wirkt die Standardverzögerung aus der Achskonfiguration im System Manager. Der Parameter begrenzt die Verzögerung des Slaves bei großen Änderungen des Getriebefaktors. Nur für die Option „AdvancedSlaveDynamics“ verwendet. |
Jerk | LREAL | Ruck (≥0). Bei einem Wert von 0 wirkt der Standardruck aus der Achskonfiguration im System Manager. Der Parameter begrenzt den Ruck des Slaves bei großen Änderungen des Getriebefaktors. Nur für die Option „AdvancedSlaveDynamics“ verwendet. |
BufferMode | MC_BufferMode | Zurzeit nicht implementiert |
Options |
|
Übersicht: Welches Anwenderkommando bewirkt in Abhängigkeit vom SyncMode eine bleibende Positionsdifferenz bzw. holt diese Positionsdifferenz wieder auf.
![]() | Wenn im Stillstand der Achsen mit einem konstanten Getriebefaktor gekoppelt wird (und der Getriebefaktor im Verlauf der Kopplung nicht mehr geändert wird), dann verhalten sich die beiden SyncModes POSSYNC1 und POSSYNC2 identisch. |
Ein-/Ausgänge
VAR_IN_OUT
Slave : AXIS_REF;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Slave | AXIS_REF | Achsdatenstruktur des Slaves |
Die Achsdatenstruktur vom Typ AXIS_REF adressiert eine Achse eindeutig im System. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand.
Ausgänge
VAR_OUTPUT
InGear : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
InGear | BOOL | TRUE, wenn die Kopplung erfolgreich durchgeführt wurde. |
Busy | BOOL | TRUE, sobald das Kommando mit „Enable“ gestartet wird und solange der Befehl abgearbeitet wird. Wenn „Busy“ FALSE ist, ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge „InGear“, „CommandAborted“ oder „Error“ gesetzt. |
Active | BOOL | Zeigt an, dass das Kommando ausgeführt wird. (Zurzeit ist Active = Busy) |
CommandAborted | BOOL | TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte. Die Achse kann während des Koppelvorgangs entkoppelt worden sein (gleichzeitige Kommandoausführung). |
Error | BOOL | TRUE, wenn ein Fehler auftritt. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.0.0 | PC oder CX (x86 oder x64) | Tc2_MC2 |