-> Hier kostenlos registrieren
Hallo zusammen,
ich knobel gerade an einer Lösung um ca 1500 Statusmeldungen in einem Touch Panel anzuzeigen.
Die Konfi soll mit WinCC felx 2008 SP2 gemacht werden.
Vom Prinzip her eigentlich ganz simpel. Ich hab 15 ET Baugruppen mit je 4 DI Karten a 32Kanäle. Jeder DI bildet eine Statusmeldung. Ich hab jetzt alle DIs eingelesen und der Reihe nach in ein Strukturierten DB geschrieben. Der DB ist in etwa so aufgebaut:
+ ETBaugruppen [Array0..14] // für die 15 ETBaugruppen
+DIKarte[Array0..3] (UDT) // je 4 DIKarten pro ETBaugruppe
+Eingang[Array0..31] (UDT) // je 32 Kanäle pro DIKarte
Dadurch sieht der DB in der ONLINEansicht dann so aus:
+ETBaugruppe1
+DIKarte1
+Eingang1
+Eingang2
...
+Eingang32
+DIKarte2
+Eingang1
+Eingang2
...
+Eingang32
...
+DIKarte4
+Eingang1
+Eingang2
...
+Eingang32
+ETBaugruppe2
+DIKarte1
+Eingang1
...usw. bis +ETBaugruppe15.
Ich hatte jetzt die Idee jede ET Baugruppe auf einem Bild anzuzeigen und für jeden Eingang ein Element zu zeigen welches einen Farbumschalg von Weis auf Rot macht um die Störung anzuzeigen. Da ich aber ein wenig zu faul bin 15 Bilder mit je 128 Statusmeldungen zu malen, würde ich gerne nur 2 Bilder machen. Eins auf dem eine Übersicht der 15 Baugruppen ist und dann 1 Bild das einen Wert 1-15 als Multiplexer übergeben bekommt und dann quasi anhand des übergebenen Wertes einen anderen Bereich aus dem DB anzeigt. Dann könnte man beim Drücken auf einer ET Baugruppe im Übersichtsbild den Multiplexer auf den Wert 1-15 setzen und dann das Bild anzeigen.
Ich kenne WinCC leider nicht so gut. Nur die Grundlegenden Sachen. Vielleicht gibts ja noch eine Lösung die viel einfacher ist.
Gibt es vielleicht die Möglichkeit den Strukturierten DB so anzusprechen das er eine ganze ET wiedergibt in einem Datantyp? So das ich im Bild anweisungen wie z.B. "ETBaugruppe[IndexVar].DIKarte[0].Eingang[0]" verwenden kann? So kenne ich es aus anderen Programmiersprachen. Aber ich hab es noch nicht geschaft eine Struktur ETBaugruppe anzulegen und anschliessen damit eine Variable in WinCC anzulegen und sie dann so mit dem DB zu Verknüpfen, da die S7 den Typ aus WinCC ja nicht kennt und nicht wissen kann wieviel Bits bzw. Worte der Datentyp ETBaugruppe hat.
Für Vorschläge oder verbesserungen wäre ich sehr dankbar.
Gruß
Smurf
ich knobel gerade an einer Lösung um ca 1500 Statusmeldungen in einem Touch Panel anzuzeigen.
Die Konfi soll mit WinCC felx 2008 SP2 gemacht werden.
Vom Prinzip her eigentlich ganz simpel. Ich hab 15 ET Baugruppen mit je 4 DI Karten a 32Kanäle. Jeder DI bildet eine Statusmeldung. Ich hab jetzt alle DIs eingelesen und der Reihe nach in ein Strukturierten DB geschrieben. Der DB ist in etwa so aufgebaut:
+ ETBaugruppen [Array0..14] // für die 15 ETBaugruppen
+DIKarte[Array0..3] (UDT) // je 4 DIKarten pro ETBaugruppe
+Eingang[Array0..31] (UDT) // je 32 Kanäle pro DIKarte
Dadurch sieht der DB in der ONLINEansicht dann so aus:
+ETBaugruppe1
+DIKarte1
+Eingang1
+Eingang2
...
+Eingang32
+DIKarte2
+Eingang1
+Eingang2
...
+Eingang32
...
+DIKarte4
+Eingang1
+Eingang2
...
+Eingang32
+ETBaugruppe2
+DIKarte1
+Eingang1
...usw. bis +ETBaugruppe15.
Ich hatte jetzt die Idee jede ET Baugruppe auf einem Bild anzuzeigen und für jeden Eingang ein Element zu zeigen welches einen Farbumschalg von Weis auf Rot macht um die Störung anzuzeigen. Da ich aber ein wenig zu faul bin 15 Bilder mit je 128 Statusmeldungen zu malen, würde ich gerne nur 2 Bilder machen. Eins auf dem eine Übersicht der 15 Baugruppen ist und dann 1 Bild das einen Wert 1-15 als Multiplexer übergeben bekommt und dann quasi anhand des übergebenen Wertes einen anderen Bereich aus dem DB anzeigt. Dann könnte man beim Drücken auf einer ET Baugruppe im Übersichtsbild den Multiplexer auf den Wert 1-15 setzen und dann das Bild anzeigen.
- Eine Lösung wäre das Bild mit Tempvariablen zu versehen und diese Variablen dann mit den Werten aus dem DB über ein Script zu füttern bevor dann das Bild angezeigt wird
- Eine andere Möglichkeit die ich sehe wäre ein seperaten DB anzulegen der in dem Bild angezeigt wird und den Multiplexer an die Steuerung zu übergeben, welche dann den DB für die darstellung mit den richtigen Werten füllt.
Ich kenne WinCC leider nicht so gut. Nur die Grundlegenden Sachen. Vielleicht gibts ja noch eine Lösung die viel einfacher ist.
Gibt es vielleicht die Möglichkeit den Strukturierten DB so anzusprechen das er eine ganze ET wiedergibt in einem Datantyp? So das ich im Bild anweisungen wie z.B. "ETBaugruppe[IndexVar].DIKarte[0].Eingang[0]" verwenden kann? So kenne ich es aus anderen Programmiersprachen. Aber ich hab es noch nicht geschaft eine Struktur ETBaugruppe anzulegen und anschliessen damit eine Variable in WinCC anzulegen und sie dann so mit dem DB zu Verknüpfen, da die S7 den Typ aus WinCC ja nicht kennt und nicht wissen kann wieviel Bits bzw. Worte der Datentyp ETBaugruppe hat.
Für Vorschläge oder verbesserungen wäre ich sehr dankbar.
Gruß
Smurf
Zuletzt bearbeitet: