WinCC Unified Dauerhafte Rotation wenn Variable = TRUE?

lowEffort31

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöle,

ich möchte auf einem WinCC Panel eine Animation erstellen, nämlich eine dauerhafte Rotation. Nun zur eigentlichen Programmierung versteh ich alles, aber wie funktioniert dieses "triggerDataSet" und "Trigger hinzufügen"?
1763986227148.png

Wenn ich hier eine Variable auswähle, die dann True wird, wird mein Script auch nicht ausgeführt...

1763986257312.png

Das ist mal mein gesamtes Script.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei Triggern über eine Variable wird das Script jeweils bei der Wertänderung einer der parametrierten Variablen ausgelöst.
Der Parameter "triggerDataSet" ist dabei ein Objekt vom Typ "HMITagTriggerDataSet" und bezieht sich auf die parametrierten Triggervariable bzw. ist eine Liste von Objekten des Typs "TriggerTagData".
Darüber kannst du auf die parametrierten Triggervariablen zugreifen ohne die gewünschte Variable nochmals explizit per "Tags()" anzusprechen & kannst zudem auswerten welche der projektierten Triggervariablen getriggert hat usw...
Details zu dem Objekt siehe TIA-Hilfe.

Wenn du eine zyklische Aktion mit einem einzelnen Scriptaufruf starten bzw. stoppen willst, musst du deinen Code in einen Intervall packen.
Mit "HMIRuntime.Timers.SetIntervall()" startest du den Intervall, mit "ClearIntervall()" stoppst du diesen wieder.
Jeweils natürlich entsprechend dem Wert deiner Triggervariable aufrufen.
Die Timer-ID musst du dabei als globale Variablen anlegen, damit die Information welche ID der gestartete Intervall hat für den nächsten Scriptaufruf nicht verloren geht.

Und hättest du den Fehler im Catch per Trace ausgegeben, hättest du auch eine Fehlermeldung dazu bekommen was dein Problem beim Zugriff auf "x" ist.
Trace ist dein Freund (⁠人⁠ ⁠•͈⁠ᴗ⁠•͈⁠)
Wobei es auch gut sein könnte, dass der direkte Zugriff auf ein Objekt vom Typ "TriggerTagData" einfach als truthy interpretiert wird ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
(So würde sich zumindest "normales" Javascript verhalten, ka ob das große S da was anders macht)
 
Zurück
Oben