FB_SegmentedCam - Prepare (Methode)

Übersicht

Typ

Methode

Verfügbar ab

V1.0.0.0

Aufgabe

Erzeugung einer segmentierten Kurve

Beschreibung

Die Methode erzeugt anhand des Array i_astCamSegments eine segmentierte Kurve mit i_diNumberOfSegments-Segmenten. Stellen Sie sicher, dass die Werte ST_Cam.lrXEnd und ST_Cam.lrYEnd eines Segments mit den Werten ST_Cam.lrXStart und ST_Cam.lrYStart des folgenden Segments übereinstimmen.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_diNumberOfSegments

DINT

Anzahl der Segmente

i_astCamSegment

ARRAY[1..Gc_diMaxNumberOfCamSegments] OF

Struktur zur Parametrisierung der Einzelsegmente

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeine bibliotheksunabhängige Aussage zur Diagnose.

Alle Werte außer GD.ET_Diag.Ok entsprechen einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-abhängiger Ausgang des Diagnosegeräts.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die detaillierte Informationen zum Diagnosezustand liefert.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

OK

Ok

0

Ok

InputParameterInvalid

JobTypeUnknown

67

JobType ist nicht bestimmbar.

InputParameterInvalid

NumberOfSegmentsRange

66

NumberOfSegments ist außerhalb des gültigen Bereichs.

InputParameterInvalid

XendMustBeEqualXstart

68

Xend und Xstart müssen gleich sein.

InputParameterInvalid

XstartGreaterXend

65

XStart ist größer als XEnd.

InputParameterInvalid

YendMustBeEqualYstart

69

Yend und Ystart müssen gleich sein.

JobTypeUnknown

Aufzählungsname:

JobTypeUnknown

Aufzählungswert:

67

Beschreibung:

JobType ist nicht bestimmbar.

Problem

Ursache

Lösung

-

Ein Segment der segmentierten Kurve beinhaltet keinen gültigen Kurvenauftrag.

Entnehmen Sie dem Ausgang q_sMsg, welche Kurve fehlerhaft ist.

NumberOfSegmentsRange

Aufzählungsname:

NumberOfSegmentsRange

Aufzählungswert:

66

Beschreibung:

NumberOfSegments ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Die Anzahl der Segmente der segmentierten Kurve ist ungültig.

Die Anzahl der Segmente muss <= Gc_diMaxNumberOfCamSegments sein.

Ok

Aufzählungsname:

Ok

Aufzählungswert:

0

Beschreibung:

Ok

Die segmentierte Kurve wurde erfolgreich erzeugt.

XendMustBeEqualXstart

Aufzählungsname:

XendMustBeEqualXstart

Aufzählungswert:

68

Beschreibung:

Xend und Xstart müssen gleich sein.

Problem

Ursache

Lösung

-

Bei zwei unmittelbar aufeinanderfolgenden Segmenten einer segmentierten Kurve ist lrXend <> lrXStart.

Setzen Sie lrXend des vorherigen Segments gleich lrXStart des nachfolgenden Segments.

Entnehmen Sie dem Ausgang q_sMsg, welche Segmente fehlerhaft sind.

XstartGreaterXend

Aufzählungsname:

XstartGreaterXend

Aufzählungswert:

65

Beschreibung:

XStart ist größer als XEnd.

Problem

Ursache

Lösung

-

Der zugewiesene Wert der Variablen lrXStart eines Segments ist zu groß.

Der Wert der Variablen lrXStart muss kleiner als der Wert der Variablen lrXEnd eines Segments sein.

YendMustBeEqualYstart

Aufzählungsname:

YendMustBeEqualYstart

Aufzählungswert:

69

Beschreibung:

Yend und Ystart müssen gleich sein.

Problem

Ursache

Lösung

-

Bei zwei unmittelbar aufeinanderfolgenden Segmenten einer segmentierten Kurve ist lrYend <> lrYStart.

Setzen Sie lrYend des vorherigen Segments gleich lrYStart des nachfolgenden Segments.

Entnehmen Sie dem Ausgang q_sMsg, welche Segmente fehlerhaft sind.