Saltar al contenido

Lenguajes de Programación en TIA Portal

Muy buenas Pelecero, en esta lección te voy a hablar de todos los lenguajes de programación que existen en TIA Portal para que estés al tanto, además de que según el PLC que tengas, podrás programar con cualquiera o con algunos en específico, así que…

Vamos al lio! Tranqui, que vas de la mano de tu profe Abel 💪

Tabla de Contenidos

¿Qué Lenguajes de Programación se pueden implementar en TIA Portal?

En TIA Portal existen 6 lenguajes de programación, estos son: KOP, SCL, AWL, FUP, GRAFCET y CEM.

Ahora te explicaré en detalle cada uno de ellos, pero decirte que los más utilizados son el KOP, SCL y, a nivel profesional y aunque no lo creas, el AWL. El GRAFCET se utiliza bastante también (demasiado para mi gusto). El FUP no tanto, y siéndote sincero, me parece criminal programar con este lenguaje, sinceramente. El CEM es la última adición de Siemens, pero luego te lo cuento.

Decirte Pelecero, y esto es muy importante que lo sepas, que no todos los lenguajes se pueden programar en los S7-1200, pero si todos en los S7-1500, concretamente:

  • S7-1200: Sólo se puede programar con KOP, SCL, FUP y CEM
  • S7-1500: Se pueden programar con KOP, SCL, FUP, CEM, AWL y GRAFCET

Otro dato, el lenguaje CEM está disponible a partir de la versión 17, es decir, a partir de TIA Portal v17.

¿Qué es el lenguaje KOP?

El lenguaje KOP, también conocido como Ladder o Diagrama de escalera, es un lenguaje basado en la lógica cableada. Antes de que existieran los autómatas, la automatización se hacía todo mediante cableado eléctrico, relés y otras movidas. Cuando salieron los PLC, como eran complejos de programar debido al tan bajo nivel que utilizaban (tipo lenguaje ensamblador) se diseño y creo el KOP, basado en aquella lógica cableada. Te dejo un ejemplito:

lenguaje kop tia portal

Existen los contactos (entradas) y las bobinas (salidas), donde los contactos actúan de la misma forma que un pulsador, al cerrarse, dejan pasar corriente, y al abrirse, no dejan pasar corriente. La bobina actúa cómo elemento de salida, como si fuera la bombilla de un circuito eléctrico.

En el ejemplo que te he puesto, si se activa la «entrada» o «entrada2», se activará la «salida».

Ventajas y Desventajas del KOP

Ventajas del lenguaje KOP:

  • Muy visual y fácil de entender
  • Curva de aprendizaje rápida (está hecho pa’ tontos)
  • Coste computacional del PLC medio
  • El más amado por los programadores de PLC (vamos, que es complicado no encontrártelo en proyectos ajenos)

Desventajas del lenguaje KOP:

  • Algo tedioso y complejo para realizar bucles y saltos
  • Algo «limitado» a la hora de trabajar con un gran volumen de datos

¿Qué es el lenguaje SCL en TIA Portal?

El lenguaje SCL en TIA Portal y en STEP7 se trata de un lenguaje de programación de Siemens de alto nivel basado en Pascal (sí, lenguaje bastante viejo) que dota al PLC de una programación estructurada. El SCL es el equivalente al lenguaje ST (Structured Text) definido en la norma DIN EN-61131-3 (IEC 61131-3). Te dejo un ejemplo de SCL:

lenguaje scl tia portal

Ventajas y Desventajas del SCL

Ventajas del lenguaje SCL:

  • Comprensión sencilla siempre y cuando el código sea limpio
  • Curva de aprendizaje fácil
  • Sencillo a la hora de trabajar con bucles y saltos
  • Factible a la hora de trabajar con una gran volumen de datos

Desventajas del lenguaje SCL:

  • Si el código no es limpio, puede ser tedioso de entender
  • Coste computacional del PLC Alto
  • Hay muchos programadores que abusan de este lenguaje para todo, y es un error

¿Cuál es el lenguaje FUP?

El lenguaje FUP en TIA Portal y STEP7 (Function Block Diagram), también conocido como lenguaje FBD, es un lenguaje gráfico basado en las puertas lógicas (AND, OR, NOT, XOR, NAND, NOR…) Funciona igual que las puertas lógicas, y es muy fácil de utilizar, pero es muy complejo automatizar una instalación con este lenguaje ya que es costoso implementar lógicas de programación medianamente complejas con el FUP, además que este lenguaje ocupa mucho espacio en la pantalla y es costoso de seguir (a mi me pone nervioso)

Es un lenguaje en desuso y, en mi opinión, me parece una auténtica 💩 que no se debería utilizar, tal cual te lo digo. Respeto los programas programados con FUP, pero esa filosofía de programación, no la comparto.

Pero bueno, vamos a ver si encontramos alguna ventaja para este lenguaje mata CPUs (si, en vez de FUP, debería llamarse PLC Killer, porque es lo que es, un mata PLC)

Ventajas y Desventajas del FUP

Ventajas del lenguaje FUP:

  • Si quieres fastidiar a los programadores de PLC que tengan que modificar tu programa en el futuro, es el lenguaje perfecto
  • Apenas es utilizado por los programadores (y espero que siga decreciendo hasta 0)

Desventajas del lenguaje FUP

  • No es muy visual ni fácil de entender si la lógica del código es compleja
  • Tedioso a la hora de trabajar con bucles y saltos
  • Coste computacional medio/alto
  • Limitado a la hora de trabajar con un volumen notorio de datos
  • Su existencia en si es una desventaja

Escribiendo esto me acabo de dar cuenta que no te he puesto una imagen de este lenguaje, y por tu bien, me niego a hacerlo.

¿Qué es el lenguaje AWL?

El lenguaje AWL (Anweisungs-Liste en Alemán) en TIA Portal y STEP7, es un lenguaje de programación tipo ensamblador, lo más cercano al lenguaje máquina en los PLC Siemens, formado por un conjunto de nemónicos, operandos e instrucciones. Decir que este lenguaje esta basado en el lenguaje STL (Statement List) o Instruction List fijado en la norma IEC 61131-3 (si, lo de las normas no le importa a nadie, pero te lo pongo y así quedo más culto)

Te tengo que decir Pelecero, que el AWL es el lenguaje más potente que existe en los PLC Siemens, y al mismo tiempo, el más difícil de utilizar. Este lenguaje tiene instrucciones que te permiten realizar operaciones a nivel de bit que ningún otro lenguaje posee, por eso es el más completo.

Hay un dicho entre los programadores de PLC que dice así: «Lo que no se pueda programar en AWL, es que no se puede programar en un PLC«. Lo que viene a decir que, si algo no se puede hacer en AWL, no busques más, porque no se podrá hacer en ningún otro lenguaje. Te dejo por aquí una fotito del lenguaje, pero no te asustes:

lenguaje awl tia portal

He cogido un código algo complejo para que veas la locura a la que puedes llegar con el AWL, pero no te preocupes que en el Curso de TIA Portal, iremos paso a paso 😉

Ventajas y Desventajas del AWL

Ventajas del lenguaje AWL:

  • Coste computacional de la CPU Bajo (al ser lenguaje tipo ensamblador, el compilador lo entiende a la perfección y tarda menos tiempo en procesarlo)
  • Es el mejor lenguaje a la hora de trabajar con bucles y saltos
  • No tiene limitaciones a la hora de mover datos y trabajar con ellos

Desventajas del lenguaje AWL:

  • Curva de aprendizaje lenta y costosa
  • No es visual y tampoco fácil de entender (en las puestas en marcha puede ser un problema si no controlas bien este lenguaje)
  • Es el más odiado por los programadores de PLC y por eso, cuando entran a un proyecto ajeno y ven un bloque lleno de AWL loco, no saben si reír o llorar. Lo mejor es cuando te pasa en plena puesta en marcha, lo gozas.

Aquí voy a darte mi opinión personal Pelecero, el AWL recomiendo que lo aprendas si o si, para que nunca te pase la desgracia de conectarte a una instalación, a un proyecto que no conoces y encontrarte código en AWL y no saber que hacer. Por otro lado, considero que es un lenguaje que debería utilizarse para lógicas que requieran su uso, no es bueno abusar de el (ni de ningún lenguaje) para absolutamente todo.

Pelecero, quédate con esta frase: «Un buen programador de PLC, sabe que lenguaje de programación debe utilizar según la lógica a implementar«.

¿Qué es el lenguaje GRAFCET?

El lenguaje GRAFCET es un lenguaje basado en lógica secuencial y expresado en una especie de diagrama de bloques. Normalmente te lo puedes encontrar en la gran mayoría de softwares del mercado, aunque no todos. En STEP7 y TIA Portal (S7-1500) si está.

Para mi, el concepto de este lenguaje es muy útil, porque ayuda a entender cómo programar procesos secuenciales de forma extremadamente sencilla, pero el lenguaje como tal, me parece una auténtica castaña, ya que presenta una robustez nula frente a modificaciones grandes del programa y, al estar compuesto de etapas y transiciones, te obliga muchas veces a programar duplicidades para condicionar X etapas, cosa que no pasaría en el KOP.

No te preocupes, que todo esto te lo iré enseñando.

Decir también (y me lloverán críticas por esto, pero simplemente me la suda) que en las universidades y FP, normalmente, por no decir casi siempre, enseñan a programar PLC utilizando GRAFCET, y aquí pasan dos cosas:

  1. Si el Software de PLC permite programar en GRAFCET, tu profesor te dirá que programes en GRAFCET absolutamente todo.
  2. Si el software de PLC no permite programación en GRAFCET, tu profesor, el cual no está actualizado y todavía vive en el cretáceo, te dirá que en estos casos, debes realizar el GRAFCET en papel, sacar todas las ecuaciones e implementarlas en el programa usando KOP.

JA!

Pelecero, lee bien esto, si tu profesor es uno de esos 2 casos, NO LE HAGAS NI P**O CASO, porque no tiene ni pajolera idea de como se programa en la actualidad. Y de paso, le dices que haga mis cursos, que falta le hace.

Si te obliga a hacer el GRAFCET en papel y sacar ecuaciones, pregúntale: «Profesor, ¿Y que pasa si en la puesta en marcha tengo que cambiar la mitad de la lógica del programa?»

Si su respuesta es: «Debes rehacer el GRAFCET, volver a sacar las ecuaciones y modificar el programa», directamente vete a dirección y quéjate, que le abran un expediente, porque se lo tiene más que merecido.

No es la primera vez que peleceros me dicen que sus profes solo hacen que enseñar este tipo de atrocidades, y a mi me revienta, porque luego vas a las instalaciones, ves los programas y no sabes a quién darle dos bofetones.

Te dejo una imagen de cómo es GRAFCET, y si, la voy a coger de Google, ni me voy a molestar en hacer una propia:

lenguaje grafcet plc

Ventajas y Desventajas del GRAFCET

Ventajas del lenguaje GRAFCET:

  • Visual y fácil de entender
  • Muy útil para programar procesos secuenciales (ya te explicaré cómo hacerlo sin GRAFCET)

Desventajas del lenguaje GRAFCET:

  • Pésimo lenguaje para realizar bucles y saltos
  • Coste computacional alto
  • No está hecho ni pensado para mover datos
  • Los profesores abusan de este lenguaje para absolutamente todo

¿Qué es el lenguaje CEM?

El lenguaje CEM (Cause Effect Matrix) en TIA Portal se trata de un nuevo lenguaje de programación basado en una matriz de causas y efectos. El CEM se puede utilizar a partir de TIA Portal v17, y por lo que he visto, es un lenguaje sencillo de utilizar, pero me parece que es útil en casos muy particulares, no es algo que utilizaría para programar de per se.

En el lenguaje CEM, las causas vendrían a ser las entradas o condiciones, y los efectos las salidas o variables a activar. Es del rollo en plan «si se cumplen estas causas, obtendré tales efectos».

Te seré sincero Pelecero, es un lenguaje que a día de hoy, apenas he probado (y por eso no te voy a poner ventajas y desventajas), pero mi experiencia profesional me dice que es un lenguaje que no se va a utilizar demasiado. Si es cierto que es intuitivo y fácil de utilizar, pero cuando tengas muchas condiciones, me da a mi que va a ser muy farragoso y de difícil comprensión.

Sinceramente, creo que es un lenguaje que sobra, pero bueno, puedo estar equivocado.

lenguaje CEM tia portal

¿Cómo cambiar el lenguaje de programación en TIA Portal?

Para cambiar el lenguaje de programación en TIA Portal debes hacer click derecho en el bloque deseado (OB1 Main, una FC, una FB…), y «cambiar lenguaje de programación» y seleccionar el deseado:

cambiar lenguaje de programación tia portal

Decirte que esto no hace maravillas, no te esperes que, si tus segmentos tienen lógica compleja, te cambie a los otros lenguajes por la cara. Lamentablemente, solo cambia sentencias sencillas (en mi opinión, funciona mejor en STEP7), pero bueno, algo es algo, dijo un calvo.

Uff… Hacer esta lección me ha dejado exhausto, pero estoy seguro de que ha valido la pena.

Todas las semanas, envío contenido de valor a través de mi newsletter.

Concretamente, experiencias propias vividas en fábricas como programador de PLC, cagadas monumentales que he hecho (y más de una buena que me ha caído) y consejos de programación.

Cada semana, píldora de conocimiento nueva. Semana que estás fuera, píldora que te pierdes (y que no volveré a compartir)

Para cumplir con el RGPD (Reglamento General de Protección de Datos) y entender que tus datos están seguros, debes leer y aceptar la política de privacidad. Tus datos serán guardados en Mailchimp, proveedor de email marketing. Mailchimp también cumple con el RGPD, así que todo está protegido y amparado por la ley.

Configuración