Obtener offset de dirección de E/S
Estas instrucciones FP obtienen el offset de inicio de una dirección de E/S del slot especificado por s_Slot y guarda el resultado en d.
Entrada
Número de slot: 0–64
Salida
Offset para la primera dirección de E/S válida
Recomendamos utilizar FP_GET_UNIT_OFFSETS1 para obtener todos los offsets de DIX, DIY y DI2 de un modo estandarizado que permita acceder a todas las memorias relevantes de una unidad.
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
VAR
bStart: BOOL:=FALSE;
diOffset: DINT:=0;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,FP_GET_IO_START_OFFSET!,,8,1,22,5,,?DEN?Ds_Slot?AENO?Cd);
B(B_VARIN,,4,6,3,8,5,);
B(B_VAROUT,,diOffset,22,3,24,5,);
B(B_CONTACT,,bStart,3,2,5,4,);
L(1,3,3,3);
L(5,3,8,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStart) then
FP_GET_IO_START_OFFSET(s_Slot :=4, d => diOffset);
END_IF;