MC_GearInPos

MC_GearInPos 1:

Der Funktionsbaustein MC_GearInPos synchronisiert eine Slave-Achse positionsgenau mit einer Master-Achse (Fliegende Säge). 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

Execute

Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt.

RatioNumerator

Getriebefaktor Zähler.
Alternativ kann der Getriebefaktor als Fließkommawert angegeben werden, wenn der Nenner 1 ist.

RatioDenominator

Getriebefaktor Nenner

MasterSyncPosition

Synchronposition des Masters

SlaveSyncPosition

Synchronposition des Slaves

SyncMode

In der Datenstruktur SyncMode werden über einzelne Flags die Randbedingungen für den Synchronisierungsvorgang festgelegt.

MasterStartDistance

Zur Zeit nicht implementiert

Velocity

Maximale Slave-Geschwindigkeit in der Synchronisierungsphase. Wenn keine Geschwindigkeit angegeben wird, wird die Maximalgeschwindigkeit der Achse aus den Systemmanager-Daten verwendet.

Die hier angegebene Geschwindigkeit wird nur überprüft, wenn die Überprüfung mit der Variablen SyncMode aktiviert wird.

Acceleration

Maximale Slave-Beschleunigung in der Synchronisierungsphase. Wenn keine Beschleunigung angegeben wird, wird die Maximalbeschleunigung der Achse aus den Systemmanager-Daten verwendet.

Die hier angegebene Beschleunigung wird nur überprüft, wenn die Überprüfung mit der Variablen SyncMode aktiviert wird.

Deceleration

Maximale Slave-Verzögerung in der Synchronisierungsphase. Wenn keine Verzögerung angegeben wird, wird die maximale Verzögerung der Achse aus den Systemmanager-Daten verwendet.

Die hier angegebene Verzögerung wird nur überprüft, wenn die Überprüfung mit der Variablen SyncMode aktiviert wird.

Jerk

Maximaler Slave-Ruck in der Synchronisierungsphase. Wenn kein Ruck angegeben wird, wird der maximale Ruck der Achse aus den Systemmanager-Daten verwendet.

Der hier angegebene Ruck wird nur überprüft, wenn die Überprüfung mit der Variablen SyncMode aktiviert wird.

BufferMode

Zur Zeit nicht implementiert

Options

Zur Zeit nicht implementiert

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.

Ausgänge

VAR_OUTPUT
    StartSync       : BOOL;
    InSync          : BOOL;
    Busy            : BOOL;
    Active          : BOOL;
    CommandAborted  : BOOL;
    Error           : BOOL;
    ErrorID         : UDINT;
END_VAR

StartSync

Wird TRUE, wenn die Synchronisierung mit der Master-Achse gestartet wurde.

InSync

Wird TRUE, wenn die Kopplung erfolgreich durchgeführt wurde und die Slave-Achse mit der Master-Achse synchronisiert ist.

Busy

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

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 TRUE, sobald ein Fehler eintritt.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer, siehe Übersicht NC-Fehler.

Ein/Ausgänge

VAR_IN_OUT
    Master  : AXIS_REF;
    Slave   : AXIS_REF;
END_VAR

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.