WinCC Unified Trigger, JS Dynamisierung von Textfeld

Batavia

Level-2
Beiträge
36
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen

Ich probiere mich am WinCC Unified ohne jegliches Wissen zu JavaScript.
Ich möchte ein Textfeld via skript dynamisieren. Die variable "hmi_tag" ist ein bool.
Bei true soll text 1 ausgegeben werden.
Bei false soll text 2 ausgegeben werden.

Frage 1: Kommt der Code soweit etwa hin? Wurde mithilfe von Chatgpt und dem Forum erstellt
Frage 2: Wie ist mit dem Trigger umzugehen? Das Skript sollte immer ausgeführt werden, bei den möglichen triggern blicke ich nicht ganz durch welcher geeignet wäre.

1706177226837.png


Code:
export function Textfeld_5_Text_Trigger(item) {

var value;
if (hmi_tag){
value = "text_1";
}else{
value = "text_2";
}
return value;

}
 
Um deinen Trigger zu lesen, musst du
Tags("hmi_tag").Read()
verwenden. Das also in die Klammer bei der If-Bedingung setzen, dann sollte es funktionieren, wenn ich das richtig sehe.

Der Trigger wird dann auch automatisch eingestellt auf "Variablen - automatisch". Heißt, sobald sich eine HMI-Variable, welche im Skript verwendet wird, ändert, wird das Skript ausgeführt.
Ansonsten kann das Skript zyklisch ausgeführt werden oder wenn du "Variablen" auswählst, kannst du die Variablen selbst auswählen, welche das Skript triggern sollen.
Ich hoffe das war alles verständlich :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Um deinen Trigger zu lesen, musst du

verwenden. Das also in die Klammer bei der If-Bedingung setzen, dann sollte es funktionieren, wenn ich das richtig sehe.

Der Trigger wird dann auch automatisch eingestellt auf "Variablen - automatisch". Heißt, sobald sich eine HMI-Variable, welche im Skript verwendet wird, ändert, wird das Skript ausgeführt.
Ansonsten kann das Skript zyklisch ausgeführt werden oder wenn du "Variablen" auswählst, kannst du die Variablen selbst auswählen, welche das Skript triggern sollen.
Ich hoffe das war alles verständlich :)
Besten dank dir.

Wenn ich die Trigger Settings auf "Variablen- automatisch" habe funktioniert der Skript solange der Trigger bzw. die variable true ist.
Wenn die Trigger/variable false ist wird der Skript scheints nicht ausgeführt was ja auch in meiner Interpretierung sinn macht.
Es wirkt für mich jetzt als würde nur die positive flanke erkannt werden.

Gibts da irgendwelche Einstellungen der Flankenerkennung?


Edit:
war ein dubioser fehler, kann ich mir nicht erklären, hab das ganze versuchsweise noch umstrukturiert.
Funktioniert perfekt. danke dir

Javascript:
export function Textfeld_6_Text_Trigger(item) {
    
  var bTag = Tags("hmi_tag").Read();
  var value;
 
    if (bTag){
      value = "Tag";
    } else {
      value = "Nacht";
    }

  return value;

}
 
Zuletzt bearbeitet:
Zurück
Oben