¿Sabes cuales son las diferencias entre la instrucción RTO y TON?, ¿Te gustaría aprender a capturar el tiempo en que una falla es activada durante determinado lapso de tiempo?, continua leyendo y te lo explicare detalladamente.

Esta instrucción es principalmente nombrada de tres formas, instrucción RTO, Retentive Timer o Temporizador Retentivo.

Su principal diferencia con las instrucciones TON y TOF es que este no se restablece de forma automática sino que debes hacerlo con la instrucción RES.

A continuación te comparto una explicación detallada de la instrucción RTO y al final te propondré una práctica para que comprendas mejor su funcionamiento.

Estructura de la UDT de una instrucción RTO; TIMER

La instrucción RTO utiliza la UDT TIMER, misma que también es utilizada por las instrucciones TON y TOF.

A continuación te muestro los 5 elementos de esta UDT en el Monitor de Studio 5000.

UDT de la instrucción RTO

Preset (.PRE)

El Preset es de tipo DINT y es utilizado para almacenar el tiempo en milisegundos que el Accumulated (.ACC) deberá alcanzar antes de que la ta Done (.DN) sea activado.

Accumulated (.ACC)

El Accumulated también es de tipo DINT y es la tag que muestra el número de milisegundos que se han acumulado cada vez que el Enable se ha activado.

Enable (.EN)

El Enable es de tipo BOOL y es activado cuando las condiciones del temporizador se vuelven verdaderas.

En otras palabras, siempre que el temporizador es activado la tag Enable se vuelve 1.

TimerTiming (.TT)

El TimerTiming es de tipo BOOL e indica que el temporizador está en proceso.

Dicho de otra manera, ésta tag será activada siempre que el Enable éste activado y el Accumulated no haya alcanzado el Preset.

Done (.DN)

La tag Done es de tipo BOOL y será activada una vez que el Accumulated haya alcanzado el Preset.

A su vez, una vez que esta tag es activada, el TImerTiming es desactivado.

Parámetros de la Instrucción RTO

La instrucción RTO cuenta con 3 parámetros los cuales se muestran en la siguiente imagen.

instrucción RTO en Studio 5000

En el primer parámetro se muestra la tag con la que va a trabajar la instrucción RTO la cual como ya fue comentado deberá ser de tipo Timer.

El segundo parámetro es el Preset, en el cual se le asignará el valor límite en milisegundos de la instrucción.

Por último, el parámetro Accum representa el tiempo acumulado por el temporizador hasta el momento.

Funcionalidad de la Instrucción RTO

El siguiente diagrama te ayudará a entender de mejor manera la funcionalidad de la instrucción RTO.

instrucción RTO, diagrama

Para entender de mejor manera este diagrama, vamos a suponer un Preset de 3000 milisegundos y usaremos una secuencia para analizarlo:

  1. Las condiciones de la línea del temporizador (rung condition in) son verdaderas, por lo que el Enable y el TimerTiming son activados, además el Accumulated empieza a avanzar.
  2. La línea ahora es falsa, por lo que el Enable y el TimerTiming se desactivan y el Accumulated deja de avanzar pero mantiene su último valor (1000 milisegundos).
  3. Las condiciones se vuelven verdaderas de nuevo, el Enable y el TimerTiming se activan y el Accumulated continua avanzando desde donde se quedo.
  4. La línea vuelve a ser falsa, el Enable y el TimerTiming se desactivan y el Accumulated detiene su avance (2000 milisegundos).
  5. Las condiciones de la línea de la instrucción RES (rung condition that controls RES instruction) se hacen verdaderas, por lo que el Accumulated vuelve a su valor inicial, 0.
  6. La línea del temporizador vuelve a ser verdadera y después de un segundo se vuelve falsa, por lo que el Accumulated avanza hasta 1000 milisegundos.
  7. El temporizador se vuelve a activar, por lo que el Accumulated empieza a avanzar.
  8. El Accumulated llega al valor del Preset (3000 milisegundos) por lo que el Done es activado y el TimerTiming es desactivado.
  9. Las condiciones del temporizador son falsas, por lo que el Enable se desactiva pero el Done sigue activado y el Accumulated mantiene el valor del Preset (3000 milisengundos).
  10. La línea de la instrucción RES se vuelve verdadera, por lo que el Done es desactivado y el Accumulated vuelve a su valor inicial, 0.

Cómo podrás observar, a grades rasgos el Accumulated avanza cada vez que el Enable esta activo y el Done se activa una vez que el Accumulated alcanza el valor del Preset.

El Done y el Accumulated se restablecen una vez que se activa la instrucción RES del mismo temporizador.

Práctica con la instrucción RTO

Para poder entender a fondo todas las características de la instrucción RTO, lo mejor es hacer una práctica con algún simulador.

La práctica que propongo es la de calcular el tiempo que ha sido activada una falla en un día.

Este tipo de lógicas es común cuando se requiere saber que tanto ha afectado la producción la activación de determinada falla.

En estándares como el de Ford, se monitorean todas las fallas y al final del día se imprime un reporte donde aparecen las fallas más criticas (las que han estado activadas por más tiempo) para ser solucionadas.

La idea es que diseñes un programa donde simules una falla, misma que al ser activada accionará el temporizador. Una vez alcanzado el Preset se deberá activar una tag con el nombre “FallaCritica”.

Esta falla se deberá desactivar al final del día (con la tag “Hora_12am”) o al presionar el botón ligado a la tag “Reset”.

En la siguiente sección encontrarás un vídeo tutorial y el ejemplo en Studio 5000 para que lo descargues.

Vídeo Tutorial y Descarga del Programa en Studio 5000

A continuación te comparto un vídeo donde se explica a detalle la práctica Falla Critica.

Para descargar el programa en Studio 5000 listo para ser ejecutado utiliza este enlace.

Conclusiones

Cómo podrás observar la instrucción RTO tiene una funcionalidad muy parecida a la instrucción TON, con la diferencia de que la instrucción RTO no se restablece automáticamente cuando el Enable es desactivado.

Con esta instrucción se completa la trilogía de temporizadores en Studio 5000 con las instrucciones TON, TOF y RTO, por lo que continuaré con más instrucciones.

Te recomiendo hagas las prácticas propuestas en cada una de estos artículos, de esta manera entenderás mas a fondo la funcionalidad de cada uno de ellos y sus relaciones.

Para hacer estas prácticas te recomiendo las simules con el Emulate 5000 siguiendo los pasos del artículo Enlace entre Studio 5000 y Emulate 5000.

No olvides compartir este artículo, es muy importante para darle visibilidad y así poder continuar con esta labor.

Por último te invito al Programa Premium para que tengas acceso a todos los cursos de programación, desde el más básico hasta los avanzados.

Saludos!

2 Comentarios

Deja una respuesta