MC_GearInPos
Mit dem Funktionsbaustein MC_GearInPos wird eine Slave-Achse positionsgenau mit einer Master-Achse (Fliegende Säge) synchronisiert. Die Synchrongeschwindigkeit wird genau am Synchronpunkt von Master und Slave erreicht.
Die Master-Achse muss sich bereits in Bewegung befinden, sonst ist die Synchronisierung nicht möglich.
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.
Eingänge
VAR_INPUT
Execute : BOOL;
RatioNumerator : LREAL;
RatioDenominator : UINT;
MasterSyncPosition : LREAL;
SlaveSyncPosition : LREAL;
SyncMode : ST_SyncMode;
MasterStartDistance : LREAL;
Velocity : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
BufferMode : MC_BufferMode;
Options : ST_GearInPosOptions;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt. |
RatioNumerator | LREAL | Getriebefaktor Zähler. Alternativ kann der Getriebefaktor als Fließkommawert angegeben werden, wenn der Nenner 1 ist. |
RatioDenominator | UINT | Getriebefaktor Nenner |
MasterSyncPosition | LREAL | Synchronposition des Masters |
SlaveSyncPosition | LREAL | Synchronposition des Slaves |
SyncMode | ST_SyncMode | In der Datenstruktur SyncMode werden über einzelne Flags die Randbedingungen für den Synchronisierungsvorgang festgelegt. |
MasterStartDistance | LREAL | Zurzeit nicht implementiert. |
Velocity | LREAL | Maximale Slave-Geschwindigkeit in der Synchronisierungsphase. Wenn keine Geschwindigkeit angegeben wird, wird die Default-Geschwindigkeit der Achse aus den Systemmanager-Daten verwendet. Info: Die hier angegebene Geschwindigkeit wird nur überprüft, wenn die Überprüfung mit der Variablen SyncMode aktiviert wird. |
Acceleration | LREAL | Maximale Slave-Beschleunigung in der Synchronisierungsphase. Wenn keine Beschleunigung angegeben wird, wird die Default-Beschleunigung der Achse aus den Systemmanager-Daten verwendet. Info: Die hier angegebene Beschleunigung wird nur überprüft, wenn dies Überprüfung mit der Variablen SyncMode aktiviert wird. |
Deceleration | LREAL | Maximale Slave-Verzögerung in der Synchronisierungsphase. Wenn keine Verzögerung angegeben wird, wird die Default-Verzögerung der Achse aus den Systemmanager-Daten verwendet. Info: Die hier angegebene Verzögerung wird nur überprüft, wenn dies Überprüfung mit der Variablen SyncMode aktiviert wird. |
Jerk | LREAL | Maximaler Slave-Ruck in der Synchronisierungsphase. Wenn kein Ruck angegeben wird, wird der Default-Ruck der Achse aus den Systemmanager-Daten verwendet. Info: Der hier angegebene Ruck wird nur überprüft, wenn dies Überprüfung mit der Variablen SyncMode aktiviert wird. |
BufferMode | MC_BufferMode | Zurzeit nicht implementiert |
Options | ST_GearInPosOptions | Die ST_GearInPosOptions enthält zwei Positionswerte als Begrenzung. Die Prüfung auf diese Positionsgrenzen kann eingeschaltet werden. Dazu müssen zwei Flags ( |
Bei einem Verhältnis 1:4 muss der RatioNumerator 1 sein und der RatioDenominator 4. Alternativ kann der RatioDenominator 1 sein und der Getriebefaktor wird im RatioNumerator als Fließkommazahl 0.25 angegeben. Der RatioNumerator darf negativ sein. |
Ein-/Ausgänge
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.
VAR_IN_OUT
Master : AXIS_REF;
Slave : AXIS_REF;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Master | AXIS_REF | Achsdatenstruktur des Masters |
Slave | AXIS_REF | Achsdatenstruktur des Slaves |
Ausgänge
VAR_OUTPUT
StartSync : BOOL;
InSync : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
StartSync | BOOL | Wird TRUE, wenn die Synchronisierung mit der Master-Achse gestartet wurde. |
InSync | BOOL | Wird TRUE, wenn die Kopplung erfolgreich durchgeführt wurde und die Slave-Achse mit der Master-Achse synchronisiert ist. |
Busy | BOOL | Der Busy-Ausgang wird TRUE, sobald das Kommando mit Execute 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 InSync, CommandAborted oder Error gesetzt. |
Active | BOOL | Active zeigt an, dass das Kommando ausgeführt wird. (zur Zeit ist Active=Busy, siehe BufferMode) |
CommandAborted | BOOL | 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 | BOOL | Wird TRUE, sobald ein Fehler eintritt. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |