FP_RESET_BIT

Mise à l’état 0 du bit

Cette instruction FP met à l’état 0 le bit spécifié par n_Pos, la position du bit des données spécifiées par d, lorsque le déclencheur EN est TRUE. Les bits autres que le bit spécifié ne changent pas. L’intervalle de n_Pos est 0–15.

Paramètres

Entrée

n_Pos (INT)

Position du bit à réinitialiser (intervalle autorisé : 0–15)

Entrée/sortie

d (WORD)

Zone de données 16 bits

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.
sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

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
		bReset: BOOL:=FALSE;
			(*activates the function*)
		iValue: INT:=2;
			(*bit position*)
		wWord: WORD:=2#10101;
			(*result after a 0->1 leading
edge from start: 2#10001*)
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable bReset est sur TRUE. Le bit en position 2 est réinitialisé sur 0.

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 := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bSet,3,1,5,3,);
B(B_VARIN,,iValue,7,2,9,4,);
B(B_VAROUT,,wWord,15,2,17,4,);
B(B_F,FP_RESET_BIT!,,9,0,15,4,,?DEN?Dn?AENO?Cd);
L(5,2,9,2);
L(1,2,3,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF bReset then
    FP_RESET_BIT( n:= iValue,
         d=> wWord);
END_IF;

Modifié le : 2020-10-23Commentaires sur cette pageAssistance téléphonique