WinCC Unified Runtimesprache auf letzte Sprache setzen Unified V20

buffi4711

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



ich würde gerne die zuletzt am Panel eingestellte Sprache nach Hochlauf des Panels bzw auf Anforderung durch die PLC setzen.
Ich habe drei Buttons definiert, die die Sprache umstellen und die angewählte Sprache in eine PLC Variable schreiben, was auch funktioniert



export function Schaltfläche_1_OnTapped(item, x, y, modifiers, trigger) {

HMIRuntime.Language = 1031;

Tags("DB_PANEL_Sprache").Write(1031);

}



Als Beispiel für Deutsch.



Aber wie bekomme ich jetzt das Rückwärts hin. Also das ich die PLC-Variable auslese z.B. über Aufgabenplaner alle 10sek und dann die Sprache auf den Wert in der PLC setze?
 
Damit hatte ich mich diese Woche auch beschäftigt.
Ich wollte einfach per Knopfdruck alle Sprachen durchschalten.

Für den Knopf verwende ich folgenden Code:
Javascript:
export function UpdateLang() {
  UI.SysFct.ToggleLanguage();
  Tags("LangIndex").Write(HMIRuntime.Language);
}

Zur Anzeige nutze ich eine Grafikliste, die dann die entsprechenden Länderflaggen zugeordnet ist.


Wenn das Startbild aufgebaut wird (Ereignisse) soll folgendes Script ausgeführt werden:
Javascript:
export function LoadLastLang() {
  HMIRuntime.Language = Tags("LangIndex").Read();
}

Die Variable LangIndex ist in einem Datenbaustein. Dank deiner Nachfrage habe ich jetzt mein eigenes Programm erweitert.

Eine alternative Lösung bietet Siemens an: https://support.industry.siemens.co...uage-to-the-last-used-language?dti=0&lc=en-US

Dort wird die Nummer in einer Datei gespeichert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine alternative Lösung bietet Siemens an: https://support.industry.siemens.co...uage-to-the-last-used-language?dti=0&lc=en-US

Dort wird die Nummer in einer Datei gespeichert.
Ich würde die Siemens-Lösung mit der Datei empfehlen.
Nur weil das Startbild aufgebaut wurde, musst du noch lange nicht bereits eine Kommunikation zur SPS haben.
Schlimmstenfalls schreibst du irgendeinen Müll als neue Spracheinstellung.
 
Hallo und Danke für die Rückmeldungen.

die Lösung mit der datei benötigt dann aber einen USB Stick oder geht das auch im Speicher des HMI?. Wir verwenden Basic asl auch Comfort Panels
 
Nur weil das Startbild aufgebaut wurde, musst du noch lange nicht bereits eine Kommunikation zur SPS haben.
Schlimmstenfalls schreibst du irgendeinen Müll als neue Spracheinstellung.
Stimmt.

Ich werde das nochmal mit der Simulation testen. Dann muss ich wahrscheinlich den Windows-Pfad verwenden.
Die Sprachen für die Archivierung habe ich aber bis auf Deutsch deaktiviert. Ansonsten sollte man die Sprache auch bei der SPS freischalten.
Gibt sonst so viele Warnungen....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe das mit der version von Siemens ausprobiert.

Der erste Teil könnte gehen, also das speichern der Sprache

Beim zweiten Teil bekomme ich beim Übersetzen eine Fehlermeldung obwohl per Copy und Paste in Projekt übernommen
Im den im Beitrag agegebene Produkten sin die BasicPanel nicht aufgeführt. Unterstützen die BasicPanel wieder nur einen Teil der Funktionen?



DW_1_HMI_1,,1,1,15:13:54
,Übersetzen der Software gestartet.,,,15:13:54
Bilder,,1,0,15:13:55
Content,,1,0,15:13:55
01_MainCont,,1,0,15:13:55
,Ungültiges Object Member: Setimeout(() => {HMIRuntime.Language = parseInt(content);}, 50) in Zeile 5, in Spalte 21,,,15:13:55
Runtime-Einstellungen,,0,1,15:13:55
,Die projektierten Runtime-Sprachen des HMI-Gerätes entsprechen nicht den projektierten Sprachen der verbundenen PLC "DW_1_PLC_1".,,,15:13:55
,Übersetzen abgebrochen (Fehler: 1; Warnungen: 1),,,15:13:55
 
Zurück
Oben