insert image here - inicio · 2018. 3. 27. · tenga en cuenta el ciclo del programa (cycle time)...

30
Control builder PS501 Advant Controller 500 (AC500) Insert image PS501 ge -1- image here IEC 61131-3 cts Training Pag IEC 61131-3 tomation Produc V2 © ABB Aut 4/5/2009 /

Upload: others

Post on 06-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Control builder

    PS

    501A

    dvant Controller 500 (A

    C500)

    Insert im

    age

    PS

    501

    © ABB Automation Products Training Page - 1 -

    image

    here

    IEC

    61131-3

    © ABB Automation Products Training Page

    IEC

    61131-3

    © ABB Automation Products Training Page / V2

    © ABB Automation Products Training Page 4/5/2009 / V2

  • El Control Builder PS501

    Información Básica sobre el PS501

    Los lenguajes de programación

    Empecemos

    Los lenguajes de programación

    POUs y tipos de datos

    La estructura de un programa

    Tra

    inin

    g P

    age

    -2

    -

    La estructura de un programa

    Las diferentes librerías

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • Información Básica sobre el PS501

    PS501 cumple con la IEC 6 1131-3. Este estándar internacional define:Este estándar internacional define:

    - la estructura de un programa,- la declaración de datos- la declaración de datos

    - la sintaxis y semántica de 5 lenguajes de programac ión

    Tra

    inin

    g P

    age

    -3

    -

    - la sintaxis y semántica de 5 lenguajes de programac ióndiferentes:

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Instruction List (IL) – Lista de InstruccionesStructured text (ST) – Texto estructuradoFunction block diagram (FBD) - Diagramas de Bloques de Función

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    Function block diagram (FBD) - Diagramas de Bloques de FunciónContinuous function chart (CFC) – Gráficos de Funci ón ContínuasLadder Diagram (LD) - ContactosSequencial flow chart (SFC) – Gráficos de Flujo Secuenciales

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

    Sequencial flow chart (SFC) – Gráficos de Flujo Secuenciales

  • Información Básica sobre el PS501

    El software de programación PS501 está basado en CoD eSys

    para:Programar,Testeo,Depuración,Ingeniería,

    Tra

    inin

    g P

    age

    -4

    -

    Ingeniería,Documentación

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    de programas para el AC500 - Hardware por ABB.

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • Información Básica sobre el PS501

    CoDeSys es un producto de la empresa3S - Smart Software Solutions GmbH 3S - Smart Software Solutions GmbH

    Tra

    inin

    g P

    age

    -5

    -io

    n P

    rodu

    cts

    Tra

    inin

    g P

    age

    ©

    AB

    B A

    utom

    atio

    n P

    rodu

    cts

    Con

    trol

    Bui

    lder

    PS

    501 Some 3S - customers Some 3S - customers

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • Los lenguajes de programación

    Información Básica sobre el PS501

    Los lenguajes de programaciónComing up Los lenguajes de programación

    POUs y tipos de datos

    Coming up

    Tra

    inin

    g P

    age

    -6

    -

    POUs y tipos de datos

    La estructura de un programa

    Las diferentes librerías

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Las diferentes librerías

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • Los lenguajes de programación: Lista de Instruccio nes IL

    En textoLenguaje Assembler

    Tra

    inin

    g P

    age

    -7

    -

    Lenguaje AssemblerLos operadores funcionan con un registro especial (accumulator, LD, ST)

    Los programas pequeños son muy

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Los programas pequeños son muy fáciles de entender

    No soporta programación estructurada

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    No soporta programación estructurada

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • Los lenguajes de programación: Texto Estructurado S T

    •Lenguaje tipo Texto•Lenguaje tipo Texto

    •Lenguaje de alto nivel: similar al PASCAL

    •De todos los lenguajes es el más

    Tra

    inin

    g P

    age

    -8

    -

    adaptable para programación condicional

    y programas tipo „loops“ (espiral)

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    •Es pposible programacíones muy

    potentes:

    •Escriba sus propias funciones o Bloques

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    •Escriba sus propias funciones o Bloques

    de Funciones en texto estructurado muy

    pòtente y llámelos desde un programa

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

    pòtente y llámelos desde un programa

    escrito en FBD, CFC o LD

  • Los lenguajes de programación: Function Block Biagr am FBD

    •Lenguaje gráfico•Fácil de entender•Estructura determinada para bloques y •Estructura determinada para bloques y operadores

    Tra

    inin

    g P

    age

    -9

    -io

    n P

    rodu

    cts

    Tra

    inin

    g P

    age

    ©

    AB

    B A

    utom

    atio

    n P

    rodu

    cts

    Con

    trol

    Bui

    lder

    PS

    501

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • Los lenguajes de programación: Continuous function chart CFCT

    rain

    ing

    Pag

    e -

    10-

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    •Lenguaje gráfico, similar al FBD•Fácil de entender

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    •Fácil de entender•Libre estructura para bloques y operadores •El retorno puede conectarse

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

    •El retorno puede conectarse diréctamente

  • Los lenguajes de programación: Ladder diagram LD (c ontactos)T

    rain

    ing

    Pag

    e -

    11-

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Lenguaje gráfico, orientado a redes

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    Lenguaje gráfico, orientado a redesDisponible en casi todos los sistemas de PLCsEspecialmente adaptado para programar en términos booleanos

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

    booleanosMenos adaptable para programas complicados

  • Los lenguajes de programación: SFC (Sequencial Func tion Chart)

    Lenguaje gráfico, consigue un Lenguaje gráfico, consigue un programa muy bien estructurado

    Contiene Pasos y TransicionesContiene Pasos y Transiciones

    Tra

    inin

    g P

    age

    -12

    -

    Este programa esta formado de Pasos

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e Este programa esta formado de Pasos

    SFC no puede reemplazar otros lenguajes.

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • Los POUs y tipos de datos

    Información Básica sobre el PS501

    Los lenguajes de programaciónLos lenguajes de programación

    POUs y tipos de datosComing up

    Tra

    inin

    g P

    age

    -13

    -

    POUs y tipos de datos

    La estructura de un programa

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Las diferentes librerías

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • Direcciones, POUs y Tipos de datos: Introducción

    Entradas, Salidas, Constantes Indirectas, Pasos(Ste ps) y Marcas( Flags)Son aquellos tipos de direcciones que se han de ada ptar al hardware

    Un POU es una secuencia de líneas de programa, la cual pue de ser llamada por otro POUser llamada por otro POU

    La programación se puede elaborar en uno de los cin co lenguajesde programación

    Tra

    inin

    g P

    age

    -14

    -

    de programación

    El POU reservado PLC_PRG arranca cíclicamente por el propio sistema

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    sistema

    Los datos pueden ser validados localmente o globalmente y puedenSer declarados a priori, programados en una tabla o automáticamente

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    Ser declarados a priori, programados en una tabla o automáticamente mientras se está programando.

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • Direcciones, POUs y Tipo de Datos: El P rogram Organization Units

    Función: FUNEntrada, un resultado, no memoria.Entrada, un resultado, no memoria.

    Ejemplo: operador AND (todos los operadores)

    Bloque de Función: FBEntradas, Salidas, memoria. Es posible crear diferentes instancias (copias) de un Bloque

    Tra

    inin

    g P

    age

    -15

    -

    Es posible crear diferentes instancias (copias) de un Bloque de FunciónEjemplo: TON (ON retrasado))

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e Ejemplo: TON (ON retrasado))

    Programa: PRGComo un Bloque de Función, pero sólo una instancia global.

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    Como un Bloque de Función, pero sólo una instancia global.

    Ejemplo: Un programa llama a otro.

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • Direcciones, POUs y Tipo de Datos: Tipos de datos Estándar (1)

    Bool: TRUE o FALSE

    Datos tipo Integer (Enteros):Datos tipo Integer (Enteros):

    Tipo Límite Inferior Límite Superior

    Memoria Requerida Superior Requerida

    BYTE 0 255 8 bit

    WORD 0 65535 16 bit

    Tra

    inin

    g P

    age

    -16

    -

    DWORD 0 4294967295 32 bit

    SINT -128 127 8 bit

    USINT 0 255 8 bit

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    USINT 0 255 8 bit

    INT -32768 32767 16 bit

    UINT 0 65535 16 bit

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    UINT 0 65535 16 bit

    DINT -2147483648 2147483647 32 bit

    UDINT 0 4294967295 32 bit

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

    UDINT 0 4294967295 32 bit

  • Direcciones, POUs y Tipo de Datos: Tipos de datos Estándar (2)

    REAL / LREAL REAL y LREAL (long real) son de tipo coma flotante. Se aplican para números racionales. Ocupan un rango de memoria de 32 bits para REAL y 64 bits para LREAL.

    STRING Una variable de tipo STRING puede tener cualquier carácter uno tras otro. La definición del TRING-length hace referencia a los carácteres y puede estar definido dentro de „ (..) o [.....] . La longitud por defecto es 80.

    Ejemplo para una declaración de STRING:

    Tra

    inin

    g P

    age

    -17

    -

    Ejemplo para una declaración de STRING: str:STRING(35):='Esto es un string!';

    Tipo de datos para Tiempos Los datos tipo TIME, TIME_OF_DAY (TOD), DATE y DATE_AND_TIME (DT) están definidos

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Los datos tipo TIME, TIME_OF_DAY (TOD), DATE y DATE_AND_TIME (DT) están definidos internamente como DWORD.

    TIME y TOD se han de definir en milisegundos (ms) . TOD está calculado desde 00:00 hrs .

    DATE y DT an de estar definidos en segundos (s). Estos están calculados desde

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    DATE y DT an de estar definidos en segundos (s). Estos están calculados desde

    El 1 de Enero de 1970, 00:00hrs.

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • La estructura de un programa

    Información Básica sobre el PS501

    Los lenguajes de programaciónLos lenguajes de programación

    POUs y tipos de datos

    Tra

    inin

    g P

    age

    -18

    -

    POUs y tipos de datos

    La estructura de un programaComing up

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Las diferentes librerías

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • La estructura de un programa (1)

    Project(Proyecto)

    Grabado en archivo:name.pro

    Un proyecto contiene un amplio rango de

    P Programm -O Organisation -U Units

    POU Global variables Data types

    U Units

    Tra

    inin

    g P

    age

    -19

    -

    POU Global variables(Variables Globales)

    Data types(Tipo de datos)

    En la posición inicial hay un programa

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    En la posición inicial hay un programa Llamado PLC_PRG (Programa Principal), yes ejecutado cíclicamente

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    Declaración(variables locales) Codigo

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

    (variables locales) Codigo

  • La estructura de un programa (3)

    Program PRG

    Function FUN PRGFunction block FB

    Tra

    inin

    g P

    age

    -20

    -

    Function FUN PRGFunction block FB

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    FUN FB FUNFUNFB

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1 FUN FB FUNFUNFB

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • La estructura de un programa : Normas para escribir un programa de usuario

    Normas Importantes:

    Los POUs llamados siempre vuelven al que llama Los POUs llamados siempre vuelven al que llama (programa y sus módulos están enlazados)

    Tenga en cuenta el ciclo del programa (cycle time)Tenga en cuenta el ciclo del programa (cycle time)

    Proyectos ejecutados dentro del ciclo han de ser siempre un programa definido con el nombre

    Tra

    inin

    g P

    age

    -21

    -

    siempre un programa definido con el nombre PLC_PRG

    Definición: Según es Standar IEC 61131 -3

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Definición: Según es Standar IEC 61131 -3PLC_PRG es el nombre de un POU cíclico

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • La estructura de un programa : Llam

    ada de PO

    Us (1)

    PO

    U:

    PO

    U:

    Llamada desde el editor

    PO

    U:

    Llamada desde el program

    a

    Training Page - 22 -ion Products Training Page © ABB Automation ProductsControlBuilder PS501© ABB AutomatControlBuilder PS501

  • La estructura de un programa : Llamada de POUs (2)

    Llamada de programas dentro del programa ppal:

    Tra

    inin

    g P

    age

    -23

    -

    dentro del programa ppal:PLC_PRG

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • La estructura de un programa : Las funciones y los operadoresHay diferentes grupos de operadores :

    Asignadores Su representación depende del

    Hay diferentes grupos de operadores :

    Asignadores

    Operadores Booleanos

    Operadores Analógicos

    Su representación depende del lenguaje de programación escogido. La expresión OPERATOR no existe en el Stándar. En el estándar Operadores Analógicos

    .

    Comparadores

    Selectores

    existe en el Stándar. En el estándar IEC 61131-3 los operadores están definidos bajo funciones estándar . Pero 3S creó una lista de operadores

    Tra

    inin

    g P

    age

    -24

    -

    Selectores

    Operador Real

    Operador Shift

    Pero 3S creó una lista de operadores para simplificar la operación:

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Operador Shift

    Operador

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    Convertidor de TipoFunciones

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • La estructura de un programa : Las funciones, Bloqu es de Funciones

    Funciones String LEN LEFT RIGHT MID CONCAT INSERT DELETE REPL ACE FIND

    Funciones

    Detección de rampaR_TRIG Detecta rampa positiva

    Funciones

    R_TRIG Detecta rampa positivaF_TRIG Detecta rampa negativa

    Contador

    Tra

    inin

    g P

    age

    -25

    -

    CTU Incrementa por cada rampa (up- counter )CTD Decrementa por cada rampa (down - counter )CTUD Incrementa / decrementa en cada rampa (up-/down

    counter)

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    counter)TemporizadorTP PulsoTON Temporizador Activar con Retraso

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    TON Temporizador Activar con RetrasoTOF Temporizador Desactivar con Retraso

    Bloques de Funciones

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501

  • Las Librerías

    Información Básica sobre el PS501

    Los lenguajes de programaciónLos lenguajes de programación

    POUs y tipos de datos

    Tra

    inin

    g P

    age

    -26

    -

    POUs y tipos de datos

    La estructura de un programa

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    Las diferentes libreríasComing up

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    AB

    B A

    utom

    atC

    ontr

    olB

    uild

    er P

    S50

    1

  • Las diferentes librerías: Librería Estandar: p.ej.

    FB

    CT

    UD

    Training Page - 27 -ion Products Training Page © ABB Automation Products

    ControlBuilder PS501© ABB AutomatControlBuilder PS501

  • Las diferentes librerías: Librería del Fabricante:

    p.ej. FB

    PD

    MTraining Page - 28 -ion Products Training Page © ABB Automation Products

    ControlBuilder PS501© ABB AutomatControlBuilder PS501

  • Las diferentes librerías: Librería de usuarioTraining Page - 29 -ion Products Training Page © ABB Automation Products

    ControlBuilder PS501© ABB AutomatControlBuilder PS501

  • The different libraries: Creando una librería de us uario:

    1. Crear el FB o FUN : programe, compile, testee y exporte:

    Project

    2. Abrir un nuevo Proyecto e importe sus FBs o FUNs que quiera cargar en la nueva librería

    .expExport

    FUN or FB (click)resultado

    2. Abrir un nuevo Proyecto e importe sus FBs o FUNs que quiera cargar en la nueva librería y „Rebuild all“:

    > Este proyecto no debe contener una lista de varia bles globales

    > PLC_PRG ha de ser borradoProject

    Importante

    Tra

    inin

    g P

    age

    -30

    -

    > PLC_PRG ha de ser borradoProject

    1: Import

    2: Rebuild all

    in Object Organizer

    3. Guarde este proyecto con un nuevo nombre (nombre de la librería) en el directorio

    resultado

    ion

    Pro

    duct

    sT

    rain

    ing

    Pag

    e

    3. Guarde este proyecto con un nuevo nombre (nombre de la librería) en el directorio LIBRARY

    Date

    guardad como

    © A

    BB

    Aut

    omat

    ion

    Pro

    duct

    sC

    ontr

    olB

    uild

    er P

    S50

    1

    guardad como

    *.lib , click

    „ Internal library“

    Nueva librería en el directorio LIBRARY :

    < name>. Lib

    resultado

    © A

    BB

    Aut

    omat

    Con

    trol

    Bui

    lder

    PS

    501