lunes, 22 de marzo de 2010

Cómo Grabar EPROMs en Step 5

SI-S5-002

Lunes por la mañana. Comienza la jornada laboral. Llegamos a nuestro puesto de trabajo, y empezamos a revisar nuestros correos electrónicos. A los pocos minutos, se presenta al operador de la máquina más crítica de la planta para decirnos que encendió la máquina, y que cuando quiso hacer movimientos manuales, la máquina simplemente no hacía nada, además de que en el Panel apareció el mensaje de que la comunicación con el PLC no era posible de establecer.
Al llegar a la máquina, antes que nuestro jefe, claro, abrimos el tablero de control, y vemos que, en primer lugar, la batería del PLC Siemens S5 está indicando que ya está agotada, segundo, no hay memoria EPROM insertada en la CPU, y tercero, que el led de Stop de la CPU está encendido con su típico color rojo. Y con seguridad concluimos que el programa se perdió el fin de semana cuando el último trabajador desenergizó completamente la máquina.
Lo bueno es que teníamos copia del programa más reciente de la máquina... Así que nada más lo transferimos, y listo, la máquina está nuevamente trabajando.
Por suerte, esto ocurrió cuando estábamos en planta, sólo que la próxima semana saldré de vacaciones... y ¿si se vuelve a borrar el programa? Adiós vacaciones.
La solución, insertar una memoria EPROM o EEPROM a la CPU con el programa, y así, aunque se borre el programa en la RAM de la CPU, cuando se energice nuevamente la maquina, el programa de la memoria EPROM se transferirá automáticamente a la RAM, y todo volverá a funcionar de manera normal.

Para llevar a cabo esta estrategia, resulta fácil enunciar que basta sólo con grabar el programa en un módulo de memoria EPROM o EEPROM e insertarla en la CPU. Sin embargo, no es tan sencillo. En primer lugar, tenemos qué definir qué tipo de memoria necesitamos. Tanto a las memorias EPROM como a las EEPROM les podemos grabar el programa directamente con el programador (PG) de Siemens. Pero para borrarlas, empleamos métodos diferentes. Las memorias EPROM las borramos con luz ultravioleta. Y las EEPROM las podemos borrar eléctricamente (de allí la primera "E" de su nombre) conectàndolas al PG. Si no contamos un borrador de luz ultravioleta, o conseguimos uno o adquirimos una memoria EEPROM. Estas memoria EEPROM son más cómodas de utilizar, sin embargo su costo es más elevado. Una vez que ya hemos definido el tipo de memoria, si EPROM o EEPROM, ahora nos falta definir el tamaño. Y eso depende del tamaño del programa que querramos grabar. Si el programa de la máquina es pequeño, podemos optar por memoria de 2, 4 u 8 kb. Pero si requerimos mas capacidad, elegimos memorias de 16, 32 o 64 kb. Una vez más, el factor costo entra en juego, entre más capacidad, mayor el precio de la memoria.
Ahora que ya definimos esto, vamos a nuestro taller o laboratorio y desempolvamos nuestro PG Siemens. Le conectamos el accesorio para memorias EPROM/EEPROM, lo encendemos, y abrimos la aplicación del Step 5. Ningún problema con esto, ¿o sí?
Debo decir que si no contamos con el PG de Siemens, podemos conectar entonces el grabador de memorias externo a nuestra PC de escritorio o a nuestra portàtil. Y abrimos el Step 5. Grabamos el programa en la memoria y listo.
Creo que algo se me olvida.
Sí, precisamente este tema trata de cómo quemamos el programa en Step 5, y lo queremos ver paso a paso, ¿cierto? Así que todavía no terminamos. Ahora sí vamos a entrar en materia.

1. Como decía líneas arriba, es necesario que primeramente abramos el Step 5. Una vez abierto, seleccionamos el programa que querramos grabar en la memoria. Elegimos, pues, un archivo con extensión ".s5d" de nuestro disco duro.

2. Como siguiente paso, vamos al menú "Management", y seleccionamos la opción "EPROM Handling". A continuación nos aparecerá una pantalla con el menú de funciones en la parte inferior de la pantalla.

Blow. Read. Delete.

3. Ahora elegimos la opción Blow, para "quemar", es decir, grabar el programa seleccionado a nuestra memoria EPROM. (Por supuesto, la opción Read, es para leer el contenido de nuestra memoria EPROM, y Delete, para borrarla. Pero no las vamos a usar en nuestro caso.)

4. Inmediatamente que pulsamos , nos aparece una pantalla casi vacía, en la que leemos la linea :
"Blow EPROM Block: _ Ptr: "
Aquí el cursos se posiciona automàticamente delante de la palabra "Block:". Justo en este lugar, escribimos simplemente la letra "A". ¿Por qué rayos la letra "A"? Porque con la letra "A" indicamos que queremos grabar todos ("All") los bloques del programa seleccionado. Es decir, la letra "A", es tomada de la palabra "All", todo.
Una vez que la escribimos, aparece el cursor en la línea
"PROG NUMBER ?"
En esta posición del cursor escribimos un código secreto, el cual sólo se le revela a los discípulos más avanzados...
Olvidaba que aquí no estamos en un curso de "Zen", o ciencias ocultas, ni nada parecido. Ya con no tratarse esto de un curso, no hay maestro ni discípulos, y me veo obligado a revelar el secreto. No querrán oirlo. Es algo tan sencillo.
Sólo tomen su módulo EPROM (si todavía no lo insertan en la ranura del lector correspondiente en el PG), identifiquen en uno de los extremos una tirita blanca donde estàn anotadas unas letras y números. En este caso, necesitamos números. Este número, este código de memoria comienza con un guión, por ejemplo: "-417".
Si este número no lo encuentran, pueden pulsar la tecla del PG y así desplegar una larga lista de memorias EPROM con su número de catálogo y su correspondiente número de código. Ojo, escribimos sólo el número de código, pero no el número de catálogo.
Bueno, yo escribí, a modo de ejemplo, el número 417. Pero no escriban el guión.
Una vez introducido este número, y si el código es correcto y coincide con la memoria insertada, nos aparecerá una nueva pantalla, la cual nos dará una lista detallada de las características de la memoria que está conectada al PG.
Para el caso que nos ocupa, nos devuelve el número de catálogo para este memoria, que sería el 6ES5 375-1LA41. En el siguiente renglón aparece el número de código, el 417, y, otro dato importante que nos da es el tamaño de la memoria, que le corresponde el tamaño de 32 kb.

5. Para continuar con el proceso, nuestro cursos se posiciona el "PROG NUMBER ?"; si todo está correcto y deseamos iniciar el quemado, simplemente le damos aceptación, y comienza el proceso de quemado de la EPROM (o EEPROM).
Es muy importante que, durante el proceso de grabado, no retirar la memoria del PG, ni apagar el PG, ya que hacer esto podría llevarnos a resultados indeseados, como un grabado incompleto del programa en la EPROM, o incluso, el daño mismo de la memoria.
En este proceso de grabado, aparecerá línea a línea el OB, el PB, el FB o el DB que en ese momento se esté grabando. Y ya no es necesario hacer nada mas.

Al finalizar el grabado de todos los bloques, simplemente retiramos nuestra EPROM, y la insertamos en la CPU (con el control desenergizado, claro). Si la CPU no tiene programa en la RAM, una vez que la energicemos, automáticamente se transferirá el programa de la EPROM (o EEPROM) a la RAM (lo cual se indica con un flasheo rápido de los leds RUN-STOP), y si el selector està en la posición de "RUN", y no hay inconsistencias en el programa o en el hardware, por sí sola, la CPU cambiará al estado "RUN", y el led verde correspondiente se quedará encendido de manera permanente, así como el led rojo de "STOP" quedará apagado también de forma permanente.

Ahora sí, a estar más tranquilos.
    

miércoles, 10 de marzo de 2010

Lista de Códigos de Falla en Servodrives Movidyn de SEW

SEW-MYN-001

Hace algunos días me encontré resolviendo un problema con un servodrive marca SEW conectado a un PLC Siemens S5-115U.
Para empezar, ya sabemos que estos PLC's S5 pertenecen a la prehistoria. No resulta difícil deducir que la máquina a la que pertenece este PLC ya está entrada en años, y que la mayoría de sus componentes también lo están.
Descubrí un servodrive SEW, y seguía la misma línea de longevidad que toda la máquina. Este equipo indicaba una falla en el display de siete segmentos. En la pantalla de operador de la misma máquina, sólo se leía el texto de "Falla en la tarjeta de eje X". Esta pantalla estaba conectada al puerto de comunicación del PLC S5, por lo que la gente de mantenimiento de la planta suponía que la falla estaba en alguna tarjeta del PLC. Sin embargo, al analizar el programa y los diagramas eléctricos de la máquina, todo indicaba que el causante de la falla era el servodrive SEW.
El mensaje de falla indicada en cuestión era el "F05", el cual indica que el cable de bus de datos no está conectado correctamente a X5. Al revisar la conexiones, pudimos notar que precisamente ese cable no había sido puesto en su lugar y andaba suelto, ya que por la mañana a este servodrive se le desmontó para darle mantenimiento. Corregido el cableado, se eliminó la falla y la máquina volvió a operar de forma normal.

Aquí la lista de fallas para los servodrives MOVIDYN de la marca SEW Eurodrive:

F01
Overcurrent in output stage due to:
• Short circuit in the motor/cable
• Ground fault
• Defective output stage
Solution:
Repair the short circuit.
If the fault cannot be reset afterward, exchange the unit.

F03
Thermal overload of the power supply module
Solution:
Reduce the power output and/or ensure sufficient cooling.

F05
Data bus cable is not properly connected to X5
Solution:
Check the connections.

F06
Earth fault in:
• Power supply module
• Axis module(s)
• Motor(s)
Solution:
Check motor leads or motor for earth fault.

F07
Generating power too high, overvoltage in the DC link
Solution:
• Check leads to the braking resistor
• Check technical data of the braking resistor
• Extend deceleration ramps, if necessary

F08
Speed control operates through the adjusting limit
• Overload
• Phase fault in the power supply or
motor
• Incorrect connection of resolver
Solution:
• Extend ramps, increase P511, if necessary
• Check power limitation
• Check motor
• Check motor lead
• Check power supply phases
• Check cabling of resolver

F09
S1 slide switch on AIO11 is set incorrectly
Solution:
Move S1 slide switch on AIO11 to “U” position

F11
Thermal overload of axis module / compact servo controller
Solution:
Reduce the power output and/or ensure sufficient cooling.

F14
• Resolver cable or shield is not connected correctly
• Short circuit or cable break in resolver cable
• Resolver defective
Solution:
Check resolver cable and shield for correct connection, short circuit, and cable break

F15
Internal supply voltage in the power supply module / compact servo controller is missing
Solution:
Exchange the unit

F17...F24
System faults
Solution:
Reset
If the fault cannot be reset, please consult SEW.
Indicate fault number and MD_SHELL fault message

F25
Error while accessing EEPROM
Solution:
Call up the factory setting (Observe P610!) and reset the fault. Perform a new startup. If the fault occurs again: Exchange the unit

F26
External fault signal was read in via programmable input
Solution:
Remove the respective fault source, reprogram the terminal, if necessary

F27
Cable break or both limit switches missing
Solution:
Check cabling and limit switches, reprogram terminals, if necessary

F28
Fault during process data transfer
Solution:
Check fieldbus connection, see the corresponding manual

F29
Limit switches are reversed with respect to rotational direction of motor
Solution:
Reverse connections of limit switches at X21.7 and X21.8.

F31
Short circuit or overload of one or several binary outputs
Solution:
Check cabling and wiring, limit current to 50 mA, if necessary

F32
Setpoint source not defined
Solution:
Set correct setpoint source with P110

F34
Fault during communication data transfer
Solution:
Check fieldbus connection, see the corresponding manual

F36
Attempted to use a non-existing option card
Solution:
• Insert correct option card or
• Select correct setpoint source with P110

F39, 41, 42, 58, 72, 76-78
Fault of IPOS positioning control
Solution:
See IPOS manual

F40-42, 50-74
Fault of APA/API positioning control
Solution:
See APA/API manual

F43
Monitoring for communication of PC / axis system active, monitoring time exceeded
Solution:
[Parameter] menu, “Panel” menu item: Increase the value for “PC time monitoring” or deactivate time monitoring by entering “0.”

F87
Communications fault during fieldbus operation
Solution:
Check fieldbus connection, see the corresponding manual

" "
Displays undefined messages
System fault
Solution:
Reset
Exchange the unit if this reoccurs.

Para dar con el manual completo de estos servodrives, pueden bajarlo de la siguiente dirección:

http://www.clrwtr.com/PDF/SEW-Eurodrive/SEW-Eurodrive-MOVIDYN-Manual.pdf
    

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.
    

miércoles, 27 de enero de 2010

Problema de Lentitud con mi Lap-Top

TyC-008

Por lo regular llevo a mi computadora portátil Acer a todas las plantas que visito.
Tengo una Acer modelo TravelMate con Windows XP SP2.
Esta PC la utilizo para comunicarme con los PLC's. Así que en ella tengo cargados los softwares de Siemens (Simatic Manager, MicoWin, Step5, ProTool) y Allen-Bradley (RSLogix 500, RSLogix 5000, PanelBuilder), y otras utilerías propias de estos paquetes de programación. También tengo instalados otros softwares de otros PLC's, como Telemecanique y Omron, el Norton Ghost y el Nero. Incluso, ni siquera le instalo en antivirus, ya que a veces me interfiere en algunos programas, tales como el Step5 y bloquea algunas funciones de comunicación. De cualquier forma, hago respaldos periódicos de la portátil y la pongo en red para escanearla en busca de virus.
No me atrevo a cargarle softwares más pesados, como el WinCC o el RSView, ya que esto me haría bastante lenta la máquina. En caso de requerir algún desarrollo o prueba en estos softwares, los instalo en la compu de escritorio, donde el desempeño es mucho mejor.
Como mi objetivo es ahorrar tiempo al llegar a alguna planta a resolver algún problema con un PLC, por lo regular la paso a hibernación al dejar de utilizarla. De esta manera, al oprimir el botón de encendido, rápidamente regresa desde donde me quedé, sin necesidad de esperar a que cargue el sistema operativo desde cero, que sería en el caso de apagarla completamente y luego volverla a encender.
Pero hace algunos días, me presenté en una planta para revisar un PLC. Saqué mi lap-top de su estuche, la encendí, pero no regresó del modo hibernación y se bloqueó por lo que tuve necesidad de apagarla. Al reiniciarla, me extrañó que tardara tanto en cargar Windows. Esperé cerca de 10 minutos y no terminaba. El teclado tardaba en responder al igual que el teclado. Quise abrir el Explorador de Windows, pero la espera se prolongaba demasiado. Los comentarios sarcásticos por parte del cliente no se hicieron esperar, eso sí. El clásico "tienes una PC con un procesador Lentium", o "se me hace que tiene virus tu compu", y la de "cuánta basura le cargas a tu PC; juegos, música, videos..." Por si fuera poco, la máquina tenía que entrar a producción lo antes posible, y ya había dejado pasar una decenas de minutos.
Como ya no estaba dispuesto a esperar más, con mucho trabajo logré abrir el "Administrador de tareas de Windows", dí click en la pestaña de "Rendimiento", y ví que el procesador estaba siendo usado la mayor parte del tiempo al 100%. Eso no era normal. Así que pasé a la pestaña de "Procesos", y me puse a observar cuál aplicación era la que estaba causando esta lentitud.
Allí, escondida entre varias programas que estaban cargados, pude identificar uno que ocupaba la CPU casi en su totalidad, con valores que oscilaban entre el 65% y el 98%. Esta aplicación correspondía al archivo "epm-dm.exe". Como mi prioridad era resolver un problema en el PLC, no me puse a indagar para qué rayos servía este programa, y simplemente le dí en el botón "Terminar Proceso", confirmando que tomaba el riesgo de cerrar esta aplicacion.
De forma inmediata, y casi mágica, el procesador quedó liberado, siendo utilizado sólo en 1%. Y, claro, la mejoría era notoria en la compu. Por fin pude comenzar a trabajar libremente, y con normalidad.
Una vez resuelto el problema en el PLC, y ya en la oficina, me puse a investigar este archivo conectándome a internet.
Resulta que este archivo, el "epm-dm.exe", es la aplicación "Acer EPM Device Manager", que viene preinstalada en algunos equipos portátiles Acer, y tiene funciones de administrar la energía de la computadora, cargándose al iniciar Windows. Como arranca al inicio, puede deshabilitarse utilizando "msconfig".
Pero para mayor seguridad, ya instalé un antivirus en mi portátil, y deshabilité este archivo del arranque de Windows.
Ahora mi compu trabaja perfectamente bien, y quizá le agregue más memoria, o tal vez ya sea el momento de adquirir una nueva... Pero también será Acer? Pronto lo sabremos.
    

sábado, 23 de enero de 2010

Comunicación Serial con ServoControlador TD-200 y PLC Siemens

MTS-MP-001

En estos días he estado algo ocupado en diversas programaciones de PLC's.
Recientemente, me tocó revisar un control TDC-200 encargado de gobernar una servoválvula.
Lo interesante de esto, es que era la primera vez que me encontraba con este tipo de equipos.
Así que lo primero que hice fue buscar el manual en internet. Pasé varias horas buscando en Google, pero no encontré más que catálogos, en el mejor de los casos. En esta búsqueda me enteré de que es ya un equipo obsoleto. Pero, por suerte, a los pocos días, recibí un correo donde me enviaban el escurridizo manual en formato PDF. Me puse a estudiarlo, poniendo especial atención a la parte de la comunicación.
Aunque algunos conceptos no me quedaron muy claros debido a mi poca familiaridad con este control, me puse manos a la obra para probar la comunicación. Probando es la mejor forma de aprender. Aunque para esto, no iba a utilizar el TDC-200 que está trabajando con la máquina. Claro que no. Para salvar este obstáculo, en la fábrica me hicieron llegar tres de estos equipos que andaban esparcidos por varios rincones.
Para no ser yo el primero en dañar uno de los equipos, dejé que uno de los trabajadores de la planta lo alimentaran eléctricamente. Este paso se hizo bien. Ahora seguía yo. Tuve que hacer un cable de comunicación para tal proposito. Como el control TDC-200 lo iba a conectar a mi lap-top, necesitaba una configuración RS-232, tal como sigue:

Bloque de terminales Conector DB9
J7 del TDC-200

Pin 1 (TXD) -------------------------- Pin 2 (RXD)
Pin 4 (RXD) -------------------------- Pin 3 (TXD)
Pin 9 (GND) -------------------------- Pin 5 (GND)
Pin 4 con 6 puenteados
Pin 7 con 8 puenteados

Una vez conectado el cable de comunicación entre el TDC-200 y mi lap-top, abrí HyperTeminal y configuré una conexión tipo VT100: 9600 bps de velocidad, 8 bits datos, no paridad, un bit de parada. Establecí la comunicación y desde mi lap-top envíe el comando IPX, con el cual solicito al TDC-200 la posición del eje X. Pero... no obtuve respuesta.
Seguí intentando configurando diferentes ajustes en HyperTerminal. Pasaba el tiempo, y no conseguía comunicarme. Revisamos el cable de comunicación, dandonos continuidad y correspondencia en los pines. También probé con varios ajustes del puerto COM1 de la lap-top, en la mayoría de las veces, consideraba que andaba fuera de toda lógica.
Cansados de tanto cambio, decidimos probar con otro controlador TDC-200. Sólo que este segundo control tenía dañada la fuente de alimentación, por lo que tuvimos que reemplazarla por la del primero. Desarmamos cuidadosamente los equipos, deconectando cables y verificando componentes, por si encontrábamos alguno dañado. Una vez armado el segundo control, procedimos a alimentarlo eléctricamente y a conectarle el cable de comunicación.
Mandé mi comando IPX desde mi HyperTerminal, y... nada. Sin respuesta del controlador.
Nuevamente me puse a jugar con todo tipo de configuraciones en HyperTerminal y con el COM1. Luego de un rato de desesperados intentos de comunicación, fuimos en busca de otro controlador.
Logramos encontrar un TDC-100, el cual varía del modelo anterior porque este último controla sólo un eje, y el TDC-200 dos ejes. Pero por el lado de la comunicación todo es igual. Lo energizamos. Sin embargo, notamos que no encendía el display ni tampoco los leds de equipo energizado y de falla. Así que, a desarmar otra vez y probar con el teclado del otro TDC.
Una vez reconstruido, nos pusimos a probar. Y... tampoco respondió a mi comando IPX.
Hicimos combinaciones de tarjetas, combinaciones de configuración en Hyperterminal, horas y horas sin éxito alguno.
Por fin nos decidimos a probar directamente con un TDC-100 que estaba instalado en una máquina que en esos momentos no estaba trabajando. Por supuesto, hacer pruebas sobre un equipo en una línea de producción tiene su riesgo. No obstante, sabíamos que había respaldos de la configuración, y por lo tanto, procedimos a hacer la prueba.
Conectamos el cable de comunicación al TDC-100 y a mi lap-top. Corrí la aplicación de HyperTerminal, la configuré como VT100, y procedí a enviar mi comando IPX y... Sí!, tuve respuesta del controlador: A2.4325
Recibí la posición del eje.
Finalmente, pude comunicarme, y pude saber que los otros TDC que había probado previamente estaban dañados.
Regresé ya por la noche a casa.
Estaba listo para iniciar la siguiente etapa de esta tarea: Comunicar un Panel Siemens con el TDC.