lenguajes de programacion con ps501-2
DESCRIPTION
Lenguajes de Programacion Con PS501-2TRANSCRIPT
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
16 -
Contr
olB
uilder P
S501
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
Auto
mation P
roducts
Tra
inin
g P
age -
17 -
Contr
olB
uilder P
S501
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
Auto
mation P
roducts
Tra
inin
g P
age -
18 -
Contr
olB
uilder P
S501
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
Auto
mation P
roducts
Tra
inin
g P
age -
19 -
Contr
olB
uilder P
S501
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), y
es ejecutado cíclicamente
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
20 -
Contr
olB
uilder P
S501
La estructura de un programa (3)
Program PRG
FUN
Function FUN
FB FUN
PRG
FUN FB
Function block FB
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
21 -
Contr
olB
uilder P
S501
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-3
PLC_PRG es el nombre de un POU cíclico
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
22 -
Contr
olB
uilder P
S501
La estructura de un programa : Llamada de POUs (1)
POU:
Llamada desde el editor POU:
Llamada desde el programa
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
23 -
Contr
olB
uilder P
S501
La estructura de un programa : Llamada de POUs (2)
Llamada de programas
dentro del programa ppal:
PLC_PRG
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
24 -
Contr
olB
uilder P
S501
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
Auto
mation P
roducts
Tra
inin
g P
age -
25 -
Contr
olB
uilder P
S501
La estructura de un programa : Las funciones, Bloques de Funciones
Funciones String LEN LEFT RIGHT MID CONCAT INSERT DELETE REPLACE FIND
Detección de rampa R_TRIG Detecta rampa positiva
F_TRIG Detecta rampa negativa
Contador CTU Incrementa por cada rampa (up- counter)
CTD Decrementa por cada rampa (down - counter)
CTUD Incrementa / decrementa en cada rampa (up-/down
counter)
Temporizador TP Pulso
TON Temporizador Activar con Retraso
TOF Temporizador Desactivar con Retraso
Funciones
Bloques de Funciones
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
26 -
Contr
olB
uilder P
S501
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
Auto
mation P
roducts
Tra
inin
g P
age -
27 -
Contr
olB
uilder P
S501
Las diferentes librerías: Librería Estandar: p.ej. FB CTUD
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
28 -
Contr
olB
uilder P
S501
Las diferentes librerías: Librería del Fabricante: p.ej. FB PDM
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
29 -
Contr
olB
uilder P
S501
Las diferentes librerías: Librería de usuario
© A
BB
Auto
mation P
roducts
Tra
inin
g P
age -
30 -
Contr
olB
uilder P
S501
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 borrado Project
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