MC_WriteMotionFunction

MC_WriteMotionFunction 1:

Mit dem Funktionsbaustein MC_WriteMotionFunction können die Daten einer Motion Function in die NC geschrieben werden. Dabei kann die gesamte Funktion mit allen Stützstellen oder auch nur ein Teil geschrieben werden. Die Daten werden zuvor in der durch CamTable beschriebenen Struktur in der SPS abgelegt.

Mit dem Funktionsbaustein MC_SetCamOnlineChangeMode kann festgelegt werden, wann die Daten in die Kurvenscheibe übernommen werden. Sollen die Daten nicht sofort, sondern beispielsweise erst an einer bestimmten Position des Masters aktiv werden, so puffert das System zunächst die geschriebenen Daten um sie dann an der Masterposition zu aktivieren.

Mit dem Status-Flag Axis.Status.CamDataQueued (AXIS_REF)kann geprüft werden, ob Daten gepuffert sind, das heißt geschrieben aber noch nicht aktiviert wurden.

MC_WriteMotionFunction 2: Eingänge

VAR_INPUT
   Execute    : BOOL;
   CamTableID : MC_CAM_ID;
   PointID    : MC_MotionFunctionPoint_ID;
   NumPoints  : UDINT;
   CamTable   : MC_CAM_REF;
   Options    : ST_WriteMotionFunctionOptions;
END_VAR

Name

Typ

Beschreibung

Execute

BOOL

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

CamTableID

MC_CAM_ID

ID der geladenen Tabelle.

PointID

MC_MotionFunctionPoint_ID

Punkt-ID des ersten zu lesenden Punktes der Motion Function.

NumPoints

UDINT

Anzahl der zu schreibenden Punkte der Motion Function.

CamTable

MC_CAM_REF

Referenz auf die Tabelle (Struktur). Die Startadresse der Tabellen-Datenstruktur (CamTable.pArray) zeigt auf den ersten Punkt, der geschrieben werden soll.

Options

ST_WriteMotionFunctionOptions

Datenstruktur mit zusätzlichen Optionen:

SynchronousAccess

Das Schreiben erfolgt per synchronem Zugriff ohne zeitliche Verzögerung. Sollte nur bei Anwendungen verwendet werden, die extrem zeitkritisch sind.

MC_WriteMotionFunction 3: Ausgänge

VAR_OUTPUT
   Done          : BOOL;
   Busy          : BOOL;
   Error         : BOOL;
   ErrorID       : UDINT;
END_VAR

Name

Typ

Beschreibung

Done

BOOL

Wird TRUE, wenn die Daten erfolgreich gelesen wurden.

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.

Error

BOOL

Wird TRUE, sobald ein Fehler eintritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.