MC_GearInMultiMaster

MC_GearInMultiMaster 1:

Mit dem Funktionsbaustein MC_GearInMultiMaster wird ein lineare Master-Slave-Kopplung (Getriebekopplung) zu bis zu vier verschiedenen Master-Achsen 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 Slave-Achse kann mit dem Funktionsbaustein MC_GearOut abgekoppelt werden. Wird der Slave während der Fahrt abgekoppelt, so behält er seine Geschwindigkeit bei und kann mit MC_Stop angehalten werden.

Falls 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
Enable : BOOL;
GearRatio1 : LREAL;
GearRatio2 : LREAL;
GearRatio3 : LREAL;
GearRatio4 : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
BufferMode : MC_BufferMode;
Options : ST_GearInMultiMasterOptions;
END_VAR

Enable

Mit einer steigenden Flanke am Eingang Enable führt die Kopplung aus. Solange Enable TRUE ist, kann der Getriebefaktor zyklisch geändert werden.
Wenn Enable nach der Kopplung FALSE wird, wird das Kommando beendet. Der Getriebefaktor wird auf seinem letzten Wert eingefroren aber der Slave wird nicht entkoppelt.

GearRatio1

Getriebefaktor als Fließkommawert für die erste Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert.

GearRatio2

Getriebefaktor als Fließkommawert für die zweite Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert.

GearRatio3

Getriebefaktor als Fließkommawert für die dritte Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert.

GearRatio4

Getriebefaktor als Fließkommawert für die vierte Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert.

Acceleration

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

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

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

Zur Zeit nicht implementiert

Options.

AdvancedSlaveDynamics

Tauscht den internen Algorithmus des Bausteins. Damit ist es möglich auf bereits in Bewegung befindliche Master aufzusynchronisieren. Dabei sollten Acceleration und Deceleration ausschließlich symmetrisch parametriert werden. Bei zu großen Ruck-Vorgaben wird dieser soweit reduziert, dass eine Änderung von Null auf die parametrierte Beschleunigung / Verzögerung in einem NC-Zyklus erfolgen kann. Die Auflösung der Beschleunigung / Verzögerung hängt somit direkt von der geeigneten Parametrierung des Ruck-Wertes ab.

Ausgänge


VAR_OUTPUT
InGear : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR

InGear

Wird TRUE, wenn die Kopplung erfolgreich durchgeführt wurde.

Busy

Der Busy-Ausgang wird TRUE, sobald das Kommando mit Enable gestartet wird und bleibt TRUE, solange der Befehl abgearbeitet wird. Wenn Busy wieder FALSE wird, so ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge InGear, CommandAborted oder Error gesetzt.

Active

Active zeigt an, dass das Kommando ausgeführt wird. (zur Zeit ist Active=Busy, siehe BufferMode)

CommandAborted

Wird 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

Wird im Fehlerfall TRUE.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Ein/Ausgänge


VAR_IN_OUT
Master1 : AXIS_REF;
Master2 : AXIS_REF;
Master3 : AXIS_REF;
Master4 : AXIS_REF;
Slave : AXIS_REF;
END_VAR

AXIS_REF AXIS_REF AXIS_REF AXIS_REF AXIS_REF

Master1

Achsdatenstruktur des ersten Masters.

Master2

Achsdatenstruktur des zweiten Masters.

Master3

Achsdatenstruktur des dritten Masters.

Master4

Achsdatenstruktur des vierten Masters.

Slave

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.