MC_GearInDyn

MC_GearInDyn 1:

Mit dem Funktionsbaustein MC_GearInDyn wird ein lineare Master-Slave-Kopplung (Getriebekopplung) aktiviert. Der Getriebefaktor kann dynamisch, d. h. in jedem SPS-Zyklus angepasst werden. Somit lässt sich eine geregelte Master-Slave-Kopplung aufbauen. 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 oder MC_Halt angehalten werden.

Alternativ steht der Baustein MC_GearIn mit festem Getriebefaktor zur Verfügung.

Eingänge


VAR_INPUT
Enable : BOOL;
GearRatio : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
BufferMode : MC_BufferMode;
Options : ST_GearInDynOptions;
END_VAR

MC_BufferMode

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.

GearRatio

Getriebefaktor als Fließkommawert. 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.
Die maximale Beschleunigung wird erst bei maximaler Master-Geschwindigkeit erreicht, anderenfalls liegt die Slave-Beschleunigung bei großen Getriebefaktoränderungen unterhalb dieses Wertes.

Deceleration

Verzögerung (≥0). (nicht implementiert)

Jerk

Ruck (≥0). (nicht implementiert)

BufferMode

Zur Zeit nicht implementiert

Options

Zur Zeit nicht implementiert

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
Master : AXIS_REF;
Slave : AXIS_REF;
END_VAR

AXIS_REF AXIS_REF

Master

Achsdatenstruktur des 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.