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

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

Thema: REAL auf INT wandeln

  1. #1
    Registriert seit
    02.12.2006
    Beiträge
    88
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    folgendes Problem: Will eine Gleitpunktzahl von Real auf Int wandeln. Bei positiven Zahlen funktioniert es mit RND, DTB, BTI...
    aber wenn ich jetzt negative Zahlen habe, verliere ich das Vorzeichen, also statt -250 sinds dann 250...

    Grund dafür dürfte sein dass bei DTB ein 32Bit BCD Format verwendet wird und dann bei BTI ein 16Bit benötigt wird. Da aber hier das Vorzeichen-Bit an einer anderen Stelle ist, geht es vermutlich verloren...

    wie soll ich das lösen??

    Sorry, bin Anfänger...

    mfg
    Zitieren Zitieren REAL auf INT wandeln  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    z.b. die forensuche bemühen:

    Umwandeln
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    Hi,

    Code:
    l -100.0
    rnd
    t mw100
    schreibt bei mir -100 ins MW100...

    Gruß Micha

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

    Standard

    Ich verstehe das Problem nicht!

    Folgender Code wandelt bei mir auch negative Zahlen korrekt um.

    Code:
    L     MD   100                    //Realzahl
    RND   
    T     MW   200                    //Integerzahl
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

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

    vierlagig (14.07.2008)

  6. #5
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    kinners, RND gibt eine 32bit-ganzzahl aus, also ein DINT!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #6
    Registriert seit
    02.12.2006
    Beiträge
    88
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ich hab mir das ganze jetzt mal durchgelesen und hab dann folgendes gefunden:


    Code:
    L MD 10    //REAL-Zahl 
    RND                  //runden 
    L DW#16#7FFFFFFF 
    UD                   //DW-und 
    T MD 2             //als DW speichern
    //vorzeichenrichtige Zahl liegt in MW4
    was genau bringt die UND-Verküpfung mit lauter Einsen? da kommt im Endeffekt ja wieder die selbe Zahl raus wie vor dem Vergleich oder?

    Das richtige Ergebnis der INT-Zahl liegt dann praktisch in der zweiten Hälfte des MD2 oder?

    mfg

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

    Standard

    @vierlagig:
    Hast natürlich recht...

    [EDIT]
    Aber was mich jetzt stutzig macht, es funktioniert bei mir wirklich so wie ich es oben gepostet habe. (eben mit PLCSIM getestet)
    [/EDIT]
    Geändert von OHGN (14.07.2008 um 15:10 Uhr) Grund: stutzig
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  9. #8
    Registriert seit
    02.12.2006
    Beiträge
    88
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    so nochmal geändert damit mans auch lesen kann...

    was bringt der vergleich mit den einsen?

  10. #9
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    @4l: na und, wen störts?
    Dein überheblicher Tonfall gefällt mir nicht

    Wenn der Bereich des Reals in einem Fenster von -32768.0 bis +32769.0 liegt funktioniert o.g. einwandfrei.

    Ist der Realwert ausserhalb des Fenster muss man halt das DW auswerten...
    Geändert von SPSKILLER (14.07.2008 um 15:22 Uhr)

  11. #10
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von neibeck Beitrag anzeigen
    was bringt der vergleich mit den einsen?
    das maskiert das vorzeichen, welches im HSB steht ...

    @sps-killer: ja, offensichtlich scheint es mit plcsim zu funktionieren, wie OHGN ja schon bestätigte aber ich bin sehr dafür, den datentyp richtig zu behandeln
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. REAL in TIME wandeln in SCL
    Von zloyduh im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 17.03.2011, 22:24
  2. Float in Real wandeln - SCL
    Von Gerri im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.07.2010, 15:29
  3. Real in INT wandeln? & Liste der SFC/SFB?
    Von HSThomas im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 23.03.2010, 16:22
  4. real in ein word wandeln
    Von Dip im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.08.2009, 11:35
  5. von Real nach Integer wandeln
    Von tuppes38 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.09.2005, 18:41

Lesezeichen

Berechtigungen

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