FC_DistanceTwoCylinders - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.3.0 |
Versionen: |
Aktuelle Version |
Berechnung des Abstands zweier Zylinder.
Berechnet den Abstand der Zyliner i_stCylinder1 und i_stCylinder2. Hierfür wird ein Iterationsverfahren verwendet.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stCylinder1 |
Zylinder 1 |
|
i_stCylinder2 |
Zylinder 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 |
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_lrDistance |
LREAL |
Berechneter Abstand zwischen i_stCylinder1 und i_stCylinder2. |
q_diNumberOfIterations |
DINT |
Anzahl der Iterationsschritte, die zur Abstandsberechnung erforderlich waren. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
ExecutionAborted |
96 |
Die maximale Anzahl an Interationsschritten wurde überschritten. |
|
InputParameterInvalid |
118 |
Accuracy ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
43 |
Die Definition von Cylinder1 ist nicht korrekt. |
|
InputParameterInvalid |
44 |
Die Definition von Cylinder2 ist nicht korrekt. |
|
UnexpectedProgramBehavior |
2 |
Die POU befindet sich in einem undefinierten Zustand. |
Enumerationsname: |
AccuracyRange |
Enumerationswert: |
118 |
Beschreibung: |
Accuracy ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrAccuracy wurde eine Zahl kleiner als Gc_lrZeroTolerance angelegt. |
Es muss ein Wert größer als null angegeben werden. |
Enumerationsname: |
DefinitionCylinder1 |
Enumerationswert: |
43 |
Beschreibung: |
Die Definition von Cylinder1 ist nicht korrekt. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_stCylinder1.lrRadius wurde ein Wert <= 0 übergeben. |
Der Radius des Zylinders muss größer als null sein. |
- |
Am Eingang i_stCylinder1.stAxisStart und i_stCylinder1.stAxisEnd wurde der gleiche Punkt übergeben. |
Der Abstand zwischen i_stCylinder1.stAxisStart und i_stCylinder1.stAxisEnd muss mindestens Gc_lrZeroTolerance betragen. |
Enumerationsname: |
DefinitionCylinder2 |
Enumerationswert: |
44 |
Beschreibung: |
Die Definition von Cylinder2 ist nicht korrekt. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_stCylinder2.lrRadius wurde ein Wert <= 0 übergeben. |
Der Radius des Zylinders muss größer als null sein. |
- |
Am Eingang i_stCylinder2.stAxisStart und i_stCylinder2.stAxisEnd wurde der gleiche Punkt übergeben. |
Der Abstand zwischen i_stCylinder2.stAxisStart und i_stCylinder2.stAxisEnd muss mindestens Gc_lrZeroTolerance betragen. |
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. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Der Abstand wurde erfolgreich berechnet.
Enumerationsname: |
UnknownState |
Enumerationswert: |
2 |
Beschreibung: |
Die POU befindet sich in einem undefinierten Zustand. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der interne Zustand der POU kann nicht bestimmt werden. |
Bitte informieren Sie Ihren Schneider Electric-Ansprechpartner über diesen Fehler. |