WinCC Unified Objekteigene Eigenschaften ändern via Skripts

TME10

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
Beim drücken von einer Schaltfläche sollte sich die Farbe jener Schaltfläche ändern. Ich habe ein funktionierendes Skript dazu:

export async function Schaltfläche_1_OnDown(item, x, y, modifiers, trigger) {
HMIRuntime.Tags.SysFct.SetTagValue("HmiButtons_ProgSelection_Loading", true);
HMIRuntime.Tags.SysFct.SetTagValue("HmiButtons_ProgSelection_Selection", false);

Screen.Items("Schaltfläche_1").ForeColor = 0xFF000032
}

Jedoch muss man dieses Skript für jede Schaltfläche anpassen, da man den Namen des Objekts eingeben muss.
Gibt es die Möglichkeit Eigenschaften des eigenen Objekts zu ändern ohne das Skript für jede Schaltfläche anpassen zu müssen?
 
Da in der Funktion das item mit übergeben wird, kannst du es dir einfach machen mit

item.ForeColor

dann ist das ganze unabhängig vom Objektnamen.
 
Die Beschreibung der ganzen Parameter des Scripts findest du übrigens in der jeweiligen F1-Hilfe des Ereignisses, in deinem fall unter "Button_OnDown()".
hab es zuvor mit Item.ForeColor probiert...
Wegen sowas empfehle ich immer den Code, egal was es ist, immer in eine try..catch Struktur zu verpacken.
Javascript:
try {
    //Hier den Script-Code rein
} catch (err) {
    HMIRuntime.Trace("Irgendwas ist schief gegangen, Fehler:" + err, HMIRuntime.Trace.Enums.hmiSeverity.Error);
}
Dann bekommst du zumindest im Trace-Viewer einen Eintrag, dass ein Script wegen einem Fehler abgebrochen wurde.
Die Meldung kannst du natürlich auch noch beliebig ergänzen & z.B. den Objektnamen und dessen Pfad gleich mit ausgeben.
 
Zurück
Oben