Bug WinCC Flexible Arrays?!

ahaenle

Level-1
Beiträge
24
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Scheinbar interessiert es WinCC Flexible 2008 (SP1, HF1) nicht wenn man die Anzahl der Arrayelemente einer vorhandenen Variable ändert!

Problemfall: Es gibt in meinem Projekt die Arrayvariablen Taste1..4, Typ Bool, Verbindung zu S7. Hatten jeweils 24 Arrayelemente. Gesetzt werden diese Bits über ein Miniscript:

Code:
SmartTags("Taste1")(SmartTags("WegNr")) = 1

WegNr ist eine interne Variable vom Typ Int. Das Projekt wurde erweitert, ich brauche jetzt 32 Wege. Also einfach Anzahl der Arrayelemente der Variablen von 24 auf 32 geändert. Getestet: alle Wege > 24 (bisherige Länge der Arrays) gehen nicht:sb6:!

Rumgesucht, getestet, geflucht:confused:!

Schließlich die Arrayvariablen gelöscht, neu angelegt (gleich mit Länge 32) und geht!

IMHO ein ziemlich übler Bug. Konnte bei Siemens nix dazu finden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kann ich nicht bestätigen. Und mir eigendlich auch nicht vorstellen. Warum soll der erste Teil vom Array klappen und der andere nicht.

Habe ähnliches im Projekt an dem ich gerade sitze und gerade mal rumprobiert.

-> Array größer gemacht -> hat alles funktioniert.

Wurden bei dir irgendwelche Systemmeldungen angezeigt, als es nicht funktioniert hat? Wo hast du geschaut ob die Werte ankommen?

Gruß, Nico
 
@niCs:
dann hattest du aber noch nicht viel mit Flex zu tun. Ich hatte den beschriebenen Fall zwar auch noch nicht - kann ihn mir aber aufgrund anderer "Sternstunden" sehr gut vorstellen.

@ahaenle:
hattest du es vorher mal mit dem beliebten "temporären Daten löschen" versucht ?

Gruß
LL
 
@niCs:
dann hattest du aber noch nicht viel mit Flex zu tun. Ich hatte den beschriebenen Fall zwar auch noch nicht - kann ihn mir aber aufgrund anderer "Sternstunden" sehr gut vorstellen.

Gruß
LL

ich hatte schon einiges mit WinCC flexible zu tun. Ich will nicht sagen Nutzer der ersten Stunde, aber doch schon recht zeitig.
Mit WCF 2004 hatte ich nicht viel zu tun, warum wissen wir wohl alle 8)
Aber ab WCF 2005 war ich richtig dabei.

Auch mit Problemen musste ich mich schon sehr viel rum schlagen. Anfangs war ich auch oft geneigt alles auf flexible zu schieben, was sich dann auch oft bestätigte. Aber mittlerweile läuft flexible doch ganz gut, so dass ich nicht mehr alles von vorn herein auf die Software schiebe, das ist in vielen Fällen zu einfach gedacht. Man sollte schon ein wenig nach den Ursachen schauen.
Was soll man denn mit so generellen Aussagen anfangen? Soll jetzt jeder beim vergrößern von Arrays diese immer vorher löschen? Zumal es ja bei andern (mir) funktioniert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Systemmeldungen hatte ich keine. Die Bits wurden im DB einfach nicht gesetzt.

Temporäre Dateien hab ich nicht gelöscht, wo geht das?

Zielsystem ist übrigens ein MP277 10" Touch.
 
Temporäre Dateien hab ich nicht gelöscht, wo geht das?

Hallo,
das geht unter Flexibel - Extras - Temporäre Dateien löschen.
Das bewirkt, dass die Beziehungen zwischen den Flex-Variablen und den SPS-Variablen innerhalb der Flex-Datenbank überprüft/neu hergestellt werden.
Wenn du das nicht hin und wieder machst dann kann es dir sogar passieren, dass du irgendwo (z.B. mit einer Taste) die Variable_1 setzt und aber in der SPS einen vollkommen andere Variable verändert wird ...

Gruß
LL
 
Zurück
Oben