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

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

Thema: 4 bytes als Ganzzahl auswerten

  1. #1
    Registriert seit
    04.09.2009
    Beiträge
    8
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe eine Frage zu Zahlenformaten:
    CPU IM151-7
    DP - Masteranschaltun

    Ich bekomme über den Profibus aus einer Maschine Zählwerte, jeder Zählwert ist in 4bytes aufgeteilt und wird auf der Gegenseite einfach als Ganzzahl da hineingeschrieben. Über den move-Befehl schiebe ich die PEBs in einen Datenbaustein. Jetzt möchte ich gerne die Ganzzahl lesen, mit lesen des Doppelwortes in dem Datenbaustein funktioniert das nicht.

    Muss ich jedes Byte nehmen und entsprechend multipliezieren und anschließend alle addieren oder ist es möglich, dass mit einem Befehl oder einer Zahlenumwandlung zu erledigen.

    Grüße
    Zitieren Zitieren 4 bytes als Ganzzahl auswerten  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Zitat Zitat von SPS_LB Beitrag anzeigen
    Jetzt möchte ich gerne die Ganzzahl lesen, mit lesen des Doppelwortes in dem Datenbaustein funktioniert das nicht.
    Hallo,
    das sollte es aber ...
    Oder schreibt die Gegenseite keine Ganzzahl sondern eine Gleitpunktzahl ?
    Was liest du und was sollte drin stehen ?

    Gruß
    LL

  3. #3
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    kanns sein dass du die einzelnen Stellen als BCD bekommst?

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Zahlen  

  4. #4
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard

    Hi!
    Du musst sie nur richtig auslesen: Bei S ist der niedrigere Zahlenwert im höherwertigen Word und umgekehrt.
    4 Byte ist ein Double.
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  5. #5
    SPS_LB ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.09.2009
    Beiträge
    8
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    wenn die Gegenseite z.B. 65535 in übertragen will, dann habe ich in den entsprechenden niederwertigen 2 bytes je 255 stehen.
    Wird z.B. 65536 übertragen, so haben ich im 3ten byte eine 1 stehen.

    Grüße

  6. #6
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard

    Na ist ja binär:
    deine 65535 sind nun mal 15x1. also 2^15. Also deine 255 ist ein volle Byte (alles auf 1). Bei 65536 ist 2^16 also das 17te bit HI.
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  7. #7
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Zitat Zitat von Manfred Stangl Beitrag anzeigen
    Na ist ja binär:
    deine 65535 sind nun mal 15x1. also 2^15. Also deine 255 ist ein volle Byte (alles auf 1). Bei 65536 ist 2^16 also das 17te bit HI.
    65535 entsprechen 2^16 - 1
    Code:
    65535 sind binär        1111 1111 1111 1111
    65536 sind binär   0001 0000 0000 0000 0000
    Geändert von marlob (05.01.2010 um 12:08 Uhr)

  8. Folgender Benutzer sagt Danke zu marlob für den nützlichen Beitrag:

    SPS_LB (05.01.2010)

  9. #8
    SPS_LB ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.09.2009
    Beiträge
    8
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,

    ja, ist i.O.
    wenn z.B. die Zahl 1224 übertragen wird, so sehe ich ja im niedrigsten byte eine 200 und im nächsthöheren eine 4.
    Ich könnte also rechnen 4x256 + 200 und erhalte dann 1224. Schön wäre halt ein Befehl, mit dem ich mir diese Rechenschritte über die 4 bytes sparen könnte.

    Grüße

  10. #9
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard

    Zitat Zitat von marlob Beitrag anzeigen
    65535 entsprechen 2^16 - 1
    naturlement!! mein fehler.
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  11. #10
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nicht im niedrigsten, im höchsten.
    Angehängte Grafiken Angehängte Grafiken
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  12. Folgender Benutzer sagt Danke zu Manfred Stangl für den nützlichen Beitrag:

    SPS_LB (05.01.2010)

Ähnliche Themen

  1. BCD-Zahl in Ganzzahl (16 Bit) wandeln
    Von baui im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 05.03.2009, 17:08
  2. Date and Time, Bytes einzeln auswerten
    Von smartie im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 12.02.2008, 09:10
  3. Ganzzahl umwandeln
    Von lyric im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 13.10.2007, 18:39
  4. S5Time in Ganzzahl
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.11.2005, 13:21
  5. Ganzzahl to string
    Von Orion im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 30.07.2004, 09:14

Stichworte

Lesezeichen

Berechtigungen

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