FC_CommonPointsOfTwoCircles2D

 

FC_CommonPointsOfTwoCircles2D - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Berechnung der Schnittpunkte von zwei Kreisen im 2-dimensionalen Raum.

Beschreibung

Berechnet die Schnittpunkte der Kreise i_stCircle1 und i_stCircle2. Wenn die Kreise übereinstimmen, beträgt die Anzahl der Schnittpunkte 99. Wenn keine Schnittpunkte vorhanden sind, wird eine zusätzliche Prüfung durchgeführt, um zu bestimmen, ob eines der Objekte im anderen enthalten ist.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_stCircle1

ST_Circle2D

Kreis 1

i_stCircle2

ST_Circle2D

Kreis 2

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_diNumberOfCommonPoints

DINT

Anzahl der Schnittpunkte von i_stCircle_1 und i_stCircle_2..

Mögliche Werte: 0, 1, 2 oder 99 (Kreise fallen zusammen)

q_astCommonPoints

ARRAY [1..2] OF ST_Vector2D

Schnittpunkte (nur gültig, wenn q_diNumberOfCommonPoints > 0)

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Circle1InsideCircle2

53

Kreis 1 liegt innerhalb von Kreis 2.

OK

Circle2InsideCircle1

54

Kreis 2 liegt innerhalb von Kreis 1.

OK

Ok

0

OK

InputParameterInvalid

RadiusRangeCircle1

27

Der Radius des Kreises 1 ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RadiusRangeCircle2

28

Der Radius des Kreises 2 ist außerhalb des gültigen Bereichs.

Circle1InsideCircle2

Enumerationsname:

Circle1InsideCircle2

Enumerationswert:

53

Beschreibung:

Kreis 1 liegt innerhalb von Kreis 2.

Es wurden keine Schnittpunkte berechnet, da sich der Kreis 1 vollständig innerhalb des Kreises 2 befindet.

Circle2InsideCircle1

Enumerationsname:

Circle2InsideCircle1

Enumerationswert:

54

Beschreibung:

Kreis 2 liegt innerhalb von Kreis 1.

Es wurden keine Schnittpunkte berechnet, da sich der Kreis 2 vollständig innerhalb des Kreises 1 befindet.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Schnittpunkte wurden erfolgreich berechnet.

RadiusRangeCircle1

Enumerationsname:

RadiusRangeCircle1

Enumerationswert:

27

Beschreibung:

Der Radius des Kreises 1 ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_stCircle1.lrRadius wurde eine Zahl <= 0 übergeben.

Der Kreis muss einen Radius größer als null haben.

RadiusRangeCircle2

Enumerationsname:

RadiusRangeCircle2

Enumerationswert:

28

Beschreibung:

Der Radius des Kreises 2 ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_stCircle2.lrRadius wurde eine Zahl <= 0 übergeben.

Der Kreis muss einen Radius größer als null haben.