FB_RandomTargetsGenerator - SetTargetsInPlane (Methode)
Typ: |
Methode |
Verfügbar ab: |
V1.1.0.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Definieren eines Satzes von Einschränkungen zum Generieren zufälliger Ziele
Die Methode SetTargetsInPlane ermöglicht Ihnen das Definieren eines Satzes mit Einschränkungen 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:
1 Kollisionskreise zur Festlegung von Überlappungen
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 |
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 |
Minimaler Positionswert für ein erzeugtes Ziel. Dieser Wert kann als minimale kartesische Koordinate in einem vordefinierten Volumen definiert werden. |
|
i_stMaxPosition |
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 |
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. EinWert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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. |
q_etDiag |
q_etDiagExt |
Enumerationswert von q_etDiagExt |
Beschreibung |
---|---|---|---|
Ok |
0 |
Ok |
|
InputParameterInvalid |
55 |
Maximale Anzahl von Wiederholungen außerhalb des Bereichs. |
|
InputParameterInvalid |
54 |
Anzahl der Ziele außerhalb des Bereichs. |
|
InputParameterInvalid |
38 |
Ungültige Orientierungskonvention. |
|
InputParameterInvalid |
37 |
Die ausgewählte Arbeitsebene ist ungültig. |
|
InputParameterInvalid |
40 |
Der als Einschränkung für die zufällige Erzeugung bereitgestellte X-Positionsbereich ist ungültig. |
|
InputParameterInvalid |
41 |
Der als Einschränkung für die zufällige Erzeugung bereitgestellte Y-Positionsbereich ist ungültig. |
|
InputParameterInvalid |
42 |
Der als Einschränkung für die zufällige Erzeugung bereitgestellte Z-Positionsbereich ist ungültig. |
|
InputParameterInvalid |
46 |
Der als Einschränkung für die zufällige Erzeugung bereitgestellte Rotationsbereich ist ungültig. |
|
InputParameterInvalid |
53 |
Ein negativer Radiuswert wurde bereitgestellt. |
|
InputParameterInvalid |
61 |
Die Summe der Wahrscheinlichkeiten ist Null. |
|
InputParameterInvalid |
60 |
Der Wert einer der Wahrscheinlichkeiten ist negativ. |
|
UnexpectedProgramBehavior |
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. |
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. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Die Parameter wurden erfolgreich definiert.
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. |
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 |
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. |
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. |
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. |
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. |
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 |
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. |
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. |