Ejemplo
.
.
.
.
.
.
.
.
.
DBDW12
.
.
.
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 se abre DB10 y se activa el MCR. Si se
ejecuta la llamada absoluta a la SFC20 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 perteneciente al
bloque de función que efectúa la llamada. El bit MA que fue puesto a "1" por la operación MCRA
se desplaza a la pila BSTACK y seguidamente es puesto a "0" para el bloque SFC20 que se ha
llamado. La ejecución del programa continúa en SFC20. Una vez finalizada la ejecución de la
SFC20, el programa vuelve al bloque de función que efectúa la llamada. El bit MA se restablece.
Una vez finalizada la ejecución de la SFC20 el programa continúa, en función de cuál sea la señal
en ENO, en el FB que efectúa la llamada:
ENO = 1
ENO = 0
Nota
Después de retornar al bloque que efectúa la llamada puede ocurrir que el DB que se había
abierto anteriormente ahora ya no esté abierto. Sírvase tener en cuenta la indicación al respecto
en el archivo README.
Esquema de contactos (KOP) para S7-300 y S7-400
Manual de referencia, 04/2017, A5E41654719-AA
SFC20
EN
SRCBLK RET_VAL
DSTBLK
A 4.0 = 1
A 4.0 = 0
10.6 CALL_SFC
DB10
OPN
MCRA
A 4.0
ENO
MW10
MOTOR.SPEED
Operaciones de control del programa
Llamar a una SFC desde un cuadro
125