Lenguajes de Programación PLC (1)

download Lenguajes de Programación PLC (1)

of 42

Transcript of Lenguajes de Programación PLC (1)

  • 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