TIA symbolisches E/A-Feld Prozesswert im VB-Skript multiplexen

joe_bvb

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

ich möchte ein Symbolisches E/A-Feld mit Modus Eingabe/Ausgabe in einem VB-Skript multiplexen, Die Variable "SmartTags("FREIGABEMATRIX_DB.Zelle[" & SmartTags("@NOTP::Freigabematrix_Zellen_Nr").Value & "].TYP[4].Taster.TASTER[0]").Value" lässt sich zwar richtig anzeigen, wenn ich sie in dem DB ändere (lesend) aber wenn ich die Variable in HMI ändere, dann ändert sich im DB nichts (schreibend nicht möglich). Ich habe leider die Ursache nicht gefunden.
Anbei ist ein Screenshot vom Skript, vielleicht fällt euch irgendwas auf.

Danke im Voraus
 

Anhänge

  • 1648276287682.png
    1648276287682.png
    48,9 KB · Aufrufe: 44
Was für eine WinCC Version ist das denn? Auf was für einem Gerät läuft die WinCC RT?

Dein Problem könnte damit zusammenhängen, daß beim Zusammenbasteln von Variablennamen die WinCC RT nichts von der Verwendung der Variable weiß und sie vor der Verwendung im Skript nicht aktualisiert und deshalb im Skript einen alten Wert der Variable von der letzten Aktualisierung verwendet. VB Skripte warten beim Lesezugriff nicht auf eine Aktualisierung von Variablen.

Warum musst Du da überhaupt selbstgebastelt multiplexen? Kannst Du nicht das in WinCC vorgesehene Variablen-Mutiplexen benutzen? Das funktioniert nämlich.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich vermute, du musst bei dem passenden Ereignis "Wert geändert" oder sinngemäß ebenfalls ein passendes Script einfügen, welches den neuen Wert aus dem Eingabefeld dann wieder mit dem zusammengesetzten Variablennamen schreibt.
 
Was für eine WinCC Version ist das denn? Auf was für einem Gerät läuft die WinCC RT?

Dein Problem könnte damit zusammenhängen, daß beim Zusammenbasteln von Variablennamen die WinCC RT nichts von der Verwendung der Variable weiß und sie vor der Verwendung im Skript nicht aktualisiert und deshalb im Skript einen alten Wert der Variable von der letzten Aktualisierung verwendet. VB Skripte warten beim Lesezugriff nicht auf eine Aktualisierung von Variablen.

Warum musst Du da überhaupt selbstgebastelt multiplexen? Kannst Du nicht das in WinCC vorgesehene Variablen-Mutiplexen benutzen? Das funktioniert nämlich.

Harald
Hallo,

1648636308571.png

Das Gerät: IPC677D 22'' Touch PN/IE

Variable-Multiplexen lassen sich leider nicht anbieten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Lass dir über eine Debugausgabe mal ausgeben, ob und wann das Ereignis überhaupt angestoßen wird. Und dann am besten gleich auch den zusammengesetzten Variablennamen mit ausgeben lassen, ob das überhaupt passt. Ich meine bei WinCC Prof. muss man im Ereignis auch noch selber die Eigenschaft abfragen auf die man reagieren möchte, bei WinCC 6/7 gab es für die Eingabwert geändert noch ein eigenes Ereignis (zumindest bei EA Feldern).
 
Zurück
Oben