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