(Microsoft PowerPoint - Intro. a los Bloques de Función (FB).htm)

Anuncio
Introducción a los Bloques de Función (FB)
Automation & Drives
Business Unit
Contenido de la Presentación
2
Ventajas del ST (Texto Estructurado) o Ladder
Editor de Bloques de Función
Texto Estructurado
Tipos de Datos
Edición de Bloques de Función
Online
Programación Estructurada
Re-utilizar
Preguntas frecuentes
1
¿Por qué Bloques de Función?
3
Un programa creado con FBs, muestra una mejor calidad
de diseño y requiere menos tiempo de desarrollo.
Código de programa Re-utilizado
Programar sólo una vez una función/proceso que se repite
Re-utilizar el FB una y otra vez
Mejor vista/presentación del programa del PLC
El programa es más fácil de leer
Se reduce el código de programa
Se reducen posibles errores de código
¿Por qué Bloques de Función?
4
2
Bloques de Función ≠ Diagramas de Bloques de Función
5
FB (Funcion Block):
Programa con funcionalidad propia en
Texto Estructurado o Ladder
EN
Ladder
o
Texto
Estructurado
ENO
FBD (Funcion Block Diagram):
Lenguaje Gráfico para Ladder
&
Ejemplo de FB vs. llamada a FB
Instancia de
Bloque de Función
6
Llamada a Bloque
de Función
3
Ventajas del Texto Estructurado vs Ladder
7
Texto Estructurado
– El Texto Estructurado es un lenguaje de alto nivel de
propósito general, para expresar diferentes tipos de
comportamiento en los que están implicados diferentes
tipos de datos.
– Es particularmente utilizado para cálculos aritméticos
complejos.
Ladder
– Operaciones lógicas (operaciones AND y OR)
Editor de “definición de Bloques de Función”
8
Editor de Texto
Estructurado
Editor de
Ladder
4
Editor de Bloques de Función
9
Ejemplo de Texto
Estructurado
Ejemplo de
Ladder
Editor de Bloques de Función
1
10
Seleccionar un PLC, e Insertar Bloque de Función
o
5
Crear un Bloque de Función – Insertar una variable 1/2
2
Seleccionar la cabecera de FB
3
Insertar variables de FB:
– Insertar -> FB_Variable
– O botón drcho. del ratón
Crear un Bloque de Función – Insertar variable 2/2
4 Introducir el nombre
5
Seleccionar tipo de dato
6
Seleccionar Uso:
– Interno
– Entrada
– Salida
11
12
6
Crear un Bloque de Función – Variables como array
13
7.1 Seleccionar uso Interno / Avanzado
7.2 Uso de una variable array
Renombrar un Bloque de Función
1.
2.
3.
14
Seleccionar el FB
Botón derecho del ratón
Elegir nuevo nombre
Si existe ya una llamada del FB que
se quiere renombrar, aparecerá
como aviso el siguiente diálogo.
7
Renombrar una llamada a un Bloque de Función
15
Renombrar el FB
en la lista de
símbolos
Re-utilización
Guardar FB en archivo (*.cxf)
Añadir Bloques de Función
desde archivo
16
8
Texto Estructurado 1/3
Palabras reservadas/ Sintaxis soportada:
–
–
–
–
–
–
TRUE, FALSE.
IF, THEN, ELSE, ELSEIF, END_IF.
DO, WHILE, END_WHILE.
REPEAT, UNTIL, END_REPEAT.
FOR, TO, BY, END_FOR.
CASE, OF, ELSE, END_CASE.
Texto Estructurado 2/3
18
Funciones matemáticas soportadas:
–
–
–
–
17
Suma (+)
Resta (-)
Multiplicación (*)
División (/)
Funciones de bit soportadas:
–
–
–
–
Bitwise AND (AND o &)
Bitwise OR (OR)
OR Exclusiva OR (XOR)
NOT (NOT)
9
Texto Estructurado 3/3
19
Operadores soportados:
–
–
–
–
–
–
–
–
–
Parentesis (brackets ())
Índice de Matriz (square brackets [ ] )
Operador de Asignación (:=)
O. de Comparación Menor Que (<)
O. de Comparación Menor o Igual Que (<=)
O. de Comparación Mayor Que (>)
O. de Comparación Mayor o Igual Que (>=)
O. de Comparación Igual (=)
O. de Comparación Distinto Que (<>)
Ejemplo de Texto Estructurado
20
IF A=B THEN;
A_is_B := TRUE;
A_greater_then_B:=FALSE;
B_greater_then_A:=FALSE;
ELSIF A>B THEN;
A_is_B := FALSE;
A_greater_then_B:=TRUE;
B_greater_then_A:=FALSE;
ELSIF B>A THEN;
A_is_B := FALSE;
A_greater_then_B:=FALSE;
B_greater_then_A:=TRUE;
END_IF;
10
Tipo de Datos
21
Keyword
Data type
BOOL
Boolean
No. of bits
1
INT
Integer
16
UINT
Unsigned Integer
16
DINT
Double Integer
32
UDINT
Unsigned Double Integer
32
LINT
Long Integer
64
ULINT
Unsigned Long Integer
64
WORD
Bit String of 16 Bits
16
DWORD
Bit String of 32 Bits
32
LWORD
Bit String of 64 Bits
64
REAL
Real Number
32
LREAL
Long Real Number
64
Online 1/2
Es posible editar contactos, bobinas o instrucciones.
Es posible editar los símbolos o direcciones conectados a los terminales
de entrada y salida de una llamada de FB.
Es posible borrar la llamada de FB durante la edición online.
Es posible añadir una nueva llamada de FB si la instancia de FB ya
existe.
No es posible borrar un instancia de FB si existen llamadas de FB.
No es posible añadir una nueva instancia de FB durante la edición
online.
No es posible editar dentro del FB.
22
11
Online 2/2
Monitorización
23
– Variables internas.
– Flujo de alimentación
Monitorizació
Monitorización OnOn-line – Ventana de Vigilancia
24
Seleccionar el PLC
Seleccionar el nombre y dirección
Utilizar [i] para el índice de
la variable array interna
12
Monitorizació
Monitorización OnOn-line – Herramienta de Trazado
25
Capaz de
seleccionar
variables FB
Programación Estructurada
26
Crear un Bloque de Función en 7 pasos:
1.
2.
3.
4.
5.
6.
7.
Considerar si un FB es necesario y útil
Definir las Entradas
Definir las Salidas
Definir las Variables Internas
Decidir si utilizar Ladder o Texto Estructurado
Programar el Bloque de Función (FBD)
Compilar/Testear el bloque de función
13
Administrador de Mem. – Asignación de Memoria FB
27
Administrador de Mem. – Estadísticas de Memoria FB
28
14
Precauciones en la estructura del programa
29
No insertar ramas a la
izquierda de la instancia
Sólo una instancia por red
No interconectar Bloques
de Función
FIN
Automation & Drives
Business Unit
15
Descargar