WinCC Unified Aktuelle Runtimesprache WinCC Unified auslesen mit Javascript, und weiterreichen an der SPS

Beiträge
2.645
Reaktionspunkte
774
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ihr lieben,

Ich bin unbekannt mit Javascript und muss mich da komplett einarbeiten.

Meine Herrausforderung ist im Moment die aktuelle Runtimesprache WinCC Unified auslesen mit Javascript, und weiterreichen an der SPS.
Also will ich auf die System-Variable @Currentlanguage zugreifen und diese in ein Datenbaustein schreiben
Mit als Vorlage wie im Link. Und auch die Snippits Befehle
https://support.industry.siemens.co...d-read-the-current-language-in-runtime/293720

Code:
//let tag1 = Tags("@CurrentLanguage");
//let tagValue1 = tag1.Read();
// HMIRuntime.Trace("value of MyTag1: " + tagValue1);


let language = Tags("@CurrentLanguage").Read();

if(language == 1036) {

let tag2 = Tags("TEST4");
tag2.Write(333);
}
else if(language == 0) {

let tag1 = Tags("TEST4");
tag1.Write(666);
}

Die Variable @Currentlanguage habe ich im WinCc anzeigen lassen und die zeigt mit die Sprache als Nummer an.
2057 Englische Groß Britannien, und 1036 Fransosisch Frankreich.

Bloß scheint in die Systemvariable eine Null zu stehen.
Das eingefügte Script schreibt den Wert 666 im Datenbaustein. Also Script läuft im Aufgabenplaner und wird auf jeden fall ausgeführt.
Ich habe diverse Varianten probiert.

Wie lese ich am beste die Runtimesprache aus um die zu verwenden im SPS?
 
Hi,

versuch mal das Skript nicht im Aufgabenplaner aufzurufen, sondern irgendwo in einem Bild. Testweise an einem Button, beim Bildwechsel oder sowas. Das ist ein anderer Skriptkontext, der direkt an der aktuellen Benutzersession hängt.
Ich vermute, dass @CurrentLanguage eine sessionlokale Variable ist. Wenn also zwei Benutzer angemeldet sind und Benutzer A Englisch eingestellt hat und Benutzer B Französisch, welchen Wert soll der Aufgabenplaner dann in die Variable schreiben?
Kannst du ja mal mit der Simulation ausprobieren, wenn du dich in einem zweiten Browsertab in der Runtime anmeldest.
 
Zurück
Oben