Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Bildwechsel wenn keine Eingabe mehr

  1. #11
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok, ich wer da morgen mal gucken...
    Danke.

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.302
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    Zitat Zitat von Lipperlandstern Beitrag anzeigen
    Mach doch eine Taste und darunter läuft ein Timer ab. Startbild in x Sekunden. Wenn der Bediener grade an einer komplizierten Eingabe ist oder einfach nur etwas in einem anderen Bild beobachten will dann muss er halt ab und an die Taste die Taste drücken und der Timer wird zurückgesetzt.
    Gute Idee. OK, damit kann ich leben. Im Rezeptur-Editor könnte man den Countdown blockieren.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.302
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    Ein Ereignis "BeiLogout" gibt es nicht, aber das Ereignis "Benutzerwechsel". Ist bei dem Ereignis kein Benutzer mehr angemeldet, dann war es ein Logout. An das Ereignis kann man ein Skript anhängen, was den Bildwechsel zum Grundbild auslöst, wenn der Benutzerwechsel ein Logout war.

    Geräteeinstellungen > Aufgabenplaner
    Ereignis: Benutzerwechsel
    Funktionsliste: 1 OnUserChange

    Skript OnUserChange
    Code:
    ' Sub OnUserChange()
    ' Skript wird beim Ereignis "Benutzerwechsel" aufgerufen (im Aufgabenplaner projektiert)
    ' Wenn ein Benutzer ausgeloggt wird oder sich abmeldet dann zum Grundbild wechseln
    ' Wenn der Benutzerwechsel eine erfolgreiche Benutzeranmeldung war dann nichts tun
    Dim user
    
    GetUserName user   'angemeldeten Benutzername lesen
    If user = "" Then  'Benutzerwechsel war ein Logout oder fehlgeschlagener Benutzerwechsel
        ActivateScreen "002_Grundbild", 0
    End If
    Hinweise:

    Wenn es ein Benutzer mit wenig Rechten angemeldet ist und in irgendeinem Bild ein Bedienelement bedienen will, was höhere Rechte verlangt, dann erscheint der Anmeldedialog. Wenn dann eine Benutzeranmeldung versucht wird aber fehlschlägt, dann wird der Benutzer ausgeloggt --> das Ereignis "Benutzerwechsel" wird ausgelöst und ruft das Skript auf --> es wird zum Grundbild gewechselt.

    Wenn bei einem Benutzer die Abmeldezeit mit 0 eingestellt ist, dann wird dieser Benutzer nicht automatisch abgemeldet.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren Bildwechsel bei Logout  

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    DerMatze (14.02.2014)

  5. #14
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    An das Ereignis kann man ein Skript anhängen, was den Bildwechsel zum Grundbild auslöst, wenn der Benutzerwechsel ein Logout war.
    OK, damit kann ich in der PC RT arbeiten, aber das KTP600 kann keine Skripte...

    An das selbstständige Aktivieren des Bildschirmschoners beim KTP ist sicherlich auch kein rankommen? Der wird nämlich nach 5min aktiviert, wenn der aktiviert wird, wird ja auch nicht bedient.

    Gruß
    DerMatze
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

  6. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.302
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    KTP600 kann kein Skript... na typisch, Basic Panel im Budget aber Premium Wünsche

    Das Ereignis "Benutzerwechsel" soll nur bedingt beim Ausloggen einen Bildwechsel zum Grundbild auslösen.

    Eine bedingte Wertänderung einer Variablen Y, wenn sich der Passwortlevel (BenutzerGruppennummer) von 1..9 zu 0 ändert, kann man z.B. durch die Formel "Y = Y + (Passwortlevel - 10)/-10" oder "Y = Y + (SHIFT(Passwortlevel - 1, +15) AND 1)" erreichen. Allerdings wird bei einer solchen Wertänderung von Y kein Ereignis ausgelöst, wenn Y eine panel-interne Variable ist.

    Erschwerend für eine bedingte Reaktion sind:
    • das KTP600 kann keine Skripte
    • an die Systemmeldung 260003 "Benutzer abgemeldet" kann man beim KTP600 keine Funktion projektieren
    • Funktionslisten werden immer unbedingt komplett abgearbeitet (kein IF..THEN oder ähnliches möglich)
    • Systemfunktionen weisen Variablen keine Werte zu, welche außerhalb der projektierten Grenzwerte liegen
    • schafft man es trotzdem, Variablenänderungen nur bedingt zu erzeugen, dann werden die an die panel-internen Variablen projektierten Ereignisse (Wertänderung, Grenzwerte überschritten) durch den Loop-Breaker blockiert, nur manuelle Eingaben lösen Ereignisse aus
    • direkt im Aufgabenplaner hat Siemens auch noch die Auswahl der aufrufbaren Systemfunktionen arg reduziert, z.B. kein LineareSkalierung, für "höhere" Berechnungen ist nur SchiebenUndMaskieren nutzbar


    Anscheinend gibt es aber Ausnahmen beim Loop-Breaker: bei der Variable, die durch die Systemfunktion "LeseGruppennummer" beschrieben wird, wird als Ergebnis dieser Zuweisung von "LeseGruppennummer" das Ereignis "Wertänderung" doch ausgelöst und die Funktionsliste abgearbeitet. Zumindest in der RT Simulation, ein echtes KTP600 habe ich nicht getestet.

    Also folgende Lösung:
    - Panel-interne Variablen Typ Int anlegen: Passwortlevel, IsLogin, IsLogout, LogoutTerm, AktBildNr, DestBildNr

    - JEDES Bild muß beim Ereignis "Aufgebaut" die eigene Bildnummer in die Variable AktBildNr schreiben
    Code:
    SetzeWert
     Variable (Ausgabe) : AktBildNr
     Wert               : <die Bildnummer des Bildes>
    - im Aufgabenplaner beim Ereignis "Benutzerwechsel": die BenutzerGruppennummer in die Variable Passwortlevel schreiben
    Code:
    LeseGruppennummer
     Variable (Ausgabe) : Passwortlevel
    
    (beim Einloggen wird ein Wert 1..9 zugewiesen, beim Ausloggen wird 0 zugewiesen)
    - Beim Ereignis "Wertänderung" der Variable Passwortlevel
    Code:
    InvertiereLineareSkalierung
     X (Ausgabe) : IsLogin
     Y           : Passwortlevel
     b           : -9
     a           : 10
    
    InvertiereLineareSkalierung
     X (Ausgabe) : IsLogout
     Y           : Passwortlevel
     b           : 10
     a           : -10
    
    LineareSkalierung
     Y (Ausgabe) : LogoutTerm
     a           : 2               //die Bildnummer des Bildes, zu dem Logout wechseln soll
     X           : IsLogout
     b           : 0
    
    LineareSkalierung
     Y (Ausgabe) : DestBildNr
     a           : IsLogin
     X           : AktBildNr
     b           : LogoutTerm
    
    AktiviereBildMitNummer
     Bildnummer  : DestBildNr
     Objektnummer: 0


    Sollte das auf einem echten KTP600 nicht funktionieren, dann bleibt wohl nur der Umweg über die PLC: bei Benutzerwechsel den Passwortlevel (BenutzerGruppennummer) in eine PLC-Variable schreiben und die PLC löst dann den Bildwechsel aus, indem sie eine andere Variable inkrementiert, wenn der Passwortlevel sich zu 0 ändert.


    An das Ereignis wenn der Bildschirmschoner startet kommt man nicht ran.

    Harald

    PS: InvertiereLineareSkalierung - was für eine bescheuerte Übersetzung für InverseLinearScaling
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. Folgende 2 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    DerMatze (17.02.2014),rostiger Nagel (17.02.2014)

  8. #16
    DerMatze ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.01.2012
    Beiträge
    511
    Danke
    92
    Erhielt 21 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok, vielen Dank.
    So ein Aufwand für dieses (unsinnige) umschalten zum Startbild .
    Ich werds mal ausprobieren, wenn ich wieder vor Ort bin...

    Gruß
    DerMatze
    -----------------------------------------------------------------------------------------
    Programmierumgebung: Step 7 V5.5 + SP3
    WinCC flexible 2008 Advanced + SP3
    -----------------------------------------------------------------------------------------

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 24.10.2013, 14:38
  2. Antworten: 6
    Letzter Beitrag: 18.04.2013, 20:43
  3. Teamviewer. Was passiert wenn mehr als 3 Verbindungen aktiv sind ?
    Von JesperMP im Forum PC- und Netzwerktechnik
    Antworten: 0
    Letzter Beitrag: 17.04.2013, 09:49
  4. WINCC Button und Eingabe funktioniert nicht mehr
    Von outbreak7 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 01.03.2010, 15:42
  5. Antworten: 0
    Letzter Beitrag: 26.02.2010, 20:35

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •