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

Ergebnis 1 bis 5 von 5

Thema: DTR - Ganzzahl-Wandlung to real - AWL

  1. #1
    Registriert seit
    03.02.2010
    Beiträge
    22
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    folgendes Problem:
    Wir bekommen über DP-Bus Ganzzahlwerte in signed- und unsigned- Interpretation zur Verfügung gestellt.
    Diese Werte möchten wir alle in Real-Werte umwandeln.


    zwei Beispiele:


    L PEW 1780 //(signed)
    L 100
    /I
    ITD
    DTR
    T "R1Daten".r71AG001_KuehlWasTemp


    L PED 1792 //(unsigned)
    L 10
    /I
    DTR
    T "R1Daten".r71AG001_Gassummenzaehler


    eine der beiden Interpretationen kann nicht funktionieren.
    Der Befehl DTR wandelt eine 32bit Ganzzahl in Real.
    Unseres Wissens nach wird die Ganzzahl als unsigned interpretiert.

    Wie kann man bei dem DTR Befehl zwischen unsigned und signed unterscheiden?

    Vielen Dank

    mfg Johannes
    Zitieren Zitieren DTR - Ganzzahl-Wandlung to real - AWL  

  2. #2
    Registriert seit
    13.11.2004
    Beiträge
    170
    Danke
    0
    Erhielt 14 Danke für 9 Beiträge

    Standard

    Zitat Zitat von schneijo Beitrag anzeigen

    L PED 1792 //(unsigned)
    L 10
    /I
    DTR
    T "R1Daten".r71AG001_Gassummenzaehler
    Sollte das nicht schon mal /D antatt /I heißen?
    Dann funktioniert es auf jeden Fall schon besser.

    Gruss
    __________________________________________________

  3. Folgender Benutzer sagt Danke zu 0815prog für den nützlichen Beitrag:

    schneijo (26.08.2011)

  4. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Die S7 hat keine Operatoren für Ganzzahlen ohne Vorzeichen.
    Wenn du z.B. über den Bus Werte hineinbekommst die ohne Vorzeichen sind, musst du sicherstellen dass wenn du mit diesem Wert rechnen willst (oder eben DTR) diese nicht größer als 2^(n-1) -1 werden. Ansonsten erhältst du eine falsche, also negative Zahl (Zweierkomplement).

    Bei deinem Beispielen würde ich die Division erst nach der konvertierung des PEW/PED in die Real-Zahl machen. Denn mit deiner Ganzzahldivision schneidest du mehr oder weniger eine bzw. beim zweiten Beispiel zwei Dezimalstellen ab.

  5. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    schneijo (26.08.2011)

  6. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    ich würde erst in REAL wandeln und dann teilen - das macht das Ergebnis dann auch genauer .

    Also so :
    Code:
    L PEW 1780 //(signed)
    ITD 
    DTR 
    L 100.0
    /R
    T "R1Daten".r71AG001_KuehlWasTemp
    bzw. :
    Code:
    L PED 1792 //(unsigned)
    DTR 
    L 10.0
    /R
    T "R1Daten".r71AG001_Gassummenzaehler
    ... der Rest sollte dann schon passen ...

    Gruß
    Larry

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    schneijo (26.08.2011)

  8. #5
    schneijo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.02.2010
    Beiträge
    22
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank für eure Anmerkungen.
    Ja richtig die Literatur sagt auch keine Operationen auf unsigned Ganzzahlen.

    Auch vielen Dank für die anderen Anmerkungen ...
    Die Beispiele waren etwas schlampig ...
    Eigentlich ging es mir um die unsigned Operationen ...

    Tausend Dank und ein schönes Wochenende wünscht euch

    schneijo

Ähnliche Themen

  1. Wandlung 32Bit Real nach 16Bit Gleitkomma
    Von BadTaste im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 04.10.2017, 14:03
  2. Wandlung Real zu Int
    Von GerhardPtl im Forum Simatic
    Antworten: 46
    Letzter Beitrag: 07.03.2011, 14:24
  3. Wandlung time_t zu char
    Von I--Roth im Forum HMI
    Antworten: 3
    Letzter Beitrag: 24.08.2009, 21:42
  4. Wandlung Zahlenwerte
    Von Martin L. im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 10.04.2009, 20:05
  5. Wandlung von Real => INT
    Von Heinz im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 29.07.2005, 12:33

Stichworte

Lesezeichen

Berechtigungen

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