WinCC Unified Zugriff auf Schnittstellenvariable eines Faceplates via Javascript

Staubsauger

Level-2
Beiträge
87
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich stehe gerade etwas auf dem Schlauch.
Ich habe ein Faceplate, welchem ich über die Variablenschnittstelle eine Variable vom Typ UDINT übergebe. Auf diese möchte ich innerhalb des Faceplates mittels JS zugreifen.

Eigentlich wollte ich das mit folgendem Code tun:

Javascript:
let myVar = Faceplate.Properties.interfaceVariable;

HMIRuntime.Trace("Variableninhalt ist: "+myVar);

Allerdings gibt mir der Trace immer nur "Variableninhalt ist: undefined" zurück.

Hat jemand eine Idee was ich hier übersehe?
 
Moin,

bei mir funktioniert dein Quelltext. Ich habe statt "interfaceVariable" eine Boolean-Variable verwendet, und mir gibt der Trace "Variableninhalt ist: false" aus.
Daher wäre meine Vermutung, dass etwas bei der Übergabe an myVar bei dir nicht klappt. Heißt denn deine Schnittstellen-Eigenschaft wirklich "interfaceVariable"? Bist du dir sicher, ob du eine Schnittstellenvariable oder eine Eigenschaftsschnittstelle verwendest?
Wenn ich nämlich mit Faceplate.Properties.SW auf eine Variablenschnittstelle (Ich übergebe hier einen Sollwert) zugreife, erhalte ich das gleiche Ergebnis wie du.

Versuch es mal mit
Less:
let myVar = Tags("Name_Deiner_Variable");
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe jetzt mal ein komplett neues Projekt erstellt in welchem es nur eine Seite mit einem Faceplate gibt:

1694154023120.png
Vom Textfeld/Button schreibe ich jeweils in eine HMI-Variable (int bzw. bool), diese übergebe ich der Variablenschnittstelle meines Faceplates.
Im Faceplate sind die jeweiligen Variablen als Prozesswerte der hinterlegt. Bei Änderung des Prozesswertes wird das Script ausgeführt, welches nur die Variable als Trace ausgibt. Der Button führt das selbe Script manuell aus.

Die Schnittstellenvariable als solche funktioniert, da sich die Werte im Faceplate ändern.
Die im Script gelesenen Variablen sind allerdings immer "undefined".

Javascript:
let myVar = Tags("Name_Deiner_Variable");
-> selbes Ergebnis



Ich bin da gerade etwas ratlos. Zumal ich dachte, dass ich das beim meinen allerersten Tests schon einmal genutzt habe.


Edit: Fehlerhaftes Testprojekt wieder entfernt
 
Zuletzt bearbeitet:
Habe die Lösung gefunden:

Javascript:
let intVar = Tags("intSchnittstelle").Read();

Also im Grunde genau so wie bei normalen Tags.
Warum es bei den Snippets dann die genannt Funktion gibt weiß wohl nur der Herrgott.
Bin mir auch fast sicher, dass das mal funktioniert hat. In der Zwischenzeit habe ich aber auch 2 Updates für TIA 18 installiert.
 
Zuletzt bearbeitet:
Zurück
Oben