FC_CommonPointsOfCircleAndLine2D
FC_CommonPointsOfCircleAndLine2D - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.3.0 |
Versionen: |
Aktuelle Version |
Berechnung der Schnittpunkte von Kreis und Gerade im 2-dimensionalen Raum.
Berechnet die Schnittpunkte des Kreises i_stCircle und der Geraden i_stLine.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stCircle |
Kreis |
|
i_stLine |
Gerade |
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 gemeinsamen Punkte / möglichen Werte: 2: Es gibt zwei Schnittpunkte (die Gerade ist eine Sekante). Der Fall einer Tangenten ist hier inbegriffen (in diesem Fall gilt q_astCommonPoints[1] = q_astCommonPoints[2]). 0: Es gibt keine Schnittpunkte (die Gerade ist eine Passante). |
q_astCommonPoints |
ARRAY [1..2] OF ST_Vector2D |
Schnittpunkte von i_stCircle und i_stLine (wenn q_diNumberOfCommonPoints = 2). |
q_lrParameterLine1 |
LREAL |
Parameter von q_astCommonPoint[1] in der Standard-Parameterdarstellung der Geraden i_stLine (siehe ST_Line2D). |
q_lrParameterLine2 |
LREAL |
Parameter von q_astCommonPoint[2] in der Standard-Parameterdarstellung der Geraden i_stLine (siehe ST_Line2D). |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
InputParameterInvalid |
31 |
Die Definition von Line ist nicht korrekt. |
|
InputParameterInvalid |
26 |
Der Radius des Kreises ist außerhalb des gültigen Bereichs. |
Enumerationsname: |
DefinitionLine |
Enumerationswert: |
31 |
Beschreibung: |
Die Definition von Line ist nicht korrekt. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_stLine.stPoint1 und i_stLine.stPoint2 wurde der gleiche Punkt übergeben. |
Die Punkte stPoint1 und stPoint2, mit denen die Gerade i_stLine definiert wird, müssen mindestens Gc_lrZeroTolerance voneinander entfernt sein. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Schnittpunkte wurden erfolgreich berechnet.
Enumerationsname: |
RadiusRangeCircle |
Enumerationswert: |
26 |
Beschreibung: |
Der Radius des Kreises ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_stCircle.lrRadius wurde eine Zahl <= 0 übergeben. |
Der Kreis muss einen Radius größer null haben. |