FC_CommonTangentsOfTwoCircles2D

 

FC_CommonTangentsOfTwoCircles2D - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Berechnung der gemeinsamen Tangenten zweier Kreise im 2-dimensionalen Raum.

Beschreibung

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

G-SE-0068445.1.gif-high.gif

 

 

Eine gemeinsame Tangente

G-SE-0068446.1.gif-high.gif

 

 

Zwei gemeinsamen Tangenten

G-SE-0068447.1.gif-high.gif

 

 

Drei gemeinsamen Tangenten

G-SE-0068448.1.gif-high.gif

 

 

Vier gemeinsamen Tangenten

G-SE-0068449.1.gif-high.gif

 

 

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_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

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

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.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Tangenten 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.