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 Baustein, 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 Baustein 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 | AXIS_REF_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ AxisRef_BkPlcMc zu übergeben. |
Slave | AXIS_REF_BkPlcMc | 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 Bausteins
Der Baustein 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.
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.0mm positioniert.
- Der Slave wurde auf 500.0mm 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.0mm und für den Slave (SlaveSyncPosition) auf 450.0mm festgelegt.
- Die Differenz von 10.0mm 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 => 50mm.
- Bei Ratio=1.0 ergibt sich für den Master ein Weg für die Aufsynchronisation von 2.0*50mm => 100mm. Also wird die Aufsynchronisation des Masters bei 460.0mm+100mm => 560mm (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.0mm festgelegt.
- Der Punkt für den vollständige Abbau der Kopplung (SlaveStopPosition) wurde auf 500.0mm festgelegt. Somit ist der dafür vorgesehene Weg 500.0mm-450mm => 50mm.
- Bei Ratio=1.0 wird der Master dabei ebenfalls einen Weg von 2.0*50mm => 100mm 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 Baustein deaktiviert und der Slave mit einem eigenen Befehl zur Ausgangsposition gefahren.