Achsposition persistieren

 

Eine Achse, die über einen Absolutgeber verfügt, kann eine Position speichern, so dass sie nach einem Neustart der Steuerung ihre vorige Position behält. Eine Referenzfahrt wird unnötig. Die Funktions­bausteine SMC3_PersistPosition, SMC3_PersistPositionLogical und SMC3_PersistPositionSingleTurn bieten die Funktionalität zur Speicherung. Die Positionsdaten werden in SMC3_PersistPosition_Data, SMC3_PersistPositionLogical_Data und SMC3_PersistPositionSingleTurn_Data gespeichert.

Der Ausgang bPositionStored zeigt an, ob die geänderten Daten in PersistentData gespeichert wurden. Je nach Art des Persistierens passiert dies unterschiedlich häufig.

Siehe auch

Achsposition eines Multiturn-Absolutgebers mit realer Achse persistieren

 

Voraussetzung: Die Achse verfügt über einen Multiturn-Absolutgeber.

Verwenden Sie den Baustein SMC3_PersistPosition um die Posi­tion der realen Achse zu persistieren. Das zugehörige Programm läuft in der Motion-Task.

  1. Legen Sie eine Instanz des Bausteins SMC3_PersistPosition für die Achse an.

    pp: SM3_BASIC.SMC3_PersistPosition;

  2. Instanzieren Sie eine persistente Datenstruktur des Typs SMC3_PersistPosition_Data.

    pp_Data: SM3_BASIC.SMC3_PersistPosition_Data1;

    Info

    Die Persistierung der Instanz erfolgt über eine Deklaration als VAR_PERSISTENT oder über den Persistence Managers des Application Composers.

  3. Erweitern Sie das Programm der Motion-Task so, dass dort ein Aufruf der SMC3_PersistPosition-Instanz implementiert ist.

    ⇒ Aufruf implementiert in CFC:

    _sm_img_call_of_SMC3_PersistPosition.png

    Der Funktionsbaustein wird zyklisch mit der Motion-Task aufgerufen. Die SMC3_PersistPosition-Instanz führt während des Start-up-Vorgangs das Wiederherstellen der gespeicherten Position durch. Der Baustein speichert im Normalbetrieb die Istposition in die zugehörige Datenstruktur ab.

Siehe auch

Achsposition eines Singleturn-Absolutgebers mit realen Achse persistieren

Voraussetzung: Die reale Achse verfügt über einen Singleturn-Absolut­geber.

Verwenden Sie den Baustein SMC3_PersistPositionSingleturn um die Position der Achse zu persistieren. Das zugehörige Programm läuft in der Motion-Task. Die Position wird nur dann korrekt angezeigt, wenn die Achse zwischen Aus- und Einschalten der Steuerung keine oder nur eine kleine Distanz zurückgelegt hat (maximal die Hälfte der Singleturn-Distanz). Um das erreichen, können Sie beispielsweise eine mechanische Bremse verwenden. Wenn die Achse bei ausgeschalteter Steuerung eine größere Bewegung macht, erhält sie eine falsche Posi­tion. Eine Überprüfung durch den Baustein ist nicht möglich.

  1. Legen Sie eine Instanz des Bausteins SMC3_PersistPositionSingleturn für die Achse an.

    ppst_X: SM3_BASIC.SMC3_PersistPositionSinglturn;

  2. Instanzieren Sie eine persistente Datenstruktur des Typs SMC3_PersistPositionSingleturn_Data.

    ppst_Data_X: SMC3_PersistPositionSingleturn_Data;

    Info

    Die Persistierung der Instanz erfolgt über eine Deklaration als VAR_PERSISTENT oder über den PersistenzManagers des Application Composers.

  3. Erweitern Sie das Programm der Motion-Task so, dass dort ein Aufruf der SMC3_PersistPositionSingleturn-Instanz imple­mentiert ist und ihr die persistente Datenstruktur vom Typ SMC_PersistPositionSingleturn_Data übergeben wird.

Siehe auch

Achsposition einer logischer Achse persistieren

Voraussetzung: Die Achse ist logisch.

Verwenden Sie dem Baustein SMC3_PersistPositionLogical um die Position der logischen Achse zu persistieren. Das funktioniert nur, wenn die Position der übergeordneten realen Achse persistiert wurde.Die Position einer virtuellen Achse kann mit diesem Bausteinen nicht persistiert werden.

  1. Legen Sie eine Instanz des Bausteins SMC3_PersistLogical für die Achse an.

    ppl: SM3_BASIC.SMC3_PersistPositionLogical;

  2. Instanzieren Sie eine persistente Datenstruktur des Typs SMC3_PersistPositionLogical_Data.

    ppl_Data: SMC3_PersistPositionLogical_Data;

    Info

    Die Persistierung der Instanz erfolgt über eine Deklaration als VAR_PERSISTENT oder über den PersistenzManagers des Application Composers.

  3. Erweitern Sie das Programm der Motion-Task so, dass dort ein Aufruf der SMC3_PersistPositionLogical-Instanz implemen­tiert ist und ihr die persistenten Daten vom Typ SMC3_PersistPositionLogical_Data übergeben werden.

Siehe auch