FC_PhyEncSetPosition - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

SystemInterface_1.32.6.0

Versionen:

Aktuelle Version

Aufgabe

Geberposition des physikalischen Gebers (SinCos-Geber) verändern.

Beschreibung

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.

Warning_Color.gifWARNUNG

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.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_stEncId

ST_LogicalAddress

Logische Adresse des Gebers

i_lrPosition

LREAL

Absolute Geberposition, die im Geber gesetzt werden soll

Rückgabewert

Datentyp

Beschreibung

BOOL

TRUE: Auftrag wurde gestartet.

FALSE: Auftragsschnittstelle besetzt (erneut versuchen) oder Fehler.

Beispiele

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.