7.8.13.4.2. IF-Bedingung: Defaultwert "Forciert" oder "Standard"

Das folgende Beispiel zeigt, wie mittels einer Wertebereichsvariablen (hier SEL "Selector") eine andere Wertebereichsvariable gesteuert wird, und zwar einmal mit einer Standard IF-Bedingung (hier TFW "Standard") und einmal forciert (hier TFWF "Forced").

Beispiel in PARTdesigner

Beispiel in PARTdesigner

Beim Laden der Tabelle werden die Startwerte angezeigt. Der Startwert ist repräsentiert durch den ersten in der Formel [Equation] gesetzten Parameter. Beim Selektor ist dies 1, bei TFW (TMA) und TFWF (TMAF) aufgrund der gesetzten Bedingung der Wert "alpha".

Beispiel in PARTdataManager: Standardwerte geladen

Beispiel in PARTdataManager: Standardwerte geladen

Merkmalalgorithmus [Attribute algorithm] TMA mit Standard IF-Bedingung

IF (SEL.EQ.1)THEN
 TMA = '''a'',''alpha'',''b'',''beta'',''c'',''gamma'''
ELSEIF(SEL.EQ.2)THEN
 TMA = '''b'',''beta'',''a'',''alpha'',''c'',''gamma'''
ELSEIF(SEL.EQ.5)THEN
 TMA = '''xy'',''xy'''
ELSE
 TMA = '''c'',''gamma'',''a'',''alpha'',''b'',''beta'''
ENDIF

Merkmalalgorithmus [Attribute algorithm] TMAF mit IF-Bedingung + forciertem Setzen eines Wertes

[Hinweis]Hinweis

Bei forciertem Setzen wird der Startwert (erster Wert in spitzen Klammern) bei jedem Laden der Tabelle immer wieder neu gesetzt.

Korrektes Beispiel:

IF (SEL.EQ.1)THEN
 TMAF = '<''a'',''alpha''>,''b'',''beta'',''c'',''gamma'''
ELSEIF(SEL.EQ.2)THEN
 TMAF = '<''b'',''beta''>,''a'',''alpha'',''c'',''gamma'''
ELSEIF(SEL.EQ.5)THEN
 TMAF = '<''xy'',''xy''>'
ELSE
 TMAF = '<''c'',''gamma''>,''a'',''alpha'',''b'',''beta'''
ENDIF

Standardmäßig wird der Startwert (der erste Wert) nur einmalig initial beim Laden der Tabelle gesetzt, außer der neue Startwert ist nicht im aktuell gesetzten Wertebereich enthalten.

Wenn Sie einen Wert forciert setzen möchten, beachten Sie Folgendes:

  1. Der Wert muss als erstes Parameterpaar gesetzt sein.

  2. Das Parameterpaar muss in spitze Klammern gesetzt werden.

  3. Es ist empfohlen, einen forcierten Wert in jeder Bedingung zu setzen oder in keiner, da das Verhalten ansonsten verwirrend sein könnte.

    Beispiel: Hier wurde in der zweiten Bedingung kein forcierter Wert gesetzt, was eben nicht empfohlen ist.

    IF (SEL.EQ.1)THEN
    TMAF = '<''a'',''alpha''>,''b'',''beta'',''c'',''gamma'''
    ELSEIF(SEL.EQ.2)THEN
    TMAF = '''b'',''beta'',''a'',''alpha'',''c'',''gamma'''
    ELSEIF(SEL.EQ.5)THEN
    TMAF = '<''xy'',''xy''>'
    ELSE
    TMAF = '<''c'',''gamma''>,''a'',''alpha'',''b'',''beta'''
    ENDIF
    

Beschreibung des Verhaltens im PARTdataManager (bzw. PARTdesigner Tabelle):

[Hinweis]Hinweis

Für den Selektor kann genauso eine Zahlenvariable verwendet werden.

IF (SEL.EQ.1)THEN
 NMA = '<1,''alpha''>,2,''beta'',3,''gamma'''
ELSEIF(SEL.EQ.2)THEN
 NMA = '<2,''beta''>,1,''alpha'',3,''gamma'''
ELSE
 NMA = '<3,''gamma''>,1,''alpha'',2,''beta'''
ENDIF