WinCC Unified MTP1200 Unified Variable @UserName in DB schreiben

technikerpv

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

zur Zeit bin ich an einem MTP1200 Unified dran (verbunden im Netzwerk mit einer CPU 1513-1 PN).
Hat jemand eine Idee, wie ich die interne Variable @UserName (angemeldeter Benutzer) des HMI, als String in einen DB der CPU schreiben kann?
Vielen Dank im voraus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat jemand eine Idee, wie ich die interne Variable @UserName (angemeldeter Benutzer) des HMI, als String in einen DB der CPU schreiben kann?
Das ist eine komplexere Frage als du vllt erwartest...
@UserName ist eine sitzungslokale Variable.
DEN angemeldeten User gibt es also nicht.

Zum Kontext:
Unified besteht aus einem Server-Dienst ohne UI & den eigentlichen Client-Instanzen, die auf den Server zugreifen.
Auf den Paneln ist das ebenfalls so, auch wenn man diese schnell als ein einzelnes, physisches Gerät abtut.
Nachdem der Server-Dienst gestartet wurde öffnet sich auf dem Panel schlicht ein Browser, der die eigentliche Darstellung der UI übernimmt.
Greifst du per WebClient auf das Panel zu, startet ebenfalls eine neue Client-Instanz in deinem Web-Browser die die Daten des Servers darstellt.
Dabei können in deinem Browser und auf dem Panel unterschiedliche Benutzer angemeldet sein.
Damit gäbe es also in diesem Beispiel zwei mögliche Benutzernamen, welche in die SPS geschrieben werden könnten.
Welcher darfst also sein?

Mit WebClients können von Haus aus 3 Clients am Panel aktiv sein, für mehr brauchst du ne entsprechende Lizenz.
Wie viele Clients max. auf einem Panel möglich sind, weiß ich aber leider nicht auswendig.

Zur Umsetzung einer Lösung:
Du könntest im Aufgebaut-Ereignis deines Startbildes eine Subscription auf @Username erstellen & damit die SPS-Variable aktualisieren.
Irgendwo in UI gab's auch eine Scriptfunktion um den Namen der Station, auf dem der Client läuft, auszulesen (siehe F1).
Damit könntest du beispielsweise gleich mitteilen auf welchem Client sich angemeldet wurde.
Das eignet sich aber nur bedingt für SPS-seitige Verriegelung von Funktionen!!
Für autorisierte Aktionen und deren Dokumentation gibt es seitens Unified entsprechende Möglichkeiten, siehe z.B. GMP-Konforme Projektierung.
 
Das ist eine komplexere Frage als du vllt erwartest...
@UserName ist eine sitzungslokale Variable.
DEN angemeldeten User gibt es also nicht.

Zum Kontext:
Unified besteht aus einem Server-Dienst ohne UI & den eigentlichen Client-Instanzen, die auf den Server zugreifen.
Auf den Paneln ist das ebenfalls so, auch wenn man diese schnell als ein einzelnes, physisches Gerät abtut.
Nachdem der Server-Dienst gestartet wurde öffnet sich auf dem Panel schlicht ein Browser, der die eigentliche Darstellung der UI übernimmt.
Greifst du per WebClient auf das Panel zu, startet ebenfalls eine neue Client-Instanz in deinem Web-Browser die die Daten des Servers darstellt.
Dabei können in deinem Browser und auf dem Panel unterschiedliche Benutzer angemeldet sein.
Damit gäbe es also in diesem Beispiel zwei mögliche Benutzernamen, welche in die SPS geschrieben werden könnten.
Welcher darfst also sein?

Mit WebClients können von Haus aus 3 Clients am Panel aktiv sein, für mehr brauchst du ne entsprechende Lizenz.
Wie viele Clients max. auf einem Panel möglich sind, weiß ich aber leider nicht auswendig.

Zur Umsetzung einer Lösung:
Du könntest im Aufgebaut-Ereignis deines Startbildes eine Subscription auf @Username erstellen & damit die SPS-Variable aktualisieren.
Irgendwo in UI gab's auch eine Scriptfunktion um den Namen der Station, auf dem der Client läuft, auszulesen (siehe F1).
Damit könntest du beispielsweise gleich mitteilen auf welchem Client sich angemeldet wurde.
Das eignet sich aber nur bedingt für SPS-seitige Verriegelung von Funktionen!!
Für autorisierte Aktionen und deren Dokumentation gibt es seitens Unified entsprechende Möglichkeiten, siehe z.B. GMP-Konforme Projektierung.
Hallo. Ja, am HMI und am Browser können unterschiedliche Benutzer angemeldet sein.
Per Button und Ereignis "SetzeVariablenWert" @Username in "DBxy".var_username, wird der @Username der jeweiligen Bedienoberfläche übergeben, auf der der Button betätigt wurde. Durch die Betätigung am HMI, wird der angemeldete Benutzer des HMI in den DB geschrieben und wenn ich am Webbrowser den Button betätige, wird der am Browser angemeldete Benutzer in den DB geschrieben.
Ist für die gewünschte Funktionalität in unserem Fall für die Weiterschaltung von Chargen so völlig ausreichend. vielen Dank für die Hilfe
 
Zurück
Oben