Upload
carlos-cubero
View
231
Download
1
Embed Size (px)
Citation preview
7/24/2019 Lenguajes de Programacin PLC (1)
1/42
Autmatas Programables
7/24/2019 Lenguajes de Programacin PLC (1)
2/42
CONTENIDO
Introduccin
Norma IEC
Lista de instrucciones (IL) Texto estructurado (ST)
Esquema bsico de funciones (FBD)
Esquema de contactos (LD) Esquema secuencial de funciones (SFC)
7/24/2019 Lenguajes de Programacin PLC (1)
3/42
OBJETIVOS
Comprender la necesidad deestandarizacin del software deprogramacin de PLC
Conocer la norma IEC 1131 Conocer los lenguajes ms utilizados
para la programacin PLC
Conocer la forma de ejecucin deprogramas en un PLC
7/24/2019 Lenguajes de Programacin PLC (1)
4/42
INTRODUCCIN
Programacin
Modos de funcionamiento Lenguajes
7/24/2019 Lenguajes de Programacin PLC (1)
5/42
Programacin
Resolucin del problema de la automatizacin Confeccionar los programas
Programas: Conjunto de instrucciones elementales Instrucciones: Conjunto de operando y operadores Operadores: Particulares de cada lenguaje Operandos: Siempre los mismos
Entradas y salidas digitales y analgicas Mdulos o estructuras complejas de datos: contadores,
temporizadores, desplazadores, Memorias, marcas o TAGS
Forma de ejecucin de los programas Cclica: es la ms habitual Eventos: cada vez que se cambie de estado en una lnea Peridica: por periodos definidos Peridica y por eventos de forma simultnea
7/24/2019 Lenguajes de Programacin PLC (1)
6/42
Modos de funcionamiento
Ejecucion: Permite programar y
transferir elprograma de usuario
desde el sistema deprogramacion al PLC
RUN Permite al PLC controlar
el proceso
Ejecucin cclica Tproceso Tciclo
Ejecucin peridica Tproceso > Tperiodo
Confeccindel programa
de usuario
Transferencia
Lectura de variables int/ext
Ejecucin programa
Actualizacin variables
Tl
Te
Ta
Tc=Tl+Tc+Ta
Ciclo
7/24/2019 Lenguajes de Programacin PLC (1)
7/42
Lenguajes
Todos ellos tienen la finalidad de generar el cdigoobjeto para que sea ejecutado en el PLC
7/24/2019 Lenguajes de Programacin PLC (1)
8/42
Norma IEC 1131
Estandarizacin Norma IEC 1131-3
7/24/2019 Lenguajes de Programacin PLC (1)
9/42
Estandarizacin
Problema planteado a los ingenieros de sw Como resolver la automatizacin de una
industria:
Trabajando con diferentes PLC de fabricantesdistintos
Utilizando diferentes lenguajes de programacin
Que sea comprendido por ingenieros elctricos opersonal de mantenimiento de planta
Y que el fabricante del producto sea mejor que sums directo competidor
SOLUCINNORMA IEC1131
7/24/2019 Lenguajes de Programacin PLC (1)
10/42
Las 5 partes de la norma
1. Visin general, definiciones IS
2. Hardware IS
3. Lenguajes de programacin IS
4. Manuales de usuuarios
5. Especificaciones
IS = Internacional Standar
7/24/2019 Lenguajes de Programacin PLC (1)
11/42
Ventajas de la norma IEC 1131
Reduce el esfuerzo humano en entrenamiento,depuracin, mantenimiento y consultora Una vez que se aprende se utiliza en todos los sistemas
Posibilidad de crear software reutilizable, minimiza: El tiempo de desarrollo El esfuerzo de codificacin Los errores de compilacin y ejecucin
Tcnicas de programacin usados en otros entornos noindustriales
Coordina eficazmente diferentes componentes desde
distintas localizaciones, compaas o proyectos Amplio campo de aplicacin
Aumenta la conectividad, facilita la distribucin decontrol
7/24/2019 Lenguajes de Programacin PLC (1)
12/42
Caves de xito de la normaIEC 1131-3
Sw estructurado a travs de Diseo,Proyectos, Tareas, Programas y Bloques Unidades de organizacin de programas (Program
Organization Units (POUs))
Tipado fuerte de datos a travs de lenguajesque poseen operaciones a las que slo se lepuede aplicar un tipo apropiado de datos
Control de la ejecucin a travs de tareas Descripcin del comportamiento secuencial
complejo de un proceso a travs de SFC Encapsulacin de sw a travs de POUs,
estructuras y tipos complejos de datos
7/24/2019 Lenguajes de Programacin PLC (1)
13/42
Norma IEC 1131-3
La norma permite dos caminosde desarrollo de un programa: Hacia abajo: Seleccin de un swde programacin ms adecuado
al proceso y posteriormente elegirlos tipos de datos
Hacia arriba: Configuracin de losdatos pensando en el proceso y
despus elegir el sw deprogramacin
Elementos Comunes
Lenguajes de programacin
Top Down
Botton Up
7/24/2019 Lenguajes de Programacin PLC (1)
14/42
IEC 1131-3
Variables, tipos de datos y declaraciones Diseo, proyectos y tareas Funciones, bloques de funciones y programas Sequential Function Charts
Elementos Comunes Diseo
ProyectosTareasVariables GlobalesCaminos de acceso
7/24/2019 Lenguajes de Programacin PLC (1)
15/42
Instruction List (IL)
7/24/2019 Lenguajes de Programacin PLC (1)
16/42
Lista de instrucciones
Es un tipo de lenguaje ensamblador con unrepertorio muy reducido de instrucciones
Los programas utilizan un estilo muy similar alempleado por los lenguajes de ensamblador
Este tipo de lenguaje es una trascripcin elemental e
inmediata de las instrucciones del lenguaje mquina Que estn representadas por expresiones nemotcnicas
Se suele aplicar para pequeas aplicaciones y paraoptimizar partes de una aplicacin
LD A
AND B
ST C
7/24/2019 Lenguajes de Programacin PLC (1)
17/42
SEMNTICA Y OPERADORES
LD Set current result equal to operant
ST Store current result to operand location
S Set Boolean operand to 1
R Reset Boolean operand to 0
JMP Jump to label
CAL Call function block
RET Return from called function o function block
&, AND Boolean AND
OR Boolean OR
XOR Boolean exclusive OR
ADD Addition
SUB Subtrasction
MUL Multiplication
DIV Division
GT Comparison >
GE Comparison >=
EQ Comparison =
NE Comparison
LE Comparison
7/24/2019 Lenguajes de Programacin PLC (1)
18/42
Ejemplos de instrucciones
INICIO: LD %IX1 (* Carga pulsador *)
ANDN %MX5 (* No inhibido *)
ST %QX2 (* Neon *)
ETIQUETAS
OPERADORES
OPERANDOS COMENTARIOS
MODIFICADORES DE
LOS OPERANDOS
7/24/2019 Lenguajes de Programacin PLC (1)
19/42
Function Block Diagram (FBD)
7/24/2019 Lenguajes de Programacin PLC (1)
20/42
Esquema Bsico de Funciones
El diagrama de funciones (tambin conocidocomo esquema bsico de funciones EBF ofunction block diagram FBD) es un lenguajegrfico
Los programas son bloques cableados entres de forma anloga al esquema de un circuito
Tiene una interface de E/S bien definida, yadems poseen un cdigo interno oculto
7/24/2019 Lenguajes de Programacin PLC (1)
21/42
Ventajas
Documentacin y programacin en un mismoelemento de programa Informes generales, comentarios, flujo de datos.
Programacin estructurada
Definicin y llamada a subrutinas Conjunto de funciones y de bloques
estandarizados Se puede mezclar bloques de distintos fabricantes Se pueden definir nuevos bloques
Los FBs son altamente reutilizables En un mismo programa En programas diferentes En diferentes proyectos
7/24/2019 Lenguajes de Programacin PLC (1)
22/42
Elementos: Funciones, Bloques y variables
Funciones
Bloques de funciones
Variables entrada/salida
Direccin del flujo
horizontal, vertical
A travs, sin contactos
7/24/2019 Lenguajes de Programacin PLC (1)
23/42
Elementos - Parametrizacin
Negacin
Duplicacin Deteccin autom. Flanco
Parmetros formales
Parmetros actuales
7/24/2019 Lenguajes de Programacin PLC (1)
24/42
Elementos adicionales
7/24/2019 Lenguajes de Programacin PLC (1)
25/42
Reglas de ejecucin
El bloque se ejecuta cuando todas sus entradas han sidoevaluadas
El bloque se evala por completo cuando se han calculado todassus salidas
La evaluacin de un conjunto de bloques termina cuando se
calculan todas y cada una de las salidas
7/24/2019 Lenguajes de Programacin PLC (1)
26/42
Realimentacin
No se puede valorar el orden de la ejecucin Existen formas de resolverlo como la asignacin
de un orden de ejecucin
7/24/2019 Lenguajes de Programacin PLC (1)
27/42
Funciones estndar loques de funciones
Norma IEC 1131: Si se conoceel estndar, se conoce todo
7/24/2019 Lenguajes de Programacin PLC (1)
28/42
Structured Text (ST)
7/24/2019 Lenguajes de Programacin PLC (1)
29/42
Texto extructurado
Los lenguajes basados en textoestructurado facilitan la programacinde procesos que requieren instruccionescomplejas y clculos muy grandes
Se trata de lenguajes de alto nivel
7/24/2019 Lenguajes de Programacin PLC (1)
30/42
Operadores (I)
Symbol Operation
(expresion) Parenthesization
Identifier(argument list) Function evaluation
Examples:
LN(A), MAX(X,Y), etc
** Exponentiation
- Negation
NOT Complement
7/24/2019 Lenguajes de Programacin PLC (1)
31/42
Operadores(II)
* Multiplicacion
/ Division
MOD Mdulo
+ Suma
- Resta
, = Comparacion
= Igualdad
Desigualdad
&,AND AND Lgica
OR OR Lgica
XOR XOR Lgica
A:=B; Asignacin
Datatype to Datatype
INT to INT
or
Analog_Chanel_Configuration to
Analog_Chanel_Configuration
CV:=CV+1;
C:=SIN(X);
IF .. THEN .. ELSECASE
FOR
WHILE
REPEAT UNTIL
7/24/2019 Lenguajes de Programacin PLC (1)
32/42
Ladder (LD)
7/24/2019 Lenguajes de Programacin PLC (1)
33/42
Ladder
La lgica de escalera o ladder es el lenguaje deprogramacin mas usado para la programacin de PLCs Fue el primero con el que se comenz a programar, de
ah que presente grandes semejanzas con losdiagramas elctricos de escalera utilizados por los
tcnicos anteriormente a la aparicin del autmata Ese lenguaje esta especialmente indicado para facilitarel cambio de un sistema de control realizado con relspor un PLC
7/24/2019 Lenguajes de Programacin PLC (1)
34/42
Origenes del LD Su origen es la representacin grfica
utilizada en el diseo de sistemas decontrol elctricos Las decisiones de control se hacen efectivas
activando rels
Despus los rels se sustituyeron porcircuitos lgicos
Las decisiones de control se hacen efectivasen funcin de las salidas de las puertaslgicas
Finalmente las CPUs sustituyen loscomplejos y amplios circuitos lgicos Las E/S se cablean con buffers Las decisiones de control son programas en
ejecucin
La representacin de la lgica de relsevolucion para una creaccin ycomprensin mas sencilla de losprogramas Reduce el tiempo de formacin de los
programadores
7/24/2019 Lenguajes de Programacin PLC (1)
35/42
Qu es un Rung?
Es una lnea de programa Contiene las instrucciones de entrada y salida
Entrada: permiten una comparacin o test de lascondiciones y se obtiene el resultado de la
evaluacin Habitualmente aparecen en la parte izquierda del rung
Salida (Coil): examinan el resultado de la evaluaciny si es true ejecutan alguna operacin o accin En algunos casos pueden ser el estado del rung Habitualmente aparecen en la parte derecha del rung
7/24/2019 Lenguajes de Programacin PLC (1)
36/42
Operaciones en Serie y Paralelo
Las instrucciones de entrada pueden ejecutarsemediante relaciones lgicas AND y OR en un sencilloformato Si las instrucciones estn en serie se evala una relacin AND Si las instrucciones estn en paralelo se evala una relacin
OR Salidas en paralelo permite activar varias operaciones o
funciones con el mismo resultado de evaluacin
7/24/2019 Lenguajes de Programacin PLC (1)
37/42
Ejecucin Lgica de Ladder
Los Rungs se ejecutan de izquierda aderecha y de arriba abajo
Los Rungs con bifurcaciones se ejecutande arriba izquierda abajo derecha
7/24/2019 Lenguajes de Programacin PLC (1)
38/42
Contactos
Normalmente abierto --| |-- Activa el rung hacia la derecha de la instruccin cuando el
contacto se activa Normalmente Cerrado --|/|--
Activa el rung hacia la derecha de la instruccin cuando el
contacto se desactiva Transicin positiva --|P|--
Activa el rung hacia la derecha de la instruccin cuando elcontacto est desactivado en el scan anterior y activo en elscan actual
Transicin negativa --|N|-- Activa el rung hacia la derecha de la instruccin cuando el
contacto est activo en el scan anterior y desactivo en elscan actual
7/24/2019 Lenguajes de Programacin PLC (1)
39/42
Acciones (Coils)
Accin --( )-- Activa un bit cuando el rung es true y lo desactiva cuando es
falso Accin negada --( )--
Activa un bit cuando el rung es false y lo desaciva cuando es true
Enclavamiento (Latch) --(S)-- Activa un bit cuando el rung es true y no hace nada cuando es
false Desenclavamiento (Unlatch) --(R)--
Desactiva un bit cuando el rung es true y no hace nada cuando
es false Accin activa por flanco de subida --(P)--
Activa un bit cuando el rung transiciona de false a true Accion activa por flanco de bajada --(N)--
Activa un bit cuando la instruccin de entrada transiciona de truea false
7/24/2019 Lenguajes de Programacin PLC (1)
40/42
Instrucciones IEC de Comparacin
Si el rung de entrada est activo(EN), la instruccin ejecuta laoperacin y activa el rung de salida(ENO) basado en la comparacin Ejemplo: Cuando EN es true, EQ (=)
la funcin compara In1 y In2 y si soniguales activa ENO Conjunto de instrucciones de
comparacin: EQ (=) GT (>) GE (>=) LT (
7/24/2019 Lenguajes de Programacin PLC (1)
41/42
Temporizacin
Tres instrucciones bsicas TP Pulse timer TON Timer On Delay TOF Timer Off Delay
Valores temporales enteros Base de tiempos de 1 ms
Dos posibles formas de uso 1 necesita programacin
extra en otro rung parainteraccionar sobre el estadodel timer
2 activa un bit que puede serutilizado en otras funcioneslgicas
7/24/2019 Lenguajes de Programacin PLC (1)
42/42
Temporizador
IN = instruccin deentrada del rung
Q = Resultado de lacomparacin Varia con el tipo del
timer
PT = Preset Time
ET = Elapse Time