MC_CamIn
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)
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
Name | Typ | Beschreibung | |
---|---|---|---|
Execute | BOOL | Mit einer steigenden Flanke am Eingang Execute wird das Kommando ausgeführt. | |
MasterOffset | LREAL | Offset zur Masterposition der Kurvenscheibe. | |
SlaveOffset | LREAL | Offset zur Slaveposition aus der Kurvenscheibe. | |
MasterScaling | LREAL | Skalierung der Masterposition der Kurvenscheibe. | |
SlaveScaling | LREAL | Skalierung der Slaveposition der Kurvenscheibe. | |
StartMode | MC_StartMode | StartMode bestimmt, ob die Kurvenscheibenpositionen absolut oder relativ zur Koppelposition interpretiert werden. | |
CamTableID | MC_CAM_ID | ID der Kurvenscheibe mit der gekoppelt wird. | |
BufferMode | MC_BufferMode | Zur Zeit nicht implementiert. | |
Options | ST_CamInOptions | 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. | ||
ActivationPosition | Optionale Masterposition, an der abhängig vom ActivationMode eine Kurvenscheibe umgeschaltet wird. | ||
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. |
Ein-/Ausgänge
VAR_IN_OUT
Master : AXIS_REF;
Slave : AXIS_REF;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Master | AXIS_REF | Achsdatenstruktur des Masters. |
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
InSync : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
InSync | BOOL | Wird TRUE, wenn die Kopplung erfolgreich durchgeführt wurde und die Kurvenscheibe aktiv ist. |
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. |