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

Ergebnis 1 bis 4 von 4

Thema: VAT: HEX <-> DEZ Umrechnung

  1. #1
    Registriert seit
    16.08.2007
    Beiträge
    40
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    hänge grad an einem kleinen "Problem":

    Ich habe ein INT-Array, das nur INT-Werte bis 250 enthält. Diese Zahlen will ich in ein anderes Array kopieren. Um Speicherplatz zu sparen dacht ich super, mach ich INT_TO_BYTE, dann reicht ein Byte pro Zahl.

    Jetzt habe ich in der Variablentabelle also beide Arrays da stehen.
    In der HEX-Ansicht kommt das raus:

    B#16#96 und W#16#0096

    Das Problem liegt in der DEZ-Ansicht:

    -106 und 150

    Die Umrechnung läuft also falsch, S7 berechnet das Zweierkomplement und interpretiert die Zahl negativ.

    kann ich das irgendwie beeinflussen? Ich will doch nur eine "normale" Umrechnung
    Geändert von derbenny (13.11.2007 um 14:27 Uhr)
    Zitieren Zitieren VAT: HEX <-> DEZ Umrechnung  

  2. #2
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Nur die Ansicht in der VAT interpretiert das Bit 7 als negatives Vorzeichen.
    Wenn Du das Byte mit dem L - Befehl in den Akku lädst steht der Wert dort wieder als positive Ganzzahl.

    L #DeinByte // hier steht die vermeintliche -106
    T #DeinWort // hier steht wieder Deine 150
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  3. #3
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.735
    Danke
    321
    Erhielt 1.523 Danke für 1.283 Beiträge

    Standard

    Also man kann Siemens ja für vieles verantwortlich machen,
    aber dafür nun ausnahmsweise nicht.
    Also höchstens das die das UINT-Format in ihre VAT nicht integriert haben.

    Dez = INT = Höchste Bit Vorzeichen.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  4. #4
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn du mit Ganzzahlen Rechnen willst, solltest du dich auf die Typen INT bzw. DINT beschränken, da Siemens nur auf diesen die entsprechenden Operatoren zur Verfügung stellt.
    Es passieren dann zwar in AWL implizit einige Typenumwandlungen beim Rechnen - aber eben auch solche Quereffekte wie oben beschrieben.
    Also, wenn möglich, mach aus deinem Baustein wieder ein INT-Array, du ersparst dir einiges an Ärger.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

Ähnliche Themen

  1. Alarmfenster / Umrechnung
    Von dr.hareg im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 06.05.2011, 12:22
  2. Umrechnung in AWL
    Von hans55 im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 17.03.2008, 21:35
  3. PT 100 auf C7-613 analog Eingabe - Umrechnung
    Von Lars Bizare im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 28.06.2005, 16:49
  4. Analogwert Umrechnung
    Von Diplomklempner im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.06.2005, 15:28
  5. Umrechnung von Analogeingangskarte
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 01.04.2005, 06:57

Lesezeichen

Berechtigungen

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