MC_FlyingGear_BkPlcMc
Der Funktionsbaustein übernimmt die Steuerung einer fliegenden Getriebekopplung.
Eingänge
VAR_INPUT
Enable: BOOL;
Ratio: LREAL;
MasterSyncPosition: LREAL;
SlaveSyncPosition: LREAL;
SlaveDesyncPosition: LREAL;
SlaveStopPosition: LREAL;
DefaultSlaveNegative: BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Enable | BOOL | Dieses Signal erlaubt dem Funktionsbaustein, aktiv zu werden, sobald die Position des Masters die MasterSyncPosition in der vorgesehenen Richtung passiert. |
Ratio | LREAL | Dieser Parameter gibt das Getriebeverhältnis zwischen Master und Slave für den vollständig gekoppelten Fall vor. |
MasterSyncPosition | LREAL | Dieser Parameter gibt an, an welcher Position in der dafür vorgesehenen Richtung des Masters die Kopplung vollständig aufgebaut sein soll. |
SlaveSyncPosition | LREAL | Dieser Parameter gibt an, an welcher Position in der dafür vorgesehenen Richtung des Slaves die Kopplung vollständig aufgebaut sein soll. |
SlaveDesyncPosition | LREAL | Dieser Parameter gibt an, an welcher Position in der dafür vorgesehenen Richtung des Slaves der Abbau der Kopplung begonnen werden soll. |
SlaveStopPosition | LREAL | Dieser Parameter gibt an, an welcher Position in der dafür vorgesehenen Richtung des Slaves die Kopplung vollständig abgebaut sein soll. |
DefaultSlaveNegative | BOOL | In einigen Fällen kann der Funktionsbaustein die vorgesehene Arbeitsrichtung nicht aus den übergebenen Parametern ermitteln. Dann wird eine zusätzliche Information der Applikation benötigt. |
Ein-/Ausgänge
VAR_IN_OUT
Master: AXIS_REF_BkPlcMc;
Slave: AXIS_REF_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Master | Hier ist die Adresse einer Variablen vom Typ AXISREF_BkPlcMc zu übergeben. | |
Slave | Hier ist die Adresse einer Variablen vom Typ AXISREF_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
StartSync: BOOL;
InSync: BOOL;
Busy: BOOL;
Active: BOOL;
Error: BOOL;
ErrorId: BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
StartSync | BOOL | Dieses Signal ist TRUE, wenn sich der Master innerhalb der Strecke für den Aufbau der Kopplung befindet. |
InSync | BOOL | Dieses Signal ist TRUE, wenn die Kopplung vollständig aktiv ist. |
Busy | BOOL | Dieses Signal wird TRUE, wenn Enable TRUE, Master und Slave bereit und nicht gestört und die übergebenen Parameter geeignet sind. |
Active | BOOL | Dieses Signal wird TRUE, sobald der Master die MasterSyncPosition in der dafür vorgesehenen Richtung passiert. Es wird FALSE, wenn in Gegenrichtung der Slave die SlaveStopPosition erreicht. |
Error | BOOL | Dieses Signal wird TRUE, wenn bei einer steigenden Flanke an Enable ungeeignete Parameter vorliegen oder wenn bei einem TRUE an Enable der Master oder der Slave in einem Fehlerzustand sind. |
ErrorId | BOOL | Eine numerisch kodierte Angabe einer Fehlerursache. |
Verhalten des Funktionsbausteins
Der Funktionsbaustein stellt eine fliegend auf- und abgebaute Kopplung zwischen einer Master- und einer Slave-Achse her. Durch die Parametrierung und die Freigabe kann das Verhalten in weiten Bereichen variiert werden. In Kombination mit Positionierbefehlen können eine Vielzahl von Bewegungsabläufen realisiert werden. Hier werden nur einige Beispiele gezeigt.
Hinweis | |
Die Scopes sind mit dem Beispiel S106_FlyingGear erzeugt worden. Dabei entspricht die Nummer des Beispiels der gewählten nSequence. |
Bei der Inbetriebnahme
Bei der Positionserfassung des Masters sollte der Nullpunkt so verschoben werden, dass die Istposition eine nachvollziehbare Information über die Situation in der Maschine darstellt.
Für den Slave ist die Nullpunktverschiebung so zu wählen, dass die Istposition bei Berücksichtigung der Abmessungen von Material, Werkzeugen und anderen Einbauten mit der des Masters übereinstimmt, wenn der verbleibende Spalt gerade 0 geworden ist. Dabei sollte keine Kraft aufgebaut worden sein, um eine elastische Verformung zu vermeiden.
Beispiel #1
Hier bewegen sich Master und Slave in gleicher Richtung. Beide kehren zu ihrer Ausgangsposition zurück.

Vorbereitung:
- Der Master wurde auf 800.0 mm positioniert.
- Der Slave wurde auf 500.0 mm positioniert.
- Damit ist der Ort festgelegt, an dem der Slave mit dem Aufbau der Synchronisation beginnt.
- Der endgültige Koppelfaktor (Ratio) wurde hier zum besseren Verständnis auf 1.0 eingestellt. Im praktischen Einsatz wird dieser Faktor oft etwas kleiner gewählt, um einen Übergang in eine Druck- oder Kraftregelung auszulösen.
- Der Punkt für das Erreichen der Synchronisation wurde für den Master (MasterSyncPosition) auf 460.0 mm und für den Slave (SlaveSyncPosition) auf 450.0 mm festgelegt.
- Die Differenz von 10.0 mm zwischen Master und Slave stellt den für Material, Werkzeug und andere Einbauten benötigten Abstand dar und ist hier so gewählt, dass die Darstellung das Verhalten verdeutlicht.
- Der Weg für das Aufsynchronisieren des Slaves errechnet sich aus der Ausgangsposition des Slaves und der SlaveSyncPosition und ist hier 500.0-450.0 => 50 mm.
- Bei Ratio=1.0 ergibt sich für den Master ein Weg für die Aufsynchronisation von 2.0*50 mm => 100 mm. Also wird die Aufsynchronisation des Masters bei 460.0 mm+100 mm => 560 mm (MasterSyncPosition plus Weg) beginnen. Wenn der Master beim Freigeben der Kopplung unterhalb dieser Position steht wird ein Fehler gemeldet.
- Der Punkt für das Verlassen der Synchronisation wurde für den Slave (SlaveDesyncPosition) auf 450.0 mm festgelegt.
- Der Punkt für den vollständige Abbau der Kopplung (SlaveStopPosition) wurde auf 500.0 mm festgelegt. Somit ist der dafür vorgesehene Weg 500.0 mm-450 mm => 50 mm.
- Bei Ratio=1.0 wird der Master dabei ebenfalls einen Weg von 2.0*50 mm => 100 mm zurücklegen.
- Wege, die der Master vor TM_1 und nach TM_4 im obigen Scope zurücklegt betreffen den Slave nicht.
- Wenn der Master seine Geschwindigkeit zwischen TM_1 und TM_2 bzw. TM_3 und TM_4 ändert wird der Slave dies berücksichtigen. Dann kann sein Geschwindigkeitsverlauf weniger übersichtlich sein als in obigem Scope.
Beispiel #2
Hier bewegen sich Master und Slave in entgegengesetzter Richtung. Beide kehren zu ihrer Ausgangsposition zurück.

- Hier ist die Ausgangsposition nicht um 50mm über der SlaveSyncPosition, sondern um den gleichen Betrag darunter.
Beispiel #3
Hier bewegen sich Master und Slave in gleicher Richtung. Allerdings kehrt der Slave erst durch einen MC_MoveAbsolut_BkPlcMc() in seine Ausgangsposition zurück.

- Hier ist die Ausgangssituation die gleiche wie in Beispiel #1.
- Allerdings ist hier die SlaveStopPosition eine andere. Der Slave stoppt entsprechend früher.
- Der Abstand zwischen SlaveDesyncPosition und SlaveStopPosition ist hier 100mm. Dadurch erzeugt der Abbau der Kopplung ein anderes Profil als der Aufbau.
- Nachdem der Master seine Bewegung abgeschlossen hat wird der Funktionsbaustein deaktiviert und der Slave mit einem eigenen Befehl zur Ausgangsposition gefahren.