Вы находитесь на странице: 1из 42

Autmatas Programables

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)

OBJETIVOS
Comprender la necesidad de
estandarizacin del software de
programacin de PLC
Conocer la norma IEC 1131
Conocer los lenguajes ms utilizados
para la programacin PLC
Conocer la forma de ejecucin de
programas en un PLC

INTRODUCCIN

Programacin
Modos de funcionamiento
Lenguajes

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

Modos de funcionamiento

Confeccin
del programa
de usuario

Ejecucion:
Permite programar y

transferir el
programa de usuario
desde el sistema de
programacion al PLC

Transferencia

RUN
Permite al PLC controlar

Lectura de variables int/ext

el proceso

Ejecucin cclica
Tproceso Tciclo

Ciclo

Tl

Ejecucin programa

Te

Actualizacin variables

Ta

Ejecucin peridica
Tproceso > Tperiodo

Tc=Tl+Tc+Ta

Lenguajes

Todos ellos tienen la finalidad de generar el cdigo


objeto para que sea ejecutado en el PLC

Norma IEC 1131

Estandarizacin
Norma IEC 1131-3

Estandarizacin

Problema planteado a los ingenieros de sw


Como resolver la automatizacin de una

industria:
Trabajando con diferentes PLC de fabricantes

distintos
Utilizando diferentes lenguajes de programacin
Que sea comprendido por ingenieros elctricos o
personal de mantenimiento de planta
Y que el fabricante del producto sea mejor que su
ms directo competidor

SOLUCIN NORMA IEC1131

Las 5 partes de la norma


1.
2.
3.
4.
5.

Visin general, definiciones


Hardware

Lenguajes de programacin
Manuales de usuuarios
Especificaciones

IS = Internacional Standar

IS
IS
IS

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 no


industriales
Coordina eficazmente diferentes componentes desde
distintas localizaciones, compaas o proyectos
Amplio campo de aplicacin

Aumenta la conectividad, facilita la distribucin de


control

Caves de xito de la norma


IEC 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 lenguajes


que poseen operaciones a las que slo se le
puede 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

Norma IEC 1131-3


Lenguajes de programacin
Top Down

La norma permite dos caminos


de desarrollo de un programa:
Hacia abajo: Seleccin de un sw

de programacin ms adecuado
al proceso y posteriormente elegir
los tipos de datos
Hacia arriba: Configuracin de los
datos pensando en el proceso y
despus elegir el sw de
programacin

Elementos Comunes

Botton Up

IEC 1131-3

Elementos Comunes
Variables, tipos de datos y declaraciones
Diseo, proyectos y tareas
Funciones, bloques de funciones y programas
Sequential Function Charts

Diseo
Proyectos
Tareas
Variables Globales
Caminos de acceso

Instruction List (IL)

Lista de instrucciones
LD
AND
ST

A
B
C

Es un tipo de lenguaje ensamblador con un


repertorio muy reducido de instrucciones
Los programas utilizan un estilo muy similar al
empleado 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 para


optimizar partes de una aplicacin

SEMNTICA Y OPERADORES
LD
ST
S
R

Set current result equal to operant


Store current result to operand location
Set Boolean operand to 1
Reset Boolean operand to 0

JMP
CAL
RET

Jump to label
Call function block
Return from called function o function block

&, AND Boolean AND


OR
Boolean OR
XOR
Boolean exclusive OR

ADD
SUB
MUL
DIV

GT
GE
EQ
NE
LE
LT

Addition
Subtrasction
Multiplication
Division

Comparison >
Comparison >=
Comparison =
Comparison <>
Comparison <=
Comparison <

Ejemplos de instrucciones
OPERADORES
ETIQUETAS

INICIO:

OPERANDOS

LD
ANDN
ST

%IX1
%MX5
%QX2

MODIFICADORES DE
LOS OPERANDOS

COMENTARIOS

(* Carga pulsador *)
(* No inhibido *)
(* Neon *)

Function Block Diagram (FBD)

Esquema Bsico de Funciones

El diagrama de funciones (tambin conocido


como esquema bsico de funciones EBF o
function block diagram FBD) es un lenguaje
grfico
Los programas son bloques cableados entre
s de forma anloga al esquema de un circuito
Tiene una interface de E/S bien definida, y
adems poseen un cdigo interno oculto

Ventajas

Documentacin y programacin en un mismo


elemento 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

Elementos: Funciones, Bloques y variables


Funciones
Bloques de funciones
Variables entrada/salida

Direccin del flujo


horizontal, vertical
A travs, sin contactos

Elementos - Parametrizacin

Negacin
Duplicacin

Deteccin autom. Flanco


Parmetros formales
Parmetros actuales

Elementos adicionales

Reglas de ejecucin

El bloque se ejecuta cuando todas sus entradas han sido


evaluadas
El bloque se evala por completo cuando se han calculado todas
sus salidas
La evaluacin de un conjunto de bloques termina cuando se
calculan todas y cada una de las salidas

Realimentacin

No se puede valorar el orden de la ejecucin


Existen formas de resolverlo como la asignacin
de un orden de ejecucin

Funciones estndar

Bloques de funciones

Norma IEC 1131: Si se conoce


el estndar, se conoce todo

Structured Text (ST)

Texto extructurado

Los lenguajes basados en texto


estructurado facilitan la programacin
de procesos que requieren instrucciones
complejas y clculos muy grandes

Se trata de lenguajes de alto nivel

Operadores (I)
Symbol
(expresion)
Identifier(argument list)

Operation
Parenthesization
Function evaluation

Examples:
LN(A), MAX(X,Y), etc
**
NOT

Exponentiation
Negation
Complement

Operadores(II)
*
/
MOD
+
<, >, <=, >=
=
<>

Multiplicacion
Division
Mdulo
Suma
Resta
Comparacion
Igualdad
Desigualdad

IF .. THEN .. ELSE
CASE
FOR
WHILE
REPEAT UNTIL

&,AND
OR
XOR
A:=B;

AND Lgica
OR Lgica
XOR Lgica
Asignacin

Datatype to Datatype
INT to INT
or
Analog_Chanel_Configuration to
Analog_Chanel_Configuration

CV:=CV+1;
C:=SIN(X);

Ladder (LD)

Ladder

La lgica de escalera o ladder es el lenguaje de


programacin mas usado para la programacin de PLCs
Fue el primero con el que se comenz a programar, de
ah que presente grandes semejanzas con los
diagramas elctricos de escalera utilizados por los
tcnicos anteriormente a la aparicin del autmata
Ese lenguaje esta especialmente indicado para facilitar
el cambio de un sistema de control realizado con rels
por un PLC

Origenes del LD

Su origen es la representacin grfica


utilizada en el diseo de sistemas de
control elctricos

Despus los rels se sustituyeron por


circuitos lgicos

Las decisiones de control se hacen efectivas


en funcin de las salidas de las puertas
lgicas

Finalmente las CPUs sustituyen los


complejos y amplios circuitos lgicos

Las decisiones de control se hacen efectivas


activando rels

Las E/S se cablean con buffers


Las decisiones de control son programas en
ejecucin

La representacin de la lgica de rels


evolucion para una creaccin y
comprensin mas sencilla de los
programas

Reduce el tiempo de formacin de los


programadores

Qu es un Rung?

Es una lnea de programa


Contiene las instrucciones de entrada y salida
Entrada: permiten una comparacin o test de las

condiciones y se obtiene el resultado de la


evaluacin
Habitualmente aparecen en la parte izquierda del rung

Salida (Coil): examinan el resultado de la evaluacin

y 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

Operaciones en Serie y Paralelo

Las instrucciones de entrada pueden ejecutarse


mediante relaciones lgicas AND y OR en un sencillo
formato
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

Ejecucin Lgica de Ladder


Los Rungs se ejecutan de izquierda a
derecha y de arriba abajo
Los Rungs con bifurcaciones se ejecutan
de arriba izquierda abajo derecha

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 el

contacto est desactivado en el scan anterior y activo en el


scan 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 el


scan actual

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 true

a false

Instrucciones IEC de Comparacin

Si el rung de entrada est activo


(EN), la instruccin ejecuta la
operacin 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 son


iguales activa ENO

Conjunto de instrucciones de
comparacin:

EQ (=)
GT (>)
GE (>=)
LT (<)
LE (<=)
NE (<>)

Temporizacin

Tres instrucciones bsicas


TP
TON
TOF

Pulse timer
Timer On Delay
Timer Off Delay

Valores temporales enteros


Base de tiempos de 1 ms

Dos posibles formas de uso


1 necesita programacin

extra en otro rung para


interaccionar sobre el estado
del timer
2 activa un bit que puede ser
utilizado en otras funciones
lgicas

Temporizador

IN = instruccin de
entrada del rung
Q = Resultado de la
comparacin
Varia con el tipo del

timer

PT = Preset Time
ET = Elapse Time