10 errores en la programación de PLC

Iñigo Gútiez nos muestra las 10 errores típicos que puede cometer un programador de PLC que se inicia en el mundo de la programación industrial ¿A quien no le ha pasado alguno de ellos?


Todos comenzamos nuestra vida profesional cometiendo errores de novato. Este es un listado de 10 errores que se pueden cometer. Algunos los habrás cometido, otros no.

Puede que ninguno. En cualquier caso, para las personas que comienzan en esto de la automatización, puede que este listado le pueda ayudar a no caer en ellos.

A continuación, te dejo con 10 errores de novato de los programadores que comienzan con Siemens, pero seguro que es extensible en gran medida a otros fabricantes.

Error novato #1 - Interpretar lo que el cliente quiere

Acostúmbrate a preguntar a tu cliente (interno o externo) y que todo quede muy claro. No debes interpretar lo que crees que él quiere.

El proceso seguramente no lo conozcas del todo bien y habrá detalles que se te escapan. Esos detalles que no has contemplado, serán los que harán que tengas que trabajar dos veces. Sí, porque no lo tendrás contemplado en el programa.

La mayor parte de las veces, este error de novato sólo te supondrá añadir nuevo código a tu proyecto, pero otras, provocará que tengas que replantear gran parte de tu programa, sino entero. A nadie le gusta trabajar en balde ¿no? Tenlo en cuenta.

Error novato #2 - No estructurar bien el programa

El ansia muchas veces nos puede. Aun teniendo claro lo que quiere nuestro cliente, debemos dedicarle tiempo a pensar. Cuanto más grande sea el proyecto, más tiempo debemos darle al coco, y menos a las teclas en un principio.

Debes estructurar el programa en zonas funcionales, y no introducir el código de forma heterogénea. Esto hará que se vuelve confuso y difícil de seguir, incluso para ti.

Error novato #3 - No hacer un listado de I/O

Parte de la preparación de tu proyecto es saber cuántas entradas y salidas vas a necesitar. Uno de los errores que puedes llegar a cometer es no plantearte qué vas a usar en tu programa.

Si no haces este ejercicio, puedes poner la mano en el fuego, que te dejarás elementos sin contemplar. Hacer un listado mental de lo que debe realizar la máquina e ir poniendo por escrito qué elementos de sensórica o actuadores van a intervenir, es fundamental para no cometer errores de bulto.

Error novato #4 - No entender cómo funciona un PLC

Dentro de los errores técnicos relativos a la programación de autómatas es no saber cómo funcionan los PLC. Tanto si vienes del mundo de la electricidad, como del mundo académico, debes comprender muy bien cómo es el funcionamiento de un PLC.

No es complicado, pero no es una cosa que puedes dejar de un lado, porque es muy muy importante saber cómo se ejecuta el programa, como se estructura la memoria de los PLC (que es diferente a otros fabricantes), qué es una iterrupción cíclica... y muchos más conceptos fundamentales. Como digo, sencillos de entender, pero si nadie te los explica, es difícil que logres dominarlos por ti mismo.

Error novato #5 - Asignar valor en dos puntos del programa

Es probablemente el error más grave que puedas cometer. Realmente podría ir incluido en el apartado anterior, pero es tan grave, que tiene por méritos propios su propio apartado.

El asignar con una igualación una bobina o marca en dos puntos es un error garrafal solo al alcance de los programadores muy novatos que no entienden en verdad cómo funciona un PLC. El programa no funcionará como uno quiere y dependiendo de qué es lo que se haya hecho, la máquina realizará cosas extrañísimas sin entender la causa.


Error novato #6 - No tener un método para dar nombres y comentarios

Este error hace que el mantenimiento del programa se haga complicado y confuso. Cuando comienzas a programar no tienes claro cómo puedes darle nombre a los sensores y actuadores.

Además, no eres consciente de lo importante que es comentar los programas. Definir lo que hace cada parte, cada bloque ahorra horas de posterior investigación cuando han pasado meses desde que lo programaste por primera vez.

Error novato #7 - No realzar copias de seguridad y comparar cuando realizas modificaciones

No realizar una comparación online con el contenido actual del PLC para asegurarse que tu programa offline es igual que lo que está corriendo actualmente en el PLC puede acarrearte muchos dolores de cabeza.

Si no realizas la comprobación online y modificas el programa que corre en el PLC ¿cómo puedes estar seguro que el programa que tienes en tu ordenador, es la última versión cargada en el PLC?

Ni que decir tiene, que hay que no realizar una copia de seguridad de lo que hay en el PLC antes de hacer nada sobre él es un error de alguien que no valora su salud. Algo puede ir mal, y volver atrás siempre no es fácil debido a la cantidad de modificaciones realizadas... ¡vaya risas que pasarás como no tengas una copia de seguridad!

Error novato #8 - Programar por estados

Los programas que yo he realizado desde el 2003 los puedo distinguir por su grado de madurez. Es normal.

Cuando ya crees conocer más o menos bien cómo funciona el PLC, comienzas a programar todo por estados de detectores y actuadores. Es decir, programas los actuadores por estados en los que debe actuar: los detectores tal y cual deben estar de esta forma, el motor X funcionando de esta manera, etc, etc. Esta forma de programar no es la adecuada, porque funciona en un equilibrio inestable. Cualquier actuador que funcione regular, hará que la máquina realice cosas muy variopintas, y que te pueden volver loco descubrir ya que normalmente, funciona bien, pero el código es muy blandito frente a fallos.

Error novato #9 - Desarrollar todo el código y no usar funciones y bucles

Otro de los síntomas de un programador novato es que desarrolla absolutamente todo el código. No usa funciones que pueda reutilizar o bucles en parte del programa que se trate de interacciones sobre la misma secuencia.

Cada vez que tiene que realizar algo, lo desarrolla como si lo fuera a programar una única vez en su vida, sin pensar siquiera si lo va a tener que usar de nuevo en el proyecto. Por supuesto, que los bucles e interacciones, no las sabe programar porque desconoce los mecanismos para realizarlo.

Error novato #10 - No genera un listado correcto de alarmas.

Finalmente, y debido a la inexperiencia no genera bien un sistema de alarmas.

No contempla que haya escapatoria de las secuencias de forma que, en caso de error, o mal funcionamiento, el programa pueda restablecerse de forma sencilla a condiciones de funcionamiento. No programa timeouts con los que detectar que una secuencia ha fallado, y con la que restablecerse de forma casi automática para volver a la producción.

¿Te has sentido identificado en alguno de estos puntos?

Yo he cometido alguno de estos errores a lo largo de mi carrera. No todos.

Espero que, si te ha sentido identificado con alguno de ellos, lo hayas logrado corregir.




Comentarios

Lo más leído del Blog

Explicación del Estado de la CPU y errores de LED Siemens S7 300

Instrucciones de Bit

Introducción al PLC