Esta semana he tenido que realizar unas pequeñas modificaciones en una máquina que me ha hecho reflexionar sobre lo importante que es aprender AWL si quieres automatizar con PLC de Siemens.
Es verdad que AWL no es precisamente el lenguaje más amigable del mundo, ni el más fácil de entender en un principio.
Recuerda que Siemens es una empresa alemana.
Gente seria, con lenguajes de programación más serios aún.
El que te diga que está chupado... bueno, creo que distorsiona un poco la realidad.
Es un lenguaje cuya curva de aprendizaje no es sencilla, al menos si quieres sacarle verdaderamente partido.
Si tienes dudas si deberías aprender o no, te invito a que recapacites sobre este listado de ventajas y necesidades que se te pueden presentar.
Muchas máquinas que hay que mantener, están escritas en AWL.
Vale. Seguramente no estará todo programado en AWL.
De hecho, si está todo programado en AWL, desde ya te digo, que no está correctamente programado porque AWL no es para programarlo todo.
Que se pueda programar todo en AWL, no quiere decir que DEBAS programar todo en AWL (o en cualquier otro lenguaje, que para eso tienes varios).
Programar lógica binaria o de contactos en AWL con más de dos paréntesis debería estar penado con una muerte dolorosa a pellizcos.
Esto no quita para que haya lógica binaria en AWL de forma justificada, y desde luego, muchas partes del programa estarán mucho mejor programadas en AWL que en otros lenguajes.
Por tanto si hay partes de una máquina programadas en AWL y no sabes cómo funciona.. complicado.
Al menos deberías saberlo leer ¿no crees?
Hay funcionalidades que solo están disponibles en AWL
Las series 300 y 400 tienen tres lenguajes básicos de saque: diagrama de contactos (KOP), de bloques (FUP), y AWL.
El más extendido con diferencia es el diagrama de contactos o KOP porque es el que más se parece a los esquemas eléctricos y existen en todos los fabricantes (al menos que yo conozca).
El tema es que los lenguajes gráficos FUP y KOP no abarcan todas las cosas que un PLC puede hacer.
Los exponentes más claros son los punteros, cuyo manejo es exclusivo en AWL, y en muchas ocasiones, el uso de punteros es imprescindible para la programación debido a la complejidad de lo que estés haciendo.
Por tanto, no podrás hacer muchas cosas con FUP y KOP, pero sí en AWL.
AWL es mucho más compacto
Los lenguajes gráficos (FUP y KOP), o de más alto nivel como puede ser SCL, no son tan eficientes como AWL a la hora de procesar el programa.
Esto hace que un código bien depurado en AWL, ahorre mucho tiempo de procesado en el PLC.
En general esto no es muy importante si lo que estás programando solo se ejecuta unas pocas veces por ciclo de scan del PLC.
La cosa cambia bastante si tienes que manejas 1000 lazos de control en cada ciclo de scan del PLC.
Por poner un ejemplo, un compañero y yo dedicamos una tarde entera a depurar unas 15 líneas de código, que finalmente quedaron en unas 10 (hablo de memoria porque fue hace unos cuantos años). La razón, es que estas líneas de código, es parte del programa de un horno de curvar parabrisas que tiene alrededor de 1100 lazos de control manejado por un PLC de la serie 400.
Logramos bajar bastantes milisegundos en el proceso.
Pero hacerlo así de compacto, solo eran posible realizándolo en AWL
AWL está disponible en los PLC más viejos, y en los nuevos S7-1500
En Step 7 clásico solo abarca la serie S7-300 y S7-400. Ambos puedes programarlos en AWL.
De hecho FUP y KOP en Step 7 cásico, por detrás, tienen AWL y de ahí que siempre sea traducible a este lenguaje (que no al revés normalmente)
Pero es que en TIA Portal seguirás pudiendo usar AWL no solamente con la serie 300 y 400, sino que también lo tienes disponible en la serie S7-1500.
En definitiva, si exceptuamos la serie S7-1200, que no se puede programar en AWL, el resto de las gama de PLC de Siemens en TIA Portal, sí se puede.
AWL te ayuda a comprender mejor la programación de los PLC de Siemens
Esta es la razón que me ha hecho escribir esta entrada.
Porque AWL es mucho menos intuitivo, eso está claro.
Pero de esa debilidad, sacas finalmente una fortaleza.
Cuando dominas AWL, el resto es coser y cantar.
Y es que has aprendido:
- cómo el PLC ejecuta las instrucciones
- sabes trabajar muy bien desde los bits a las dobles palabras
- dominas cómo funciona la memoria del PLC
... sabes en definitiva como piensa el maldito cacharro.
Puede parecer una chorrada, pero créeme que no lo es.
Aprendes a ser más analítico, a pensar cómo va a ejecutar el PLC tu código.
Simplemente... aprendes a programar más cosas, y mejor.
Y tú ¿sabes programar en AWL?
Si te apetece, puedes dejar en los comentarios cómo llevas lo de programar en AWL.
¿Lo dominas?
Si no es así, puede que sea interesante para ti el Curso de AWL.



