MC_GearInMultiMaster
Mit dem Funktionsbaustein MC_GearInMultiMaster wird ein lineare Master-Slave-Kopplung (Getriebekopplung) zu bis zu vier verschiedenen Master-Achsen 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 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 angehalten werden.
Falls 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).
Eingänge
VAR_INPUT
Enable : BOOL;
GearRatio1 : LREAL;
GearRatio2 : LREAL;
GearRatio3 : LREAL;
GearRatio4 : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
BufferMode : MC_BufferMode;
Options : ST_GearInMultiMasterOptions;
END_VAR
Enable | Mit einer steigenden Flanke am Eingang Enable führt die Kopplung aus. Solange Enable TRUE ist, kann der Getriebefaktor zyklisch geändert werden. | |
GearRatio1 | Getriebefaktor als Fließkommawert für die erste Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert. | |
GearRatio2 | Getriebefaktor als Fließkommawert für die zweite Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert. | |
GearRatio3 | Getriebefaktor als Fließkommawert für die dritte Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert. | |
GearRatio4 | Getriebefaktor als Fließkommawert für die vierte Master-Achse. Der Getriebefaktor kann zyklisch geändert werden, solange Enable TRUE ist. Wenn Enable FALSE ist, bleibt der Getriebefaktor unverändert. | |
Acceleration | 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 | 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 | 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 | Zur Zeit nicht implementiert | |
Options. | AdvancedSlaveDynamics | Tauscht den internen Algorithmus des Bausteins. 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. |
Ausgänge
VAR_OUTPUT
InGear : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
InGear |
Wird TRUE, wenn die Kopplung erfolgreich durchgeführt wurde. |
Busy |
Der Busy-Ausgang wird TRUE, sobald das Kommando mit Enable 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 InGear, 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 im Fehlerfall TRUE. |
ErrorID |
Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |
Ein/Ausgänge
VAR_IN_OUT
Master1 : AXIS_REF;
Master2 : AXIS_REF;
Master3 : AXIS_REF;
Master4 : AXIS_REF;
Slave : AXIS_REF;
END_VAR
AXIS_REF AXIS_REF AXIS_REF AXIS_REF AXIS_REF
Master1 |
Achsdatenstruktur des ersten Masters. |
Master2 |
Achsdatenstruktur des zweiten Masters. |
Master3 |
Achsdatenstruktur des dritten Masters. |
Master4 |
Achsdatenstruktur des vierten 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.