FC_CommonPointOfTwoLines2D

 

FC_CommonPointOfTwoLines2D - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Berechnung des Schnittpunkts zweier Geraden im 2-dimensionalen Raum.

Beschreibung

Die Funktion berechnet die Schnittpunkte zweier Geraden im 2-dimensionalen Raum. Hierbei werden auch die Fälle paralleler oder zusammenfallender Geraden berücksichtigt. Für die Geraden wird die folgende Parameterdarstellung verwendet:

Line1(Parameter1) = i_stLine1.stPoint1 + Parameter1 * (i_stLine1.stPoint2 - i_stLine1.stPoint1)

Line2(Parameter2) = i_stLine2.stPoint1 + Parameter2 * (i_stLine2.stPoint2 - i_stLine2.stPoint1)

Schnittstelle

Eingang

Datentyp

Beschreibung

i_stLine1

ST_Line2D

Gerade 1

i_stLine2

ST_Line2D

Gerade 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

Mögliche Werte:

0: Es gibt keinen Schnittpunkt, die Geraden sind parallel und fallen nicht zusammen.

1: Es gibt genau einen Schnittpunkt.

99: Die Geraden fallen zusammen, d. h. es gibt unendlich viele Schnittpunkte.

q_stCommonPoint

ST_Vector2D

Schnittpunkt der Geraden, falls q_diNumberOfCommonPoints = 1.

q_lrParameterLine1

LREAL

Parameter des Schnittpunkts q_stCommonPoint in der obigen Parameterdarstellung der Geraden 1 (nur wenn q_diNumberOfCommonPoints = 1)

q_lrParameterLine2

LREAL

Parameter des Schnittpunkts q_stCommonPoint in der obigen Parameterdarstellung der Geraden 2 (nur wenn q_diNumberOfCommonPoints = 1)

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

DefinitionLine1

32

Die Definition von Line1 ist nicht korrekt.

InputParameterInvalid

DefinitionLine2

33

Die Definition von Line2 ist nicht korrekt.

DefinitionLine1

Enumerationsname:

DefinitionLine1

Enumerationswert:

32

Beschreibung:

Die Definition von Line1 ist nicht korrekt.

Problem

Ursache

Lösung

-

Am Eingang i_stLine1.stPoint1 und i_stLine1.stPoint2 wurde der gleiche Punkt übergeben.

Die Punkte stPoint1 und stPoint2, mit denen die Gerade i_stLine1 definiert wird, müssen mindestens Gc_lrZeroTolerance voneinander entfernt sein.

DefinitionLine2

Enumerationsname:

DefinitionLine2

Enumerationswert:

33

Beschreibung:

Die Definition von Line2 ist nicht korrekt.

Problem

Ursache

Lösung

-

Am Eingang i_stLine2.stPoint1 und i_stLine2.stPoint2 wurde der gleiche Punkt übergeben.

Die Punkte stPoint1 und stPoint2, mit denen die Gerade i_stLine2 definiert wird, müssen mindestens Gc_lrZeroTolerance voneinander entfernt sein.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Der Schnittpunkt wurde erfolgreich berechnet.