lunes, 15 de febrero de 2010

Led's de Error en PLC's Siemens S5-135U

SI-135-002

Para hacer más llevadera la convivencia con estos PLC's Siemens, vamos a enterder un poco más de su funcionamiento.
Esto lo comento ya que este tipo de PLC's, los S5, en todas sus versiones, ya están pasados de moda; a pesar de esto, es muy posible que los encontremos en los lugares que menos esperamos. Incluso, puede ser que en la empresa en que trabajamos, haya por lo menos uno de estos equipos que nos incomodan la vida, ya que se les puede ocurrir en el momento más inesperado. Y para hacerles frente, no nos queda más que leer literatura y manuales técnicos, ya que reemplazarlos a veces resulta una opción bastante costosa, aunque esto puede ser sólo en apariencia (definitivamente, a largo plazo, inlcuso a corto plazo, es una buena inversión actualizar nuestro equipo de control).
Como uno de los primeros pasos para "domesticar" estos equipos, conozcamos esta CPU 135:


No puede ser! Esta CPU se parece a una de las que tengo en mi planta!, dirán algunos al ver este simple bosquejo. Pero no es para alarmarse... hasta que falle. En ese momento, en que la CPU ya no quiera irse a RUN, empezamos a tomar acciones inmediatas. Pero basta armarse bien con el software (Step 5), el cable de comunicación (cable TTY a RS-232), y el programa de respaldo de este equipo, para hacerle frente a la mayoría de los problemas. Y lo mejor sería contar también con refaccionamiento de tarjetas, tanto de la CPU como tarjetas de entradas y salidas, tarjetas de comunicación, tarjetas especiales, rack de montaje y alimentación, pilas y tarjetas de memoria, etc. En fin, hacer una lista de los número de parte de cada tarjeta y cotejar si existen en almacén. Si no contamos con nada de esto... Es momento de armarse; no digan que no les advertí.

Ahora que ya pudieron retomar la lectura de este artículo, luego de hacer llamadas y más llamadas con proveedores de todas partes del mundo, y ya están más "tranquilos", regresemos al tema de los leds de esta CPU.

Estamos acostumbrados a ver nuestras máquinas trabajando sin parar. Al terminar la jornada de trabajo, o al terminar cierto lote de producción, simplemente apagamos la máquina y nos olvidamos de ella hasta que surge un nuevo pedido. Entonces, energizamos nuestro tablero, y con gusto vemos iluminarse foquitos por doquier y la máquina está lista para trabajar nuevamente. Nos agrada ver cómo la CPU, luego de energizarla, enciende sus leds, y no le damos importancia a ninguno de ellos, sólo esperamos a que terminen todos de parpadear, se apague el led rojo de "Stop" y casi como por arte de magia, enciende el led verde de "Run" para quedarse allí de forma permanente. Bien, nada qué hacer aquí. Es turno del operador de la máquina de hacerse cargo de lo demás. Nos retiramos contentos, y nos olvidamos de la máquina. Y mejor si no pensamos en que puede fallar el control. Una taza de café nos aliviará eso quede de inquietud y tensión.

Pero puede llegar el día en que ese siniestro foco rojo de "Stop" se apodere de la CPU y obligue al led verde de "Run" a sufrir un letargo de varios minutos, horas... o días. El apagar y prender la máquina no resolvió nada. La CPU está en "Stop", y la producción no puede esperar. Si tan sólo tuviera el "Step 5" y un cable de comunicación. Si tan sólo tuviera tarjetas de refaccionamiento. Ahora nos rondan esas ideas en nuestra mente como buitres sobrevolando la carroña.

Ahora un poco de ayuda, antes de que llegue el soporte técnico, al cual ya hemos localizado y viene en camino. Observemos bien la CPU. Antes de ponernos a hacer experimentos de todo tipo con el PLC, y arruinar la situación, en la mayoría de los casos, reparemos primero la posición del selector "RUN-STOP". Es posible que algún travieso haya puesto esta palanca en la posición "STOP" de ser así, nuestra CPU nunca encenderá el led de "RUN". Así que, sencillamente, movemos el selector a la posición de "RUN". Listo, problema arreglado. ¿No luce todavía el led de verde? De acuerdo, tal vez sólo parpadeó unos instantes para luego volver a apagarse completamente, y quedar el led de "Stop" tiranizando la CPU.

Bien, el selector está en la posición de "Run", pero el led verde de "Run" está apagado. Entonces, analicemos los leds que estén encendidos en la CPU:

El led "QVZ" nos indica que la CPU trató de direccionar una tarjeta, y no obtuvo respuesta. En otras palabras, en el programa de la CPU hay por lo menos una instrucción que trata de accesar una tarjeta específica (de entradas, de salidas, de comunicación, etc.), pero al revisar su hardware, la CPU no encontró tal tarjeta físicamente, y decidió darse un descanso yéndose a falla. Para poner a trabajar la CPU, verifiquemos que nadie haya quitado tarjetas del PLC, verifiquemos que todas las tarjetas en el PLC estén alimentadas correctamente, que ninguna de ellas esté mal montada, que ninguna de ellas sufra de algún corto circuito, en fin, hemos de revisar que ninguna tarjeta esté dañada o que tenga algún problema eléctrico. Una vez ubicada la falla en alguna tarjeta, y habiendo hecho la corrección correspondiente, será necesario volver a energizar nuestra CPU para eliminar la indicación de falla en este led.

El led "ADF" nos indica que el programa se intentó accesar a una dirección que físicamente no existe en el hardware del PLC. Por ejemplo, puede haber una instrucción que intente leer el estado del primer bit de una tarjeta de entradas digitales, con la dirección 160.0. Pero como esta dirección no existe, se enciende el led "ADF". Esta indicación la eliminamos corrigiendo la dirección, por ejemplo escribiendo 16.0.

Si vemos encendido el led "ZYK", sabremos que nuestro programa excedió su tiempo de ciclo. Como ya sabemos, todo nuestro programa en la CPU se ejecuta cíclicamente, es decir, la CPU empieza procesando la primera instrucción, va con la segunda, luego la tercera, etc., hasta que llega a la última instrucción. Una vez que ejecuta esta última instrucción, regresa a ejecutar la primera nuevamente, y este ciclo se repite indefinidamente... hasta que apagamos la máquina, o ponemos el selector en "Stop", o falla algo. En circunstancias normales, la CPU ha de ejecutar todas las instrucciones en un cierto tiempo, que es del orden de los milisegundos. Este tiempo de ciclo varía, dependiendo de las bifurcaciones que siga al ejecutar el código del programa, con saltos e interrupciones, entre otras cosas. Pero la CPU tiene un límite de tiempo para ejecutar su ciclo. Y si intenta pasarse de ese tiempo máximo, se irá inevitablemente a falla.
Para el caso del led "ZYK", ocurrió que la CPU emprendió su tarea de ejecutar el programa, sólo que se tardó tanto intentar llegar a la última instrucción, que fue atrapada por exceder su tiempo máximo de ejecución del programa, y se fue a falla. Este problema se solucionará revisando el programa, ya que puede ser que haya entrado en una rutina de la que no pudo salir, o nuestro programa es demasiado extenso y a veces se tarda un poco más en ejecutarlo. El programa no cambia, por supuesto, lo que cambia es la forma en que la CPU lo ejecuta, al encontrarse, como ya mencioné, con saltos, con instrucciones de comunicación, interrupciones, etc.

Por último tenemos el led "BASP", el cual es un simple indicador de que las salidas del PLC se han bloqueado, esto debido a algún otro tipo de falla ocurrido en el programa o en el propio hardware del PLC. Este bloqueo de salidas lo realiza de forma interna la CPU cuando detecta alguna grave irregularidad, y las salidas se van a condición segura al desactivarse.

Con esta pequeña guía de la indicación de los leds de la CPU, comenzamos a entender su funcionamiento, y a darnos cuenta de qué le puede estar pasando a nuestra CPU, y poder diagnosticar algunas fallas.

De momento, iniciamos con esto; próximamente aprenderemos más.
    

lunes, 1 de febrero de 2010

Error al Instalar WinCC Versión 7

SI-WCC-001

Con el fin de desarrollar una aplicación visual para la operación de una máquina, se pensó en instalar un Panel PC conectado a un PLC Siemens S5. En el Panel PC se instalaría WinCC, y en esta plataforma se desarrollaría la aplicación de visualización.
WinCC es una herramienta de software de Siemens utilizada para instalarse en computadoras corriendo sistemas operativos Windows. Con WinCC se desarrollan aplicaciones de visualización con las cuales un operador puede introducir datos a un PLC, el cual controla la operación de la máquina, y utiliza estos datos para la realización de tareas específicas. Además, desde la PC se puede visualizar gráficas de proceso, registrar en forma gráfica las tendencias de variables como temperatura, presión, flujo, nivel, etc. Incluso, el operador puede controlar el arranque y paro de equipos, activación de válvulas, ajuste de set-points, modificación de tiempos, etc.
Ya en años pasados había trabajado con WinCC, sólo que en aquel tiempo se trataba de las versiones 4 y 5. Ahora me tocaba lidiar con la versión 7. ¿Qué tanta diferencia habría respecto a las anteriores versiones? Era algo que me inquietaba, ya que me surgían preguntas acerca de si tendría una arquitectura diferente, si la interfase de configuración cambiaría notablemente, si no sería necesario dedicar horas enteras a la lectura del nuevo manual para comprender su funcionamiento, etc. En fin, me hacía a la idea de que la nueva versión estaría realmente revolucionada, y yo tendría que documentarme exhaustivamente. Además, me surgía la duda de que esta súper nueva versión de WinCC hubiese eliminado de sus librerías el driver de comunicación para los PLC's S5, que son equipos ya muy viejos. Era crucial resolver esta incógnita. Pero...
Comencé por los requerimientos esenciales para manejar el nuevo software: la instalación.
Como cualquier otro software, damos doble click en el "setup.exe". Se abren cuadros de diálogo para solicitarnos información, y, conforme vamos leyendo y configurando nuestra instalación, damos click en el botón de "Next", hasta que el software se pone a trabajar solito para completar todas las tareas, y esperamos a que salga la pantalla final que nos dice que el software se ha instalado con éxito, y simplemente hacemos click en el botón de finalizar.
Eso es lo que esperaba que pasara.
Instalaba WinCC versión 7.0 en un Panel PC (el cual es básicamente una PC, sólo que con todo integrado: pantalla, CPU, puertos, teclado, mouse, etc.) con Windows XP con Service Pack 2.
Seleccioné el idioma de instalación, y fui personalizando la configuración de WinCC. Iba todo bastante bien, pero varios minutos después de iniciada la instalación, me apareció un mensaje extraño, el cual sólo me ofrecía dos opciones: consultar la ayuda o cancelar.
Demonios, no tuve otra opción que darle en cancelar.
¡Ah! ¿El mensaje? Es éste:

"Errors with the examination of the installation conditions:

MS Security Patch is not installed on the system.
For this WinCC version, the following software is required:
WindowsXP SP 2 KB319740

Security Patch was not found."

Grandioso.
Por supuesto que este mensaje me convenció de dejar para después la instalación de WinCC. Primero tendría que hacerme de esta tal "Security Patch". Mi movimiento instintivo fue correr a mi PC y conectarme a internet para bajar este Patch. Una vez conectado, me dí cuenta de que el Patch se iba a instalar en mi PC. Pero no quería instalarlo en mi PC, sino en el Panel PC. Esto implicaba ir por el Panel PC, darlo de alta en la red de la compañía, instalarle un antivirus para no ponerlo en riesgo en la red, que el de sistemas me asignara privilegios en su red, darme la dirección del servidor de internet, etc. Esa idea no me agradó. Y pensé en luchar contra mis instintos naturales y buscar una solución más fácil y menos desgastante. Sólo que si fracasaba en la búsqueda de una buena solución, y requiriera seguir el camino largo y difícil, nadie me recuperaría el tiempo perdido, y me tacharía a mí mismo de flojo. Pero mi pereza ahora tenía la iniciativa.
Simplemente, me puse a buscar dentro del disco de instalación de WinCC el tan especial Patch. Sólo que me asaltaba la duda siguiente: Si aquí en el disco viene el Patch que ando buscando, ¿por qué rayos no lo instala el propio software solito? ¿Sufre de alguna miopía o casi ceguera el software que no se da cuenta de que el mismo disco trae lo que pide? Simplemente, ¿por qué solicita algo que él mismo tiene? Como quiera, me puse a navegar en el disco, carpeta a carpeta, y ¡sorpresa, lo encontré! Y no en un idioma, sino en varios idiomas.
Hice doble click en Patch Security, y comenzó la instalación.
Una vez finalizada, nuevamente corrí el setup de instalación de WinCC. Terminado el proceso, pude ver con satisfacción que el WinCC había sido instalado exitosamente.
Le tuve que dar crédito a mi pereza mental para resolver este detalle, aunque tuve que pensar en ir en contra de una mecanizada lógica de instalación.
Finalmente, también resolví mi duda respecto al driver de S5: WinCC v7.0 todavía cuenta con este driver de comunicación para estos equipos que ya están obsoletos. Esto parece ser también algo que va en contra de la lógica de mercado: ¿Por qué incorporar en softwares nuevos comunicación con equipos que ya están discontinuados?
No lo sé, pero, podré lograr mis propósitos de comunicarme a un PLC S5 con un software de los más actuales.