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

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

Thema: In VBS maske auf DWord-Variable - Hilfeeee

  1. #11
    schuld ist offline Benutzer
    Themenstarter
    Registriert seit
    03.11.2010
    Beiträge
    39
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Thomas,

    danke für den Hinweis. Stimmt aber meine Annahme, dass wenn ich nicht objTag1.write schreibe, dass 2^31 lediglich in der "internen Variable" subtrahiert wird, die eigentliche Variable (also die ProzVar die an Tag1 hängt) nicht geändert wird??

    Grüße schuld

  2. #12
    Registriert seit
    13.05.2009
    Beiträge
    23
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,
    zur vollständigkeit halber:

    Wenn man ein DWORD (Bsp.: MD 0) einließt und dort bit 31 gesetzt ist (M0.7) damm kommt dieser Overflow Fehler.
    Wenn man den Typ von DWORD in DINT ändert dann kommt der Fehler nicht und ich kann prima in Skripten maskieren

    (WinCC flexible 2007)

    mfg
    HelixX23

  3. #13
    schuld ist offline Benutzer
    Themenstarter
    Registriert seit
    03.11.2010
    Beiträge
    39
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich muss diesen Thread nochmals aufmachen!! :'(

    Das Lesen mit VBS aus einer DWORD Variable klappt wie von euch beschrieben.
    Allerdings muss ich nun auch einzelne Bits in einem DWORD setzen. WinCC7.2 ist im Einsatz und die DWORD Variable ist als 32Bit Vorzeichenlos deklariert.

    Solange Bit 31 nicht gesetzt ist kann ich mit folgendem Code maksieren (Bsp. an Bit 30):
    Code:
    Var1 = HMIRuntime.Tags("DWORD_Var")
    Var1.Read
    Var1.Write = (Var1.value Or &H40000000)
    Set Var1 = Nothing
    Meine Probleme:
    Ich muss Bit 31 setzten können und im Falle dass Bit31 gesetzt ist muss ich weiterhin alle anderen Bits noch setzten können!
    Mit dem oben geposteten Skript funktioniert die Maskierung von Bit31 nicht und wenn Bit31 gesetzt ist kann ich den oben geposteten Skript ebenfalls nicht mehr ausführen...

    Kann mir hierzu jemand was sagen, bzw. hat von euch schon mal jemand dieses Problem gehabt?

    Vielen Dank und grüße
    schuld

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 01.07.2009, 11:56
  2. Antworten: 3
    Letzter Beitrag: 25.11.2008, 20:08
  3. Antworten: 7
    Letzter Beitrag: 15.10.2008, 09:45
  4. Rohdaten Variable mit VBS verarbeiten
    Von Bender25 im Forum HMI
    Antworten: 11
    Letzter Beitrag: 04.04.2006, 12:45
  5. Bit in einer 8Bit Variable mit VBS setzen
    Von Anonymous im Forum HMI
    Antworten: 4
    Letzter Beitrag: 14.12.2005, 11:45

Stichworte

Lesezeichen

Berechtigungen

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