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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 50

Thema: WinCC - Variablen per Skript erstellen

  1. #21
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Äh else meinte ich!Entschuldigung.

  2. #22
    Registriert seit
    04.05.2015
    Beiträge
    39
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Dim Farbe, MeineVar

    HmiRuntime.Screens("Bild_2").BackColor = BgCol

    Select Case meineVar
    Case 0
    BgCol =RGB(255,0,0)'rot
    Case 1
    BgCol =RGB(0,0,255)'blau
    End Select

    ist nicht richtig..?
    Ich habe immer noch das gleiche Problem

  3. #23
    Registriert seit
    04.05.2015
    Beiträge
    39
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard

    "meineVar" ist immer 0->>> rot

  4. #24
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Heisst dein Bild "Bild 2"?.mach doch if /else.Durch welches Ereignis rufst du das Script auf?
    Du hast doch eine boolsche Variable?

    Wenn du eine Integer Variable nimmst kannst du einen Wert reinschreiben(0 oder 1) und ein Datenänderungsscript aufrufen dann kannst du
    das Script so übernehmen von Ronin.Mit deinen Variablen natürlich.

    Wenn du auf das aktuell geöffnete Bild zugreifen willst nimmst du ActiveScreen statt "Bild 2".
    Siehe die Postings vorne dran.

  5. #25
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Bevor Du meineVar abfragst mußt Du an meineVar was zuweisen. Wenn nicht dann bleibt meineVar auf 0.

    Code:
    Dim farbe, meineVar
    
    meineVar = ...?  '<-- meineVar muß einen Wert erhalten (0 oder 1)
    
    Select Case  meineVar
      Case 0:  HmiRuntime.Screens("Bild_2").BackColor = RGB(255,0,0) 'rot
      Case 1:  HmiRuntime.Screens("Bild_2").BackColor = RGB(0,0,255) 'blau
    End Select
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #26
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Hatte ich in meinem Beitrag schon beantwortet.
    Zitat Zitat von RONIN Beitrag anzeigen
    Nun, sofern du nichts bei "meineVar" nichts anderes gescriptet hast ist das Verhalte klar da meineVar in
    deinem Schnipsel nirgenst zuwiesen wird und immer 0 ist.
    1. Kriegt deine Lokale-Skrip-Variable "MeineVar" nirgenst einen Wert zugewiesen.
    2. Weist du bei dem Schnipsel jetzt schon eine Farbe zu bevor die sie mit dem Case ausgewählt hast.

    Versuch mal das, dann weißt du was ich meine.
    Code:
    Dim BgCol, MeineVar
    
    MeineVar = 1      'Hier weisen wir jetzt 1 zu, wo du den Wert später herbekommst musst du selber wissen
    
     Select Case meineVar     'An der Stelle sucher wir nach der Farbe die zu unserer 1 passt --- blau
         Case 0 
              BgCol =RGB(255,0,0)'rot
     Case 1 
             BgCol =RGB(0,0,255)'blau
     End Select
    
    HmiRuntime.Screens("Bild_2").BackColor = BgCol    'jetzt am Schluss weisen sie wir zu
    Geändert von RONIN (15.07.2015 um 14:06 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

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

    PN/DP (15.07.2015)

  8. #27
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Weil ichs jetzt erst gerade vorne gelesen habe.
    Wenn deine "MeineVar" in der Variablentabelle außerhalb des Skriptd existiert (HMI-Tag), dann deklariere sie bitte nicht nochmal neu als Lokalvariable mit Dim.

    Das erzeugt eine Lokalvariable im Skript, dann wird auf die und nicht den HMI-Tag zugegriffen.

    Schmeiß bitte das Dim MeineVar raus. Dann kann sein dass du MeineVar im Skript neu eintippen musst, damit sie so orange wie bei mir im screenshot dargestellt wird. Das ist das Zeichen dafür dass auf die HMI-Variable aus der Variablentabelle zugegriffen wird.
    Geändert von RONIN (15.07.2015 um 12:48 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  9. #28
    Registriert seit
    04.05.2015
    Beiträge
    39
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    Weil ichs jetzt erst gerade vorne gelesen habe.
    Wenn deine "MeineVar" in der Variablentabelle außerhalb des Skriptd existiert (HMI-Tag), dann deklariere sie bitte nicht nochmal neu als Lokalvariable mit Dim.

    Das erzeugt eine Lokalvariable im Skript, dann wird auf die und nicht den HMI-Tag zugegriffen.


    Schmeiß bitte das Dim MeineVar raus. Dann kann sein dass du MeineVar im Skript neu eintippen musst, damit sie so orange wie bei mir im screenshot dargestellt wird. Das ist das Zeichen dafür dass auf die HMI-Variable aus der Variablentabelle zugegriffen wird.



    wenn ich dim meineVar rausschmisse,dann gibt es ein Fehlermeldung
    und kann man nicht Runtime

  10. #29
    Registriert seit
    04.05.2015
    Beiträge
    39
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich habe in der 'Bild_2' zwei Buton(rot und blau),sollte die immer wechsel wenn ich klicke...

  11. #30
    Registriert seit
    04.05.2015
    Beiträge
    39
    Danke
    10
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    soll ich meineVar = 1 und meineVar = 0 zuweisen ?

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 01.12.2014, 10:57
  2. Antworten: 16
    Letzter Beitrag: 27.01.2014, 19:27
  3. Antworten: 5
    Letzter Beitrag: 02.08.2012, 20:31
  4. WinCC Variablen fortlaufend erstellen
    Von Barthiboy im Forum HMI
    Antworten: 3
    Letzter Beitrag: 11.03.2011, 16:19
  5. Antworten: 0
    Letzter Beitrag: 12.11.2010, 12:17

Lesezeichen

Berechtigungen

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