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.

MC_ReadCamTableSlaveDynamics 2: Eingänge

VAR_INPUT
   Execute        : BOOL;
   CamTableID     : MC_CAM_ID;
   MasterPosition : LREAL;
   Options        : ST_ReadCamTableSlaveDynamicsOptions;
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.

MasterPosition

LREAL

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

Options

ST_ReadCamTableSlaveDynamicsOptions

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_ReadCamTableSlaveDynamics 3: Ausgänge

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

Name

Typ

Beschreibung

Done

BOOL

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

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.

SlavePosition

LREAL

Position des Slaves in der Kurvenscheibentabelle an der angegebenen MasterPosition.

SlaveVelocity

LREAL

Geschwindigkeit des Slaves in der Kurvenscheibentabelle an der angegebenen MasterPosition.

SlaveAcceleration

LREAL

Beschleunigung des Slaves in der Kurvenscheibentabelle an der angegebenen MasterPosition.

Error

BOOL

Wird TRUE, sobald ein Fehler eintritt.

ErrorID

UDINT

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer.