WinCC Flex Rechteck wird nicht unsichtbar

rathmarath

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte, je nach Wert des jeweiligen Bits 100 Rechtecke und Buttons sichtbar bzw. unsichtbar schalten.
Dies funktioniert auch alles super, jedoch genau das 100. Rechteck reagiert nicht und lässt sich durch das Skript nicht verändern. Alle anderen werden wie gewollt sichtbar/unsichtbar.

Woran kann das liegen?

Ich verwende Wincc Flexible 2008 und das ganze wird per Runtime dargestellt.

Hier das verwendete Skript:
Code:
Dim index_s
Dim Button_Runde, Rechteck_Runde
Dim objectR, objectB
For index_s = 1 To 100
  Button_Runde = "Runde_" + Trim(CStr(index_s))
  Rechteck_Runde = "Rechteck_" + Trim(CStr(index_s))
  Set objectB = HmiRuntime.Screens("Schichtplan_aktuell").ScreenItems(Button_Runde)
  Set objectR = HmiRuntime.Screens("Schichtplan_aktuell").ScreenItems(Rechteck_Runde)
  objectB.Visible = SmartTags("Runde_jetzt_Verwendung.Verwendung")(index_s)
  objectR.Visible = SmartTags("Runde_jetzt_Verwendung.Verwendung")(index_s) 
Next
 
Ich weiß nicht, ob es im aktuellen WinCCFlex/TIA immer noch so ist, aber bei Vwerwendung von Array, die in der SPS liegen (DB) und dann auch als Array-Variablen in der HMI angesprochen werden, gibt es Verschiebungen, wenn man nicht bei 0 beginnt.
Also dafür besser immer Array von 0 ... X definieren.
 
Gibt es auch ein Rechteck, das "Rechteck_100" heißt? Oder ist an dem Rechteck bereits die Sichtbarkeit mit einer Variable animiert?
Hast Du schon mal die "Software komplett" übersetzen lassen?

PS: wie ist die HMI-Variable "Runde_jetzt_Verwendung.Verwendung" definiert? Ich meine, dieses Array beginnt immer mit Index 0

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich weiß nicht, ob es im aktuellen WinCCFlex/TIA immer noch so ist, aber bei Vwerwendung von Array, die in der SPS liegen (DB) und dann auch als Array-Variablen in der HMI angesprochen werden, gibt es Verschiebungen, wenn man nicht bei 0 beginnt.
Also dafür besser immer Array von 0 ... X definieren.

Zumindest bei V14 SP1 ist das noch so, daher meine Frage nach Änderung des Indexes.

@rathmarath: Durch die von Ralle beschriebene Verschiebung kann es sein, dass du bei deinen Buttons/Rechtecken um 1 versetzt auf das Arrayelement guckst. Hast du shcon kontrolliert, ob du bei Ausblendung von Element 2 auch den zweiten Button, oder dritten bzw. ersten ausblendest?
 
Hallo,

die Verschiebung der Indizes war die Ursache meines Problems.
Jetzt funktioniert alles wie gewünscht.

Vielen Dank für die schnelle Hilfe!
 
Zurück
Oben