arrays und winccflex

mrtommyt

Level-2
Beiträge
130
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,

hab folgendes problem (gabs bestimmt schon öfters, bin aber noch nicht so richtig schlau geworden mit dem, was ich gefunden hab).

Datenbaustein in S7 besteht aus arrays [0..10] in dem ein struct von diversen variablentypen enthalten ist. Das ganze sind Daten für verschiedene FU´s.
Jetzt wollte ich in WinCCflex ein Bild erstellen und anhand eines Index die Arrays durchschalten. Mit Multiplex muss ich ja trotzdem alle 500 Variablen anlegen...dat wollt ich eigentlich nicht.

jemand ne Idee wie das ohne scripte geht?

Gruß
 
:confused: ... wenn dein Struktur-(Element) aus 500 Unter-Elementen besteht dann mußt du die 500 Elemente anlegen. Wenn du aber in Wirklichkeit 10 * 50 Elemente (also für jeden Array-Index 50 Elemente) hast dann mußt du auch nur die 50 anlegen ...

Gruß
Larry
 
Naja ... dann so, wie von mir schon beschrieben : die 50 Unter-Elemente des Array-Index (0) anlegen und die Multiplex-Adresse für jede der Variablen beim Umwählen ausrechnen. Das geht dann natürlich auch am Einfachsten (und Übersichtlichsten) per Script - aber auch mit den Standard-Flex-Befehlen (Rechnen).

Gruß
Larry
 
Ich lege mir dafür immer eine "Pointer-Variable" an. Im HMI kann diese Variable dann per Pfeiltasten oder Direkteingabe verändert werden.
Der "Pointer" zeigt dann in der S7 auf das entsprechende Feld im Array. Dieses kopiere ich in einen "Editier-DB" um. Dort gibt es die Struktur dann eben nur 1x.
Wenn Du nur Daten anzeigen möchtest, genügt es die Variablen aus dem Editier-DB an die jeweiligen Ausgabefelder anzuschließen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich lege mir dafür immer eine "Pointer-Variable" an. Im HMI kann diese Variable dann per Pfeiltasten oder Direkteingabe verändert werden.
Der "Pointer" zeigt dann in der S7 auf das entsprechende Feld im Array. Dieses kopiere ich in einen "Editier-DB" um. Dort gibt es die Struktur dann eben nur 1x.
Wenn Du nur Daten anzeigen möchtest, genügt es die Variablen aus dem Editier-DB an die jeweiligen Ausgabefelder anzuschließen.

das wäre meine zweite option gewesen. nur muss ich hier separat den weg des rückschreibens programmieren.

die multiplexgeschichte versteh ixh so...eine variable als zeiger, welche in die tabellenzeile (multiplex) zeigt und die dort angegebene variable wählt...heißt doch ich muss sämtliche variablen anlegen
 
das wäre meine zweite option gewesen. nur muss ich hier separat den weg des rückschreibens programmieren.

Das geht m.E. doch auch sehr elegant. Du musst den Kopierbefehl doch dann nur auf Anforderung wieder in die andere Richtung machen. Der "Pointer" stimmt ja dann schon. Außerdem hat der Benutzer damit auch gleich die Möglichkeit Änderungen wieder zu verwerfen, weil nicht direkt auf die Daten zugegriffen wird.
Ist aber wohl auch eine Geschmacksfrage.
 
Zurück
Oben