Struktur in einer Struktur mit anderen Werten initialisieren

nielscho
2021-10-15
2021-10-15
  • nielscho - 2021-10-15

    Hallo
    ich spiele seit ein paar Tagen mit Strukturen rum und finde die schon recht cool.

    Jetzt möchte ich eine Struktur in der anderen als Variablentyp nutzen, hier jedoch andere Werte für die Initialisierung nutzen. Weiß jemand ob so etwas geht?

    Ich habe derzeit:

    TYPE Struct_Bereiche :
    STRUCT
    Startpunkt : UINT :=500; //Sensorwert bi dem Sensor zu 0 skaliert ist
    Endpunkt : UINT :=4500; //Sensorwert bi dem Sensor zu 1000 skaliert ist
    END_STRUCT
    END_TYPE

    diesen möchte ich nun 3 mal in einer anderen Struktur nutzen, jedoch jeweils mit anderen Initialisierungswerten:

    TYPE Struct_Bereichsauswahl :
    STRUCT
    Auswahl_Eingangsbereich : BYTE :=1; //Zum Umschalten
    // 1 = Variablen "Bereich1" nutzen
    // 2 = Variablen "Bereich2" nutzen
    // 3 = Variablen "Bereich3" nutzen
    Bereich1 : Struct_Bereiche; //Werte für 1 Bereich
    Bereich2 : Struct_Bereiche; //Werte für 2 Bereich
    Bereich3 : Struct_Bereiche; //Werte für 3 Bereich
    END_STRUCT
    END_TYPE

    für den Bereich1 würde ich nun gerne die vorher definierten Werte 500 und 4500 übernehmen.
    bei Bereich2 hätte ich jetzt aber gerne andere Werte, z.B. 2100 und 2200 und bei Bereich3 z.b. 3100 und 3200

    wie kan ich dies jetzt definieren?

    Gruß
    Nielscho

     

    Last edit: nielscho 2021-10-15
  • nielscho - 2021-10-15

    Moin

    hab es gerade bei Beckhoff auf der Seite gefunden, jedoch erst nach dem 3ten Lesen verstanden obwohl es logisch ist...

    TYPE Struct_Bereichsauswahl :
    STRUCT
    Auswahl_Eingangsbereich : BYTE :=1; //Zum Umschalten
    // 1 = Variablen "Bereich1" nutzen
    // 2 = Variablen "Bereich2" nutzen
    // 3 = Variablen "Bereich3" nutzen
    Bereich1 : Struct_Bereiche; //Werte für 1 Bereich
    Bereich2 : Struct_Bereiche := (Startpunkt:=2100, Endpunkt:=2200); //Werte für 2 Bereich
    Bereich3 : Struct_Bereiche := (Startpunkt:=3100, Endpunkt:=3200); //Werte für 3 Bereich
    END_STRUCT
    END_TYPE

    hoffe aber das es so dann demnächsten hilft...

     

Log in to post a comment.