FC_PhyEncSetPosition - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
SystemInterface_1.32.6.0 |
Versionen: |
Aktuelle Version |
Geberposition des physikalischen Gebers (SinCos-Geber) verändern.
Mit dieser Funktion wird die Geberposition des physikalischen Gebers (SinCos-Geber) verändert. Die Funktion setzt nur einen Auftrag ab. Dieser Auftrag wird von einer Systemtask abgearbeitet. Dabei kommuniziert diese Task mit dem physikalischen Geber über die serielle Schnittstelle.
Die Position, die der Funktion mit dem Parameter i_lrPosition übergeben wird, wird über die serielle Schnittstelle des Gebers übertragen und im nicht flüchtigen Speicher des Gebers gespeichert. Danach wird die Position vom Geber neu eingelesen und die Parameter InitPosition und EncoderPosition werden aktualisiert.
Verwenden Sie die Funktion FC_PhyEncGetCmdState(), um festzustellen, ob der Auftrag abgearbeitet ist.
|
VERZÖGERUNG BEIM SCHREIBEN DER POSITION ÜBER DIE SERIELLE SCHNITTSTELLE |
Stellen Sie sicher, dass die vom Geber gelesene Position während des Schreibvorgangs unverändert bleibt. |
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben. |
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stEncId |
ST_LogicalAddress |
Logische Adresse des Gebers |
i_lrPosition |
LREAL |
Absolute Geberposition, die im Geber gesetzt werden soll |
Datentyp |
Beschreibung |
---|---|
BOOL |
TRUE: Auftrag wurde gestartet. FALSE: Auftragsschnittstelle besetzt (erneut versuchen) oder Fehler. |
Setzen Sie die Geberposition auf 25 Einheiten.
FeedConstant = 360 Einheiten/Umdrehung.
EncoderType = 16#7, d. h. SinCos-Multiturn mit 4096 Umdrehungen.
oPosition 0 ... 1.474.560 Einheiten
CASE lState OF
1:
FC_PhyEncSetPosition(_PMEnc, 25.0);
lState:=2;
2:
IF FC_PhyEncGetCmdState() = TRUE THEN
lState:=3;
END_IF;
3:
;
END_CASE;
Ergebnis
Die Geberposition des physischen Gebers ist auf 25 Einheiten gesetzt. Dieser Wert wird auch im Parameter EncoderPosition des physikalischen Mastergebers angezeigt.