Hallo,
Ich wünsche mir ENUM (Aufzählungs) Datentypen. Und zwar direkt projektübergreifend für Steuerungen und WinCCs:
Deklaration:
Alarmmeldungen : ENUM {
ALARM_ZU_SCHNELL : 1; // Geschwindigkeit zu hoch
ALARM_ZU_LANGSAM : 2; // Geschwindigkeit zu niedrig
ALARM_ALLGEMEIN : 3; // Sammelfehler aufgetreten
ALARM_SERVICE : 4; // Service verständigen
}
In der SPS will ich dann Variablen von diesem Typ anlegen, die dann nur genau diese Zustände annehmen können:
AlarmNr : Alarmmeldungen;
Verwendung:
AlarmNr := ALARM_ZU_LANGSAM;
oder
AlarmNr := ALARM_SERVICE;
Ein WinCC soll dann mit dem gleichen Datentyp arbeiten und dann allerdings den Klartext zur Anzeige bringen.
Im Moment geht das nur über globale Konstanten, was sehr unschön ist, da keinerlei Eindeutigkeit garantiert ist und Textlisten im HMI, die dummerweise komplett händisch aktualisiert und gepflegt werden müssen. Also komplett doppelte Datenhaltung.
Frage: Wie macht ihr das? Gibt es da vielleicht eine versteckte Funktion, die ich bisher übesehen habe?
Würde es zumindest gehen, mit Openness die globalen Konstanten auszulesen und in die "Textlisten" aller WinCC Panels zu schreiben?
Ich wünsche mir ENUM (Aufzählungs) Datentypen. Und zwar direkt projektübergreifend für Steuerungen und WinCCs:
Deklaration:
Alarmmeldungen : ENUM {
ALARM_ZU_SCHNELL : 1; // Geschwindigkeit zu hoch
ALARM_ZU_LANGSAM : 2; // Geschwindigkeit zu niedrig
ALARM_ALLGEMEIN : 3; // Sammelfehler aufgetreten
ALARM_SERVICE : 4; // Service verständigen
}
In der SPS will ich dann Variablen von diesem Typ anlegen, die dann nur genau diese Zustände annehmen können:
AlarmNr : Alarmmeldungen;
Verwendung:
AlarmNr := ALARM_ZU_LANGSAM;
oder
AlarmNr := ALARM_SERVICE;
Ein WinCC soll dann mit dem gleichen Datentyp arbeiten und dann allerdings den Klartext zur Anzeige bringen.
Im Moment geht das nur über globale Konstanten, was sehr unschön ist, da keinerlei Eindeutigkeit garantiert ist und Textlisten im HMI, die dummerweise komplett händisch aktualisiert und gepflegt werden müssen. Also komplett doppelte Datenhaltung.
Frage: Wie macht ihr das? Gibt es da vielleicht eine versteckte Funktion, die ich bisher übesehen habe?
Würde es zumindest gehen, mit Openness die globalen Konstanten auszulesen und in die "Textlisten" aller WinCC Panels zu schreiben?