Vous êtes sur la page 1sur 30

ABB Automation Products Training Page - 1 24/04/15 / V2

Advant Controller 500 (AC500)

Insert
image
here
IEC 61131-3

Control builder
PS501

El Control Builder PS501

Empecemos

Informacin Bsica sobre el PS501


Los lenguajes de programacin

ABB Automation Products Training Page - 2 ControlBuilder PS501

POUs y tipos de datos


La estructura de un programa
Las diferentes libreras

Informacin Bsica sobre el PS501


PS501 cumple con la IEC 6 1131-3.
Este estndar internacional define:
- la estructura de un programa,
- la declaracin de datos

ABB Automation Products Training Page - 3 ControlBuilder PS501

- la sintaxis y semntica de 5 lenguajes de programacin


diferentes:
Instruction List (IL) Lista de Instrucciones
Structured text (ST) Texto estructurado
Function block diagram (FBD) - Diagramas de Bloques de Funcin
Continuous function chart (CFC) Grficos de Funcin Contnuas
Ladder Diagram (LD) - Contactos
Sequencial flow chart (SFC) Grficos de Flujo Secuenciales

Informacin Bsica sobre el PS501


El software de programacin PS501 est basado en CoDeSys

ABB Automation Products Training Page - 4 ControlBuilder PS501

para:
Programar,
Testeo,
Depuracin,
Ingeniera,
Documentacin
de programas para el AC500 - Hardware por ABB.

Informacin Bsica sobre el PS501

ABB Automation Products Training Page - 5 ControlBuilder PS501

CoDeSys es un producto de la empresa


3S - Smart Software Solutions GmbH

Some 3S - customers

Some 3S - customers

Los lenguajes de programacin

Informacin Bsica sobre el PS501


Coming up

Los lenguajes de programacin

ABB Automation Products Training Page - 6 ControlBuilder PS501

POUs y tipos de datos


La estructura de un programa
Las diferentes libreras

ABB Automation Products Training Page - 7 ControlBuilder PS501

Los lenguajes de programacin: Lista de Instrucciones IL

En texto
Lenguaje Assembler
Los operadores funcionan con un
registro especial (accumulator, LD, ST)
Los programas pequeos son muy
fciles de entender
No soporta programacin estructurada

Los lenguajes de programacin: Texto Estructurado ST

Lenguaje tipo Texto


Lenguaje de alto nivel: similar al PASCAL
De todos los lenguajes es el ms
ABB Automation Products Training Page - 8 ControlBuilder PS501

adaptable para programacin condicional


y programas tipo loops (espiral)
Es pposible programacones muy
potentes:
Escriba sus propias funciones o Bloques
de Funciones en texto estructurado muy
ptente y llmelos desde un programa
escrito en FBD, CFC o LD

Los lenguajes de programacin: Function Block Biagram FBD


Lenguaje grfico
Fcil de entender

ABB Automation Products Training Page - 9 ControlBuilder PS501

Estructura determinada para bloques y


operadores

ABB Automation Products Training Page - 10 ControlBuilder PS501

Los lenguajes de programacin: Continuous function chart CFC

Lenguaje grfico, similar al FBD


Fcil de entender
Libre estructura para bloques y
operadores
El retorno puede conectarse
dirctamente

ABB Automation Products Training Page - 11 ControlBuilder PS501

Los lenguajes de programacin: Ladder diagram LD (contactos)

Lenguaje grfico, orientado a redes


Disponible en casi todos los sistemas de PLCs
Especialmente adaptado para programar en trminos
booleanos

Los lenguajes de programacin: SFC (Sequencial Function Chart)

Lenguaje grfico, consigue un


programa muy bien estructurado

ABB Automation Products Training Page - 12 ControlBuilder PS501

Contiene Pasos y Transiciones

Este programa esta formado de Pasos


SFC no puede reemplazar otros lenguajes.

Los POUs y tipos de datos

Informacin Bsica sobre el PS501


Los lenguajes de programacin

ABB Automation Products Training Page - 13 ControlBuilder PS501

Coming up

POUs y tipos de datos


La estructura de un programa
Las diferentes libreras

Direcciones, POUs y Tipos de datos: Introduccin


Entradas, Salidas, Constantes Indirectas, Pasos(Steps) y Marcas(Flags)
Son aquellos tipos de direcciones que se han de adaptar al hardware
Un POU es una secuencia de lneas de programa, la cual puede
ser llamada por otro POU

ABB Automation Products Training Page - 14 ControlBuilder PS501

La programacin se puede elaborar en uno de los cinco lenguajes


de programacin
El POU reservado PLC_PRG arranca cclicamente por el propio
sistema
Los datos pueden ser validados localmente o globalmente y pueden
Ser declarados a priori, programados en una tabla o automticamente
mientras se est programando.

Direcciones, POUs y Tipo de Datos: El Program Organization Units


Funcin:

FUN
Entrada, un resultado, no memoria.

ABB Automation Products Training Page - 15 ControlBuilder PS501

Ejemplo:

operador AND (todos los operadores)

Bloque de Funcin:
FB
Entradas, Salidas, memoria.
Es posible crear diferentes instancias (copias) de un Bloque
de Funcin
Ejemplo:
TON (ON retrasado))
Programa:

PRG
Como un Bloque de Funcin, pero slo una instancia global.
Ejemplo:

Un programa llama a otro.

Direcciones, POUs y Tipo de Datos: Tipos de datos Estndar (1)


Bool:

TRUE

FALSE

Datos tipo Integer (Enteros):

ABB Automation Products Training Page - 16 ControlBuilder PS501

Tipo
BYTE
WORD
DWORD
SINT
USINT
INT
UINT
DINT
UDINT

Lmite Inferior Lmite


Superior
0
255
0
65535
0
4294967295
-128
127
0
255
-32768
32767
0
65535
-2147483648 2147483647
0
4294967295

Memoria
Requerida
8 bit
16 bit
32 bit
8 bit
8 bit
16 bit
16 bit
32 bit
32 bit

Direcciones, POUs y Tipo de Datos: Tipos de datos Estndar (2)


REAL / LREAL
REAL y LREAL (long real) son de tipo coma flotante. Se aplican para nmeros 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 carcter uno tras otro. La definicin del
TRING-length hace referencia a los carcteres y puede estar definido dentro de (..) o ..... .
La longitud por defecto es 80.

ABB Automation Products Training Page - 17 ControlBuilder PS501

Ejemplo para una declaracin 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) estn 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 estn calculados desde
El 1 de Enero de 1970, 00:00hrs.

La estructura de un programa

Informacin Bsica sobre el PS501


Los lenguajes de programacin

ABB Automation Products Training Page - 18 ControlBuilder PS501

POUs y tipos de datos


Coming up

La estructura de un programa
Las diferentes libreras

La estructura de un programa (1)


Un proyecto contiene
un amplio rango de

Project
(Proyecto)

Grabado en archivo:
name.pro

P Programm O Organisation U Units

ABB Automation Products Training Page - 19 ControlBuilder PS501

POU

Global variables

Data types

(Variables Globales)

(Tipo de datos)

En la posicin inicial hay un programa


Llamado PLC_PRG (Programa Principal), y
es ejecutado cclicamente

Declaracin
(variables locales)

Codigo

La estructura de un programa (3)

Program PRG

ABB Automation Products Training Page - 20 ControlBuilder PS501

Function FUN

FUN

Function block FB

FB

FUN

PRG

FB

FUN

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

Normas Importantes:
Los POUs llamados siempre vuelven al que llama
(programa y sus mdulos estn enlazados)

ABB Automation Products Training Page - 21 ControlBuilder PS501

Tenga en cuenta el ciclo del programa (cycle time)


Proyectos ejecutados dentro del ciclo han de ser
siempre un programa definido con el nombre
PLC_PRG
Definicin: Segn es Standar IEC 61131-3
PLC_PRG es el nombre de un POU cclico

La estructura de un programa : Llamada de POUs (1)

ABB Automation Products Training Page - 22 ControlBuilder PS501

POU:
Llamada desde el editor

POU:
Llamada desde el programa

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

ABB Automation Products Training Page - 23 ControlBuilder PS501

Llamada de programas
dentro del programa ppal:
PLC_PRG

La estructura de un programa : Las funciones y los operadores


Hay diferentes grupos de operadores:
Asignadores
Operadores Booleanos
Operadores Analgicos
.

Comparadores

ABB Automation Products Training Page - 24 ControlBuilder PS501

Selectores
Operador Real
Operador Shift
Operador

Convertidor de Tipo
Funciones

Su representacin depende del


lenguaje de programacin escogido.
La expresin OPERATOR
no
existe en el Stndar. En el estndar
IEC 61131-3 los operadores estn
definidos bajo funciones estndar.
Pero 3S cre una lista de operadores
para simplificar la operacin:

La estructura de un programa : Las funciones, Bloques de Funciones


Funciones String
LEN LEFT RIGHT MID CONCAT INSERT DELETE REPLACE FIND
Funciones

Deteccin de rampa
R_TRIG
F_TRIG

Detecta rampa positiva


Detecta rampa negativa

ABB Automation Products Training Page - 25 ControlBuilder PS501

Contador
CTU
CTD
CTUD

Incrementa por cada rampa (up- counter)


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

Temporizador
TP
TON
TOF

Pulso
Temporizador Activar con Retraso
Temporizador Desactivar con Retraso
Bloques de Funciones

Las Libreras

Informacin Bsica sobre el PS501


Los lenguajes de programacin

ABB Automation Products Training Page - 26 ControlBuilder PS501

POUs y tipos de datos


La estructura de un programa
Coming up

Las diferentes libreras

ABB Automation Products Training Page - 27 ControlBuilder PS501

Las diferentes libreras: Librera Estandar: p.ej. FB CTUD

ABB Automation Products Training Page - 28 ControlBuilder PS501

Las diferentes libreras: Librera del Fabricante: p.ej. FB PDM

ABB Automation Products Training Page - 29 ControlBuilder PS501

Las diferentes libreras: Librera de usuario

The different libraries: Creando una librera de usuario:


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

resultado

Export

<FUN / FB name> .exp

FUN or FB (click)

2. Abrir un nuevo Proyecto e importe sus FBs o FUNs que quiera cargar en la nueva librera
y Rebuild all:

Importante
ABB Automation Products Training Page - 30 ControlBuilder PS501

Project

> Este proyecto no debe contener una lista de variables globales


> PLC_PRG ha de ser borrado

1:

Import

2:

Rebuild all

resultado

<FUN / FB name> in Object Organizer

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


LIBRARY
Date

guardad como
*.lib , click

resultado

Internal library

Nueva librera en el directorio LIBRARY :


< name>. Lib

Vous aimerez peut-être aussi