FP_GET_UNIT_ID

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

iSlot (WORD, INT, UINT)

Numéro de connecteur du module d’extension

Sortie

wUnitId (WORD, INT, UINT)

ID du module d’extension, par ex. SYS_UNIT_AFP7X16DW

Remarques

Avant d’utiliser cette instruction, veuillez re-compiler votre programme API et le transférer avec En ligne > Transférer code programme et configuration API dans l’API... 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.

Exemple

En-tête du POU

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

Corps du POU

La fonction est exécutée lorsque la variable bStart est définie sur TRUE.

Corps en LD

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

Corps en ST

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;

Modifié le : 2021-08-09Commentaires sur cette pageAssistance téléphonique