CODESYS - das IEC 61131-3 Programmiersystem

Willkommen im offiziellen CODESYS - Forum von 3S-Smart Software Solutions | A member of the CODESYS Group
Deutsche Version English version russian version 
Aktuelle Zeit: Fr Sep 20, 2019 12:34 pm

Alle Zeiten sind UTC




Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Dez 10, 2018 12:08 pm 
Offline

Registriert: Mo Aug 14, 2017 8:33 am
Beiträge: 50
Hallo,

ich hätte eine Frage zur Benutzerverwaltung in der Webvisu. Generell habe ich mehrere Benutzer und Benutzergruppen angelegt.
Nun möchte ich mich gerne z.B: als Admin anmelden. Hierzu habe ich einen Button erstellt, bei dem die Eingabekonfiguration "Login" eingetragen ist.

Nun lasse ich mir auf der gleichen Visu-Seite mit den Befehlen

VisuElems.CurrentUserGroupId
VisuElems.CurrentUserGroupName
VisuElems.CurrentRemainingAutoLogoutTime

den entsprechenden Benutzer, sowie die User-ID und die Zeit, bis zur automatischen Abmeldung anzeigen. => Hat wunderbar funktioniert!

nun habe ich eine zweite Visu-Seite erstellt, auf der ich auch diese Daten anzeigen lassen möchte. Leider zeigt er mir hier die User-ID 0, sowie Group Name "None" an. Die Zeit passt auch nicht.

Wenn ich mir nun beide Visualisierungen nebeneinander ansehe, schwankt auch die ID, sowie Name und Zeit auf der "Login-Seite" Zwischen "None" und "Admin" hin und her. Wenn ich nur die "Login-Seite" anzeige, steht es Stabil und richtig auf Admin.
Wie kann ich das in den Griff bekommen bzw. ist das ein Bug?

Hab mir auch mal das Example vom Store geladen...wenn ich hier eine neue Visu-Seite erstelle, hab ich das gleiche verhalten.

Ich verwende einen PFC200 von Wago, sowie CoDeSys V3.5 SP13 Patch 2.

Wäre Dankbar für eine Lösung :-)


Nach oben
   
BeitragVerfasst: Di Dez 11, 2018 9:27 am 
Offline

Registriert: Mo Aug 14, 2017 8:33 am
Beiträge: 50
Hallo,

so und auch hier bin ich selbst weiter gekommen...
Ich habe festgestellt, dass ich dieses Phänomen nur habe, wenn ich die Visu-Seiten innerhalb der Programmierumgebung wechsle, ohne einen Button auf der entsprechenden Seite zu nutzen => D.h. öffne ich in der Programmierumgebung nach dem Login eine Visualisierung in meinem Gerätebaum/Verzeichnis, habe ich genau das Phänomen. Wechsle ich innerhalb der Visualisierung auf eine andere Seite (z.B. über einen Button) ist alles i.O.

Frage:
da ich auch in einem Programmbaustein die aktuelle User-ID abfrage um innerhalb des Programmes verschiedene Berechnungen zu sperren -falls kein User eingeloggt ist- stellt sich die Frage ob in dem Baustein dann auch der korrekte User ausgelesen wird...

Und was ist, wenn sich auf zwei verschiedenen Clients ein jeweils anderer User anmeldet? Wird dann hier automatisch jeweils eine neue Instanz gebildet? Scheinbar nicht bzw. nur in der Visualisierung selbst.. im Programmbaustien nicht, da ich das Schwanken hier auch wieder habe, so bald ich mich über die Webvisu mit einem anderen Benutzer anmelde, als über die CoDeSys-Visu

Gibt es hier eine Lösung?


Nach oben
   
BeitragVerfasst: Mo Dez 17, 2018 8:49 am 
Offline
Häufiger Nutzer
Häufiger Nutzer

Registriert: Do Aug 30, 2018 7:40 am
Beiträge: 119
Hallo Chris,

wäre es nicht besser zwei unterschiedliche Methoden zu haben, welche du abhängig von der User-ID und der damit verbundenen Berechtigungen verwendest und der Aufruf über die Visu mittels Berechtigungen abgefragt wird?

Für allgemeine Programmbausteine wird meines Wissens keine doppelte Instanz verwendet, jedoch verwendet die Visu immer eine separate Instanz für die Elemente/Visualisierungen etc (sofern nicht anders konfiguriert).

LG
Marcel


Nach oben
   
BeitragVerfasst: Mo Dez 17, 2018 12:10 pm 
Offline

Registriert: Mo Aug 14, 2017 8:33 am
Beiträge: 50
Hallo Marcel

daran hatte ich auch schon gedacht, jedoch bräuchte ich dann für jeden Benutzer eine Methode.
Ich werde da einfach mein Programm etwas umstrukturieren und die Abfragen, die ich bisher im Programm machen wollte, auf die Visu verlagern.

Trotzdem vielen Dank!


Nach oben
   
BeitragVerfasst: Do Jan 03, 2019 9:11 pm 
Offline

Registriert: Do Aug 04, 2016 3:21 pm
Beiträge: 40
Sofern alle Visu-Clients synchronisiert angezeigt werden dürfen, kann man im VisualisierungsManager das Häkchen für "CurrentVisu-Variable verwenden" setzen. Dann wird auf allen Clients immer der gleiche Inhalt angezeigt und somit ist auch der angemeldete Benutzer überall der gleiche. Nur vermute ich, dass das für Dein Projekt nicht taugt, dass alle Visu's synchron laufen? Dann hat mir geholfen zu verstehen, dass innerhalb des Visu-Task alle Visu-Clients durch den ClientManager nacheinander abgearbeitet werden. Will man jetzt auf einen bestimmten Client zugreifen, muss man den zuerst ermitteln und kann dann gezielt Manipulationen vornehmen.
Ich habe es in einem Projekt so gelöst, dass ich im IEC-Code die Iteration speichere, dann "von Hand" starte und Client für Client in einer while "durchblätter" man kann im jeweiligen Client z.B. den Typ ermitteln, ob Target, WebVisu, Programmiersystem,.. die IP-Adresse auslesen usw.
Wenn die IP mit einem bestimmten Remotepanel übereinstimmt, werte ich aus, ob ein Benutzer angemeldet ist und gebe nur dann einen Start frei. Am Ende des Durchblätterns die Iteration per Restore wieder starten und alles läuft wie gehabt. Wichtig, solche Funktionen immer im VisuTask aufrufen! Mir haben diese beiden Beispiele sehr geholfen, bzw. da habe ich abgekupfert:
https://forum.codesys.com/viewtopic.php?f=23&t=6247&p=13503#p13503
https://forum.codesys.com/viewtopic.php?f=23&t=6247&start=30#p20740
Gruß aus dem Schwarzwald!


Nach oben
   
BeitragVerfasst: Do Jan 10, 2019 9:58 am 
Offline

Registriert: Mo Aug 14, 2017 8:33 am
Beiträge: 50
Hi,
vielen Dank für die Erläuterung. Ich werde das mal im Hinterkopf behalten!
Gruß


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de