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