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

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

Thema: VBScript

  1. #11
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Komisch. Habe in WinCC ein Rechteck eingefügt und eine Sichtbarkeit angelegt. Dort sieht man, dass sich das Bit M20.2 ändert, also das Rechteck sichtbar wird, wenn Bit Null ist, jedoch sieht man das im SPS-programm nicht. Ich habe gesagt, das Rechteck soll sichtbar sein, wenn M20.2 false ist. Er wird sichtbar und dann wieder unsichtbar. Na auf jeden Fall tut sich was. Nach einer kurzen Änderung geht er wieder in seinen Anfangszustand zurück. Hat das etwas mit dem Zyklus zu tun?
    Kurz gesagt: er macht 1 sekunde was im Script steht, dann geht er auf seine Anfangslage zurück. Warum macht er das, warum bleibt er nicht in diesem Zustand?
    Geändert von kuti (10.02.2014 um 14:39 Uhr)

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Deine letzten beiden Beiträge.. irgendwie schaffe ich es nicht, zu verstehen, was Du denn da gemacht hast..
    Zitat Zitat von kuti Beitrag anzeigen
    If SmartTags("m20.0") = False Then
    SmartTags("M20.2") = True
    Else SmartTags("M20.2") = False

    End If

    Das ist bei mir ein Netzwerk im SPS-Programm.
    Deine SPS wird mit VBS programmiert???
    Ich glaube eher das ist Dein Skript was Du in WinCCflex geschrieben hast?
    Weißt Du, daß die Skripte in der WinCCflex Runtime auf dem PC ausgeführt werden und NICHT in der SPS?
    Und eigentlich schreibt man das so, dann ist es gleich viel verständlicher:
    Code:
    SmartTags("M20.2") = Not SmartTags("m20.0")
    Wenn der M20.0 False ist, soll M20.2 true werden. Im WinCC flex habe ich eine Schaltfläche, wo das zugehörende Skript gestartet wird. Leider wird M20.2 nicht true.
    Vielleicht weil die Variable SmartTags("m20.0") nie False sondern dauernd True ist?

    Zitat Zitat von kuti Beitrag anzeigen
    Habe in WinCC ein Rechteck eingefügt und eine Sichtbarkeit angelegt. Dort sieht man, dass sich das Bit M20.2 ändert, also das Rechteck sichtbar wird, wenn Bit Null ist, jedoch sieht man das im SPS-programm nicht. Ich habe gesagt, das Rechteck soll sichtbar sein, wenn M20.2 false ist. Er wird sichtbar und dann wieder unsichtbar. Na auf jeden Fall tut sich was. Nach einer kurzen Änderung geht er wieder in seinen Anfangszustand zurück. Hat das etwas mit dem Zyklus zu tun?
    Kurz gesagt: er macht 1 sekunde was im Script steht, dann geht er auf seine Anfangslage zurück. Warum macht er das, warum bleibt er nicht in diesem Zustand?
    WANN wird das Rechteck sichtbar? Periodisch wechselnd oder einmalig nach einem Klick in der Runtime? Nach Aufruf des Skriptes? Mir scheint, Dein Klick ruft das Skript auf, dieses weist der Variable "M20.2" den Wert False zu - das Rechteck wird sichtbar - die RT schreibt den Wert in die SPS, wo die SPS-Variable aber dauernd auf True geschrieben wird - die RT liest die Variable und das Rechteck wird wieder unsichtbar... oder das Skript wird noch einmal aufgerufen und weist der Variable "M20.2" wieder True zu???

    Das ist aber pure Spekulation, ich kann aus Deinen Angaben leider nicht entnehmen, was Du tatsächlich programmiert hast..
    Schreib mal etwas ausführlicher.

    Was soll Dein Skript eigentlich tun? Den M20.2 invertieren (togglen)?
    Wann wird das Skript ausgeführt? Bei Klick auf eine Schaltfläche oder auch bei Wertänderung einer Variable?
    Was hat es mit dem M20.0 auf sich - ist das ein Tippfehler? Oder warum machst Du diese Zuweisung in einem Skript und nicht in dem SPS-Programm?
    Dein SmartTags("m20.0") ist eine Variable in WinCCflex, die mit der SPS-Adresse M20.0 verbunden ist?
    Dein SmartTags("M20.2") ist eine Variable in WinCCflex, die mit der SPS-Adresse M20.2 verbunden ist?
    Was passiert mit M20.0 und M20.2 in der SPS? Werden die da irgendwie beschrieben?
    Wird die Variable "m20.0" irgendwo auf dem Bild verwendet wo Du die Schaltfläche zum Aufruf des Skriptes hast? Der Wert von Variablen wird von WinCCflex nur aktualisiert, wenn die Variable verwendet wird oder wenn sie auf "fortlaufend lesen" eingestellt ist.
    Besteht überhaupt eine Verbindung der WinCCflex Runtime zur SPS?
    Was hast Du für eine SPS?

    Warum willst Du Skripte benutzen - gibt es eine reale Notwendigkeit dafür? Welche?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #13
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard

    1. Mein Skript soll ausgeführt werden, wenn ich eine Schaltfläche betätige.
    2. Ich habe diese Zuweisung im Skript gemacht, weil ich dieses Bit im SPS-Programm ändern möchte. Darf man das nicht? So wie ich bei einer normalen Schaltfläche eine Bit im SPS-Programm ändern möchte, so möchte ich das auf diesem Wege machen, einfach aus Übungszwecken.
    3. "Dein SmartTags("m20.0") ist eine Variable in WinCCflex, die mit der SPS-Adresse M20.0 verbunden ist?" Ja, genau.
    4. "Was passiert mit M20.0 und M20.2 in der SPS? Werden die da irgendwie beschrieben?" Nein, werden sie nicht. Ist nur ein FC mit diesem Netzwerk.
    5. Ich arbeite mit dem PLCSIM.
    6. Warum ich Skripte schreiben möchte, dient einfach Übungzwecken und weil ich das später mal bestimmt brauchen werde. Nur leider gibt es im Internet so wenig Literatur. Gibt es noch irgendwelche Übungen?

    Gruß

  4. #14
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von kuti Beitrag anzeigen
    2. Ich habe diese Zuweisung im Skript gemacht, weil ich dieses Bit im SPS-Programm ändern möchte. Darf man das nicht? So wie ich bei einer normalen Schaltfläche eine Bit im SPS-Programm ändern möchte, so möchte ich das auf diesem Wege machen, einfach aus Übungszwecken.
    Warum machst Du das Skript dann verkomplizierend vom Zustand einer weiteren Variable abhängig? Du hast offensichtlich zu viele Einflußfaktoren auf Deinen Code und findest dadurch nicht, warum Dein Programm so eigenartig funktioniert.
    Mache doch erstmal einfach nur ein Togglen der Variable und siehe wie Dein Rechteck dann sauber sichtbar und unsichtbar wird:
    Code:
    SmartTags("M20.2") = Not SmartTags("M20.2")
    Zitat Zitat von kuti Beitrag anzeigen
    4. "Was passiert mit M20.0 und M20.2 in der SPS? Werden die da irgendwie beschrieben?" Nein, werden sie nicht. Ist nur ein FC mit diesem Netzwerk.
    Und mit welchem Programmcode in "diesem Netzwerk"???
    Laß Dir doch bitte nicht jede möglicherweise wichtige Einzelheit aus der Nase ziehen...

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    kuti (11.02.2014)

  6. #15
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Jetzt eine andere Frage: Ich habe einen Bildbaustein mit einem Rechteck erstellt. Für den Bildbaustein habe ich als Eigenschaft "Zustand" hinzugefügt. Wenn der Zustand 0 ist soll das Rechteck rot werden, wenn 1 dann grün. Mein "Zustand" ist eine boolesche Variable. Nun habe ich beim Rechteck, also unter "enthaltene Objekte", unter Gestaltung "Color". Meine Variable Zustand kann ich leider nicht mit diesem Color verbinden. Gibt es vielleicht einen anderen Weg?

    Gruß

  7. #16
    kuti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.05.2013
    Beiträge
    353
    Danke
    74
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hat jemand eine Idee?

Ähnliche Themen

  1. VBScript Standard-Module
    Von Franky08 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 06.06.2010, 23:40
  2. VBScript in WinCC
    Von cracks87 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 19.05.2010, 13:43
  3. drucken mit VBScript
    Von volker im Forum HMI
    Antworten: 6
    Letzter Beitrag: 14.06.2004, 12:43
  4. Netzwerkzugriff über VBScript
    Von Anonymous im Forum HMI
    Antworten: 2
    Letzter Beitrag: 14.06.2004, 08:42
  5. protool + vbscript
    Von volker im Forum HMI
    Antworten: 0
    Letzter Beitrag: 07.08.2003, 12:46

Lesezeichen

Berechtigungen

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