ASIN

Arkussinus

ASIN berechnet den Arkussinus der Eingangsvariable und schreibt den Winkel im Bogenmaß in die Ausgangsvariable. Die Funktion liefert einen Wert von - π/2 bis π/2.

Parameter

Eingang

Unnamed input (REAL, LREAL)

Eingangswert zwischen -1 und +1

Ausgang

Unnamed output (REAL, LREAL)

Ausgang wie Eingang: Arkussinus des Eingangswerts im Bogenmaß

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)

wenn die Eingangsvariable nicht vom Datentyp REAL, LREAL oder nicht ³ -1,0 und £ 1,0 ist

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)

wenn die Eingangsvariable nicht vom Datentyp REAL, LREAL oder nicht ³ -1,0 und £ 1,0 ist

sys_bIsEqual (wird auf TRUE gesetzt und bleibt TRUE)

wenn die Ausgangsvariable Null ist

sys_bIsCarry (wird für einen Zyklus auf TRUE gesetzt)

wenn das Ergebnis zum Überlauf der Ausgangsvariablen führt

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

VAR
		input_value: REAL:=0.0;
			(*range -1 to 1*)
		output_value: REAL:=0.0;
			(*angle data radians -Pi/2 to Pi/2*)
	END_VAR

In diesem Beispiel werden Variablen verwendet. Für die Eingangsvariable kann auch eine Konstante verwendet werden.

KOP-Rumpf

Für input_value wird der Arkussinuswert berechnet und in output_value geschrieben.

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,ASIN!,Instance,7,1,12,3,,?D?C);
B(B_VARIN,,input_value,5,1,7,3,);
B(B_VAROUT,,output_value,12,1,14,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

output_value:=ASIN(input_value);

AWL-Rumpf

Letzte Änderung: 2024-03-15Feedback zu dieser SeitePanasonic Hotline