WinCC Unified Taste mit bestimmter Rolle einblenden

Supermario73

Level-2
Beiträge
118
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen
im Unified Panel möchten wir, wenn sich jemand mit der Rolle "HMI Administrator" einloggt bestimmte Tasten Einblenden.
Darum haben wir eine Funktion geschrieben, welche durch den Aufgabeplaner alle 5s angestossen wird.

Die Funktion sieht folgendermassen aus:

Code:
export function Admin() {
 // Überprüfen, ob der angemeldete Benutzer die Rolle "Admin" hat
let roleName = "HMI Administrator";
let retVal = HMIRuntime.UserManagement.HasUserRole(roleName);
if(retVal){
  HMIRuntime.Trace("The current user is in role: " + roleName);
Tags("Admin").Write(1);   
  } else {
   Tags("Admin").Write(0);
  }
}

Ziel ist es, sobald sich jemand mit der Rolle "HMI Administrator" einloggt, die interne Variable "Admin" auf 1 gesetzt wird. (Mit der Variable "Admin" wird dann die Taste eingeblendet)

Hat jemand eine Idee was am Skript falsch sein könnte oder hat jemand eine bessere Idee?
Besten Dank für Eure Hilfe!
 
Hast du mal versucht deine Variable in die SPS zu legen?
Meine mal gehört zu haben, dass interne HMI-Variablen nicht für alles benutzt werden können. Vielleicht gehört der Aufgabenplaner ja auch dazu.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat jemand eine Idee was am Skript falsch sein könnte oder hat jemand eine bessere Idee?
Auf den ersten Blick sieht es OK aus....
Pack es doch mal in eine try..Catch Struktur & lass dir per Trace die Fehlermeldung ausgeben.

Meine mal gehört zu haben, dass interne HMI-Variablen nicht für alles benutzt werden können. Vielleicht gehört der Aufgabenplaner ja auch dazu.
Kommt drauf an ob er die interne Variable global oder spezifisch für jeden Client eigenständig angelegt hat.
Hat was mit den separaten Ausführungs-Kontexten zwischen Server und Client zu tun.
Das Tag-Objekt an sich sollte im Aufgabenplaner funktionieren.
 
Zurück
Oben