Skip to main content

Persistenza di una posizione dell'asse

Un asse dotato di un encoder assoluto può salvare una posizione in modo che mantenga la posizione precedente dopo il riavvio del controller. L'homing non è richiesto. Il SMC3_PersistPosition e SMC3_PersistPositionLogical blocchi funzione forniscono la funzionalità per l'operazione di salvataggio. I dati necessari vengono salvati in SMC3_PersistPosition_Data e SMC3_PersistPositionLogical_Data.

Le bPositionStored l'output indica se il contenuto di PersistentData sono cambiati. Ciò si verifica in momenti diversi a seconda del tipo di persistenza.

L'intervallo di valori mantenuto dall'encoder deve essere configurato in SMC_PersistPosition.maxPersistedValue ingresso. Per gli encoder multigiro, il valore è impostato 16#FFFFFFFFFF. Per un encoder a giro singolo a 12 bit, ad esempio, il valore è impostato su 2^12 = 4096

Per ulteriori informazioni, vedere: Persistenza dei dati

Suggerimento

L'istanza è resa persistente mediante una dichiarazione come VAR_PERSISTENT o il Persistence Manager dell'Application Composer.

Persistenza della posizione dell'asse di un encoder assoluto multigiro con un asse fisico

Presupposto: l'asse dispone di un encoder assoluto multigiro.

Utilizzare il SMC3_Posizione persistente FB per rendere persistente la posizione dell'asse fisico. Il rispettivo programma viene eseguito nel task di movimento.

  1. Crea un'istanza di SMC3_PersistPosition blocco funzionale per l'asse.

    pp: SM3_BASIC.SMC3_PersistPosition;

  2. Istanziare una struttura dati persistente di SMC3_PersistPosition_Data genere.

    pp_Data: SM3_BASIC.SMC3_PersistPosition_Data1;

  3. Estendere il programma del task di movimento in modo che una chiamata del SMC3_PersistPosition l'istanza è implementata lì.

    Call implementato in CFC:

    _sm_img_call_of_SMC3_PersistPosition.png

    Il blocco funzione viene richiamato in cicli con il task di movimento. Il SMC3_PersistPosition istanza esegue il ripristino della posizione salvata durante l'operazione di avvio. Nel funzionamento normale l'FB salva la posizione attuale nella rispettiva struttura dati.

Persistenza della posizione dell'asse dell'encoder assoluto monogiro con asse fisico

Presupposto: l'asse fisico dispone di un encoder assoluto a giro singolo.

Usa il SMC3_PersistPosition blocco funzionale per rendere persistente la posizione dell'asse. Il rispettivo programma viene eseguito nel task motion. La posizione viene visualizzata correttamente solo se l'asse non ha percorso alcuna distanza o ha percorso solo una breve distanza (massimo la metà della distanza di un giro) tra lo spegnimento e l'accensione del controller. A tale scopo, ad esempio, è possibile utilizzare un freno meccanico. Se l'asse compie un movimento ampio quando il controller è spento, riceve una posizione errata. Non è possibile effettuare il controllo tramite l'FB

  1. Crea un'istanza di SMC3_PersistPosition blocco funzionale per l'asse.

    ppst_X: SM3_BASIC.SMC3_PersistPositionSinglturn;

  2. Istanziare una struttura dati persistente del SMC3_PersistPosition_Data tipo.

    ppst_Data_X: SMC3_PersistPositionSingleturn_Data;

  3. Estendere il programma dell'attività di movimento in modo che una chiamata del SMC3_PersistPosition viene implementata l'istanza e la struttura dati persistente di SMC_PersistPosition_Data gli viene passato il tipo.

Persistenza della posizione dell'asse di un asse logico

Presupposto: l'asse è logico.

Usa il SMC3_PersistPosition Logical blocco funzionale per rendere persistente la posizione dell'asse logico. Funziona solo se la posizione dell'asse fisico sovraordinato è stata resa persistente. La posizione di un asse virtuale non può essere resa persistente mediante questi FB

  1. Crea un'istanza di SMC3_PersistPositionLogical blocco funzionale per l'asse.

    ppl: SM3_BASIC.SMC3_PersistPositionLogical;

  2. Istanziare una struttura dati persistente di SMC3_PersistPositionLogical_Data genere.

    ppl_Data: SMC3_PersistPositionLogical_Data;

  3. Estendere il programma del task di movimento in modo che una chiamata del SMC3_PersistPositionLogical istanza è implementata e i dati persistenti di tipo SMC3_PersistPositionLogical_Data gli viene passato.