TIA Benutzerverwaltung login fenster, "aufgebaut" einstellungen

mirmi

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

hab für mein Projekt im die Benutzerverwaltung aktiviert.
Bei einigen E/A Feldern ist nun eine Anmeldung notwendig wenn editiert werden soll.

das funktioniert ganz passabel.

Nun möchte ich in der Titelleiste den aktuellen Benutzer anzeigen.
Dazu hab ich eine hmi-Variable erstellt: "virtual_userName".

Am schönsten wäre es, wenn ich beim Login-Fenster in dem Eigenschaften, unter Ereignisse/Abgebaut "LeseBenutzername" in die hmi-variable "virtual_userName" schreiben lassen könnte.
Leider find ich dieses login Fenster nirgends.... kann ich dessen Eigenschaften überhaupt verändern?

Derzeit löse ich es so, dass in das Fenster mit den E/A Feldern diese Eigenschaft besitzt. Nur wird das ja selten geschlossen wenn grad editiert wird.

Hoffentlich hat jemand eine Lösung :)

Liebe Grüße
mirmi
 
Im Aufgabenplaner eine neue Aufgabe z.B. "UserChange" eintragen und dort als Trigger den "Benutzerwechsel" auswählen.
Beim Ereignis "Ausführen" dieser Aufgabe dann die Funktion "LeseBenutzername" mit Deiner Variablen "virtual_userName" eintragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welches HMI hast Du?
Das Login-Fenster ist ein System-Fenster, was nur angezeigt wird, wenn die aktuelle Benutzerstufe/Berechtigung nicht für die erforderliche Berechtigung ausreicht, oder wenn man die Systemfunktion ZeigeAnmeldedialog aufruft. An dieses Login-Fenster kann man keine Ereignisse projektieren.

Üblicherweise läßt man den Benutzername in eine Variable schreiben, wenn der Benutzer sich ändert: beim Benutzerwechsel (einloggen, aktiv oder automatisch ausloggen):
Aufgabenplaner > Ereignis "Benutzerwechsel"
+ LeseBenutzername
+ LeseGruppennummer (vorteilhaft wenn man abhängig von der Benutzergruppe dynamisieren/animieren will)
+ VerfolgeBenutzeraenderung (Systemmeldung anzeigen und in Meldepuffer/Meldearchiv schreiben)

(das sind Bezeichnungen aus WinCC flexible, in TIA heißen die ähnlich)

Harald
 
@pn/dp:
Oje, vergessen,sry....: HMI TP900,TIA
Schade dass man dem Login Fenster keine Ereignisse zuteilen kann, dann wärs ja einfach...

@hucki:
danke für den Tipp, hab die EA Felder bei "aktivieren" mit dem Ereignis "leseBenutzername" versehen und lass es in die Variable "virtual_username" schreiben.
Das funzt auch ohne Aufgabenplaner.
Das Passwort läuft nach 5sek ab. Leider wird dabei ja die variable dann nicht wieder überschrieben und der nicht mehr angemeldete Benutzer bleibt angezeigt.
Also hab ich bei allen Fenstern zu "aufgebaut" ebenfalls "leseBenutzername" hinzugefügt um eine aktuelle Anzeige einigermaßen zu gewährleisten.

Das schreiben der Variable muss ja irgendwie angestoßen werden. Gibts eine andere Möglichkeit den aktuellen Benutzer uptodate anzeigen zu lassen?

Vor ein weiteres Problem stellen mich die Fenster in denen die EA Felder in Bildbausteinen stecken. Da gibts dieses Ereignis "leseBenutzername" nicht und der Bildbaustein im Projekt lässt sich ja auch keine Ereignisse zuteilen. Habt ihr da bitte noch eine Idee?

Liebe Grüße
 
@hucki:
danke für den Tipp, hab die EA Felder bei "aktivieren" mit dem Ereignis "leseBenutzername" versehen und lass es in die Variable "virtual_username" schreiben.
Das funzt auch ohne Aufgabenplaner.
Das Passwort läuft nach 5sek ab. Leider wird dabei ja die variable dann nicht wieder überschrieben und der nicht mehr angemeldete Benutzer bleibt angezeigt.
Also hab ich bei allen Fenstern zu "aufgebaut" ebenfalls "leseBenutzername" hinzugefügt um eine aktuelle Anzeige einigermaßen zu gewährleisten.

Das schreiben der Variable muss ja irgendwie angestoßen werden. Gibts eine andere Möglichkeit den aktuellen Benutzer uptodate anzeigen zu lassen?

Vor ein weiteres Problem stellen mich die Fenster in denen die EA Felder in Bildbausteinen stecken. Da gibts dieses Ereignis "leseBenutzername" nicht und der Bildbaustein im Projekt lässt sich ja auch keine Ereignisse zuteilen. Habt ihr da bitte noch eine Idee?
Deswegen der Aufgabenplaner, wie es auch Harald beschrieben hat!
;)

Der erkennt jedes An- und Abmelden und aktualisiert genau dann (und nicht 100x unnötig bei Bild- und/oder Fokuswechsel) den Benutzernamen bzw. die -gruppe, wie es Harald noch zusätzlich empfohlen hat. Und es ist nur eine Stelle und einmalig, wo Du das programmieren musst.
 
jo eh 5min :)

Es bleibt leider die selbe Problematik, deshalb hab ich den komplizierten Weg gewählt:

@hucki: Aktionsplaner gefüttert, wie von Dir angeleitet :)
Der Benutzer muss sich für das Ändern der EAFelder (11Stk) von nur einem Fenster im Projekt einloggen. Also setze ich "LeseBenutzername" bei Aktivierung des EA Feldes.
Jetzt erscheint oben im Fenster der Benutzername, ausgegeben durch ein EA Feld das mit der "virtual_username" gefüttert wird.
Nach Ablauf der 5min sollte es wieder leer sein, der Benutzername bleibt aber stehen. Es sei denn ich stoße den "LeseBenutzername" nochmal durch irgend ein Ereignis an.
So bin ich auf die Fensterwechsel gekommen, das passiert schließlich am häufigsten und muss nur noch möglichst Nahe der 5min auf einen Fensterwechsel hoffen um JustinTime ;) den Benutzer anzeigen zu können.

Kanns sein, dass es am Simulieren liegt? Bin erst am Montag wieder bei der Hardware ;)

*grübelgrübel*
 
@hucki: Aktionsplaner gefüttert, wie von Dir angeleitet :)
Der Benutzer muss sich für das Ändern der EAFelder (11Stk) von nur einem Fenster im Projekt einloggen. Also setze ich "LeseBenutzername" bei Aktivierung des EA Feldes.
Jetzt erscheint oben im Fenster der Benutzername, ausgegeben durch ein EA Feld das mit der "virtual_username" gefüttert wird.
Nach Ablauf der 5min sollte es wieder leer sein, der Benutzername bleibt aber stehen. Es sei denn ich stoße den "LeseBenutzername" nochmal durch irgend ein Ereignis an.
In welche Variable schreibt der Aufgabenplaner sein "LeseBenutzername"?
Sieht nicht nach der aus, in die Du bei AktiviereFeld schreibst (was eigentlich dann auch unnötig ist), weil sie sich sonst beim Abmelden auch leeren würde.


Das Ganze funktioniert normalerweise sowohl real und als auch beim Simulieren.
Mach' vlt. mal Screenshots dem EA-Feld für den Benutzernamen, dem EA-Feld für die Eingabe und vom Aufgabenplaner, damit wir nicht aneinander vorbei reden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt erscheint oben im Fenster der Benutzername, ausgegeben durch ein EA Feld das mit der "virtual_username" gefüttert wird.
Nach Ablauf der 5min sollte es wieder leer sein, der Benutzername bleibt aber stehen.
Hast Du die Runtime "alles komplett übersetzt"?

Wenn Du im Aufgabenplaner beim Ereignis Benutzerwechsel "LeseBenutzername" projektiert hast, dann ist die da angegebene Variable nach dem automatischen Ausloggen nach 5 Minuten wieder leer. Zeigst Du da eine andere Variable an? Oder wie kommt es da zur Anzeige des Benutzernamens - evtl. Skript?
Was meinst Du mit "Fenster"?

Eine leider nicht abstellbare Eigenart des Anmeldedialog-Fensters ist, daß da immer der zuletzt eingeloggte Benutzername schon vorausgefüllt ist. Dadurch passiert es immer wieder, daß Benutzer dreimal nur ihr Passwort eintippen (und nicht ihren Benutzername) und dadurch der schon vorausgefüllte Benutzer gesperrt wird. Wichtig: wenn Benutzer gesperrt werden können, dann unbedingt eine "Benutzerverwaltung" in ein Bild einbauen und mindestens 2 Administratoren bzw. Verwalter (Benutzer die alle B.-Gruppen verwalten dürfen) anlegen.

Harald
 
Danke vielmals!!!!!
unglaublich wos i für Hiasl bin, sry.

Hab das Lesen und variable schreiben bei den Ereignissen des EA Feldes gemacht weil ich übersehen hab dass das Ereignis im Aufgabenplaner zu setzen ist :?
 
Zurück
Oben