MC_CamAdd
This function block adds a cam table coupling on a slave.
Generated setpoints from single cam table couplings are internally added.
As MC_CamIn, this function block can also be used to initiate camming-based synchronization.
As this function block is used for multi-camming, some special rules apply:
The same master can be used in multiple cam table couplings. A cam table can only be used once in a slave.
Syntax
Definition:
FUNCTION_BLOCK MC_CamAdd
VAR_INPUT
Master : Type_Master1D;
Slave : Type_Camming1D;
CamObject : 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 | |
|
CamObject |
|
Reference to the cam object | |
|
Execute |
BOOL |
|
Start cam add 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. |
Weiterführende Informationen:
Für ActivationOptions.ReferenceObject gelten die gleichen Regeln wie für MC_CamIn. ActivationOptions.ReferenceObject:
- ReferenceObject ist nicht erforderlich, wenn die Kurvensynchronisation eingeleitet wird (zur Aktivierung wird die Master-Kurventabellenkopplung dieses Funktionsbausteins verwendet).
- Standardmäßig wird die aktive Master-Kurventabellenkopplung des Slaves verwendet, sofern nur eine vorhanden ist (ReferenceObject = 0). Bei mehreren Slaves muss ReferenceObject = CamObject gesetzt werden, um die korrekte Kopplung einzustellen.
- ReferenceObject darf nicht 0 sein, wenn mehr als eine aktive Master-Kurventabellenkopplung vorhanden ist.
MC_CamAdd ermöglicht es, für eine Slave-Achse Kurvenscheibenkopplungen zu mehreren verschiedenen Master-Achsen zu programmieren. Dabei gilt, dass eine Master-Achse in mehreren Kurvenscheibenkopplungen, also für mehrere Slave-Achsen, genutzt werden kann. Ein MC_CamObject kann für dieselbe Slave-Achse nur einmal verwendet werden.
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