Skip to main content

Persistencia de una posición del eje

Un eje que tenga un codificador absoluto puede guardar una posición para que conserve su posición anterior después de reiniciar el controlador. La localización no es necesaria. El SMC3_PersistPosition y SMC3_PersistPositionLogical bloques de funciones proporcionan la funcionalidad para la operación de guardar. Los datos necesarios se guardan en SMC3_PersistPosition_Data y SMC3_PersistPositionLogical_Data.

El bPositionStored la salida indica si el contenido de PersistentData han cambiado. Esto ocurre en diferentes momentos según el tipo de persistencia.

El rango de valores que conserva el codificador debe configurarse en SMC_PersistPosition.maxPersistedValue entrada. Para los codificadores de varias vueltas, el valor se establece 16#FFFFFFFFFF. Para un codificador de 12 bits de una sola vuelta, por ejemplo, el valor se establece en 2^12 = 4096

Para más información, ver: Persistencia de datos

Sugerencia

La instancia se hace persistente por medio de una declaración como VAR_PERSISTENT o el administrador de persistencia del compositor de la aplicación.

Persistencia de la posición del eje de un encoder absoluto multivuelta con eje físico

Requisito: El eje dispone de un encóder absoluto multivueltas.

Utilizar el SMC3_PersistPosition FB para hacer persistente la posición del eje físico. El programa respectivo se ejecuta en la tarea de movimiento.

  1. Crea una instancia del SMC3_PersistPosition bloque de funciones para el eje.

    pp: SM3_BASIC.SMC3_PersistPosition;

  2. Instanciar una estructura de datos persistente de la SMC3_PersistPosition_Data escribe.

    pp_Data: SM3_BASIC.SMC3_PersistPosition_Data1;

  3. Amplíe el programa de la tarea de movimiento para que una llamada del SMC3_PersistPosition instancia se implementa allí.

    Llamada implementada en CFC:

    _sm_img_call_of_SMC3_PersistPosition.png

    El bloque de funciones se llama en ciclos con la tarea de movimiento. El SMC3_PersistPosition instancia realiza la restauración de la posición guardada durante la operación de inicio. En el funcionamiento normal, el FB guarda la posición actual en la estructura de datos respectiva.

Persistencia de la posición del eje del codificador absoluto monovuelta con eje físico

Requisito: El eje físico tiene un encoder absoluto monovuelta.

Usa el SMC3_PersistPosition bloque de funciones para que la posición del eje sea persistente. El programa correspondiente se ejecuta en la tarea de movimiento. La posición se muestra correctamente solo si el eje no ha recorrido ninguna distancia o solo ha recorrido una distancia corta (como máximo la mitad de la distancia de un solo giro) entre la desconexión y el encendido del mando. Para ello, puede utilizar un freno mecánico, por ejemplo. Si el eje hace un gran movimiento cuando el controlador está apagado, entonces recibe una posición incorrecta. No es posible comprobarlo mediante el FB

  1. Crea una instancia del SMC3_PersistPosition bloque de funciones para el eje.

    ppst_X: SM3_BASIC.SMC3_PersistPositionSinglturn;

  2. Cree una instancia de una estructura de datos persistente del SMC3_PersistPosition_Data tipo.

    ppst_Data_X: SMC3_PersistPositionSingleturn_Data;

  3. Amplíe el programa de la tarea de movimiento para que una llamada del SMC3_PersistPosition la instancia está implementada y la estructura de datos persistente del SMC_PersistPosition_Data se le pasa el tipo.

Persistencia de la posición del eje de un eje lógico

Requisito: El eje es lógico.

Usa el SMC3_PersistPositionLogical bloque de función para hacer que la posición del eje lógico sea persistente. Esto solo funciona si la posición del eje físico superior se hizo persistente. La posición de un eje virtual no se puede hacer persistente mediante estos FB

  1. Crea una instancia del SMC3_PersistPositionLogical bloque de funciones para el eje.

    ppl: SM3_BASIC.SMC3_PersistPositionLogical;

  2. Instanciar una estructura de datos persistente de la SMC3_PersistPositionLogical_Data escribe.

    ppl_Data: SMC3_PersistPositionLogical_Data;

  3. Amplíe el programa de la tarea de movimiento para que una llamada del SMC3_PersistPositionLogical se implementa la instancia y los datos persistentes de tipo SMC3_PersistPositionLogical_Data se le pasa.