MC_CamScaling
Mit dem Funktionsbaustein MC_CamScaling kann eine Kurvenscheibenkopplung skaliert werden. Dabei werden nicht die Tabellenrohdaten der Kurvenscheibe beeinflusst, sondern die Skalierung bezieht sich auf eine bestehende Master-Slave-Kopplung. Einstellbar sind die Skalierungsfaktoren für Master und Slave und die Offsets zur Verschiebung der Kurvenscheibe im Koordinatensystem.
Optional wirkt die Änderung erst ab einer bestimmten Master-Position wodurch die Skalierung punktgenau während der Fahrt geändert werden kann. Bei der Skalierung während der Fahrt ist Vorsicht geboten. Die Slave-Position zum Zeitpunkt der Skalierung darf durch die Änderung nur in geringem Maße beeinflusst werden.
Mit dem Status-Flag Axis.Status.CamScalingPending (AXIS_REF) kann geprüft werden, ob eine Skalierung gepuffert ist.
Eingänge
VAR_INPUT
Execute : BOOL;
ActivationMode : MC_CamActivationMode;
ActivationPosition : LREAL;
MasterScalingMode : MC_CamScalingMode;
SlaveScalingMode : MC_CamScalingMode;
MasterOffset : LREAL;
SlaveOffset : LREAL;
MasterScaling : LREAL := 1.0;
SlaveScaling : LREAL := 1.0;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Execute | BOOL | Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt. |
ActivationMode | MC_CamActivationMode | Mit dem ActivationMode wird der Zeitpunkt bzw. die Position festgelegt, an der die Skalierung stattfinden soll. |
ActivationPosition | LREAL | Masterposition, an der abhängig vom ActivationMode eine Kurvenscheibe skaliert wird. |
MasterScalingMode | MC_CamScalingMode | Optionaler Skalierungsmodus für die Masterposition der Kurvenscheibe. |
SlaveScalingMode | MC_CamScalingMode | Optionaler Skalierungsmodus für die Slaveposition der Kurvenscheibe. |
MasterOffset | LREAL | Offset zur Masterposition der Kurvenscheibe. |
SlaveOffset | LREAL | Offset zur Slaveposition der Kurvenscheibe. |
MasterScaling | LREAL | Skalierung der Masterposition der Kurvenscheibe. |
SlaveScaling | LREAL | Skalierung der Slaveposition der Kurvenscheibe. |
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.
Ausgänge
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Done | BOOL | Wird TRUE, wenn die Kurvenscheibe erfolgreich angelegt wurde. |
Busy | BOOL | 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 Done oder Error gesetzt. |
Active | BOOL | Active zeigt an, dass das Kommando ausgeführt wird. Bei einer Kurvenscheibenumschaltung wird Active TRUE, wenn das Koppelkommando erfolgreich ausgeführt wurde aber die Kurvenscheibe noch gepuffert ist. Wenn die Kurvenscheibe abhängig vom ActivationMode aktiviert wird, so wird Active FALSE und InSync wird gesetzt. |
CommandAborted | BOOL | 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 | BOOL | Wird TRUE, sobald ein Fehler eintritt. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |