FC_CommonTangentsOfTwoCircles2D
FC_CommonTangentsOfTwoCircles2D - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.3.0 |
Versionen: |
Aktuelle Version |
Berechnung der gemeinsamen Tangenten zweier Kreise im 2-dimensionalen Raum.
Berechnet die gemeinsamen Tangenten der Kreise i_stCircle1 und i_stCircle2. Hier sind mehrere Optionen möglich:
oEs existiert keine gemeinsame Tangente.
oEs existiert eine gemeinsame Tangente.
oEs existieren zwei gemeinsame Tangenten.
oEs existieren drei gemeinsame Tangenten.
oEs existieren vier gemeinsame Tangenten.
oEs existieren unendlich viele gemeinsame Tangenten (die Kreise fallen zusammen).
Die folgenden Abbildungen veranschaulichen die unterschiedlichen Fälle.
Keine gemeinsamen Tangenten
Eine gemeinsame Tangente
Zwei gemeinsamen Tangenten
Drei gemeinsamen Tangenten
Vier gemeinsamen Tangenten
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_diNumberOfCommonTangents |
DINT |
Anzahl der gemeinsamen Tangenten. Mögliche Wert: 0: Keine gemeinsamen Tangenten 1...4: 1...4 gemeinsame^ Tangenten 99: Unendlich viele gemeinsame Tangenten |
q_astTouchPointsCircle1 |
ARRAY[1..4] OF ST_Vector2D |
Berührungspunkte der Tangenten an Kreis 1 |
q_astTouchPointsCircle2 |
ARRAY[1..4] OF ST_Vector2D |
Berührungspunkte der Tangenten an Kreis 2 |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
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: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Tangenten 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. |