Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FB OB - Progr - Estructurada PDF
FB OB - Progr - Estructurada PDF
1. STEP 7
PLC’s
Página 1
Curso 2009/10
Introducción
Facilita modularidad del programa, y clarifica su organización y análisis
Permite generar funciones reutilizables y no repetir código
Simplifica el test y la puesta en servicio
FC FB
OB1
Sistema
operativo
FB FC
SFC
SFB
Otros
PLC’s
Curso 2009/10 OBs Página 2
Introducción
OB 1 FB1 FB10
Motor 1 Controlador
Modularización de tareas:
. . .
– Las tareas parciales se solucionan
con sus propios módulos FB2 FC 5 SFC
– La asignación de parámetros Valor Copia
Válvulas límite
flexibiliza la programación
• Ejemplo: Ciclo de taladro con
DB 2
profundidad asignable por OB 1 FB 1
parámetro Direc. Decl. Nombre Tipo
0.0 in Marcha BOOL
. 0.1 in Paro BOOL
Reutilización de los Módulos: .
2.0
4.0
out
out
Motor_on
Velocidad
BOOL
INT
– Los Módulos pueden llamarse CALL FB1, DB2
6.0
0.0
stat
temp
Veloc_ant
Calc_1
INT
INT
tantas veces como se necesite Marcha :=E 0.0
.
Paro :=E 0.1
– Restricciones: Motor_on :=A12.0
.
.
Velocidad :=AW14 U #Marcha
• no se tiene acceso a UN #Paro
.
direcciones globales .
=
.
#Motor_on
PLC’s
Página 3
Curso 2009/10
Introducción
PLC’s
Página 4
Curso 2009/10
Introducción
absoluto simbólico
Acceso
PLC’s
Página 5
Curso 2009/10
Introducción
• Parámetros de Entrada (IN) solo en FBs, FCs, SFBs y SFCs
Con ayuda de los parámetros de entrada se pueden asignar datos necesarios para el
procesamiento del bloque.
PLC’s
Página 6
Curso 2009/10
Introducción
Dir. Decl. Nombre Tipo Valor inicial ...
0.0 in Marcha BOOL FALSE
0.1 in Paro BOOL TRUE
Los parámetros son canales para 2.0 in Velocidad INT 0
transferir información: 2.0 out Motor_on BOOL FALSE
– Parámetros de Entrada (In): 8.0 out Consigna INT 0
– Parámetros de Salida (Out): 10.0 inout EMER_OFF BOOL FALSE
... stat ... ... ...
– Parámetros E/S (In/Out):
... temp .. ... ...
PLC’s
Página 7
Curso 2009/10
Bloques de organización
• Los OBs son llamados cíclicamente por el sistema operativo. Nunca por otro
módulo lógico . Un OB puede ser interrumpido por otro OB de mayor prioridad.
PLC’s
Página 8
Curso 2009/10
Bloques de organización
Arranque
OB 100
OB 101
OB 102
PLC’s
Página 9
Curso 2009/10
Bloques de organización
Rearranque Completo
automatico manual
Habilitación de Salidas
C Lectura de la PAE
I
C Ejecución del OB1
L
O
Escritura de la PAA
PLC’s
Página 11
Curso 2009/10
Funciones
• Las Funciones son módulos de código que se ejecutan al ser llamadas desde otro
módulo.
• Cuando se la llama, la función actúa como una subrutina del programa. Cuando
termina de ejecutar su código, el control se devuelve al módulo y al segmento desde el
cual fue llamada.
Programa Principal OB1 Módulo Subrutina FC
Ejecución
del programa
Ejecución del
Instrucción que llama Programa
a otro módulo
fin de bloque
PLC’s
Página 12
Curso 2009/10
Funciones
Módulos parametrizables:
– tantos parámetros de entrada,
salida, y entrada/salida como se Function FC10
necesiten. in On_1 BOOL
Ejecución in On_2 BOOL
– sin memoria, p.e. sólo variables del programa out Off BOOL
...
temporales
CALL FC 10
– sin acceso a variables globales y On_1 := E 0.1 ...
direcciones absolutas On_2 :=
Off :=
E 0.2
A8.0
U
U
#On_1
#On_2
= #Off
– con los mismos parámetros de ...
entrada devuelven el mismo
resultado
– Amplían el juego de
instrucciones del procesador
PLC’s
Página 13
Curso 2009/10
Funciones: sin parámetros
PLC’s
Página 14
Curso 2009/10
Funciones: con parámetros
• Los parámetros actuales serán los que se transfieran desde el bloque actual a la
función, siendo estos valores asignados a los parámetros formales de la FC para
que trabaje con ellos
• Ejemplos:
PLC’s
Página 16
Curso 2009/10
Funciones
Instrucción CALL
– El tiempo de procesamiento para CALL depende del número y la posición de
memoria de los parámetros actuales
– La instrucción CALL asegura que los parámetros de módulo son provistos
correctamente con datos actuales
– Ejemplo:
• CALL FC10
On_1 := E 0.1
On_2 := E 0.2
Off := A 8.0
Instrucción de llamada UC y CC
– Llamada a módulo independiente del RLO (UC) o dependiente del RLO (CC)
• Ejemplos: UC FC20 ó CC FC20
– Sólo se pueden usar cuando la FC no tiene parámetros
PLC’s
Página 17
Curso 2009/10
Bloques de función
PLC’s
Página 18
Curso 2009/10
Bloques de función
PLC’s
Página 20
Curso 2009/10
Bloques de función
PLC’s
Página 21
Curso 2009/10
Bloques de datos
PLC’s
Página 22
Curso 2009/10
Bloques de datos globales
• Tras la creación de un DB, éste debe ser definido (rellenado) con las variables que se desee.
– Tipo de variables:
• Simple (bool, byte, entero, palabra, doble palabra).
• Compuesto (STRING, DATE_AND_TIME, ARRAY).
• Estructuras.
• Acceso: L DB8
U DB8.DBX3.0 lleva implícito AUF DB8
T DB7.DBW3 lleva implícito AUF DB7
U DB6.DBD4 lleva implícito AUF DB6
• Los DB permiten la asignación de simbólicos.
PLC’s
Página 23
Curso 2009/10
Bloques de datos globales
DB 99 "Valores" Acceso Acceso Total
Tradicional
Dir. Nombre Tipo absoluto simbólico
0.0 Estado BOOL AUF "Valores"
o U DB99.DBX0.0 o U “Valores".Estado
U DBX 0.0
1.0 Estados BYTE
AUF DB 99
8.0 Peso[2] REAL o L DB99.DBD4 o L "Valores".Peso[1]
L DBD 8
PLC’s
Página 24
Curso 2009/10
Bloques de datos globales
PLC’s
Página 25
Curso 2009/10
Bloques de datos de instancia
CALL FB22,DB202
CALL FB22,DB203
PLC’s
Página 26
Curso 2009/10
Resumen
FC FB
Len-
guaje Sin parámetros Con parámetros sin param., sin DB inst. Con param., con DB inst.
FC1
( CALL ) DB3
FC2 FB1 FB2
FC1 EN ENO
KOP EN ENO EN ENO
EN ENO
Par1 Par1
Par3 Par2 Par3
Par2
DB3
FC2 FB1 FB2
EN Par3
PLC’s EN EN Par3
Página 27
Curso 2009/10 Par1 Par1
ENO
Par2 ENO Par2
ENO
EJERCICIO (Entregable 7)
PLC’s
Página 28
Curso 2009/10
EJERCICIO (Entregable 7)
PLC’s
Página 29
Curso 2009/10