Visualisierung Passwortabfrage für Buttonsichtbarkeit

.K.

Level-2
Beiträge
220
Reaktionspunkte
33
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte das Servicemenü gerne über ein Passwort sperren, das bedeutet, dass der Button für das Servicemenü eine Passwortabfrage aufrufen soll und wenn das richtig eingegeben wurde werden die weiteren Button für das Servicemenü sichtbar (bzw. bedienbar).
Wie kann ich das realisieren?
Genutzt wird: Webvisu mit Wago 750-8212 PFC
bei weiteren Fragen, gerne melden. ich bin nicht sicher, welche Infos hier noch gebraucht wird.
 
Was möchte er dann? Hat er ein Eigenes, Übergeordnetes? Oder sollst Du auf der SPS selber was bauen?
Da brauchen wir schon Futter, um zu wissen, in welche Richtung Du möchtest/sollst.
 
Servus, ich war leider schwer beschäftigt mit dem Kunden, deswegen erst jetzt meine Antwort:
Es sollte nur die Passwordabfrage kommen, wenn man in das Servicemenü möchte.
So hab ich es jetzt gelöst:
Aufruf PwAbfrage:
1724845135462.png
Inhalt Baustein:
Code:
FUNCTION_BLOCK PasswordAbgleich
VAR_INPUT
    isPwVergleich : STRING;
END_VAR
VAR_OUTPUT
    qxPwKorrekt : BOOL;
    qxPwBlk     : BOOL;
    qxAutoLogOutBlk : BOOL;
    qsZeitBisLogout : STRING;
END_VAR
VAR_IN_OUT
    iqxLogout : BOOL;
    iqsPwEingabe : STRING;
END_VAR
VAR
    BLINK : Blink;
    blkAutoLogOut : Blink;
    xAutoLogOut : BOOL;
    tonLogOut     : TON;
    tonEt        : TIME;
    tonEtMinus30m    : TIME;
    tLogOutMin     : TIME;
    tLogOutSec     : TIME;
    sLogOutMin     : STRING;
    sLogOutSec     : STRING;
END_VAR

// Passwort Eingabe Vergleich
IF iqsPwEingabe = isPwVergleich THEN
    qxPwKorrekt := TRUE;
ELSE
    qxPwKorrekt := FALSE;
END_IF

//Logout - Button
IF iqxLogout THEN
    iqsPwEingabe := '';
    iqxLogout := FALSE;
END_IF

//Logout ueber Zeit
blkAutoLogOut(ENABLE:= xAutoLogOut, TIMELOW:= T#1S, TIMEHIGH:= T#1S, OUT=> );
qxAutoLogOutBlk := xAutoLogOut AND blkAutoLogOut.OUT;

IF tonLogOut.Q THEN
    VisuElems.CURRENTVISU := 'AA_Uebersicht';
    iqsPwEingabe := '';
END_IF;

//Blinken für Anzeige "Service"
BLINK(ENABLE:= qxPwKorrekt, TIMELOW:= T#1S, TIMEHIGH:= T#1S, OUT=> qxPwBlk);
qxPwBlk := BLINK.OUT AND qxPwKorrekt;

Und in der Visu einfach ein Eingabefeld. Dann vergleichen und wenn Vergleich korrekt, dann Maintanance Symbol anzeigen und Zeit runterlaufen lassen. Und nur bei PwKorrekt werden die entsprechenden Button angezeigt.

Fertig und Kunde ist zufrieden.

Fehlr nur noch die Verbindung der Anlage über SNMP:
 
Zurück
Oben