MC_CamIn

MC_CamIn 1:

Mit dem Funktionsbaustein MC_CamIn wird eine Master-Slave-Kopplung mit einer bestimmten Kurvenscheibe aktiviert. Weiterhin ist es möglich, im gekoppelten Zustand auf eine neue Kurvenscheibe umzuschalten. Dabei können die Regeln für die Umschaltung, insbesondere der genaue Zeitpunkt oder die Position bestimmt werden.

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

Wichtig :

Nähere Erläuterungen zum Koppeln mit Kurvenscheiben

ActivationMode (Ankoppeln oder Umschalten von Kurvenscheiben)

StartMode

ScalingMode

Eingänge

VAR_INPUT
   Execute          : BOOL;
   MasterOffset     : LREAL;
   SlaveOffset      : LREAL;
   MasterScaling    : LREAL := 1.0;
   SlaveScaling     : LREAL := 1.0;
   StartMode        : MC_StartMode;
   CamTableID       : MC_CAM_ID;
   BufferMode       : MC_BufferMode;
   Options          : ST_CamInOptions;
END_VAR

Execute

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

MasterOffset

Offset zur Masterposition der Kurvenscheibe

SlaveOffset

Offset zur Slaveposition aus der Kurvenscheibe

MasterScaling

Skalierung der Masterposition der Kurvenscheibe

SlaveScaling

Skalierung der Slaveposition der Kurvenscheibe

StartMode

StartMode bestimmt, ob die Kurvenscheibenpositionen absolut oder relativ zur Koppelposition interpretiert werden.
StartMode kann für Master (X-Koordinate) und Slave (Y-Koordinate) jeweils relativ oder absolut sein.

CamTableID

ID der Kurvenscheibe mit der gekoppelt wird

BufferMode

Zur Zeit nicht implementiert

Options

 

Datenstruktur mit weiteren Koppel- und Umschaltoptionen:

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.

MasterScalingMode

optionaler Skalierungsmodus für die Masterposition der Kurvenscheibe

SlaveScalingMode

optionaler Skalierungsmodus für die Slaveposition der Kurvenscheibe

InterpolationType

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

Ausgänge

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

InSync

Wird TRUE, wenn die Kopplung erfolgreich durchgeführt wurde und die Kurvenscheibe aktiv ist.

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

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

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.