martes, 4 de diciembre de 2012

Algunos detalles de implementación con Omron

Relacionado con las clases en Sistemas de Control Automático de el Máster en Automática y Robótica, la práctica consiste en realizar la programación de un grupo de presión de cuatro bombas. A raíz de esto se han comentado algunas estructuras de programación en clase para gestionar ciertas cosas. A continuación expongo unos ejemplos de como gestionar estas estructuras.

Registro de desplazamiento, con este registro se apunta a la bomba a encender, con otro igual a la siguiente bomba a apagar y por último habrá otro para gestionar la bomba que deberá arrancar por variador en el siguiente ciclo de trabajo.


Respecto a la gestión de tareas, muchos tienen aún dudas de como funcionan estas estructuras. Los bloques TKOF y TKON lo que hacen es activar y desactivar unos registros especiales (marcas) llamadas TK00, TK01 y así sucesivamente. Cada una de ellas está asociada al estado de un "programa" y cuando digo programa me refiero a lo que en CX-Programmer se considera programa (ver árbol de proyecto a la izquierda de CX-Programmer). De manera que estas mismas marcas pueden ser empleadas para activar una determinada sección de código como en el ejemplo que se muestra a continuación:


En este ejemplo, la marca TK01 (es decir cuando el programa con tarea de prioridad 1 está en ejecución), se activa una sección de código donde se detiene el programa con tarea de prioridad 0 y se ejecuta el programa con tarea de prioridad 3.

Sobre la gestión de arranques y paradas de bombas, mi consejo es emplear un biestable RS utilizando la función KEEP. Como se muestra en en la figura, la linea de la primera conexión del biestable contiene la condidicón de arranque de un contactor de la bomba 1, y la segunda linea contiene la condición de parada del mismo contactor. (No es necesario tener las mismas condiciones, sólo son a nivel ilustrativo, no deben tomarse al pie de la letra).