FC_CommonPointsOfTwoCircles2D - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.3.0 |
Versionen: |
Aktuelle Version |
Berechnung der Schnittpunkte von zwei Kreisen im 2-dimensionalen Raum.
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.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stCircle1 |
Kreis 1 |
|
i_stCircle2 |
Kreis 2 |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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) |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
53 |
Kreis 1 liegt innerhalb von Kreis 2. |
|
OK |
54 |
Kreis 2 liegt innerhalb von Kreis 1. |
|
OK |
0 |
OK |
|
InputParameterInvalid |
27 |
Der Radius des Kreises 1 ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
28 |
Der Radius des Kreises 2 ist außerhalb des gültigen Bereichs. |
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.
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.
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Schnittpunkte wurden erfolgreich berechnet.
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. |
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. |