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.
Crea un'istanza di
SMC3_PersistPositionblocco funzionale per l'asse.pp: SM3_BASIC.SMC3_PersistPosition;Istanziare una struttura dati persistente di
SMC3_PersistPosition_Datagenere.pp_Data: SM3_BASIC.SMC3_PersistPosition_Data1;Estendere il programma del task di movimento in modo che una chiamata del
SMC3_PersistPositionl'istanza è implementata lì.Call implementato in CFC:

Il blocco funzione viene richiamato in cicli con il task di movimento. Il
SMC3_PersistPositionistanza 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
Crea un'istanza di
SMC3_PersistPositionblocco funzionale per l'asse.ppst_X: SM3_BASIC.SMC3_PersistPositionSinglturn;Istanziare una struttura dati persistente del
SMC3_PersistPosition_Datatipo.ppst_Data_X: SMC3_PersistPositionSingleturn_Data;Estendere il programma dell'attività di movimento in modo che una chiamata del
SMC3_PersistPositionviene implementata l'istanza e la struttura dati persistente diSMC_PersistPosition_Datagli 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
Crea un'istanza di
SMC3_PersistPositionLogicalblocco funzionale per l'asse.ppl: SM3_BASIC.SMC3_PersistPositionLogical;Istanziare una struttura dati persistente di
SMC3_PersistPositionLogical_Datagenere.ppl_Data: SMC3_PersistPositionLogical_Data;Estendere il programma del task di movimento in modo che una chiamata del
SMC3_PersistPositionLogicalistanza è implementata e i dati persistenti di tipoSMC3_PersistPositionLogical_Datagli viene passato.