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

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

Thema: Im WinCC Bilder mit Passwort sichtbar

  1. #11
    Registriert seit
    07.07.2015
    Ort
    Linz
    Beiträge
    31
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo nochmal,

    nach einer zeit des Probierens und "krübelns" muss ich nochmal nachfragen.

    Ich habe es wie Folgt parametriert:

    2016-02-09 10_15_33-WinCC flexible Standard - FTF-FlexiMover - SIMATIC HMI-Station.jpg2016-02-09 10_04_29-WinCC flexible Standard - FTF-FlexiMover - SIMATIC HMI-Station.jpg

    Was passiert:
    wenn ich die F2 taste betätige springt er nicht wie von mir erwartet in das Bild mit Nummer 30 sondern er wechselt zum Startbild (Bildnummer 1)

    Ich habe natürlich auch schon Probiert bei AktiviereBildMitNummer 30 rein zuschreiben.
    Wenn ich das mache kommt ein Fehler: Anwahl von Objekt mit Nummer in der Tab-Reihenfolge:30 nicht möglich
    und wechselt auch zum Startbild (Bildnummer 1)

    nun zu meiner Frage:

    Habe ich alles Richtig parametriert?!
    Muss ich noch etwas anpassen oder abändern?!

    und wie kann ich die Freigabe Steuerbar machen?! wäre es sinnvoll diese mit einer Anmeldung mitlaufen zu lassen?!


    Danke schon mal für eure Hilfe!

    Patrick

  2. #12
    Registriert seit
    07.07.2015
    Ort
    Linz
    Beiträge
    31
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke,

    hab es schon geschafft

    Danke für die Hilfe!!!!

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von Patrick13 Beitrag anzeigen
    wenn ich die F2 taste betätige springt er nicht wie von mir erwartet in das Bild mit Nummer 30 sondern er wechselt zum Startbild (Bildnummer 1)

    Ich habe natürlich auch schon Probiert bei AktiviereBildMitNummer 30 rein zuschreiben.
    Wenn ich das mache kommt ein Fehler: Anwahl von Objekt mit Nummer in der Tab-Reihenfolge:30 nicht möglich
    und wechselt auch zum Startbild (Bildnummer 1)
    AktiviereBildMitNummer(Bildnummer, Objektnummer) aktiviert das Bild, was die angegebene Bildnummer hat. Die Objektnummer ist das nach dem Bildaufbau zu aktivierende Objekt (Tab-Reihenfolge) und sollte immer 0 sein.
    Jedes Bild hat eine einstellbare Bildnummer - siehe in den Eigenschaften des Bildes.

    Hat das Bild mit der F2-Funktion die Bildnummer 2? Hat das aufzurufende Bild die Bildnummer 30 (28 + 2 = 30)?
    Hat die Variable F2_Freigabe nur die Werte 0 oder 1?

    Zitat Zitat von Patrick13 Beitrag anzeigen
    und wie kann ich die Freigabe Steuerbar machen?! wäre es sinnvoll diese mit einer Anmeldung mitlaufen zu lassen?!
    Oh, das ist ohne Skript ziemlich aufwändig, abhängig von der Anmeldung/Benutzergruppe die F2_Freigabe auf 0 oder 1 zu bringen.
    Die Erklärung dazu wird ziemlich lang. Ein einfaches "IF Benutzergruppe = x THEN F2_Freigabe = ..." oder "F2_Freigabe = (Benutzergruppe = x)"geht ja nicht in Funktionslisten. Dann müssen da noch diverse Siemens-Schikanen umgangen werden (die Systemfunktionen LineareSkalierung und SchiebenUndMaskieren stehen im Aufgabenplaner nicht zur Verfügung, und Loop-Breaker bei LeseGruppennummer), so daß die Zuweisung von 0 oder 1 an F2_Freigabe letztendlich über 6 zusätzliche Funktionen bei dem F2-Softkey gemacht werden muß. Ich werde die in einem späteren Beitrag aufschreiben. Nur schonmal soviel: mein mathematischer Trick besteht darin, daß bei Multiplikation mit -1 sich das Vorzeichen ändert, aber nicht bei 0 * -1. Vielleicht fällt Dir was besseres ein, wie man folgendes Ergebnis in Funktionslisten erzeugen kann:
    Code:
    IF Gruppennummer = 8 THEN
      F2_Freigabe = 1
    ELSE
      F2_Freigabe = 0
    END IF
    Wenn der automatisch aufpoppende Anmeldedialog nicht stört, dann ist es vieeel einfacher, der F2-Taste fest eine Berechtigung zuzuweisen.


    PS:
    Zitat Zitat von Patrick13 Beitrag anzeigen
    hab es schon geschafft
    Woran hat es gelegen?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Patrick13 (09.02.2016)

  5. #14
    Registriert seit
    07.07.2015
    Ort
    Linz
    Beiträge
    31
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke nochmal für die Erläuterung

    Mir fehlt zwar noch die beschaltbare Freigabe (0 oder 1) aber der Rest ist gelöst.

    Ich habe nicht verstanden bzw kapiert das die F2_Freigabe eigentlich 0 ist.

    Deine Annahme ist richtig ich. (F2_Funktion ist in Bildnr. 2 und das aufzurufende Bild hat de Nummer 30)
    Wir haben ja folgende Formel:
    Y=a*x+b
    F2_Zielbild= 28 * F2_Freigabe( 0 ) + 2
    F2_Zielbild=28*0+2=2
    F2_Zielbild=2

    Ich habe erst begriffen das die freigabe 0 ist wie ich probiert habe das ich in F2_Zielbild 30 rein geschrieben habe und sich danach das bild öffnen lies.
    nach einer kleinen mathe stunde hab ich das auch gut verstanden

    in dieser Visu kann man sich schon mit einem Benutzer anmelden.
    ich muss nurmehr herausfinden wie ich mir das zu nutzen machen kann!

    eventuell mit der S7 steuerung verbinden und etwas einfaches ausprogrammieren?!

  6. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Beispiel: nur Benutzer der Benutzergruppe mit der Gruppennummer 8 sollen die Freigabe für die Funktion der F2-Taste erhalten

    Im Aufgabenplaner beim Ereignis "Benutzerwechsel" die Systemfunktion
    Code:
    LeseGruppennummer(Variable: UserGruppe)
    aufrufen (schreibt die Gruppennummer des angemeldeten Benutzers oder 0 bei Logout in die Variable "UserGruppe").

    Dann brauchen wir eine Funktion, die die Variable "F2_Freigabe" entsprechend dem Wert von "UserGruppe" setzt:
    Code:
    If UserGruppe = 8 Then
      F2_Freigabe = 1
    Else
      F2_Freigabe = 0
    End If
    Da das TP177 keine Skripte kann, geht es leider nicht so einfach.
    Nun könnte man das einfach in der SPS erledigen, allerdings kann dann die Funktionalität am Panel nicht ohne angeschlossene SPS ausgeführt/getestet werden.

    Mit etwas Mathematik gelingt es mit dieser Funktionsliste:
    Code:
    1) InvertiereLineareSkalierung (X: Int_1, Y: UserGruppe, b: 8, a: 1)    <-- 8 ist die Gruppennummer für Freigabe
    2) LineareSkalierung (Y: Int_2, a: -1, X: Int_1, b: 0)
    3) SchiebenUndMaskieren (Int_1, Int_1, 15, 1)
    4) SchiebenUndMaskieren (Int_2, Int_2, 15, 1)
    5) LineareSkalierung (Y: Int_1, a: 1, X: Int_1, b: Int_2)
    6) LineareSkalierung (Y: F2_Freigabe, a: -1, X: Int_1, b: 1)
    
    Panel-interne Variablen:
    UserGruppe, F2_Freigabe : UInt
    Int_1, Int_2 : Int
    Schön wäre es jetzt, wenn man die Funktionsliste direkt im Aufgabenplaner hinter der Systemfunktion LeseGruppennummer(UserGruppe) aufrufen könnte - doch im Aufgabenplaner stehen die benötigten Berechnen-Systemfunktionen nicht zur Verfügung.

    Bei der Variable "UserGruppe" beim Ereignis Wertänderung nutzt die Funktionsliste leider auch nichts, weil LeseGruppennummer bei internen Variablen nicht das Ereignis Wertänderung auslöst. (Loop breaker)

    Die Funktionsliste muß also beim F2-Softkey beim Ereignis "Drücken" abgearbeitet werden:
    Code:
    1) InvertiereLineareSkalierung (X: Int_1, Y: UserGruppe, b: 8, a: 1)
    2) LineareSkalierung (Y: Int_2, a: -1, X: Int_1, b: 0)
    3) SchiebenUndMaskieren (Int_1, Int_1, 15, 1)
    4) SchiebenUndMaskieren (Int_2, Int_2, 15, 1)
    5) LineareSkalierung (Y: Int_1, a: 1, X: Int_1, b: Int_2)
    6) LineareSkalierung (Y: F2_Freigabe, a: -1, X: Int_1, b: 1)
    
    7) LineareSkalierung (Y: F2_Zielbild, a: 3, X: F2_Freigabe, b: 1)
    8) AktiviereBildMitNummer (Bildnummer: F2_Zielbild)
    
    Anmerkungen:
    1) b: ist die Gruppennummer, welche die Freigabe erhalten soll (8)
    7) b: ist die Bildnummer, wo F2 gedrückt werden kann (1)
    7) a: ist die Zielbildnummer(4) - (b) = 4 - 1 = 3
    Für dynamische Animationen (z.B. Sichtbarkeit) abhängig vom angemeldeten Benutzer muß die Variable "UserGruppe" verwendet werden. Die Variable "F2_Freigabe" kann nicht dafür verwendet werden, weil sie erst beim Drücken von F2 zugewiesen wird - sie ist nicht automatisch synchron zum Wert in "UserGruppe".


    PS: gibt es vielleicht eine einfachere Lösung, wie man "If UserGruppe = 8 Then F2_Freigabe = ..." ohne Skript realisieren kann? (am besten im Aufgabenplaner)

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Patrick13 (10.02.2016)

  8. #16
    Registriert seit
    07.07.2015
    Ort
    Linz
    Beiträge
    31
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    habe ich soweit alles gemacht.

    ich verstehe allerdings nicht ganz was du hier machst.

    Code:
    1) InvertiereLineareSkalierung (X: Int_1, Y: UserGruppe, b: 8, a: 1)
    2) LineareSkalierung (Y: Int_2, a: -1, X: Int_1, b: 0)
    3) SchiebenUndMaskieren (Int_1, Int_1, 15, 1)
    4) SchiebenUndMaskieren (Int_2, Int_2, 15, 1)
    5) LineareSkalierung (Y: Int_1, a: 1, X: Int_1, b: Int_2)
    6) LineareSkalierung (Y: F2_Freigabe, a: -1, X: Int_1, b: 1)
    
    7) LineareSkalierung (Y: F2_Zielbild, a: 3, X: F2_Freigabe, b: 1)
    8) AktiviereBildMitNummer (Bildnummer: F2_Zielbild)
    
    Anmerkungen:
    1) b: ist die Gruppennummer, welche die Freigabe erhalten soll (8)
    7) b: ist die Bildnummer, wo F2 gedrückt werden kann (1)
    7) a: ist die Zielbildnummer(4) - (b) = 4 - 1 = 3
    leider kann ich aus welchen Grund auch immer in der Simulation mich nicht anmelden sondern nur beim Log in versuch nur das PW ändern.
    Das ist grundsätzlich kein Problem da ich diese Visu sowieso ins TIA migriere und dann das Gerät tausche damit es später ein KTP400 Basic PN wird.

    Das ist von einen Externen Programmierer so eingeführt (er will nicht mit dem TIA direkt arbeiten)

    Ich habe leider die Erkenntnis gemacht das das KTP400 diesen Befehl
    Code:
    LeseGruppennummer(Variable: UserGruppe)
    
    nicht kann.
    da es nach meinen Änderungen hoffentlich ein bisschen nach meinen Kopf gehen wird werde ich das ganze nurmehr im TIA belassen.
    gibt es eine alternative zu dem Befehl "LeseGruppennummer"?!

    Danke nochmals!

  9. #17
    Registriert seit
    07.07.2015
    Ort
    Linz
    Beiträge
    31
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hab es schon kapiert musste im Tia Eigentlich nur im Reiter Trigger auf Benutzerwechsel stellen.


    Jetzt funktioniert alles so wie ich das wollte

    Herzlichen DANK!!!

  10. #18
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Zitat Zitat von Patrick13 Beitrag anzeigen
    ich verstehe allerdings nicht ganz was du hier machst.
    Zitat Zitat von PN/DP Beitrag anzeigen
    mein mathematischer Trick besteht darin, daß bei Multiplikation mit -1 sich das Vorzeichen ändert, aber nicht bei 0 * -1
    Ausführlich:
    Code:
    1) InvertiereLineareSkalierung (X: Int_1, Y: UserGruppe, b: 8, a: 1)
       Int_1 := UserGruppe - 8
    
    2) LineareSkalierung (Y: Int_2, a: -1, X: Int_1, b: 0)
       Int_2 := Int_1 * -1
    
    3) SchiebenUndMaskieren (Int_1, Int_1, 15, 1)
       Int_1 := Vorzeichen(Int_1)   // 0 (positiv) oder 1 (negativ)
    
    4) SchiebenUndMaskieren (Int_2, Int_2, 15, 1)
       Int_2 := Vorzeichen(-Int_1)  // 0 (positiv) oder 1 (negativ)
    
    5) LineareSkalierung (Y: Int_1, a: 1, X: Int_1, b: Int_2)
       Int_1 := Vorzeichen(Int_1) + Vorzeichen(-Int_1)  // ergibt 0 bei X==0 / oder 1 bei X<>0
    
    6) LineareSkalierung (Y: F2_Freigabe, a: -1, X: Int_1, b: 1)
       F2_Freigabe := NOT(Int_1)    // ergibt 1 bei X==0 (UserGruppe==8) / oder 0 bei X<>0 (UserGruppe<>8)
    kurz:
    Code:
    1) normiert das Problem von "IF (UserGruppe == 8)" zu "IF (X == 0)"
    
    2) bis 4) sind Zwischenrechnungen zum Ermitteln der Vorzeichen von X und -X
    
    5) macht den "Vergleich" auf (X <> 0) durch Addition der Vorzeichen: "VZ(X) + VZ(-X)"
       was immer 1 ergibt, außer wenn X gleich 0 ist dann ergibt das 0
    
    6) invertiert 0 --> 1 / 1 --> 0, weil auf (X == 0) statt (X <> 0) verglichen werden sollte
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Patrick13 (10.02.2016)

  12. #19
    Registriert seit
    07.07.2015
    Ort
    Linz
    Beiträge
    31
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für deine ausdauernde Hilfe!!

    Hab jetzt alles verstanden und es funktioniert auch soweit alles perfekt

    Danke

  13. Folgender Benutzer sagt Danke zu Patrick13 für den nützlichen Beitrag:

    PN/DP (10.02.2016)

  14. #20
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bitteschön. Gern geschehen

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 07.04.2013, 12:58
  2. Antworten: 0
    Letzter Beitrag: 07.08.2009, 16:47
  3. Antworten: 0
    Letzter Beitrag: 06.08.2008, 09:14
  4. Antworten: 2
    Letzter Beitrag: 30.06.2006, 09:54
  5. Antworten: 8
    Letzter Beitrag: 13.10.2005, 11:35

Lesezeichen

Berechtigungen

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