Renvoyer l’ID du module d’extension d’un connecteur spécifié
Cette instruction FP renvoie l’ID du module d’extension du numéro de connecteur spécifié par iSlot. L’ID du module qui se trouve dans Configuration des modules et affectation des E/S est écrite vers la variable de sortie wUnitId, et peut être comparée avec une variable système du groupe Constantes de modules d’API.
Entrée
Numéro de connecteur du module d’extension
Sortie
ID du module d’extension, par ex. SYS_UNIT_AFP7X16DW
Avant d’utiliser cette instruction, veuillez re-compiler votre programme API et le transférer avec
vers l’automate. Cela permet d’éviter qu’une ID de module incorrecte soit renvoyée si la configuration du module a été modifiée.Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
bStart: BOOL:=FALSE;
iSlot: INT:=1;
wModelCode: WORD:=0;
bIsInputUnit_16Points_AttachedToSlot: BOOL:=FALSE;
@'': @'';
END_VAR
La fonction est exécutée lorsque la variable bStart est définie sur TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_VARIN,,iSlot,10,2,12,4,);
B(B_VAROUT,,wModelCode,21,2,23,4,);
B(B_CONTACT,,bStart,5,1,7,3,);
B(B_F,FP_GET_UNIT_ID!,,12,0,21,4,,?DEN?DiSlot?AENO?CwUnitId);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 3 ;
NETWORK_BODY
B(B_F,@EQ-2!,,12,0,17,3,,?D?D?C);
B(B_VARIN,,wModelCode,10,0,12,2,);
B(B_VARIN,,SYS_UNIT_AFP7X16DW,10,1,12,3,);
B(B_VAROUT,,bIsInputUnit_16Points_AttachedToSlot,17,0,19,2,);
L(1,0,1,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStart) THEN
FP_GET_UNIT_ID(iSlot := iSlot, wUnitId => wModelCode);
END_IF;
IF wModelCode = SYS_UNIT_AFP7X16DW THEN
bIsInputUnit_16Points_AttachedToSlot:= TRUE;
END_IF;