WinCC Unified Unified Panel/Faceplate: Script ausführen, wenn sich der Wert einer Variable ändert.

wollbit

Level-2
Beiträge
53
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin zusammen,

ich habe momentan ein Unified Panel vor mir und darf alle Bildbausteine eines Projekts komplett nachbauen.
Trotz zahlreicher Problem, klappt es bisher "einigermaßen" gut. 🙄
Momentan erstelle ich ein Faceplate für die IO Anzeige. Dafür habe ich ein DWORD als Input und eins für Output.

Meine Frage:
Ich habe bisher keine Möglichkeit gefunden, eine Script (Innerhalb des Faceplates) zu starten, wenn sich der Wert der Variablen ändert. (Variablen Schnittstelle)

Die einzige Möglichkeit, die ich jetzt kenn, ist:
Unter Eigenschaften eines beliebigen Elements bei einem beliebigen Attribut den Wert auf Dynamisch per Script zu stellen
und dort einen Trigger von z.B.100ms zu setzen.
Das ist alles andere als sauber!

Kennt jemand eine bessere Lösung, die später auch noch von anderen nachvollzogen werden kann?


Grüße Olli 😎
 
Servus Olli,

ich denke das müsste eleganter gehen.

1655274338835.png

Über die Eigenschaft Prozesswert lässt sich bei Änderung ein Skript starten, falls sich die Variable ändert.

Gruß Luki
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Luki,
in etwa so mache ich das auch.
In meinem Fall kann ich allerdings unterschiedliche Darstellungsformen und muss daher Scripten. Und steuer mit einem Aufruf alle auf einmal.



Anmerkung:
Das viel größere Problem ist hier aber, dass die Scripte der Eigenschaften und die der Ereignisse voneinander getrennt sind und jede seinen eigenen globalen Bereich hat. Natürlich kann man nicht auf Funktionen oder Variablen des anderen globalen Bereichs zugreifen. :mad:

Es gibt zwei mögliche Lösungen:
1) Im Projekt ein Script Modul anlegen. Ist mit Faceplates etwas unpraktisch.
2) Mit einer Eigenschafts-Variable des Faceplates die Variablen übergeben. Auf diesen Bereich können beide zugreifen.



Gruß Olli
 
Zurück
Oben