MC_WriteMotionFunction
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.
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 | 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. |
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. |