FP_PID_BASIC

Processus PID

Cette instruction FP est utilisée pour réguler un processus (le chauffage, par ex.) en fonction de la valeur mesurée (la température, par ex.) et d’une valeur de sortie prédéterminée (20°C, par ex.).

Paramètres

Entrée/sortie

s_PidDut (PID_DUT_31)

Pour en savoir plus sur les paramètres, voir : PID_DUT_31

Remarques

La fonction calcule un algorithme PID dont les paramètres déterminés dans un tableau de données (ARRAY) de 30 éléments sont transmis en entrée s_PidDut.

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)

Si les paramètres sont en dehors de l’intervalle autorisé.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)

Si les paramètres sont en dehors de l’intervalle autorisé.

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
		Automatic: BOOL:=TRUE;
		PidDut: PID_DUT_31;
	END_VAR

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,,Automatic,14,1,16,3,);
B(B_VARIN,,PidDut,14,2,16,4,);
B(B_F,FP_PID_BASIC!,,16,0,25,4,,?DEN?Ds_PidDut?As_PidDut?AENO);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF (Automatic) then
    FP_PID_BASIC(s_PidDut := s_PidDut);
END_IF;

Modifié le : 2022-07-06Commentaires sur cette pageAssistance téléphonique