© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
1 -
04/2
0/23
/ V
2
Insert image here
Control builderPS501
IEC 61131-3
Advant Controller 500 (AC500)
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
2 -
Con
trol
Bui
lder
PS
501
Información Básica sobre el PS501
Los lenguajes de programación
POUs y tipos de datos
La estructura de un programa
Las diferentes librerías
El Control Builder PS501
Empecemos
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
3 -
Con
trol
Bui
lder
PS
501
PS501 cumple con la IEC 6 1131-3. Este estándar internacional define:
- la estructura de un programa, - la declaración de datos - la sintaxis y semántica de 5 lenguajes de programacióndiferentes:
Información Básica sobre el PS501
Instruction List (IL) – Lista de InstruccionesStructured text (ST) – Texto estructuradoFunction 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
ion
Pro
duct
s T
rain
ing
Pag
e -
4 -
Con
trol
Bui
lder
PS
501
El software de programación PS501 está basado en CoDeSys
para:Programar,Testeo,Depuración,Ingeniería,Documentación
de programas para el AC500 - Hardware por ABB.
Información Básica sobre el PS501
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
5 -
Con
trol
Bui
lder
PS
501
CoDeSys es un producto de la empresa3S - Smart Software Solutions GmbH
Información Básica sobre el PS501
Some 3S - customers Some 3S - customers
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
6 -
Con
trol
Bui
lder
PS
501
Información Básica sobre el PS501
Los lenguajes de programación
POUs y tipos de datos
La estructura de un programa
Las diferentes librerías
Los lenguajes de programación
Coming up
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
7 -
Con
trol
Bui
lder
PS
501
Los lenguajes de programación: Lista de Instrucciones IL
En textoLenguaje AssemblerLos operadores funcionan con un registro especial (accumulator, LD, ST)
Los programas pequeños son muy fáciles de entender
No soporta programación estructurada
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
8 -
Con
trol
Bui
lder
PS
501
Los lenguajes de programación: Texto Estructurado ST
•Lenguaje tipo Texto
•Lenguaje de alto nivel: similar al PASCAL
•De todos los lenguajes es el más
adaptable para programación condicional
y programas tipo „loops“ (espiral)
•Es pposible programacíones muy
potentes:
•Escriba sus propias funciones o Bloques
de Funciones en texto estructurado muy
pòtente y llámelos desde un programa
escrito en FBD, CFC o LD
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
9 -
Con
trol
Bui
lder
PS
501
Los lenguajes de programación: Function Block Biagram FBD
•Lenguaje gráfico
•Fácil de entender
•Estructura determinada para bloques y operadores
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
10
-C
ontr
olB
uild
er P
S50
1
Los lenguajes de programación: Continuous function chart CFC
•Lenguaje gráfico, similar al FBD
•Fácil de entender
•Libre estructura para bloques y operadores
•El retorno puede conectarse diréctamente
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
11
-C
ontr
olB
uild
er P
S50
1
Los lenguajes de programación: Ladder diagram LD (contactos)
Lenguaje gráfico, orientado a redes
Disponible en casi todos los sistemas de PLCs
Especialmente adaptado para programar en términos booleanos
Menos adaptable para programas complicados
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
12
-C
ontr
olB
uild
er P
S50
1
Los lenguajes de programación: SFC (Sequencial Function Chart)
Este programa esta formado de Pasos
SFC no puede reemplazar otros lenguajes.
Lenguaje gráfico, consigue un programa muy bien estructurado
Contiene Pasos y Transiciones
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
13
-C
ontr
olB
uild
er P
S50
1
Información Básica sobre el PS501
Los lenguajes de programación
POUs y tipos de datos
La estructura de un programa
Las diferentes librerías
Los POUs y tipos de datos
Coming up
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
14
-C
ontr
olB
uild
er P
S50
1
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 líneas de programa, la cual puede ser llamada por otro POU
La programación se puede elaborar en uno de los cinco lenguajesde programación
El POU reservado PLC_PRG arranca cíclicamente por el propio sistema
Los datos pueden ser validados localmente o globalmente y puedenSer declarados a priori, programados en una tabla o automáticamente mientras se está programando.
Direcciones, POUs y Tipos de datos: Introducción
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
15
-C
ontr
olB
uild
er P
S50
1
Función: FUN Entrada, un resultado, no memoria.
Ejemplo: operador AND (todos los operadores)
Bloque de Función: FB Entradas, Salidas, memoria. Es posible crear diferentes instancias (copias) de un Bloque
de FunciónEjemplo: TON (ON retrasado))
Programa: PRG Como un Bloque de Función, pero sólo una instancia global.
Ejemplo: Un programa llama a otro.
Direcciones, POUs y Tipo de Datos: El Program Organization Units
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
16
-C
ontr
olB
uild
er P
S50
1
Direcciones, POUs y Tipo de Datos: Tipos de datos Estándar (1)
Bool: TRUE o FALSE
Datos tipo Integer (Enteros):
Tipo Límite Inferior Límite Superior
Memoria Requerida
BYTE 0 255 8 bit
WORD 0 65535 16 bit
DWORD 0 4294967295 32 bit
SINT -128 127 8 bit
USINT 0 255 8 bit
INT -32768 32767 16 bit
UINT 0 65535 16 bit
DINT -2147483648 2147483647 32 bit
UDINT 0 4294967295 32 bit
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
17
-C
ontr
olB
uild
er P
S50
1
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: 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 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
El 1 de Enero de 1970, 00:00hrs.
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
18
-C
ontr
olB
uild
er P
S50
1
Información Básica sobre el PS501
Los lenguajes de programación
POUs y tipos de datos
La estructura de un programa
Las diferentes librerías
La estructura de un programa
Coming up
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
19
-C
ontr
olB
uild
er P
S50
1
Project(Proyecto)
POU Global variables(Variables Globales)
Data types(Tipo de datos)
Declaración(variables locales) Codigo
La estructura de un programa (1)
Grabado en archivo:name.pro
Un proyecto contiene un amplio rango de
P Programm -O Organisation -U Units
En la posición inicial hay un programa Llamado PLC_PRG (Programa Principal), yes ejecutado cíclicamente
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
20
-C
ontr
olB
uild
er P
S50
1
La estructura de un programa (3)
Program PRG
FUN
Function FUN
FB FUN
PRG
FUNFB
Function block FB
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
21
-C
ontr
olB
uild
er P
S50
1
Normas Importantes:
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)
Proyectos ejecutados dentro del ciclo han de ser siempre un programa definido con el nombre PLC_PRG
La estructura de un programa : Normas para escribir un programa de usuario
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
s T
rain
ing
Pag
e -
22
-C
ontr
olB
uild
er P
S50
1
La estructura de un programa : Llamada de POUs (1)
POU:Llamada desde el editor
POU:Llamada desde el programa
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
23
-C
ontr
olB
uild
er P
S50
1
La estructura de un programa : Llamada de POUs (2)
Llamada de programas dentro del programa ppal:
PLC_PRG
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
24
-C
ontr
olB
uild
er P
S50
1
La estructura de un programa : Las funciones y los operadores
Asignadores
Operadores Booleanos
Operadores Analógicos.
Comparadores
Selectores
Operador Real
Operador Shift
Convertidor de Tipo
Su representación depende del lenguaje de programación escogido. La expresión OPERATOR no 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 para simplificar la operación:
Hay diferentes grupos de operadores:
Operador
Funciones
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
25
-C
ontr
olB
uild
er P
S50
1
La estructura de un programa : Las funciones, Bloques de Funciones
Funciones String LEN LEFT RIGHT MID CONCAT INSERT DELETE REPLACE FIND
Detección de rampaR_TRIG Detecta rampa positivaF_TRIG Detecta rampa negativa
ContadorCTU Incrementa por cada rampa (up- counter)CTD Decrementa por cada rampa (down - counter)CTUD Incrementa / decrementa en cada rampa (up-/down
counter)TemporizadorTP PulsoTON Temporizador Activar con RetrasoTOF Temporizador Desactivar con Retraso
Funciones
Bloques de Funciones
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
26
-C
ontr
olB
uild
er P
S50
1
Información Básica sobre el PS501
Los lenguajes de programación
POUs y tipos de datos
La estructura de un programa
Las diferentes librerías
Las Librerías
Coming up
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
27
-C
ontr
olB
uild
er P
S50
1
Las diferentes librerías: Librería Estandar: p.ej. FB CTUD
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
28
-C
ontr
olB
uild
er P
S50
1
Las diferentes librerías: Librería del Fabricante: p.ej. FB PDM
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
29
-C
ontr
olB
uild
er P
S50
1
Las diferentes librerías: Librería de usuario
© A
BB
Aut
omat
ion
Pro
duct
s T
rain
ing
Pag
e -
30
-C
ontr
olB
uild
er P
S50
1
The different libraries: Creando una librería de usuario:
1. Crear el FB o FUN : programe, compile, testee y exporte:
2. Abrir un nuevo Proyecto e importe sus FBs o FUNs que quiera cargar en la nueva librería y „Rebuild all“:
<FUN / FB name> .exp
> Este proyecto no debe contener una lista de variables globales
> PLC_PRG ha de ser borradoProject
1: Import
2: Rebuild all
<FUN / FB name> in Object Organizer
3. Guarde este proyecto con un nuevo nombre (nombre de la librería) en el directorio LIBRARY
Date
guardad como
*.lib , click
„ Internal library“
Nueva librería en el directorio LIBRARY :
< name>. Lib
Project
Export
FUN or FB (click)
Importante
resultado
resultado
resultado
Top Related