Ejemplo
.
.
.
.
.
.
.
.
.
Los circuitos del esquema de contactos arriba representados son elementos del programa de un
bloque de función escrito por el usuario. En este bloque de función se abre DB10 y se activa el
MCR. Al ejecutarse la llamada absoluta al SFB8 sucede lo siguiente:
Se memorizan la dirección de retorno del bloque de función que efectúa la llamada, los datos
seleccionados para el DB10 y los datos para el bloque de datos de instancia pertenciente al
bloque de función que efectúa la llamada. El bit MA que fue puesto a "1" por la función MCRA se
desplaza a la pila BSTACK y seguidamente puesto a "0" para el SFB8 llamado. La ejecución del
programa continúa en SFB8. Una vez finalizada la ejecución de SFB8, el programa vuelve al
bloque de función que efectúa la llamada. El bit MA se restablece y el bloque de datos de instancia
pertenciente al bloque de función escrito por el usuario se vuelve a convertir en el DB de instancia
actual. Si el SFB8 es ejecutado correctamente, ENO es 1 y, por tanto, A4.0 es 1.
Nota
El número del bloque de datos abierto anteriormente se pierde al llamar FB/SFB. Habrá que volver
a abrir el DB que se necesite.
Esquema de contactos (KOP) para S7-300 y S7-400
Manual de referencia, 04/2017, A5E41654719-AA
DB 8
SFB 8
EN
M11.0
REQ
ID
ERROR
R_ID
STATUS
DW12
SD_1
DW14
SD_2
DW16
SD_3
SD_4
10.6 CALL_SFC
DB10
OPN
MCRA
A 4.0
ENO
DONE
READY
M10.0
CODE
DB10
OPN
Operaciones de control del programa
Llamar a una SFC desde un cuadro
123