Strukturierung Temperatur-Objekte

alibuba

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Sehr geehrtes Forum,

ich habe viele Temperaturen laut einem P&ID und für diese eine Struktur "stctTemperature" erstellt (P&ID-Name, Wert, Rohwert, Unit etc). Nun möchte ich alle Temperaturen in einem Array abbilden, damit ich Schleifenberechnungen durchführen kann.

Problem: Unter Temperatur[3].Value kann man sich nix mehr vorstellen. Schöner wäre es, die Temperatur zB mittels des P&ID-Namens anzusprechen: T.[TE102].value = ....blabla. Trotzdem muss das Ganze per Schleifen durchlaufbar sein...

Gibt es da irgendeine Möglichkeit der Umsetzung?

Vielen Dank!

alibuba
 
Du könntest das Feld im Array mittels eines enums ansprechen, die du nach den PID-Namen benamst. Zum Beispiel T.[enPID.TE102]. Dafür sollte sich aber die Anordnung in deinem Array nicht verändern.
 
enum = Aufzählung?

Klingt gut, nur wie würde das deklariert werden?

Siehe hier - "T" soll das finale Array sein...
Bildschirmfoto von 2020-07-19 20-45-45.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Code:
TYPE Messstelle :
(
    PIT_0201 := 0,
    PIT_0206,
    TE_0301,
    ENDE_Messstelle
);
END_TYPE

Code:
PROGRAM PLC_PRG
VAR
    aMessen : ARRAY[0..Messstelle.ENDE_Messstelle] OF WORD;
    i : INT;
    Temp : WORD;
END_VAR
Code:
Temp := aMessen[Messstelle.PIT_0206];

FOR i := 0 TO Messstelle.ENDE_Messstelle DO
    Temp := aMessen[i];
END_FOR

Da hast Du zwar immer ein Platz mehr als benötigt, es ist aber leicht neue Werte einzufügen, einfach die enumeration erweitern. Sonst immer mit Messstelle.ENDE_Messstelle-1 arbeiten.

Gruß
 
Zurück
Oben