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

Ergebnis 1 bis 9 von 9

Thema: WinCC Variable aus Dynamic Dialog in Skript

  1. #1
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchte einen Button erstellen, welcher mit einer SPS Variable verbunden ist.
    Der Button soll die Variable beim Mausklicken invertieren und je nach Status der Variable den Text vom Button auf true = "Ein" oder false ="Aus" setzen.
    Zusätzlich soll noch die Hintergrundfarbe auf true = grün bzw. false = weiß angepasst werden.

    Nun möchte ich es vermeiden eine Variable drei mal zu verknüpfen. Dazu kommt noch das die Invertierfunktion (meines bescheidenen Wissens nach) über ein C- (oder VBS) Skript gelöst werden muss.
    Nun möchte ich aber nicht für 180 Buttons drei mal die Variable verbinden und auch noch jedesmal in einem Skript eine Anpassung machen.

    Mein Gedanke war nun das ich den Dynamic Dialog bei der Schrift.Text einmal ausführe und dort die Variable auswähle.
    Bei der Hintergrundfarbe und dem Mausklick möchte ich nun einfach die Variable welche ich vorher verwendet habe "auslesen" und entsprechend nutzen.

    Es müsste also irgendwas in der Art wie
    "thisObject.Text.Dynamic.getVariable"
    geben. Leider finde ich aber nichts im www dazu, wie ich an die im Dynamic Dialog genutzte Variable komme innerhalb eines Skripts
    Mein Wissen dazu ist recht frisch und noch sehr beschränkt.
    Ist der Lösungsweg vielleicht auch falsch gewählt ?
    Ich würde mich über ein paar Skriptideen freuen.

    Vielen Dank
    Zitieren Zitieren WinCC Variable aus Dynamic Dialog in Skript  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Das ist aber nunmal so. Aber wenn du einen funktionierenden Button hast, kannst du diesen duplizieren und die Variablenanbindung einfach umverdrahten (suchen&ersetzen). Wenn du die Variablenverknüpfungen in einem C-Skript in dem dafür vorgesehenen Bereich für die Tag-Sektion (#define ...) vorgenommen hast, werden diese auch korrekt ersetzt.

    Alternativ kannst du dir aus dem Button mit deiner Spezial-Funktion auch ein eigenes Faceplate erstellen. Wenn du doch mal was an deinem Button ändern willst, änderst du das Faceplate und alle Instanzen werden entsprechend angepasst.

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

    Standard

    Zitat Zitat von Garog Beitrag anzeigen
    Nun möchte ich aber nicht für 180 Buttons drei mal die Variable verbinden und auch noch jedesmal in einem Skript eine Anpassung machen.
    Dafür gibt es die Funktion "Umverdrahten".

    Und schau mal hier: http://www.sps-forum.de/hmi/75573-wi...earbeiten.html

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    Garog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Danke für die Antworten.

    Beides aber leider nicht das was ich mir erhofft hatte...
    Komme ich in einem C-Skript den irgendwie an die Expression aus dem Dynamic Dialog ?

  5. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Du kannst die verschaltete Variable eines Objekts / Eigenschaft mit der C-Funktion GetLink() herausfinden.

    Für das was du vorhast würde das aber wohl keiner machen, aber du musst es wissen.

  6. #6
    Garog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Wieso sollte das so keiner machen ?
    So würde ich eine Reihe Projektfunktionen einfach an den Buttons angeben, bei der Farbe, beim Mausklick und wo noch so benötigt.
    In den Funktionen lasse ich dann einfach die verbundene Variable von z.B. der Hintergrundfarbe holen.
    So brauche ich nur einmal, ganz schnell, jeweils eine Variable zuweisen und der Rest der Arbeiten ist erledigt anstelle da jedem Element alles einzeln hinzuzufügen und dann mit suchen und ersetzen alles wieder anzupacken.. das ist ja.. .... ???
    Ich werde mir das GetLink mal anschauen, vielen Dank soweit

  7. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Weil die Funktion Zeit benötigt, und du mit suchen und ersetzen das gleiche erreichen kannst.
    Oder eben mit einem eigenen Faceplate.

  8. #8
    Garog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Meinst du mit der Zeit den Aufwand um die Funktion zu erstellen oder das abarbeiten vom WinCC selbst ?

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.189
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Garog Beitrag anzeigen
    Meinst du mit der Zeit den Aufwand um die Funktion zu erstellen oder das abarbeiten vom WinCC selbst ?
    WinCC würde zur Laufzeit jedesmal die vielleicht zwanzigfache (oder mehr?) Zeit brauchen, um zu ermitteln, welche Variable ausgewertet werden soll und welchen Zustand die Variable hat, statt einfach die direkt angegebene Variable abzufragen.

    "Umverdrahten" ist nur einmalig nötig während der Projektierung, und da ist es unerheblich, ob der Vorgang 0,00001 Sekunden oder 1 Sekunde dauert.

    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. WinCC Flexible smartservice. Logon dialog.
    Von JesperMP im Forum HMI
    Antworten: 6
    Letzter Beitrag: 17.11.2012, 05:39
  2. Antworten: 5
    Letzter Beitrag: 04.05.2011, 09:38
  3. WinCC flex - Skipt Problem
    Von larsibaby2000 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 30.09.2009, 15:05
  4. WINCC: Tags des Dynamic wizzard ersetzen
    Von Wiggi0606 im Forum HMI
    Antworten: 5
    Letzter Beitrag: 28.03.2009, 12:15
  5. Wincc Flexible Dateiauswahl-Dialog
    Von repök im Forum HMI
    Antworten: 3
    Letzter Beitrag: 29.11.2006, 22:55

Lesezeichen

Berechtigungen

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