MC_CamIn

MC_CamIn 1:

This function block initiates camming-based synchronization on a slave.
If the slave is already coupled to one or more cam table couplings, it switches to the cam table coupling that is entered in this function block.
Note: Use MC_CamAdd to switch from single-camming to multi-camming. Switch back and forth between single-camming and multi-camming is possible and not limited.

Syntax

Definition:

FUNCTION_BLOCK MC_CamIn
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

MC_CamIn 2: Inputs

Name

Type

Default

Description

Master

Type_Master1D

 

Reference to the master axis

Slave

Type_Camming1D

 

Reference to the slave axis

CamObject

Type_CouplingFunction1D

 

Reference to the cam object

Execute

BOOL

 

Start cam in at rising edge.

Scaling

CamScalingData

 

Scaling of the new coupling

ActivationOptions

CamActivationOptions

 

Options controlling how the cam coupling is activated (mode, position, reference object).

ReactionToMasterError

EReactionToMasterError

TriggerSlaveError

Reaction if an error occurs in the master while this command is active.

ReactionToSlaveError

EReactionToSlaveError

TriggerMasterError

Reaction if an error occurs in the slave while this command is active.

MC_CamIn 3: 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 folgenden Regeln:

Ergänzungen zu ReactionToSlaveError und ReactionToMasterError

Grundsätzlich gilt bei einem Fehler der Slave-Achse:

  • Slave-Achse: Die Kopplung wird aufgelöst und die Reaktion ist abhängig vom Fehlertypen.
  • Master-Achse: Die Master-Achse meldet einen Fehler und folgt einer Stopprampe der MC oder führt ihre laufende Bewegung ohne Beeinflussung fort.

Bei einem Fehler der Master-Achse gilt:

  • Master-Achse: Reaktion ist abhängig vom Fehlertypen.
  • Slave-Achse: Die Slave-Achse meldet einen Fehler und folgt einer Stopprampe der MC oder den Sollwerten der Master-Achse.

Ausführliche Informationen sind im Kapitel Fehlerverhalten dokumentiert.

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