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

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

Thema: WinCC Flex Variable in VB setzen und in SPS übertragen

  1. #1
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.138
    Danke
    225
    Erhielt 127 Danke für 85 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Möchte gerne eine Variable vom Typ Bool in einem VB-Script auf
    True oder False setzen und dann an die SPS übertragen.

    Jedoch kommt der Wert in der SPS nicht an.

    Laut Siemens sollte die Version:
    Set xyz = SmartTags("hhdjh")

    xyz = false

    funktionieren.

    Jedoch passiert da nix.

    Das Bit, wird in der SPS im Moment nirgends gesetzt oder rückgesetzt,
    deswegen kann ich das erstmal ausklammern.

    Muss ich da noch einen Befehl dabei setzen, wie bei WinCC?
    Und welcher ist das?

    Danke
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN
    Zitieren Zitieren WinCC Flex Variable in VB setzen und in SPS übertragen  

  2. #2
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Krumnix Beitrag anzeigen

    Jedoch passiert da nix.
    Du must das Script natürlich auch aufrufen !

  3. #3
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.138
    Danke
    225
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Ich sag jetzt mal nix dazu, aber ich denke, das sollte man schon
    voraussetzen, das ich das Script auch ausführe.....

    Schließlich werden alle Berechnung in dem Script abgearbeitet,
    nur das ich der SPS dann sagen will, ich bin fertig mit der Berechung,
    das geht NICHT.....
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  4. #4
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Krumnix Beitrag anzeigen
    Ich sag jetzt mal nix dazu, aber ich denke, das sollte man schon
    voraussetzen, das ich das Script auch ausführe.....
    Na gut.
    Ist die SPS - Variable Global definiert ?

    In deinem Beispiel wird das Bit ja auch immer RÜCKgesetzt und nicht gesetzt...

    Vielleicht bring ich dir gleich noch ein Beispiel, was definitiv Funktioniert..

  5. #5
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Krumnix Beitrag anzeigen
    Hallo.

    Set xyz = SmartTags("hhdjh")

    xyz = false

    Danke
    Probier das mal:

    Code:
    ResetBit SmartTags("hhdjh")
    wobei "hhdjh" deine SPS-Variable ist.

  6. #6
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.138
    Danke
    225
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Das ResetBit muss ich morgen mal testen, danke.
    Kannte ich noch nicht.

    Aber mal eine kleine Info zu dem ganzen Ablauf, damit es ggf.
    einfacher zu verstehn ist oder ich woanders einen Denkfehler hab.

    In der SPS wird nach einer bestimmten Bedingung ein Bit gesetzt (S).
    Das setzen erfolgt über eine positive Flanke (P).

    |--U e1.0---U m3.1----(P)----(S M5.7)

    Im WinCC Flex hab ich ein Scirpt laufen, das per do loop until läuft und
    mit einer Taste gestartet wird.

    Wenn der M5.7 eins hat, wird in der Schleife eine Berechnung gemacht.
    Ist die Berechnung beendet, soll der Merker auf Null gesetzt werden,
    damit eine neue Berechnung bei den nächsten Bedingungen gestartet
    werden kann.

    Das Berechnen läuft super, das sie erst mit dem Merker auf eins startet
    auch, nur das am Ende der nicht auf Null gesetzt wird, das ist Ungünstig,
    weil ja dann die Berechung im Zyklus der do loop Schleife erfolgt, was nicht
    sein sollte.

    Aber ggf. ist es mit dem einem Befehl schon gelöst.

    Danke für die Info

    Gruß
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  7. #7
    Registriert seit
    18.09.2006
    Beiträge
    231
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Krumnix Beitrag anzeigen
    Set xyz = SmartTags("hhdjh")
    xyz = false
    wie soll das funktionieren?
    du weist der temporären variablen xyz den false zu obwohl du hhdjh auf false setzen willst

    Set xyz = SmartTags("hhdjh")
    xyz = false
    Set SmartTags("hhdjh") = xyz

    kürzer wäre es natürlich so
    hhdjh = false
    .
    mfg KALEL

    Wer über gewisse Dinge nicht den Verstand verliert, der hat keinen zu verlieren.
    Gottfried Ephraim Lessing

  8. #8
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.138
    Danke
    225
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Code:
    Set xyz = SmartTags("hhdjh")
    xyz = false
    Set SmartTags("hhdjh") = xyz
    Funktioniert nicht.
    Merkert er ganz böse.

    Aber für alle, die auch mal das Problem haben oder ein sogenanntes
    Globales Script für WinCC Flex haben wollen:

    1. Das Script muss beim ersten Aufruf gestartet werden.
    Global laufende Scripte gibt es ja nicht.

    2. In dem Script sollte eine do loop until Schleife programmiert werden,
    die endweder immer auf True steht oder durch eine Bedingung beendet
    werden kann. Das ist egal. Jedoch muss nach dem Beenden das Script
    wieder angestoßen werden.

    3. Das Script muss eine Sub sein.

    4. Um im Script Varibalen in der SPS zu setzen oder was auch immer
    in "Echtzeit" in der SPS verändern, muss die Bedingung in eine
    FUNCTION.
    Bedeutet, das wenn man einen Merker rücksetzen möchte, geht das
    nur in einer Funktion.

    5. Die Funktion dann im "Globalen Script" aufrufen. Da nur beim Beenden
    eines Scriptes alle Veränderungen auch an die SPS "weitergereicht" werden.

    6. Die Zuweisung in der Funktion für eine Variable, die in die SPS
    übertragen werden soll MUSS folgenderweise lauten:

    SmartTags("Variablen_Name") = Neuer Wert

    Damit konnte ich dann mein Problem lösen.

    Hat mich die ganze Nacht wach gehalten ^^

    Alle anderen Vorschläge haben leider NICHT funktioniert
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  9. #9
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 806 Danke für 549 Beiträge

    Standard

    doch das muss gehen.
    ist evtl von der syntax her nicht ganz korrekt.
    habe jetzt kein wccf zur hand nur protool.

    unter protool klappt folgendes
    Code:
    
    Dim temp_var
    steuerung_var = false
    'oder
    temp_var = steuerung_var
    temp_var = false
    steuerung_var = temp_var
    
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  10. #10
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.866
    Danke
    78
    Erhielt 806 Danke für 549 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    habs doch zur hand. dachte ich hätte das hier nicht installiert.

    so siehts in wccf aus.
    Code:
    Dim temp_var
    SmartTags("steuerug_var") = False
    'oder
    temp_var = SmartTags("steuerug_var")
    temp_var = False
    SmartTags("steuerug_var") = temp_var
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 06.07.2010, 13:35
  2. Antworten: 10
    Letzter Beitrag: 29.01.2008, 17:42
  3. CP 443-1 und WinCC Variable setzen
    Von ottopaul im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 22.07.2006, 16:46
  4. WinCC flex, TP177B Projekt übertragen ?
    Von Stefan B. im Forum HMI
    Antworten: 1
    Letzter Beitrag: 28.02.2006, 20:27
  5. WinCC!! über C++ eine Variable für 8sek auf eins setzen
    Von dellamorte-dellamore im Forum HMI
    Antworten: 5
    Letzter Beitrag: 25.09.2005, 11:28

Lesezeichen

Berechtigungen

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