WinCC Unified WinCC Unified Benutzerverwaltung - Anmeldung über SPS Variable

Tobi1999

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

ich würde gerne mich am Unified Panel über ein Chip System von der SPS aus anmelden. Beispielsweise Chip mit Berechtigung "User" wird eingesteckt. SPS liefert eine Int variable mit Wert 1. Nun würde ich gerne ohne einen Anmeldedialog gleich am Panel mit "User" angemeldet sein.
Mein erster Gedanke war es mit der eine Variable die Bedienbarkeit zu Dynamisieren. Aber besser wäre es mit der von Unified gestellten Benutzerverwaltung zu arbeiten. Auch soll es noch möglich sein ohne Chip sich über den Anmeldedialog anzumelden.
Wie führe ich die Anmeldung über die SPS aus. Muss ich dann auch Benutzername und Passwort als String speichern und der HMI übergeben?
Version ist TIA V18 Up3, bzw. erste versuche auf V19 umzusteigen

Danke für die Antworten
 
Hallo, hasd du hierzu schon eine Lösung? Stehe vor dem gleichen Problem, habe eine Anmeldung über ein Skipt geplant, jedoch funktioniert die funtktion "HMIRuntime.UI.UserManagement.SysFct.SetLocalUser(Alias)" bei mir nicht, da ich Benutzer und Passwort (leider bei Unified nicht anders möglich 😒 ) fest hinterlegt habe im SPS Programm. Der logOff über eine Variable funktioniert bei mir.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Versuch mal das hier:
Javascript:
HMIRuntime.UI.UserManagement.SysFct.SetLocalUser(HMIRuntime.UI.SysFct.CreateGetAndClearScreenItemCommand("eaChangeUser_Username"));
In diesem Beispiel ist "eaChangeUser_Username" ein String EA-Feld mit dem Benutzernamen, String-variable geht aber auch.
 
Danke @Botimperator danke für die schnelle Antwort. Bin nach kurzer Verzweiflung ebenfalls auf eine funktionierende Lösung gestoßen.

Javascript:
HMIRuntime.UI.UserManagement.SysFct.SetLocalUser(HMIRuntime.Tags.SysFct.CreateGetAndClearTagCommand("DB_HMI_COM_Communication_Usermanagement_SPS_AUFTRAG_USER"));

Was jetzt genauer der Unterschied zwischen den beiden müsst ich nachlesen. Funktionieren tuts aufjedenfall.

Wieso Siemens folgende Lösung Unified Login unter Punkt 2.6 vorschlägt ist mir jedenfalls unklar.

Javascript:
HMIRuntime.UI.UserManagement.SysFct.SetLocalUser(HMIRuntime.Tag.SysFct.CreateGetAndClearTagCommand("HMI_AliasTag"))

Das Ganze lässt sich (zumindest) bei mir nichtmal übersetzen. Laut Fehlerbeschreibung kennt Javaskript "HMIRuntime.Tag" nicht.
 
Wieso Siemens folgende Lösung Unified Login unter Punkt 2.6 vorschlägt ist mir jedenfalls unklar.

Javascript:
HMIRuntime.UI.UserManagement.SysFct.SetLocalUser(HMIRuntime.Tag.SysFct.CreateGetAndClearTagCommand("HMI_AliasTag"))

Das Ganze lässt sich (zumindest) bei mir nichtmal übersetzen. Laut Fehlerbeschreibung kennt Javaskript "HMIRuntime.Tag" nicht.
fehlt da gegenüber deiner anderen Lösung nicht einfach nur ein s bei "Tags" (Tippfehler?)?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
fehlt da gegenüber deiner anderen Lösung nicht einfach nur ein s bei "Tags" (Tippfehler?)?
Stimmt, da hast du recht, habs mir aber danach gar nicht mehr so genau angesehen. Sollte vielleicht jemand von den Kollegen bei Siemens ausbessern. Zieht sich nämlich so durch die Gesamte Doku der Funktion.
 
Was jetzt genauer der Unterschied zwischen den beiden müsst ich nachlesen. Funktionieren tuts aufjedenfall.
"CreateGetAndClearTagCommand" bezieht sich auf ein HMI Tag, während mein Beispiel sich mit "CreateGetAndClearScreenItemCommand" auf ein ScreenItem bezieht.
Der an SetLocalUser übergebene Wert bzw. Der Typ des Rückgabewerts ist bei beiden Funktionen identisch.

Denk noch dran abzufangen wenn ein ungültiger Benutzername übergeben wird.
SetLocalUser bricht das Script sonst per exeption ab.
 
Zurück
Oben