ACOS

Arc cosinus

La fonction ACOS calcule l’arc cosinus de la variable d’entrée et écrit les données de l’angle en radians dans la variable de sortie. La valeur calculée est située entre 0,0 et π.

Paramètres

Entrée

Unnamed input (REAL, LREAL)

Valeur d’entrée entre -1 et +1

Sortie

Unnamed output (REAL, LREAL)

Sortie comme entrée : l'arc cosinus de la valeur d'entrée en radians

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)

Si la variable d’entrée n’est pas du type de données REAL, LREAL ou si la variable d’entrée n’est pas ³-1,0 et £1,0

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)

Si la variable d’entrée n’est pas du type de données REAL, LREAL ou si la variable d’entrée n’est pas ³-1,0 et £1,0

sys_bIsEqual (passe à TRUE et reste TRUE)

Si la variable de sortie est = 0.

sys_bIsCarry (passe à TRUE et reste TRUE)

Si le résultat du traitement est supérieur à la variable de sortie

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
		start: BOOL:=FALSE;
			(*activates the function*)
		input_value: REAL:=0.5;
		output_value: REAL:=0.0;
			(*result after a 0->1 leading
edge from start: 1.047198
corresponds to 60° (PI/3)*)
	END_VAR

Cet exemple utilise des variables. Vous pouvez également utiliser une constante pour la variable d’entrée.

Corps en LD

L’arc cosinus de la valeur d’entrée (input_value) est calculé et écrit dans la valeur de sortie (output_value).

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,ACOS!,Instance,9,2,14,4,,?D?C);
B(B_VARIN,,input_value,7,2,9,4,);
B(B_VAROUT,,output_value,14,2,16,4,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

output_value:=ACOS(input_value);

Corps en IL

LD

input_value

ACOS

ST

output_value

Modifié le : 2024-03-15Commentaires sur cette pageAssistance téléphonique