Vous êtes sur la page 1sur 16

Fundamentos de la Programación de PLCs

Diseño sistemático de la Los programas de control representan una parte importante de un sistema de
solución automatización.

Para poder asegurar que los programas de control

no contienen errores
son fáciles de mantener
son económicos

Tienen que haber sido diseñados de forma sistemática, estar bien estructurados y
detalladamente documentados.

Modelo de fases para la generación de software para PLCs

El método ilustrado en la Fig. 1, ha demostrado ser un medio eficaz y probado para


desarrollar un programa de control. La estructuración del programa en secciones
definidas, conduce a un proceso sistemático y específico y ofrece etapas claramente
establecidas que pueden verificarse frente a la definición del problema.

El modelo de fases, que consta de las siguientes secciones,

Especificación: Descripción de la tarea


Diseño: Descripción de la solución
Realización: Implementación de la solución
Integración / puesta en marcha: Integración en el entorno y verificación de la
solución

puede utilizarse para la mayoría de proyectos técnicos, con algunas variaciones en


los métodos y herramientas utilizados en las fases individuales.

El modelo de fases puede utilizarse para programas de control de diversa


complejidad; sin embargo para tareas de control muy complejas, es absolutamente
esencial el uso de este modelo.

© Festo Didactic GmbH & Co. • MPS 1


Programación de PLCs

1. Spezification – Verbal description of control task


– Technology, positional sketch
– Macrostructure of control program

2. Design – Function chart to IEC 848


– Function diagrams such as displacement-step-diagram
– Function table
– Definition of software modules
– Part list and circuit diagram

3. Realisation – Programming in LD, FBD, IL, ST and SFC


– Simulation of subprograms and overall program

4. Commissioning – Design of system


– Testing of subprograms
– Testing of overall program

Figura 1: Modelo de fases para la generación de software de PLC

Las fases individuales del modelo se describen a continuación.

Fase 1 – Especificación (Formalización de la definición del problema)

En esta fase de hace una descripción precisa y detallada de la tarea de control. La


descripción formalizada y específica de la función del sistema de control revela
cualquier inconsistencia en los requerimientos, datos erróneos o incompletos.

Tras completar esta fase, se dispondrá de lo siguiente:

la descripción de la tarea de control en palabras,


el diagrama de flujo del proceso o el croquis de la situación,
la macroestructura de la instalación o proceso, y con ello
la macrorestructura de la solución

Fase 2 – Diseño (Poner el concepto de la solución en términos concretos)

Se traza un concepto de solución basándose en las definiciones establecidas en la


fase 1. Se selecciona una forma de representación formalizada e independiente de
la tecnología para describir la solución y el comportamiento del sistema de control.

2 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

Estos requerimientos los cumple el diagrama de funciones secuencial (FCH) como se


define en DIN 40 719, P.6 o IEC 848 (basado en Grafcet). Empezando con una
representación de una visión general del sistema de control (macroestructura de la
solución), la solución puede refinarse paso a paso hasta alcanzar un nivel de
descripción que contenga cada detalle de la solución (refinamiento de la
macroestructura).

En el caso de tareas de control complejas, la solución es estructurada en módulos


de software individuales en paralelo con esto. Estos módulos de software realizan
los pasos del proceso del sistema de control. Estas pueden ser funciones
especiales, tales como la realización de interfaces para sistemas de comunicación o
visualización, o pasos de proceso continuamente recurrentes.

Aparte del diagrama de funciones según DIN 40 719, Parte 6, el diagrama de


desplazamiento-fase representa un medio adicional estandarizado para describir los
sistemas de control.

Fase 3 – Realización (Programación del concepto de la solución)

La conversión del concepto de la solución en un programa de control, se realiza a


través de los lenguajes de programación como se define en IEC 1131-3. Estos con: el
diagrama de funciones secuencial, diagrama de bloques de función, diagrama de
contactos, lista de instrucciones y texto estructurado.

Los sistemas de control que funcionan según procesos lógicos y relacionados con el
tiempo, y que disponen del lenguaje FCH según DIN 40719, P.6 pueden programarse
clara y fácilmente en diagrama de funciones secuencial. En la medida de lo posible,
el diagrama de funciones secuencia utiliza los mismos elementos que los utilizados
para la descripción en FCH según DIN 40 719, P.6.

Los lenguajes de programación adecuados para la formulación de operaciones


básicas y para sistemas de control sencillos que pueden ser descritos por medio de
operaciones lógicas con símbolos Booleanos son el diagrama de contactos, el
diagrama de bloques de función y la lista de instrucciones.

El lenguaje de alto nivel "texto estructurado" se utiliza principalmente para crear


módulos de software con contenido matemático tales como, p. ej. módulos para la
descripción de algoritmos de regulación.

En la medida en que esto sea soportado por los sistemas de programación de PLC,
los programas de control generados de partes de un programa, deberían ser
simulados antes de la Puesta en marcha. De esta forma, es posible detectar de
antemano cualquier error y rectificarlo.

© Festo Didactic GmbH & Co. • MPS 3


Programación de PLCs

Fase 4 – Puesta en marcha (Construcción y verificación del sistema de


automatización)

Durante esta fase, se verifica la interacción del sistema de automatización con la


instalación conectada. Con sistemas de control más complejos de nuevo es
aconsejable poner a punto la instalación sistemáticamente paso a paso. De esta
forma pueden detectarse y rectificarse fácilmente tanto los fallas de la instalación
como los errores del programa de control.

Documentación

La documentación constituye un componente importante de una instalación. Es un


requisito previo esencial para facilitar el mantenimiento y expansión de una
instalación. La documentación, incluyendo los programas de control, debería estar
disponible tanto impresa en papel como en un medio electrónico de
almacenamiento de datos.

La documentación la forman la información relacionada con las fases individuales,


los listados impresos del programa y posiblemente cualquier descripción adicional
relacionada con el programa de control. Más específicamente, estos son:

una descripción del problema


un croquis de posición o diagrama de flujo del proceso
el esquema del circuito
un esquema de conexiones a bornes
los listados del programa de control en SFC, FBD, etc.
la lista de asignaciones de entradas y salidas (esto también forma parte de los
listados del programa de control)
la documentación adicional

4 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

Lenguajes de programación El estándar IED 1131-3 define cinco lenguajes de programación. Aunque estos
lenguajes difieren mucho en su funcionalidad y estructura, según IEC 1131-3 se
consideran como una familia de lenguajes, con elementos de configuración
generales y estructurales (declaración de variables, unidades de organización tales
como bloques de función y módulos, etc.).

En un proyecto de PLC puede utilizarse estos lenguajes en cualquier combinación.


La unificación y estandarización de estos cinco lenguajes representa un compromiso
de los requerimientos históricos, regionales y específicos de la industria. Se han
hecho previsiones para una futura expansión (tales como el principio de bloques
funcionales, o el recurso de lenguaje "Texto Estructurado") y para asuntos
esenciales relacionados con la tecnología de la información (tipos de datos, etc.,).

Los elementos del lenguaje de programación se explican con ayuda de un ejemplo


que simula la inserción de un casquillo en un agujero. Se utilizan dos sensores para
detectar si una de dos piezas (A o B) correctamente taladrada y un casquillo se
hallan en posición de montaje. Cuando se cumple la condición planteada, un cilindro
avanza e inserta el casquillo en el agujero.

Diagrama de contactos (LD)

El diagrama de contactos (ladder diagram / LD) es un lenguaje de programación


gráfico derivado de la representación de controles por relés directamente
cableados. Un diagrama de contactos consta de dos líneas verticales a derecha e
izquierda del dibujo, entre los cuales se dibujan los renglones de elementos de
conmutación de entrada (contactos normalmente abiertos, normalmente cerrados) y
los elementos de salida, p. ej. bobinas.

Part_TypeA Part_present Drill_OK Sleeve_in

Part_TypeB

Figura 2: Ejemplo de diagrama de contactos

© Festo Didactic GmbH & Co. • MPS 5


Programación de PLCs

Diagrama de bloques de funciones (FBD)

En el diagrama de bloques de funciones, las funciones y los bloques se representan


gráficamente e interconectados en redes. El diagrama de bloques de funciones tiene
su origen en el diseño de circuitos lógicos electrónicos (puertas).

Part_TypeA OR AND Sleeve_in


Part_TypeB
Part_present
Drill_OK

Figura 3: Ejemplo de diagrama de bloques de funciones

Lista de instrucciones (STL)

La lista de instrucciones (statement list / STL) es un lenguaje textual tipo


ensamblador (assembler) caracterizado por un modelo de procesador simple
(procesamiento con un sólo registro). Una lista de instrucciones se compone de
instrucciones de control que constan de un operador y un operando.

LD Part_TypeA
OR Part_TypeB
AND Part_present
AND Drill_OK
ST Sleeve_in

Figura 4: Ejemplo de lista de instrucciones

En relación con la filosofía de lenguajes, el diagrama de contactos, diagrama de


bloques de funciones y lista de instrucciones están definidos en la manera en la que
se utilizan actualmente en la tecnología de PLC. Sin embargo, están limitados a
funciones básicas en relación con sus elementos. Aquí es donde difieren
principalmente de los dialectos que utiliza realmente cada fabricante. Las elevadas
prestaciones de estos lenguajes son debidas al uso de funciones y bloques de
función.

6 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

Texto estructurado

El texto estructurado en un lenguaje de alto nivel basado en Pascal, consistente en


expresiones a instrucciones. Principalmente, las instrucciones están definidas como
sigue: Instrucciones de selección o condicionales tales como IF...THEN...ELSE... etc.,
instrucciones de repetición tales como FOR, WHILE, etc. así como llamadas a
bloques de función.

Sleeve_in:=(Part_TypeA OR Part_TypeB) AND Part_present AND Drill_OK;

Figura 5: Ejemplo de texto estructurado

El texto estructurado facilita la formulación de numerosas aplicaciones, que


sobrepasan la pura tecnología de control, tales como los algoritmos de regulación
(algoritmos de cálculo de nivel superior, etc.) gestión de datos (análisis de datos,
tratamiento de estructuras de datos más complejas, etc.).

Diagrama de funciones secuencial (SFC)

El diagrama de funciones secuencial es un recurso de lenguaje gráfico para la


formulación de programas de control orientados a secuencias.

Los elementos del diagrama de funciones secuencial son los pasos, las transiciones
y las derivaciones alternativas y paralelas.

Cada paso representa un estado del proceso en un programa de control, que puede
ser activo o inactivo. Un paso consiste en acciones que, de forma similar a las
transiciones, se formulan en uno de los lenguajes IEC 1131-3. Las acciones pueden
contener a su vez otras estructuras secuenciales. Esta característica permite una
estructura jerárquica de un programa de control. El diagrama de funciones
secuencial es, por lo tanto, una excelente herramienta para el diseño y
estructuración de programas de control.

© Festo Didactic GmbH & Co. • MPS 7


Programación de PLCs

Sistema de control Los sistemas de control secuencial son procesos ejecutados en varios pasos
secuencial claramente separados. La progresión de un paso al siguiente depende de la
condición de validación del paso. La principal característica es que sólo puede estar
siempre activo un paso, o varios a condición de que hayan sido explícitamente
programados como pasos a procesar simultáneamente.

Por lo tanto, el programa de un sistema de control secuencial tiene que cumplir tres
tareas principales:

Executing actions: • Setting and resetting


Step of outputs
• Setting and resetting
of flags
• Setting and starting of
timers and counters

Interrogating events: • Interrogating inputs and flags


Transition conditions • Interrogating timers
(Step enabling condition) • Interrogating counter status

Establishing paths for • Selecting path


program continuation: • Following parallel path
Branching

Figura 6: Tareas de un programa de control

En comparación con los sistemas de control por enlaces lógicos ofrecen varias
ventajas:

El programa se divide en etapas o pasos que pueden definirse más claramente y


por lo tanto son más fáciles de seguir, mantener y ampliar.
Lo sistemas de control secuenciales son fácilmente programabes de forma
gráfica en un diagrama de funciones secuencial.
La detección de errores en un sistema de control secuencial representado
gráficamente en relación con el proceso, es más adecuado y comprensible que
en el caso de un sistema de control por combinaciones lógicas.

Ejemplos típicos de sistemas de control secuenciales son los controles de las


máquinas en la tecnología de producción o el control de recetas en la tecnología de
procesos.

8 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

Representación general de sistemas de control secuencial

Para describir y planificar un diagrama de funciones se utiliza la norma DIN 40 719,


P.6 o IEC 848. Esto permite una representación gráfica clara del comportamiento y
función de un sistema de control secuencial.

1 Establishing initial position

Workpiece in magazine and cylinder 1.0


retracted and cylinder 2.0 retracted

2 S Cylinder 1.0 to advance 1

2.1: Cylinder 1.0 extended and


workpiece ejected

3 S Cylinder 2.0 to advance 1

3.1: Cylinder 2.0 extended

4 S Cylinder 2.0 to retract 1

4.1: Cylinder 2.0 retracted

5 S Cylinder 1.0 to retract 1

5.1: Cylinder 1.0 retracted

Figura 7: Ejemplo de un control secuencial

El ejemplo mostrado arriba describe la siguiente tarea de control:

Se extrae una pieza de un almacén por gravedad para su posterior procesamiento.


La extracción de la pieza del almacén se realiza por medio del cilindro 1.0. A
continuación es empujada hacia un transportador a través de una rampa por medio
del segundo cilindro 2.0.

© Festo Didactic GmbH & Co. • MPS 9


Programación de PLCs

Sistemas de control secuencial con derivación alternativa

Hay sistemas de control secuencial en los que deben producirse diferentes


secuencias según el caso. La selección de una u otra secuencia depende de las
señales emitidas por el proceso.

1 Check initial position

small part large part

2 S clamp part 1 4 S clamp part 1

2.1: part clamped 4.1: part clamped

3 N stamp part 1 5 N stamp part 1

3.1: part stamped 5.1: part stamped

6 S unclamp part 1

6.1: part unclamped

7 N eject part 1

7.1: part ejected

Figura 8: Ejemplo de un control secuencial con derivación alternativa

Un dispositivo de estampado que mecaniza piezas grandes o pequeñas utilizando


diferentes útiles, representa un ejemplo de este tipo de control secuencial. La Fig.
2.8 muestra un diagrama secuencias según DIN 40 719, P.6 o IEC 848 en relación
con el ejemplo.

10 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

La derivación alternativa es representada con tantas transiciones debajo de la línea


horizontal como posibles diferentes secuencias haya. Para seleccionar una sola
opción las condiciones de transición deben ser mutuamente excluyentes.

En el ejemplo mostrado, son posibles dos secuencias. Si se detecta una pieza


pequeña, se ejecutan los pasos 1, 2, 3, 6 y 7. Si entra una pieza grande, después del
paso 1 el programa deriva por los pasos 4, 5, 6 y 7.

Diagrama de funciones Principalmente, los diagramas de funciones secuenciales describen dos aspectos de
según IEC 848 o un sistema de control, según unas reglas definidas:
DIN 40 719, P.6
las acciones a ejecutar (órdenes)
la secuencia de ejecución

Por lo tanto, un diagrama de funciones se divide en dos partes (Fig. 2.9). la parte
ejecutiva indica la secuencia del proceso en relación con el tiempo.

© Festo Didactic GmbH & Co. • MPS 11


Programación de PLCs

0 N Initial position

Part in lifting bracket

1 L Colour and material definition t = 0.5 s

Timer expired

2 S Lifting cylinder raise

Lifting cylinder up

3 L Defining thickness t = 1 s

Timer expired

4 N Ejecting cylinder advance

Ejecting cylinder advanced

5 N Ejecting cylinder retract

Ejecting cylinder retracted

6 S Lifting cylinder lower

Lifting cylinder down

Figura 9: Diagrama de funciones de un proceso de verificación

La parte ejecutiva no describe las acciones individuales a ejecutar. Estas se hallan


contenidas en la parte de acción del diagrama de funciones que en el caso del
ejemplo mostrado, consisten en bloques a la derecha de los pasos.

12 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

Debajo de cada elemento individual de un diagrama de funciones le sigue una breve


descripción.

Etapas

Los diagramas de función están estructurados en etapas o pasos. Estos están


representados en forma de cuadrados en los que se indica el respectivo número de
la etapa.

El estado inicial de controlador es designado por medio de la etapa inicial con un


doble cuadrado.

Cara etapa tiene asignadas acciones (órdenes), que contienen las partes de
ejecución actuales del controlador.

Initial step 1
Transition directed connections

Step 2

Action

Figura 10: Elementos de un diagrama de funciones

Transiciones

Una transición es una condición que interrumpe la unión entre un paso y el


siguiente. La condición lógica de validación de la transición se introduce al lado de
la línea horizontal que cruza la unión. Si la condición se cumple, se realiza la
transición a la siguiente etapa, que será entonces ejecutada a través del
controlador.

© Festo Didactic GmbH & Co. • MPS 13


Programación de PLCs

Estructuras secuenciales

Pueden crearse tres formas básicas por medio de la combinación de elementos de


etapa y de transición:

secuencia lineal
secuencia derivada (derivación alternativa)
secuencia dividida (derivación en paralelo)

Independientemente de la forma de la estructura secuencial, siempre hay que


alternar etapas y condiciones de validación de las etapas. Las estructuras
secuenciales se ejecutan "de arriba a abajo".

En el caso de una secuencia lineal, sólo hay una transición tras cada etapa y una
etapa tras cada transición. la Fig. 2.9 ilustra una secuencia lineal.

d g

3 5
e h

4
f

6
i

Figura 11: Derivación alternativa

Con la derivación alternativa mostrada en la Fig. 2.11, dos o más transiciones siguen
a una etapa. El sub-proceso, cuya condición de transición se haya cumplido primero,
es activada y ejecutada. Dado que con secuencias alternativas debe ejecutarse
solamente un sub-proceso, las condiciones de transición – d y g en la Fig. 2,11 –
debe excluirse mutuamente.

14 © Festo Didactic GmbH & Co. • MPS


Programación de PLCs

2
d

3 5
e f

4 6

Figura 12: Derivación en paralelo

En el caso de la derivación en paralelo, al cumplirse la condición de transición,


siempre se desencadenas varios sub-procesos. Estos se ejecutan simultáneamente,
pero independientemente unos de otros. La finalización de subprocesos siempre se
coordina. Sólo cuando todos los sub-procesos en paralelo se han ejecutado
completamente puede ejecutarse la siguiente etapa debajo de la doble línea, es el
ejemplo, la etapa 7 condicionada por la transición g.

© Festo Didactic GmbH & Co. • MPS 15


Programación de PLCs

16 © Festo Didactic GmbH & Co. • MPS

Vous aimerez peut-être aussi