MC_CamExchange

MC_CamExchange 1:

MC_CamExchange tauscht eine Kurvenscheibe in einer Multi-Cam Kopplung aus. Die Kurvenscheibenkopplung wird anfangs mit MC_CamIn_V2 hergestellt.

Der Tausch einer Kurvenscheibe kann alternativ auch mit MC_CamIn_V2 durchgeführt werden.

Mit dem Status-Flag Axis.Status.CamTableQueued (AXIS_REF) kann geprüft werden, ob eine Kurvenscheibe zur Addition oder Umschaltung gepuffert ist.

MC_CamExchange ist mit einem Laufzeitsystem ab Version TwinCAT 2.11 R2 einsetzbar.

Wichtig:

ActivationMode (Zeitpunkt bzw. Position ab der eine Operation durchgeführt wird)

CamOperationMode (Addieren, Umschalten oder Entfernen von überlagerten Kurvenscheiben)

ScalingMode

Eingänge

VAR_INPUT    
   Execute              : BOOL;
   ActivationMode       : MC_CamActivationMode := MC_CAMACTIVATION_INSTANTANEOUS;
   ActivationPosition   : LREAL;
   CamTableID           : MC_CAM_ID;
   ReferenceCamTableID  : MC_CAM_ID;
   Scaling              : ST_CamScalingData;
   Options              : ST_CamInOptions_V2;
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 Kurvenscheibenkopplung bzw. -umschaltung stattfinden soll.
Auch beim erstmaligen Koppeln eines Slaves kann ein ActivationMode angegeben werden.

ActivationPosition

optionale Masterposition, an der abhängig vom ActivationMode eine Kurvenscheibe umgeschaltet wird.
(Nicht notwendig bei erstmaliger Kopplung.)
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.

CamTableID

ID der Kurvenscheibe mit der gekoppelt wird

ReferenceCamTableID

Optionale ID einer Kurvenscheibe, die bereits in der Kopplung aktiv ist. Diese ID wird insbesondere bei nicht eindeutigen Operationen benötigt, wie z. B. beim Austauschen bestimmter Kurvenscheiben bei Multi-Kopplungen. Bei eindeutigen Operationen kann der Wert 0 bleiben.

Scaling

Optionale Skalierungs-Parameter für die Kurvenscheibe

Options

 

Datenstruktur mit weiteren Koppel- und Umschaltoptionen:

InterpolationType

Interpolationstyp für Positionstabellen. Nicht notwendig für Motionfunctions.

CamOperationMode

Der CamOperationMode ist bei MC_CamExchange fest mit dem Modus CAMOPERATIONMODE_EXCHANGE vorbelegt.

ReferenceCamTableID

ist fest mit dem Wert des Eingangs ReferenceCamTableID vorbelegt

Ausgänge

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

InSync

Wird TRUE, wenn die Kurvenscheiben-Operation erfolgreich durchgeführt wurde. Bei Operationen mit Aktivierungsposition wird InSync erst nach der tatsächlichen Aktivierung TRUE.

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

Active

zeigt an, dass das Kommando ausgeführt wird. Active wird TRUE, wenn das Kommando erfolgreich abgesetzt wurde aber die Operation noch gepuffert ist. Wenn die Kurvenscheibe abhängig vom ActivationMode aktiviert wird, so wird Active FALSE und nSync wird gesetzt.

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 TRUE, sobald ein Fehler eintritt.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.

Ein/Ausgänge

VAR_IN_OUT
   Master               : AXIS_REF;
   Slave                : AXIS_REF;
END_VAR

Master

Achsdatenstruktur des 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.