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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: wincc flexible 2008 - Objekte ausblenden/ausgrauen/deaktivieren

  1. #1
    Registriert seit
    14.06.2014
    Beiträge
    38
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Experten,

    benötige mal wieder Eure Hilfe.

    Möchte gerne in wincc mehrere Objekte in diese Fall Schalter entweder ausblenden/ausgrauen oder deaktivieren,
    wenn 1 Schalter aktiv (Schalter an). Schalter aus wieder alle anderen Schalter auswählbar.
    Mit 2 Schalter bekommen ich mit Sichtbar usw. hin, aber mit mehreren leider nicht.
    Hat jemand eine Idee?

    Vielen Dank im Voraus!

    Gruß
    Frank
    Zitieren Zitieren wincc flexible 2008 - Objekte ausblenden/ausgrauen/deaktivieren  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Gib mal ein Beispiel von dem, was du machen möchtest (so eine Art Tabelle) und vielleicht auch mal deinen bisherigen Code dazu ...

    Gruß
    Larry

  3. #3
    Registriert seit
    14.06.2014
    Beiträge
    38
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    folgende Visualisierung vor:

    Schalter 1 -> soll Ventil 1 an/aus schalten
    Schalter 2 -> soll Ventil 2 an/aus schalten
    Schalter 3 -> soll Ventil 2 an/aus schalten
    Schalter 4 -> soll Ventil 2 an/aus schalten
    Schalter 5 -> soll Ventil 2 an/aus schalten
    Schalter 6 -> soll Ventil 2 an/aus schalten

    Wenn ich jetzt irgend ein Schalter 1-6 betätige sollen alle anderen Schalter nicht mehr schaltbar sein ausgrauen oder deaktivieren aber wenn möglich sichtbar.
    Wenn ich erst den betätigten Schalter ausschalte sollen die anderen wieder auswählbar/schaltbar sein. Im SPS Programm sind diese veriegelt. Möchte nur andeuten, das man erst den betätigten Schalter ausschalten muss, damit man ein anderen schalten kann.
    Evt. gibt es ja eine einfache Lösung, die ich noch nicht gefunden habe.

    Gruß
    Frank

  4. #4
    Registriert seit
    12.02.2014
    Beiträge
    32
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Du könntest die Bedienbarkeit über eine Variable sperren (TIA Taster anklicken, Eigenschaften Animation, Neue Animation Bedienbarkeit)

    Der Taster ist dann aber nicht ausgegraut, das könntest du ja dann als Animation einfügen das er ein anderes Grau bekommt...

  5. Folgender Benutzer sagt Danke zu eddi99 für den nützlichen Beitrag:

    pille333_73 (18.10.2015)

  6. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    So kann man sich auch etwas darunter vorstellen.
    Ich würde es wie folgt lösen :
    Bei 6 Schaltern hast du auch 6 Bool-Variablen in deiner Visu, die dazu dienen, die Bedienbarkeit/Animation der Schalter zu steuern.
    Schaltest du Schalter 1 ein, so setzt du die Bedienbarkeit-Sperre für die Schalter 2 - 5 auf TRUE - schaltest du ihn wieder aus dann wieder auf FALSE.
    Analog verfährst du mit jedem der anderen Schalter.
    An jedem Schalter verbindest du nun die jeweilige Bool-Variable mit der Bedienbarkeit und ggf. zusätzlich mit der Animation.

    Gruß
    Larry

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    pille333_73 (18.10.2015)

  8. #6
    Registriert seit
    14.06.2014
    Beiträge
    38
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    o.k. Prinzip verstanden

    Habe 6 Bool-Variablen V10.1 - V10.7 (Schalter 1-6)
    Wo stelle ich aber die Bedienbarkeit-Sperre für Schalter 2-5 ein, kann ja nur eine Variable auswählen (Bild), oder bin ich in der falschen Maske zum Einstellen (evt. unter Ereignisse)?
    Könnt Ihr ggf. den Weg kurz beschreiben?

    Danke
    Frank

    Bild1.jpg

  9. #7
    Registriert seit
    06.10.2003
    Beiträge
    3.409
    Danke
    449
    Erhielt 504 Danke für 407 Beiträge

    Standard

    Hallo Pille,

    es ist eigentlich ganz einfach, wenn du anstatt von Schaltern Schaltflächen (bzw. Taster) verwendest. Jede einzelne dieser Schaltflächen betrachtest du wie einen simplen Leuchtdrucktaster. D.h. du hast jeweils eine Steuervariable als "Kontakt" und eine Statusvariable als "Meldeleuchte".

    Ohne es zu begründen, beschreibe ich im Folgenden nur EINE Lösung, die beste natürlich .

    Steuervariable:
    Eine boolsche Variable, die unter Ereignis/Klicken/SetzeBit gesetzt wird. Zurückgesetzt wird sie in der Steuerung.

    Statusvariable:
    Das ist im Idealfall eine echte Betriebsmeldung wie z.Bsp. ein Strömungswächter, die Ausgabe des Schaltzustandes oder eine Kombination aus beiden (blinkend/nicht blinkend). Mit diesem Bit zeigt man über Animation/Gestaltung den Schaltzustand grafisch an. Eine Erweiterung wäre die Anzeige weiterer Zustände wie "Störung quittiert", "nicht quittiert", etc. Dann müsste die Statusvariable aus einem Byte, Word o.ä. bestehen.

    Das war's eigentlich auch schon. Der Rest ist Aufgabe der Steuerung.
    Das könnte dann so aussehen:

    Code:
    // Ventil 1
    U    V10.1      // Steuerbit aus Visu 
    FP   V10.1.FLM  // Impulsbildung
    X    VENTIL_1   // toggeln
    UN   VENTIL_2   // verriegeln
    UN   VENTIL_3   // verriegeln
    ..
    UN   VENTIL_x   // verriegeln
    =    VENTIL_1   // Ausgang
    CLR
    =    V10.1      // Steuerbit aus Visu zurücksetzen
    Unter Animation/Bedienbarkeit würde ich in diesem Fall erst einmal garnichts machen.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. Folgender Benutzer sagt Danke zu Onkel Dagobert für den nützlichen Beitrag:

    pille333_73 (18.10.2015)

  11. #8
    Registriert seit
    14.06.2014
    Beiträge
    38
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hab es hinbekommen über 2 Skripte, dass wenn ich Schalter 1 betätige Schalter 2,3,4,5,6 nicht sichtbar sind und umgekehrt.
    ---------------------------------------------------------------------------------------------------------------------------
    Skript_1

    Dim Objekt
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_3")
    Objekt.Visible = False
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_4")
    Objekt.Visible = False
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_5")
    Objekt.Visible = False
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_6")
    Objekt.Visible = False
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_7")
    Objekt.Visible = False
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_8")
    Objekt.Visible = False

    Skript_2

    Dim Objekt
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_3")
    Objekt.Visible = True
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_4")
    Objekt.Visible = True
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_5")
    Objekt.Visible = True
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_6")
    Objekt.Visible = True
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_7")
    Objekt.Visible = True
    Set Objekt = HmiRuntime.Screens("Seite_3_Bewässerung").ScreenItems("Schalter_8")
    Objekt.Visible = True

    ---------------------------------------------------------------------------------------------

    Müsste dann aber 14 Skripte schreiben, kann man das evt. etwas vereinfachen mit if then usw., damit ich nur 2 skripte habe?

    Jetzt sind diese ja nicht sichtbar, kann diese auch auf Enabled setzen, würde diese dann aber gerne ausgrauen - wie heist diese Funktion?

    Danke im Voraus

    Gruß
    Frank

  12. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo Frank,
    du kannst sie nicht ausgrauen - dafür gibt es keine Property. Es gibt aber die Möglichkeit der Animation (Schriftfarbe) - ich kann aber zur Zeit nicht checken, ob du an die im HMIRuntime-Obejkt auch rankommst. Wenn du sie nicht unsichtbar machen willst dann solltest du sie aber sperren - also Bedienbarkeit - auch da mußt du kontrollieren, ob du im HMIRuntime-Obejekt diese Property ansprechen kannst.

    Wenn du nicht 14 Scripte erstellen willst dann ginge das auch in dem du deiner Prozedur als Übergabe-Parameter z.B. den Namen des aktuellen Schalters mitgibst.
    Nun kannst du innen dann mit IF-Abfragen checken, welche der ScreenItems noch barbeitet werden können/sollen.
    Mit einem weiteren Übergabe-Parameter könntest du festlegen, ob Enabled oder Disabled werden soll. Nun hättest du dann insgesamt nur noch ein Script - dies allerdings mit 2 Parametern, die sinnvoll beschaltet werden wollen ...

    Gruß
    Larry

  13. #10
    Registriert seit
    17.10.2007
    Beiträge
    263
    Danke
    5
    Erhielt 52 Danke für 48 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    für die 'Deaktivierung' einer Schaltfläche oder anderer Eingabeobjekte verwende ich meistens eine/mehrere separate, auf einer höheren Ebene liegende Grafikanzeige(n), welche ich mit Hilfsvariablen steuere.
    Für die meisten Bilder bzw. Editoren meiner HMIs haben ich Scripte projektiert, die quasi global solche Hilfsvariablen behandeln. So bin ich relativ flexibel. Ein weiterer Vorteil ist dabei die Debugmöglichkeit der Beobachtung von solchen Variablen.


    Gruß, Fred
    Geändert von faust (17.10.2015 um 19:11 Uhr)

  14. Folgender Benutzer sagt Danke zu faust für den nützlichen Beitrag:

    pille333_73 (18.10.2015)

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 16.10.2012, 11:11
  2. Antworten: 12
    Letzter Beitrag: 06.04.2012, 18:51
  3. Antworten: 4
    Letzter Beitrag: 22.08.2010, 23:22
  4. Antworten: 16
    Letzter Beitrag: 10.03.2010, 12:25
  5. Objekte ein / ausblenden
    Von detoto im Forum HMI
    Antworten: 3
    Letzter Beitrag: 19.10.2009, 12:37

Stichworte

Lesezeichen

Berechtigungen

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