MC_ReadCamTableSlaveDynamics

MC_ReadCamTableSlaveDynamics 1:

Mit dem Funktionsbaustein MC_ReadCamTableSlaveDynamics kann die Slave-Dynamik an einem bestimmten Punkt einer Kurvenscheibentabelle bestimmt werden. Die Funktion wertet die Tabellenrohdaten aus, eine eventuelle Skalierung der Kurvenscheibe bleibt unberücksichtigt.

Bei älteren Kurvenscheibentabellentypen können nicht alle Dynamikparameter ermittelt werden. Die folgende Übersicht zeigt, welches Ergebnis zu erwarten ist:

MC_TABLETYPE_MOTIONFUNCTION : Slave-Position, Geschwindigkeit und Beschleunigung werden ermittelt.

MC_TABLETYPE_EQUIDISTANT : Slave-Position und Geschwindigkeit werden ermittelt. Die Beschleunigung ist immer 0.

MC_TABLETYPE_NONEQUIDISTANT : Slave-Position wird ermittelt. Geschwindigkeit und Beschleunigung sind immer 0.

Eingänge

VAR_INPUT
   Execute              : BOOL;
   CamTableID           : MC_CAM_ID;
   MasterPosition       : LREAL;
END_VAR

Execute

Mit der steigenden Flanke wird das Kommando ausgeführt.

CamTableID

Tabellen ID.

MasterPosition

Master-Position innerhalb der Tabelle zu der die Slave-Dynamik ermittelt werden soll.

Ausgänge

VAR_OUTPUT
   Done                 : BOOL;
   Busy                 : BOOL;
   SlavePosition        : LREAL;
   SlaveVelocity        : LREAL;
   SlaveAcceleration    : LREAL;
   Error                : BOOL;
   ErrorID              : UDINT;
END_VAR

Done

Wird TRUE, wenn das Kommando erfolgreich ausgeführt wurde.

Busy

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.

SlavePosition

Position des Slaves in der Kurvenscheibentabelle an der angegebenen MasterPosition.

SlaveVelocity

Geschwindigkeit des Slaves in der Kurvenscheibentabelle an der angegebenen MasterPosition.

SlaveAcceleration

Beschleunigung des Slaves in der Kurvenscheibentabelle an der angegebenen MasterPosition.

Error

Wird TRUE, sobald ein Fehler eintritt.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.