Beispiel

Dieses Kapitel zeigt ein Beispiel für die Berechnung eines Neigungswinkels in einem SPS-Programm.

Voraussetzung: die Neigungsmessung wurde so konfiguriert wie im Kapitel Berechnung in der Steuerung beschrieben.

Beispiel 1:

Variablen-Verknüpfungen in TwinCAT

Programm-Code

PROGRAM MAIN
VAR
  ax AT %I* : INT;
  ay AT %I* : INT;
  az AT %I* : INT;
  Neigung   : LREAL;
END_VAR


IF (ay <> 0 OR az <> 0) THEN (* Division durch 0 verhindern *)
  Neigung := ATAN( ax / SQRT( ay * ay + az * az ) ) * 360 / ( 2 * 3.14 );
END_IF

(* Sprung beim Nulldurchgang von az ausgleichen *)
IF az > 0 THEN
  Neigung := 180 - Neigung;
END_IF

(* Offset einfügen, um den Messbereich von -90...270 auf -180...+180 zu verschieben *)
IF Neigung > 180 THEN
  Neigung := Neigung - 360;
END_IF