FB_RandomTargetsGenerator - SetTargetsInPlane (Methode)

Übersicht

Typ:

Methode

Verfügbar ab:

V1.1.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

oAufgabenstellung

oBeschreibung

oSchnittstelle

oDiagnosemeldungen

Aufgabenstellung

Definieren eines Satzes von Einschränkungen zum Generieren zufälliger Ziele

Beschreibung

Die Methode SetTargetsInPlane ermöglicht Ihnen das Definieren eines Satzes mit Einschrän­kungen für die Erzeugung zufälliger Ziele, die in einer ausgewählten Arbeitsebene enthalten sind.

Zum Definieren eines spezifischen Werts für eine Einschränkung, setzen Sie das Minimum und das Maximum auf ein und denselben Wert.

Im Folgenden ist ein Beispiel für die Erzeugung eines Ziels in einer ausgewählten Ebene beschrieben:

G-SE-0065164.1.gif-high.gif

 

1   Kollisionskreise zur Festlegung von Überlappungen

Schnittstelle

Eingang

Datentyp

Beschreibung

i_udiNumberOfTargets

UDINT

Anzahl von Zielen, die von einer Methode erzeugt werden müssen.

i_lrTargetOverlapRadius

LREAL

Radius eines Kreises um jedes Ziel. Die Ziele werden so generiert, dass sich die Kreise nicht überlappen.

Dieser Wert muss positiv sein.

i_udiMaxOverlapCheckIterations

UDINT

Die Methode versucht i_udiMaxOverlapCheckIterations Mal i_udiNumberOfTargets, Ziele ohne Überlappungen zu erzeugen. Wenn diese Anzahl von Wiederholungen überschritten ist, wird eine Fehlermeldung generiert.

i_etPlane

ET_WorkingPlane

Wird für die Auswahl einer Arbeitsebene verwendet (beispielsweise XY, XZ, YZ). Der Wert dieser Eingabe darf nicht ROB.ET_WorkingPlane.None entsprechen.

Wenn eine spezifische Arbeitsebene ausgewählt wurde, beschreibt die generierte Stellung eine Position in der Ebene (die Position entlang der dritten 3D-Achse wird auf 0 gesetzt) und eine Rotation über einen Normalvektor mit Bezug auf die Ebene.

i_stMinPosition

PDL.ST_Vector3D

Minimaler Positionswert für ein erzeugtes Ziel. Dieser Wert kann als minimale kartesische Koordinate in einem vordefinierten Volumen definiert werden.

i_stMaxPosition

PDL.ST_Vector3D

Maximaler Positionswert für ein erzeugtes Ziel. Dieser Wert kann als maximale kartesische Koordinate in einem vordefinierten Volumen definiert werden.

i_lrMinRotation

LREAL

Minimaler Rotationswinkel über eine Normalachse auf eine ausgewählte Ebene, die für die Erzeugung der Darstellung eines Ziels verwendet wurde.

i_lrMaxRotation

LREAL

Maximaler Rotationswinkel über eine Normalachse auf eine ausgewählte Ebene, die für die Erzeugung der Darstellung eines Ziels verwendet wurde.

i_etOrientationConvention

ROB.ET_OrientationConvention

Konvention für die Rotationswinkel der Orientierung.

i_alrTargetTypeProbabilityList

ARRAY [1...Gc_uiMaxNumberOfTargetTypes] OF LREAL

Jeder Index dieses Arrays ist mit einem spezifischen Zieltyp verbunden und jedes Element enthält einen Wert, der sich auf die Wahrscheinlichkeit der zufälligen Erzeugung eines Ziels mit einem bestimmten Zieltyp auswirkt.

Die Wahrscheinlichkeit für jeden Zieltyp wird als Verhältnis zwischen dem Wert, der jedem Element in dem Array zugewiesenen wird, und der Gesamtsumme der aufgelisteten Werte ermittelt.

Beispiel: Ein Wert im Feld [1] des Arrays ist mit der Erzeugung von Zielen des Typs 1 verbunden, Feld [2] ist mit dem Typ 2 verbunden usw.

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. EinWert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

Bausteinspezifischer Ausgang zur Diagnose.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die detaillierte Informationen zum Diagnosezustand übergibt.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert von q_etDiagExt

Beschreibung

Ok

Ok

0

Ok

InputParameterInvalid

MaxOverlapCheckIterationsRange

55

Maximale Anzahl von Wiederholungen außerhalb des Bereichs.

InputParameterInvalid

NumberOfTargetsRange

54

Anzahl der Ziele außerhalb des Bereichs.

InputParameterInvalid

OrientationConventionInvalid

38

Ungültige Orientierungskonvention.

InputParameterInvalid

PlaneInvalid

37

Die ausgewählte Arbeitsebene ist ungültig.

InputParameterInvalid

PositionXRange

40

Der als Einschränkung für die zufällige Erzeugung bereitgestellte X-Positionsbereich ist ungültig.

InputParameterInvalid

PositionYRange

41

Der als Einschränkung für die zufällige Erzeugung bereitgestellte Y-Positionsbereich ist ungültig.

InputParameterInvalid

PositionZRange

42

Der als Einschränkung für die zufällige Erzeugung bereitgestellte Z-Positionsbereich ist ungültig.

InputParameterInvalid

RotationRange

46

Der als Einschränkung für die zufällige Erzeugung bereitgestellte Rotationsbereich ist ungültig.

InputParameterInvalid

TargetOverlapRadiusRange

53

Ein negativer Radiuswert wurde bereitgestellt.

InputParameterInvalid

TargetTypeProbabilitiesSumInvalid

61

Die Summe der Wahrscheinlichkeiten ist Null.

InputParameterInvalid

TargetTypeProbabilityRange

60

Der Wert einer der Wahrscheinlichkeiten ist negativ.

UnexpectedProgramBehavior

RandomSeedInvalid

39

Der zufällige Seed-Wert wurde mit einem ungültigen Wert initialisiert.

MaxOverlapCheckIterationsRange

Enumerationsname:

MaxOverlapCheckIterationsRange

Enumerationswert:

55

Beschreibung:

Maximale Anzahl der Iterationen außerhalb des gültigen Bereichs

Problem

Ursache

Lösung

Der bereitgestellte Wert liegt außerhalb des Bereichs.

Der Wert für i_udiMaxOverlapCheckIterations kann nicht kleiner sein als i_udiNumberOfTargets.

oStellen Sie einen Wert bereit, so dass i_udiMaxOverlapCheckIterations ≥ i_udiNumberOfTargets 

oSie könnten es zunächst mit dem Wert i_udiMaxOverlapCheckIterations ≥ 2 * i_udiNumberOfTargets versuchen. In Abhängigkeit von den anderen Einschränkungen kann dieser Wert variieren.

NumberOfTargetsRange

Enumerationsname:

NumberOfTargetsRange

Enumerationswert:

54

Beschreibung:

Anzahl der Ziele außerhalb des gültigen Bereichs

Problem

Ursache

Lösung

Der bereitgestellte Wert liegt außerhalb des Bereichs.

Der von Ihnen bereitgestellte Wert ist entweder kleiner als 1 oder größer als Gc_udiMaxNumberOfGeneratedTargets (z. B. die maximale Größe der Liste).

Stellen Sie einen Wert innerhalb des gültigen Bereichs bereit.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Ok

Die Parameter wurden erfolgreich definiert.

OrientationConventionInvalid

Enumerationsname:

OrientationConventionInvalid

Enumerationswert:

38

Beschreibung:

Ungültige Ausrichtungskonvention

Problem

Ursache

Lösung

Die Orientierungskonvention ist ungültig.

Der Eingabewert i_etOrientationConvention ist ungültig.

Stellen Sie einen der zulässigen Werte von ROB.ET_OrientationConvention bereit.

PlaneInvalid

Enumerationsname:

PlaneInvalid

Enumerationswert:

37

Beschreibung:

Die ausgewählte Arbeitsebene ist ungültig.

Problem

Ursache

Lösung

Die ausgewählte Arbeitsebene ist ungültig.

Der bereitgestellte Wert identifiziert keine bekannte Arbeitsebene.

Prüfen Sie, ob der Wert in diesem Satz ausgewählt wurde:

oROB.ET_WorkingPlane.XY

oROB.ET_WorkingPlane.XZ

oROB.ET_WorkingPlane.YZ

PositionXRange

Enumerationsname:

PositionXRange

Enumerationswert:

40

Beschreibung:

Der als Einschränkung für die willkürliche Generierung bereitgestellte X-Positionsbereich ist ungültig.

Problem

Ursache

Lösung

Der als Einschränkung für die zufällige Erzeugung bereitgestellte X-Positionsbereich ist ungültig.

Der bereitgestellte X-Positionsbereich ist ungültig.

oStellen Sie einen Bereich bereit, der die folgenden Bedingungen erfüllt:

i_stMinPosition.lrX ≤ i_stMaxPosition.lrX

oWenn eine Arbeitsebene ausgewählt wurde, müssen Sie prüfen, ob i_stMinPosition.lrX und i_stMaxPosition.lrX in der Ebene enthalten sind.

PositionYRange

Enumerationsname:

PositionYRange

Enumerationswert:

41

Beschreibung:

Der als Einschränkung für die willkürliche Generierung bereitgestellte Y-Positionsbereich ist ungültig.

Problem

Ursache

Lösung

Der als Einschränkung für die zufällige Erzeugung bereitgestellte Y-Positionsbereich ist ungültig.

Der bereitgestellte Y-Positionsbereich ist ungültig.

oStellen Sie einen Bereich bereit, der die folgenden Bedingungen erfüllt:

i_stMinPosition.lrY ≤ i_stMaxPosition.lrY

oWenn eine Arbeitsebene ausgewählt wurde, müssen Sie prüfen, ob i_stMinPosition.lrY und i_stMaxPosition.lrY in der Ebene enthalten sind.

PositionZRange

Enumerationsname:

PositionZRange

Enumerationswert:

42

Beschreibung:

Der als Einschränkung für die willkürliche Generierung bereitgestellte Z-Positionsbereich ist ungültig.

Problem

Ursache

Lösung

Der als Einschränkung für die zufällige Erzeugung bereitgestellte Z-Positionsbereich ist ungültig.

Der bereitgestellte Z-Positionsbereich ist ungültig.

oStellen Sie einen Bereich bereit, der die folgenden Bedingungen erfüllt:

i_stMinPosition.lrZ ≤ i_stMaxPosition.lrZ

oWenn eine Arbeitsebene ausgewählt wurde, müssen Sie prüfen, ob i_stMinPosition.lrZ und i_stMaxPosition.lrZ in der Ebene enthalten sind.

RandomSeedInvalid

Enumerationsname:

RandomSeedInvalid

Enumerationswert:

39

Beschreibung:

Der willkürliche Seed-Wert wurde mit einem ungültigen Wert initialisiert.

Problem

Ursache

Lösung

Der zufällige Seed-Wert wurde intern auf einen ungültigen Wert gesetzt.

-

Kontaktieren Sie Ihren Schneider Electric-Ansprechpartner.

RotationRange

Enumerationsname:

RotationRange

Enumerationswert:

46

Beschreibung:

Der als Einschränkung für die willkürliche Generierung bereitgestellte Rotationsbereich ist ungültig.

Problem

Ursache

Lösung

Der als Einschränkung für die zufällige Erzeugung bereitgestellte Rotationsbereich ist ungültig.

Der bereitgestellte Rotationsbereich ist ungültig.

Stellen Sie einen Bereich bereit, der die folgenden Bedingungen erfüllt:

i_lrMinRotation ≤ i_lrMaxRotation

TargetOverlapRadiusRange

Enumerationsname:

TargetOverlapRadiusRange

Enumerationswert:

53

Beschreibung:

Es wurde ein negativer Radiuswert bereitgestellt.

Problem

Ursache

Lösung

Ein negativer oder ein Null-Wert wurde als Eingabe bereitgestellt.

Der Wert für den Radius muss positiv sein.

Prüfen Sie, ob i_lrTargetOverlapRadius > 0.

TargetTypeProbabilitiesSumInvalid

Enumerationsname:

TargetTypeProbabilitiesSumInvalid

Enumerationswert:

61

Beschreibung:

Die Summe der Wahrscheinlichkeiten ist null.

Problem

Ursache

Lösung

Die Summe der bereitgestellten Wahrscheinlichkeiten ist 0.

Die Summe der aufgelisteten Wahrscheinlichkeiten in der Eingabe i_alrTargetTypeProbabilityList muss größer sein als 0.

Prüfen Sie, ob die Summe der bereitgestellten Wahrscheinlichkeiten größer ist als 0.

TargetTypeProbabilityRange

Enumerationsname:

TargetTypeProbabilityRange

Enumerationswert:

60

Beschreibung:

Der Wert einer der Wahrscheinlichkeiten ist negativ.

Problem

Ursache

Lösung

Der Wert einer der Wahrscheinlichkeiten ist negativ.

Eine der Wahrscheinlichkeiten innerhalb von i_alrTargetTypeProbabilityList hat einen negativen Wert.

Vergewissern Sie sich, dass jede Wahrscheinlichkeit entweder den Wert 0 oder einen positiven Wert aufweist.