ACOS

Arcocoseno

ACOS calcola l'arcocoseno della variabile di ingresso e scrive i dati dell'angolo, espressi in radianti, nella variabile di uscita. La funzione restituisce un valore compreso tra 0,0 e π.

Parametri

Ingresso

Unnamed input (REAL, LREAL)

Valore di ingresso compreso tra -1 e +1

Uscita

Unnamed output (REAL, LREAL)

Uscita come ingresso: arcocoseno del valore di ingresso in radianti

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)

se la variabile di ingresso non presenta il tipo di dato REAL, LREAL o se la variabile di ingresso non è ³-1,0 e £1,0

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)

se la variabile di ingresso non presenta il tipo di dato REAL, LREAL o se la variabile di ingresso non è ³-1,0 e £1,0

sys_bIsEqual (passa a TRUE e resta TRUE)

se la variabile di uscita è zero

sys_bIsCarry (passa a TRUE e resta TRUE)

se il risultato dell'elaborazione di programma eccede la variabile di uscita (overflow)

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	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

In questo esempio vengono utilizzate variabili. Potete anche utilizzare una costante per la variabile di ingresso.

Corpo LD

L'arcocoseno di input_value viene calcolato e scritto in 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

Corpo ST

output_value:=ACOS(input_value);

Corpo IL

LD

input_value

ACOS

ST

output_value

L'ultima revisione: 2024-03-15Feedback su questa paginaPanasonic hotline