MC_CamScaling

MC_CamScaling 1:

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

Execute

Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt.

ActivationMode

Mit dem ActivationMode wird der Zeitpunkt bzw. die Position festgelegt, an der die Skalierung stattfinden soll.

ActivationPosition

Masterposition, an der abhängig vom ActivationMode eine Kurvenscheibe skaliert wird.
Falls der ActivationMode MC_CAMACTIVATION_ATMASTERCAMPOS verwendet wird, bezieht sich die Position auf die unskalierte Kurvenscheibe. Wenn sich die Position in der Anwendung auf die skalierte Kurvenscheibe bezieht, so kann sie vor Aufruf des Funktionsbausteins durch die MasterSkalierung MasterScaling dividiert werden.

MasterScalingMode

optionaler Skalierungsmodus für die Masterposition der Kurvenscheibe

SlaveScalingMode

optionaler Skalierungsmodus für die Slaveposition der Kurvenscheibe

MasterOffset

Offset zur Masterposition der Kurvenscheibe

SlaveOffset

Offset zur Slaveposition der Kurvenscheibe

MasterScaling

Skalierung der Masterposition der Kurvenscheibe

SlaveScaling

Skalierung der Slaveposition der Kurvenscheibe

Ausgänge

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

Done

Wird TRUE, wenn die Skalierung erfolgreich durchgeführt wurde.

Busy

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, CommandAborted oder Error gesetzt.

Active

Active zeigt an, dass das Kommando ausgeführt wird. Sobald die Skalierung abhängig vom ActivationMode ausgeführt wurde, so wird Active FALSE und Done wird gesetzt.

CommandAborted

Wird TRUE, wenn das Kommando nicht vollständig ausgeführt werden konnte.

Error

Wird TRUE, sobald ein Fehler eintritt.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Ein/Ausgänge

VAR_IN_OUT
   Slave               : AXIS_REF;
END_VAR

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.