WinCC Unified UserName als String in SPS schreiben

Drumfan159

Level-2
Beiträge
70
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat schon jemand eine Lösung wie ich den aktuell angemeldeten User in eine Variable der SPS schreiben kann? Im HMI Unified gibt's doch die @UserName Variable damit müsste sich doch etwas machen lassen aber ich bin bis jetzt kläglich gescheitert. Irgend ein Script und dann als String übergeben?
 
Wenn PLC_CurrentUser deine eigene Variable ist, kriegst du den Wert mit:
Tags("PLC_CurrentUser").Write(Tags("@UserName").Read());

Ich hab auf meinem Hauptbildschirm ein Textfeld in dem @UserName als Prozesswert eingetragen ist. In der Prozesswert.Änderung -Dynamisierung hab ich diese Zeile dann drin, um den Nutzernamen zu synchronisieren.
 
Es wird auch immer der User angegeben, von der Appliance an der der Button betätigt wurde.
Wenn du nur den Unsernamen in die SPS-Variable reinschreibst, der die jeweilige Funktion betätigt hat, sollte das auch gehen.
Gibt nur Probleme wenn du DEN einen, angemeldeten User auf eine einzelne Variable in der SPS schreiben wollen würdest.
Das würde, wenn du z.B. jeweils bei Wertänderung von @UserName den Benutzeramen in die SPS schreibst, zu Konflikten zwischen den gleichzeitig laufenden Client-Instanzen des HMIs führen.

Wenn du ausschließlich mit Panels & dem SmartServer arbeitest, kannst du das Thema aber auch vernachlässigen.
Muss nur im Kopf behalten, dass es mehrere aktive Benutzer geben kann sobald WebClients genutzt werden.
Im Bedarfsfall könntest du per @LocalMachineName auswerten welcher Client grade gestartet ist & dementsprechend im Client-Kontext angepasst reagieren oder z.B. bestimmte Funktionen nur am Panel selbst überhaupt freigeben.
 
Zurück
Oben