FC_DistanceTwoBoxes

 

FC_DistanceTwoBoxes - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Berechnung des Abstands zwischen zwei Quadern.

Beschreibung

Berechnet den Abstand der Quader i_stBox1 und i_stBox2 Hierfür wird ein Iterationsverfahren verwendet.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_stBox1

ST_Box

Quader 1

i_stBox2

ST_Box

Quader 2

i_lrAccuracy

LREAL

Maximal zulässiger Fehler für den berechneten Abstand.

Das Iterationsverfahren bricht ab, wenn der berechnete Abstand der Objekte um weniger als diesen Wert vom exakten Abstand abweicht. Je kleiner dieser Wert, desto genauer das Ergebnis und desto größer die Anzahl der erforderlichen Iterationsschritte.

Wertebereich > 0,0

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_lrDistance

LREAL

Berechneter Abstand zwischen i_stBox1  und i_stBox2.

q_diNumberOfIterations

DINT

Anzahl der Iterationsschritte, die zur Abstandsberechnung erforderlich waren.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

ExecutionAborted

MaxNumberOfIterationsExceeded

96

Die maximale Anzahl an Interationsschritten wurde überschritten.

InputParameterInvalid

AccuracyRange

118

Accuracy ist außerhalb des gültigen Bereichs.

InputParameterInvalid

DefinitionBox1

35

Die Definition von Box1 ist nicht korrekt.

InputParameterInvalid

DefinitionBox2

36

Die Definition von Box2 ist nicht korrekt.

UnexpectedProgramBehavior

UnknownState

2

Die POU befindet sich in einem undefinierten Zustand.

AccuracyRange

Enumerationsname:

AccuracyRange

Enumerationswert:

118

Beschreibung:

Accuracy ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrAccuracyGc_lrZeroTolerance wurde eine Zahl kleiner angelegt.

Es muss ein Wert größer als null angegeben werden.

DefinitionBox1

Enumerationsname:

DefinitionBox1

Enumerationswert:

35

Beschreibung:

Die Definition von Box1 ist nicht korrekt.

Problem

Ursache

Lösung

-

Am Eingang i_stBox1.stSpanPoint1 und i_stBox1.stBasePoint wurde der gleiche Punkt übergeben.

Der Abstand zwischen i_stBox1.stSpanPoint1 und i_stBox1.stBasePoint muss mindestens Gc_lrZeroTolerance betragen.

-

Am Eingang i_stBox1.stSpanPoint2 und i_stBox1.stBasePoint wurde der gleiche Punkt übergeben.

Der Abstand zwischen i_stBox1.stSpanPoint2 und i_stBox1.stBasePoint muss mindestens Gc_lrZeroTolerance betragen.

-

Am Eingang i_stBox1.stSpanPoint3 und i_stBox1.stBasePoint wurde der gleiche Punkt übergeben.

Der Abstand zwischen i_stBox1.stSpanPoint3 und i_stBox1.stBasePoint muss mindestens Gc_lrZeroTolerance betragen.

DefinitionBox2

Enumerationsname:

DefinitionBox2

Enumerationswert:

36

Beschreibung:

Die Definition von Box2 ist nicht korrekt.

Problem

Ursache

Lösung

-

Am Eingang i_stBox2.stSpanPoint1 und i_stBox2.stBasePoint wurde der gleiche Punkt übergeben.

Der Abstand zwischen i_stBox2.stSpanPoint1 und i_stBox2.stBasePoint muss mindestens Gc_lrZeroTolerance betragen.

-

Am Eingang i_stBox2.stSpanPoint2 und i_stBox2.stBasePoint wurde der gleiche Punkt übergeben.

Der Abstand zwischen i_stBox2.stSpanPoint2 und i_stBox2.stBasePoint muss mindestens Gc_lrZeroTolerance betragen.

-

Am Eingang i_stBox2.stSpanPoint3 und i_stBox2.stBasePoint wurde der gleiche Punkt übergeben.

Der Abstand zwischen i_stBox2.stSpanPoint3 und i_stBox2.stBasePoint muss mindestens Gc_lrZeroTolerance betragen.

MaxNumberOfIterationsExceeded

Enumerationsname:

MaxNumberOfIterationsExceeded

Enumerationswert:

96

Beschreibung:

Die maximale Anzahl an Interationsschritten wurde überschritten.

Problem

Ursache

Lösung

-

i_lrAccuracy wurde zu klein gewählt. Das numerische Annäherungsverfahren konvergiert nicht in weniger als Gc_diMaxNumberOfIterations Iterationsschritten auf ein solch genaues Ergebnis.

Es muss ein größerer Wert für i_lrAccuracy gewählt werden.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Der Abstand wurde erfolgreich berechnet.

UnknownState

Enumerationsname:

UnknownState

Enumerationswert:

2

Beschreibung:

Die POU befindet sich in einem undefinierten Zustand.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.