El PLC

El PLC. Lo que todos los programadores de software industrial deberían saber

Escrito por

Esther Claravalls

Categoría

Introducción

En este artículo voy a tratar de explicarte los conceptos básicos e imprescindibles que debes conocer sobre los PLC, para que puedas diseñar y desarrollar buenas aplicaciones de software industrial, aunque no hayas visto un PLC en tu vida.

Si te has formado en el mundo de la ingeniería industrial o provienes de la automatización, por favor, se benevolente. Este artículo seguramente no es para ti.

¿Tan Iimportante es el PLC?

Como ya he comentado en otras ocasiones, para mí, el software industrial son las soluciones informáticas que conectan los autómatas de fábrica con los sistemas corporativos (ERP – Enterprise Resource Planning o Sistemas de Planificación de los Recursos de la Empresa).

¿Que es el Software Industrial?

Existe un amplio conjunto de soluciones que podemos enumerar como típicas y que se basan en el mismo principio:

  1. Recoger datos de uno o varios PLC
  2. Registrar/obtener datos de la base de datos
  3. Procesar toda la información
  4. Registrar/obtener datos de la base de datos
  5. Enviar respuesta (si procede) al PLC.

Como puedes identificar en esta secuencia de pasos, el autómata o PLC es el gran protagonista, pues él es el que desencadena toda la acción y también es el que recibe el resultado de dicha acción. Veamos algunos ejemplos.

Ejemplo 1. Supón un almacén automático basado en transelevadores. Llega un pallet a la mesa de entrada de cabecera de pasillo. El PLC de suelo ha terminado su función y el transelevador no sabe que hay un pallet esperando para ser ubicado. ¿Como funcionaria con un WMS (Warehouse Management System)?

  1. EL PLC de suelo informaría al WMS de que existe un determinado pallet en la mesa de carga del pasillo x, indicándole el identificador de pallet o de producto.
  2. El WMS obtendría la mejor ubicación para dicho pallet, en base a los criterios específicos del proyecto (reparto de cargas, tiempo máquina, rotación de producto, etc.)
  3. El WMS enviaría la orden de ubicación al PLC del transelevador.
  4. El transelevador ejecutaría la orden de depósito, llevando el pallet a la ubicación determinada por el WMS y notificándole a éste la finalización de la orden
  5. El WMS recogería el final de orden, actualizando el mapa de ubicaciones con el nuevo depósito.

Ejemplo 2. Supón una instalación en la que los productos del modelo A deben ir a la línea 1 y los del modelo B a la línea 2; y que la información para tomar la decisión no está disponible en el código de identificación del producto, si no que obedece a una compleja lógica de modelos, secuencias, restricciones y saturaciones. ¿Como funcionaria con un FCS (Flow Control System)?

  1. EL PLC de transporte informaría al FCS de que existe un determinado pallet en el punto de decisión, indicándole el identificador de pallet o de producto.
  2. El FCS calcularía la línea de destino, en base a los criterios específicos del proyecto
  3. El FCS enviaría el destino al PLC de transporte.
  4. El PLC de transporte ejecutaría la orden llevando el pallet a la línea indicada

Como ves, en la práctica, el autómata es uno de los grandes protagonistas, ya que es principio y fin de nuestros procesos.

¿Qué Autómatas me encontraré en las Fábricas?

Aunque el principio de funcionamiento de un autómata es igual para todos, si es cierto que cada fabricante tiene sus particularidades, sobre todo en cuanto a comunicaciones y software de programación. Para los desarrolladores de software industrial, las implicaciones más importantes suelen estar en los protocolos de comunicación.

En el mercado existen múltiples firmas de autómatas pero, según las últimas estadísticas que he podido consultar, el más extendido sigue siendo SIEMENS ya que acapara el 30-40% del mercado. Le siguen Rockwell Automation / Allen Bradley, Mitsubishi Electric y Schneider Electric.

Controllers Insight Graphic

Who Were the Leading Vendors of Industrial Controls in 2017?

Dada la supremacía de SIEMENS en el entorno industrial, el contenido de este artículo estará referido a los PLCs de dicha firma.

¿QUÉ ES UN PLC?

Un autómata o PLC (Programmable Logic Controller o Controlador de Lógica Programable) no es más que un ordenador industrial modificado y adaptado para controlar procesos fabriles.

Composición PLC

¿Cómo Funciona un PLC?

Al igual que en un ordenador, el autómata dispone de un sistema operativo que se basa en la ejecución de un bucle infinito con la siguiente secuencia aproximada:

  1. Leer entradas
  2. Ejecutar el programa de usuario
  3. Activar salidas
  4. Gestión de alarmas y errores
  5. Emisión y recepción de datos (comunicaciones)
Ciclo PLC

Las entradas captan la información que remiten los sensores conectados al PLC. En función del tipo de información que envían, los sensores y las entradas se clasifican en:

  • digitales (información de tipo bit 0/1): detectores de presencia fotoeléctricos, inductivos, ultrasonidos, etc.
  • analógicos (envían un valor entero, con o sin signo): sensores de temperatura, de nivel, etc.

Las salidas, que también pueden ser digitales o analógicas, activan el funcionamiento de actuadores: motores, bombas, válvulas, etc.

El programa de usuario de un PLC básicamente consiste en una función, que en los PLC Siemens se denomina OB1, que se ejecuta cíclicamente, donde puedes ubicar las llamadas a tus funciones (FB y FC).

Programa en STEP7

OB1

Equivalencia en C#

OB1 C#

Cada una de las funciones estará basada en analizar las entradas para activar las salidas en base a las condiciones necesarias. Por ejemplo, imagina que quieres pasar un pallet de la mesa A a la mesa B. Es obvio que la mesa A deberá estar detectando la presencia de un pallet y que la mesa B deberá estar vacía para poder poner en marcha las cadenas de ambas mesas y hacer así la transferencia.

Mesas Transporte
  • Si tengo presencia de pallet en Mesa A y no tengo presencia de pallet en Mesa B
    • Activar marcha cadenas mesa A
    • Activar marcha cadenas mesa B

Programa en STEP7 (KOP)

OB1

Programa en STEP7 (AWL)

OB1

Equivalencia en C#

OB1 C#

En una situación deberíamos contemplar más condiciones pero este sencillo ejemplo únicamente pretende ilustrar el concepto de programa de PLC.

El tiempo que tarda en procesar la información, es decir, en ejecutar el programa es lo que se conoce como tiempo de ciclo. El PLC mantiene una vigilancia sobre el tiempo de ciclo y en el caso que se supere el tiempo máximo configurado, se para dando error. El tiempo de ciclo dependerá de la complejidad de la instalación pero podemos decir que lo normal es que oscile entre 30 y 50 ms que, como puedes observar, es bastante rápido.

Por tanto, podemos decir que un PLC industrial es un ordenador diseñado para trabajar en una escala de milisegundos, mientras que un PC es un ordenador para trabajar en una escala de segundos. Esta observación es importante a la hora de considerar el diseño de tus sistemas.

Las Zonas de Memoria del PLC

La memoria del autómata está subdividida en áreas operativas, acorde a su función:

  • Entradas (E). Al comienzo de cada ciclo, la CPU lee las entradas de los módulos de entradas y memoriza los valores en la imagen de proceso de las entradas.
  • Salidas (A). Durante el ciclo, el programa calcula los valores para las salidas y los deposita en la imagen de proceso de las salidas. Al final del ciclo, la CPU escribe los valores de salida calculados en los módulos de salidas.
  • Marcas (M). Esta área ofrece capacidad de memoria para los resultados intermedios calculados en el programa.
  • Temporizadores (T). Esta área contiene los temporizadores disponibles.
  • Contadores (Z). Esta área contiene los contadores disponibles.
  • Bloque de Datos (DB). Los bloques de datos memorizan informaciones para el programa. Pueden estar definidos de tal manera que todos los bloques de datos puedan acceder a ellos (DBs globales) o pueden estar asignados a un determinado FB o SFB (DB de instancia).
  • Datos Locales (L). Esta área de memoria contiene los datos temporales de un bloque durante la ejecución de dicho bloque. La pila L ofrece también memoria para la transferencia de parámetros de bloques y para memorizar los resultados intermedios de segmentos KOP
  • Periferia de Entradas (PE) y Salidas (PA). Las áreas de periferia de las entradas y salidas permiten el acceso directo a módulos de entrada y salida centralizados y descentralizados.

Direccionamiento de las Zonas de Memoria

El acceso a las diferentes zonas de memoria, a excepción de temporizadores y contadores, puede realizarse a nivel de bit, byte (8 bits), palabra (16 bits) y doble palabra (32 bits).

En la siguiente figura te muestro un ejemplo para las zonas de memoria más comunes.

Direccionamiento PLC min

Tipos de Datos Simples

A continuación te muestro una tabla con los tipos de datos simples de un PLC junto con su equivalencia en C#.

TipoTamaño en BitsOpciones de FormatoEquivalencia en C#
BOOL1Texto Booleano (TRUE/FALSE)bool
Byte8Número hexadecimalbyte
Caracter8Caracteres ASCIIchar
WORD16Número binario
Número hexadecimal
BCD
Número decimal sin signo
unsigned short
INT16Número decimal con signoshort
DWORD32Número binario
Número hexadecimal
Número decimal sin signo
unsigned int
DINT32Número decimal con signoint
REAL32IEEE
Número en coma flotante
float

A la hora de intercambiar datos tipo char con un PLC, recuerda que el 0x00 en lenguaje C# se interpreta como final de cadena. Por tanto, evita utilizar este valor en este tipo de datos, así como el resto de los caracteres ASCII no representables, de lo contrario, cuando lo pases a una variable tipo string te generará una excepción en tu programa.

ASCII min

Espero que el contenido de este artículo te haya permitido entender mucho mejor como funciona un autómata, facilitando así el diseño y desarrollo de tus proyectos.

En el próximo artículo hablaremos de cómo realizar la comunicación con un PLC SIEMENS, sin coste de licencias ni adquisición de hardware especial.

SoftInd Tool Box

¿Dispuesto a rentabilizar tu negocio?

"

Al suscribirte también me estás autorizando a enviarte contenidos sobre software industrial de tu interés. Respeto tu privacidad y no hago spam. Conoce mi Política de Privacidad . 🙂

Los secretos del Software Industrial

Únete a Nuestra Comunidad

Colaboración

Accede al grupo privado de facebook y empieza a compartir conocimiento con otros empresarios como tú.

Sumérgete en el Blog

Pin It on Pinterest

Share This
Software Industrial Logo

¿Listo para hacer el cambio?

Únete al clan y accede a recursos, guías y tutoriales sólo para suscriptores

¡Bienvenido! Revisa tu correo para obtener las instrucciones de acceso