MC_GearInMultiMaster

MC_GearInMultiMaster 1:

Mit dem Funktionsbaustein MC_GearInMultiMaster wird eine lineare Master-Slave-Kopplung (Getriebekopplung) zu bis zu vier verschiedenen Masterachsen aktiviert. Der Getriebefaktor kann jeweils dynamisch, d. h. in jedem SPS-Zyklus angepasst werden. Die Slave-Bewegung ergibt sich aus der Überlagerung der Bewegungen der Master. Der Parameter „Acceleration“ wirkt begrenzend, falls die Änderungen des Getriebefaktors sehr groß sind.

Die Slaveachse kann mit dem Funktionsbaustein MC_GearOut abgekoppelt werden. Wird der Slave während der Fahrt abgekoppelt, behält er seine Geschwindigkeit bei und kann mit MC_Stop angehalten werden.

Wenn weniger als vier Master verwendet werden, kann für die Parameter „Master2“ bis „Master4“ jeweils eine leere Datenstruktur übergeben werden (die Achs-ID muss 0 sein).

MC_GearInMultiMaster 2: Eingänge

VAR_INPUT
    Master1      : Reference To AXIS_REF;
    Master2      : Reference To AXIS_REF;
    Master3      : Reference To AXIS_REF;
    Master4      : Reference To AXIS_REF;
    Enable       : BOOL;
    GearRatio1   : LREAL;
    GearRatio2   : LREAL;
    GearRatio3   : LREAL;
    GearRatio4   : LREAL;
    Acceleration : LREAL;
    Deceleration : LREAL;
    Jerk         : LREAL;
    BufferMode   : MC_BufferMode;
    Options      : ST_GearInMultiMasterOptions;
END_VAR

Name

Typ

Beschreibung

Master1

Reference To AXIS_REF

Achsdatenstruktur des ersten Masters

Master2

Reference To AXIS_REF

Achsdatenstruktur des zweiten Masters

Master3

Reference To AXIS_REF

Achsdatenstruktur des dritten Masters

Master4

Reference To AXIS_REF

Achsdatenstruktur des vierten Masters

Enable

BOOL

Ist „Enable“ TRUE, stellt der Baustein eine Kopplung her.

Wird ein MC_GearOut ausgeführt, während der MC_GearInMultiMaster weiterhin mit „Enable“ TRUE aufgerufen wird, wird nur kurzzeitig abgekoppelt und danach direkt versucht, die Kopplung wieder herzustellen.

Solange „Enable“ TRUE ist, können die Getriebefaktoren zyklisch geändert werden. Wenn „Enable“ nach der Kopplung FALSE wird, wird das Kommando beendet. Die Getriebefaktoren werden auf ihre letzten Werten eingefroren, aber der Slave wird nicht entkoppelt.

GearRatio1

LREAL

Getriebefaktor als Fließkommawert für die erste Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert.

GearRatio2

LREAL

Getriebefaktor als Fließkommawert für die zweite Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert.

GearRatio3

LREAL

Getriebefaktor als Fließkommawert für die dritte Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert.

GearRatio4

LREAL

Getriebefaktor als Fließkommawert für die vierte Masterachse. Der Getriebefaktor kann zyklisch geändert werden, solange „Enable“ TRUE ist. Wenn „Enable“ FALSE ist, bleibt der Getriebefaktor unverändert.

Acceleration

LREAL

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.

Deceleration

LREAL

Verzögerung (≥0). Bei einem Wert von 0 wirkt die Standardverzögerung aus der Achskonfiguration im System Manager. Der Parameter begrenzt die Verzögerung des Slaves bei großen Änderungen des Getriebefaktors. Nur für die Option „AdvancedSlaveDynamics“ verwendet.

Jerk

LREAL

Ruck (≥0). Bei einem Wert von 0 wirkt der Standardruck aus der Achskonfiguration im System Manager. Der Parameter begrenzt den Ruck des Slaves bei großen Änderungen des Getriebefaktors. Nur für die Option „AdvancedSlaveDynamics“ verwendet.

BufferMode

MC_BufferMode

Zurzeit nicht implementiert

Options

ST_GearInMultiMasterOptions

  • AdvancedSlaveDynamics: Tauscht den internen Algorithmus des Funktionsbausteins. Damit ist es möglich, auf bereits in Bewegung befindliche Master aufzusynchronisieren. Dabei sollten „Acceleration“ und „Deceleration“ ausschließlich symmetrisch parametriert werden. Bei zu großen Ruck-Vorgaben wird dieser soweit reduziert, dass eine Änderung von Null auf die parametrierte Beschleunigung/Verzögerung in einem NC-Zyklus erfolgen kann. Die Auflösung der Beschleunigung/Verzögerung hängt somit direkt von der geeigneten Parametrierung des Ruck-Wertes ab.
  • SyncMode (verfügbar ab TC3.1.4024.11): Der SyncMode legt fest, wie sich die Achskopplung verhält, falls die Bewegung der Slave-Achse im Modus AdvancedSlaveDynamics begrenzt wird (Begrenzung von Geschwindigkeit, Beschleunigung und Ruck). Folgende Einstellungen sind möglich:
    • VELOSYNC:
      Die Slave-Achse fährt geschwindigkeitssynchron zu den Master-Achsen. Im Falle einer Dynamikbegrenzung baut der Slave eine Positionsdifferenz auf, welche nicht wieder aufgeholt wird.
    • POSSYNC1:
      Die Slave-Achse fährt geschwindigkeits- und positionssynchron zu den Master-Achsen. Im Falle einer Dynamikbegrenzung baut der Slave eine Positionsdifferenz auf, welche aber zu einem späteren Zeitpunkt aufgeholt wird. Änderungen der Getriebefaktoren während der Fahrt werden unter Berücksichtigung der Dynamik ausgeführt. Die daraus resultierende Positionsdifferenz zwischen Master und Slave wird nicht herausgefahren.
    • POSSYNC2:
      Die Slave-Achse fährt geschwindigkeits- und positionssynchron zu den Master-Achsen. Im Falle einer Dynamikbegrenzung baut der Slave eine Positionsdifferenz auf, welche aber zu einem späteren Zeitpunkt aufgeholt wird. Änderungen der Getriebefaktoren während der Fahrt werden sofort intern verrechnet und der Slave synchronisiert sich kontinuierlich auf die neue Position auf.


Übersicht: Welches Anwenderkommando bewirkt in Abhängigkeit vom SyncMode eine bleibende Positionsdifferenz bzw. holt diese Positionsdifferenz wieder auf.MC_GearInMultiMaster 3:

MC_GearInMultiMaster 4:

Wenn im Stillstand der Achsen mit einem konstanten Getriebefaktor gekoppelt wird (und der Getriebefaktor im Verlauf der Kopplung nicht mehr geändert wird), dann verhalten sich die beiden SyncModes POSSYNC1 und POSSYNC2 identisch.

MC_GearInMultiMaster 5: Ein-/Ausgänge

VAR_IN_OUT
    Slave   :  AXIS_REF;
END_VAR

Name

Typ

Beschreibung

Slave

AXIS_REF

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.

MC_GearInMultiMaster 6: Ausgänge

VAR_OUTPUT
    InGear         : BOOL;
    Busy           : BOOL; 
    Active         : BOOL; 
    CommandAborted : BOOL;
    Error          : BOOL;
    ErrorID        : UDINT;
END_VAR

Name

Typ

Beschreibung

InGear

BOOL

TRUE, wenn die Kopplung erfolgreich durchgeführt wurde.

Busy

BOOL

TRUE, sobald das Kommando mit „Enable“ gestartet wird und solange der Befehl abgearbeitet wird. Wenn „Busy“ FALSE ist, ist der Funktionsbaustein bereit für einen neuen Auftrag. Gleichzeitig ist einer der Ausgänge „InGear“, „CommandAborted“ oder „Error“ gesetzt.

Active

BOOL

Zeigt an, dass das Kommando ausgeführt wird. (Zurzeit ist Active = Busy)

CommandAborted

BOOL

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

TRUE, wenn ein Fehler auftritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.0.0

PC oder CX (x86 oder x64)

Tc2_MC2