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

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

Thema: [Wincc Flexible08] Bedingter Bildwechsel mit Script

  1. #11
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielleicht so...
    Code:
    ' In Abhängigkeit wird ein Bildwechsel ausgeführt
    
    ' 0 - Kein Programm ausgewählt - Kein Bildwechsel
    ' 1 - Keine Carbonisierung     - Kein Bildwechsel
    ' 2 - Auffrischen              - Bildwechsel nach Bild Auffrischeinstellungen       [ Bildnummer: 20 ]
    ' 3 - Carbonisieren            - Bildwechsel nach Bild Carbonisierungseinstellungen [ Bildnummer: 95 ]
    ' 4 - Reinigung                - Bildwechsel nach Bild Reinigungseinstellungen      [ Bildnummer: 96 ]
    
    ' Variable Bildwechsel
    Dim Programmauswahl
    Dim Bild
    
    ' Übergabe der Programmauswahl aus dem DB in die Scriptvariable
    Programmauswahl = SmartTags("IDB_MP377.Taste_Programmauswahl")
    
    ' Vergleiche und Bildwechsel
    
        If Programmauswahl = "2" Then
    Bild = 3
            ActivateScreenByNumber Bild, 0
        End If
        
        If Programmauswahl = "3" Then
    Bild = 95
            ActivateScreenByNumber Bild, 0
        End If
        
        If Programmauswahl = "4" Then
    Bild = 96
            ActivateScreenByNumber Bild, 0
        End If
    Geändert von rostiger Nagel (28.03.2013 um 00:16 Uhr)
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Programmwahl aus einer Dropdown-Liste mit direkt ausgelöstem Bildwechsel finde ich nicht so glücklich ... auch weil es nicht gut mit Fingern bedienbar ist. Wenn möglich würde ich 4 oder 5 Programmwahl-Schaltflächen benutzen. Oder eine Dropdown-Liste zur Vorauswahl mit einer extra OK-Schaltfläche dazu.


    Zitat Zitat von Sickone4 Beitrag anzeigen
    zusätzlich habe ich bei Ereignisse "ändern" meinen Scriptaufruf drin.
    Du meinst Ereignis "Ändern" des symbolischen EA-Felds?
    Besser wäre wohl, das Skript beim Ereignis "Wertänderung" der am EA-Feld angebundenen Variable "IDB_MP377.Taste_Programmauswahl" aufzurufen. Diese Variable muß fortlaufend gelesen werden.

    (Spekulation: Falls WinCC flexible kein Ereignis "Wertänderung" der Variable auslösen sollte, dann die Variable in der Steuerung auf eine zweite Variable kopieren oder in WinCCflex eine zweite Variable auf die selbe Adresse anlegen.)

    Zum Skript:
    Die Variable "Programmauswahl" würde ich numerisch vergleichen, nicht als Stringvergleich:
    Code:
    If Programmauswahl = "2" Then
    
    'besser:
    If Programmauswahl = 2 Then
    Warum benutzt Du "ActivateScreenByNumber"? So wie Du Deine Fallunterscheidung im Skript geschrieben hast, kannst Du auch direkt "ActivateScreen" mit Deinem Ziel-Bildname programmieren. Das ist außerdem besser für die Querverweisliste:
    Code:
    If Programmauswahl = 2 Then
        ActivateScreen "Bild_20", 0
    End If
    
    If Programmauswahl = 3 Then
        ActivateScreen "Bild_95", 0
    End If
    
    If Programmauswahl = 4 Then
        ActivateScreen "Bild_96", 0
    End If
    Oder programmiere nur einen, aber variablen Bildaufruf-Befehl:
    Code:
    DestScreen = 0
    
    If Programmauswahl = 2 Then
        DestScreen = 20
    End If
    
    If Programmauswahl = 3 Then
        DestScreen = 95
    End If
    
    If Programmauswahl = 4 Then
        DestScreen = 96
    End If
    
    If DestScreen > 0 Then
        ActivateScreenByNumber DestScreen, 0
    End If

    Zitat Zitat von Sickone4 Beitrag anzeigen
    eben diese variable nimmt auch die werte 0-4 an. alle miene ventilstellungen etc funktionieren genau danach, dass ich das programm auswähle und vergleicher entsprechend schalten.
    Die Variable an dem symbolischen EA-Feld ist bei Dir aber nicht die selbe Variable, die auch die Ventilstellungen steuert? Die Eingabe/Auswahl-Prüfung und die Benutzung zur Programmsteuerung muß getrennt sein (2 verschiedene Variablen).

    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: 1
    Letzter Beitrag: 06.10.2012, 15:25
  2. WinCC-Flex Print mit VB-Script
    Von eugenhuber im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.11.2010, 21:23
  3. WinCC Flex 2007-Problem mit Script
    Von Neuling74 im Forum HMI
    Antworten: 9
    Letzter Beitrag: 30.01.2008, 11:32
  4. Bedingter Bildwechsel
    Von manas im Forum HMI
    Antworten: 2
    Letzter Beitrag: 10.12.2007, 11:48
  5. Antworten: 12
    Letzter Beitrag: 14.11.2006, 11:09

Lesezeichen

Berechtigungen

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