MC_CamExchange
This function block exchanges cam table couplings on a slave. The cam table coupling that should be removed has to be active when this function block is executed and the activation condition is met, otherwise an error is triggered. Activation might depend either on the new entered cam table coupling (ActivationOptions.ReferenceObject = ECamActivationRef.NewlyEnteredCamTable) or on the one to be removed (ActivationOptions.ReferenceObject = ECamActivationRef.CamTableAlreadyInUse)
Syntax
Definition:
FUNCTION_BLOCK MC_CamExchange
VAR_INPUT
Master : Type_Master1D;
Slave : Type_Camming1D;
CamObjectToRemove : Type_CouplingFunction1D;
CamObjectToAdd : Type_CouplingFunction1D;
Execute : BOOL;
Scaling : CamScalingData;
ActivationOptions : CamActivationOptions;
ReactionToMasterError : EReactionToMasterError;
ReactionToSlaveError : EReactionToSlaveError;
END_VAR
VAR_OUTPUT
InSync : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorId : UDINT;
MasterHasError : BOOL;
END_VAR
Inputs
|
Name |
Type |
Default |
Description |
|---|---|---|---|
|
Master |
|
Reference to the master axis | |
|
Slave |
|
Reference to the slave axis | |
|
CamObjectToRemove |
|
Cam object to be removed | |
|
CamObjectToAdd |
|
Cam object to be added | |
|
Execute |
BOOL |
|
Start cam exchange at rising edge. |
|
Scaling |
|
Scaling of the new coupling | |
|
ActivationOptions |
|
Options controlling how the cam coupling is activated (mode, position, reference object). | |
|
ReactionToMasterError |
TriggerSlaveError |
Reaction if an error occurs in the master while this command is active. | |
|
ReactionToSlaveError |
TriggerMasterError |
Reaction if an error occurs in the slave while this command is active. |
Outputs
|
Name |
Type |
Description |
|---|---|---|
|
InSync |
BOOL |
Synchronization succeeded |
|
Busy |
BOOL |
Function block is not finished and new output values are to be expected. |
|
Active |
BOOL |
Function block has active control on the axis. |
|
CommandAborted |
BOOL |
Command is aborted by another command. |
|
Error |
BOOL |
Error occurred within function block. |
|
ErrorId |
UDINT |
Error identifier |
|
MasterHasError |
BOOL |
Master is in error state. |
Mögliche Fehlercodes
Für diesen Funktionsbaustein sind unter anderem die folgenden Werte für den Ausgang ErrorId möglich:
Fehler(Hex) | Fehler(Dez) | Fehlertyp | Beschreibung |
|---|---|---|---|
0x8145 | 33093 | Funktionsbaustein | Die Verknüpfung des zyklischen Interfaces zwischen NC und SPS fehlt (z.B. AXIS_REF, AXES_GROUP_REF, ...). Eine vom Funktionsbaustein verwendete Referenz (z.B. auf eine Achse, Gruppe, einen Mover oder ein anderes Motion-Objekt) ist nicht mit dem zugehörigen NC-Objekt verknüpft oder die zyklische Verknüpfung ist unvollständig. |
0x8169 | 33129 | Funktionsbaustein | Masterachse existiert nicht oder kann nicht verwendet werden. Die als Master übergebene Achse ist nicht vorhanden oder hat keine zyklische Verknüpfung und kann daher nicht als Master (z.B. für Camming oder Gearing) verwendet werden. |
0x81af | 33199 | Funktionsbaustein | Ungültiges Objekt oder ungültige Objekt-Referenz an Funktionsbaustein übergeben. Dem Funktionsbaustein wurde eine ungültige oder fehlende Objekt-Referenz übergeben (z.B. fehlende CamObject-Referenz an MC_CamIn, MC_CamTableSelect oder MC_CamScaling). |
0x81b0 | 33200 | Funktionsbaustein | Objekt nicht erlaubt (z.B. Objekt wird bereits verwendet). Das übergebene Objekt ist im aktuellen Kontext nicht erlaubt (z.B. Quell- und Ziel-Objekt sind bei CopyFrom() identisch, Objekt wird bereits an einer anderen Achse verwendet). |
0x81b1 | 33201 | Funktionsbaustein | Ungültige Größe an Funktionsbaustein übergeben (z.B. ungültige Array-Größe oder ungültige Anzahl Elemente). An den Funktionsbaustein wurde eine ungültige Größe übergeben (z.B. CamRef.NumberOfPoints kleiner als zwei bei MC_CamTableSelect). |
0x81b2 | 33202 | Funktionsbaustein | Die gegebenen Cam-Aktivierungs-Einstellungen sind ungültig. Die Aktivierungs-Einstellungen der Cam-Tabelle (z.B. ActivationMode und ActivationPosition) sind ungültig oder inkonsistent. |
0x81b3 | 33203 | Funktionsbaustein | Die gegebene Cam-Skalierung ist ungültig. Die übergebenen Skalierungs-Parameter der Cam-Tabelle sind ungültig (z.B. Skalen-Faktor Null oder Master-Offset-Modus 'Auto', der in der ausgeführten Operation nicht unterstützt wird). |
0x81b4 | 33204 | Funktionsbaustein | Der gegebene Cam-Datenpunkt ist ungültig. Mindestens ein Datenpunkt der Cam-Tabelle ist ungültig (z.B. wird versucht, den ersten oder letzten Punkt zu ignorieren). |
0x81c2 | 33218 | Zustand | Ein eingereihtes Cam-Kommando konnte nicht vom eingereihten in den aktiven Zustand überführt werden. Beim Übergang eines eingereihten Cam-Kommandos (z.B. MC_CamIn, MC_CamAdd, MC_CamExchange, MC_CamScaling oder MC_CamRemove) in den aktiven Zustand ist ein Fehler aufgetreten. Dies tritt typischerweise auf, wenn sich der Camming-Zustand zwischen dem Einreihen und der Aktivierung geändert hat, z.B. weil die referenzierte Cam-Tabelle bereits gekoppelt oder nicht mehr gekoppelt ist, oder weil der Sollwert bzw. der Aktivierungszeitpunkt nicht berechnet werden konnte. |
Eine Übersicht aller NC-Fehlercodes finden Sie hier:
Versionsinformation
- TwinCAT Standard >= v3.1.4026.23.1
- TF5550 MC3 Camming >= v4.0.6 (inkludiert TF5500 MC3 Base >= v4.0.6)
Required License
TC3 MC3 Camming