Post on 06-Feb-2021
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
1©
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
1©
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
1©
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
1©
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
1©
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
1©
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
1©
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
1©
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
1©
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