El siguiente ejemplo muestra cómo transferir el juego de datos con un bloque de función (FB)
a la interfaz PROFINET. En la interfaz del bloque, en "Static", cree una estructura del juego de
datos 0xB072. La siguiente figura muestra la estructura del juego de datos en la sección
"Static".
Figura 6-118 Ejemplo: Interfaz del bloque de función para mantener la relación de comunicación
Además del juego de datos 0xB072, la interfaz contiene otras variables que se utilizan para
transferir el juego de datos. Las variables de la sección "InOut" son necesarias para
parametrizar la instrucción "WRREC" en el bloque de función. La instrucción "WRREC" se
ejecuta al llamar el FB en un bloque de organización (OB1).
Las siguientes secciones muestran el programa del bloque de función y la llamada en el OB de
ciclo de programa.
Programa del bloque de función
El juego de datos se transfiere con una señal positiva en la variable "#bStart". Los parámetros
para las variables "#wBehaviorProperties", "#bStart" y "#InterfaceID" se transfieren al bloque
de función cuando se produce la llamada en el OB de ciclo de programa.
//==========================================================
// Called in OB1
//==========================================================
#statArRecord.statBehaviorProperties := #wBehaviorProperties;
#instWrrec(REQ := #bStart,
ID := #InterfaceID,
INDEX := DWORD_TO_DINT(16#B072),
LEN := 12, // 0 : any length,
this record uses 12 Bytes,
RECORD := #statArRecord);
IF #instWrrec.ERROR THEN
RETURN; // add error handling
END_IF;
IF #instWrrec.DONE = TRUE THEN
#bStart := FALSE;
END_IF;
PROFINET con STEP 7
Manual de funciones, 11/2022, A5E03444489-AM
6.14 Manejo de los rebasamientos del límite de tiempo durante el intercambio de datos
Funciones
281