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

Ergebnis 1 bis 9 von 9

Thema: Msb, msb-1, lsb

  1. #1
    Registriert seit
    22.02.2008
    Ort
    Mosel/Schwarzwald
    Beiträge
    25
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde,
    ich muss mit einem CP340 über RS422 eine ELGO-EMAX-Positionsanzeige in eine S7-300 einlesen.
    Die Daten kommen in folgendem Format und Reihenfolge:

    MSB, MSB-1, LSB

    die gemessene Position wird binär in den 3 Datenbytes dargestellt

    Wie krieg ich daraus eine für die S7 verarbeitbare Zahl?
    Geändert von RainerP (16.12.2014 um 17:46 Uhr)
    „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
    --Albert Einstein--
    Zitieren Zitieren Msb, msb-1, lsb  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    Hallo,
    in dem du die einzelnen Bytes in DINT's umwandelst (als DINT's weiterverarbeitest) und entsprechend ihrer Wertigkeit multiplizierst.
    Also (ich weiß nun nicht was MSB und MSB-1 darstellen soll) z.B. so :
    Gesamt = LSB + (MSB_1 * 256) + (MSB * 65536)
    Gruß
    Larry

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

    RainerP (16.12.2014)

  4. #3
    RainerP ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.02.2008
    Ort
    Mosel/Schwarzwald
    Beiträge
    25
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    MSB heißt wohl Most Signifikant Byte,
    das nächste im Telegramm ist dann MSB-1
    und dann kommt das Least Signifikant Byte.

    Ich nehme an das ich die Daten vorher BCD-Int umwandeln muss?
    „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
    --Albert Einstein--

  5. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Das hängt ja davon ab, was genau die Anzeige über RS232 ausgibt.
    Schau dir die ankommenden Daten an, die weißt ja was die Anzeige anzeigt, dann siehst du sicher auch, ob die Daten BCD-Codiert sind oder nicht.
    Im Zweifelsfall versuchst du es einmal mit und einmal ohne BCD nach Int und schaust, was plausibel ist.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. #5
    RainerP ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.02.2008
    Ort
    Mosel/Schwarzwald
    Beiträge
    25
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Leider hat die Anzeige nur die RS422´Schnittstelle, keine RS232
    Da muss ich nochmal dumm fragen:
    woran erkenne ich das die Daten BCD-Codiert sind?
    Meine Annahme beruht auf der Bezeichnung im Handbuch:
    Zitat: "Die gemessene Position wird binär in den 3 Datenbytes dargestellt"
    „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
    --Albert Einstein--

  7. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Lies mal das hier: http://de.wikipedia.org/wiki/BCD-Code

    Kann durchaus mal zufällig für einen normal binär codierten Wert auch BCD passen, aber auf Dauer werden auch mal nicht erlaubte Codierungen (Pseudotetraden) auftauchen, dann weiß man, dass es keine BCD-Codierung sein kann. Zweite Möglichkeit ist natürlich, wenn du das Ergebnis kennst, die Zahl "zusammenbaust" und dann siehst, ob das Ergebnis mit der Positionsanzeige übereinstimmt.

    PS: Ja klar, RS232 oder RS422, wenn du die 340 nutzt, ist das ja für dich im Prinzip egal, es muß halt die richtige Baugruppe it dem richtigen Protokoll sein.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #7
    Registriert seit
    06.10.2003
    Beiträge
    3.414
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    "binär" ist ein bisschen schwammig. Da explizit nichts angegeben ist würde ich von einer Dualzahl ausgehen. Um diese Zahl in Step7 verarbeiten zu können, müssten die drei Bytes in ein DINT geschrieben und rechtsbündig(?) ausgerichtet werden.

    Code:
          L     "MSB"               // Doppelwort ab Adresse "MSB"
          SRD   8                   // 8 Stellen nach rechts verschieben
          T     "DEIN_MESSWERT"     // DINT
    Oder so ähnlich
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  9. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.405 Danke für 2.002 Beiträge

    Standard

    Die Variante mit dem ASCII-Code hatte ich noch gar nicht erwogen (wahrscheinlich wegen der Thread-Überschrift LSB-MSB).
    Bei vielen seriell gekoppelten Geräten wird ja der Wert als eine Art ASCII-Zeichenkette übertragen.

    @TE:
    Du solltest hier wirklich erstmal schauen, was da reinkommt.
    In welchem Zahlenbereich liegen denn deine erwarteten Werte ? 0 ... 999 ? Oder eher 0 ... 16000000 ?

    Gruß
    Larry

  10. #9
    RainerP ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.02.2008
    Ort
    Mosel/Schwarzwald
    Beiträge
    25
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    in dem du die einzelnen Bytes in DINT's umwandelst (als DINT's weiterverarbeitest) und entsprechend ihrer Wertigkeit multiplizierst.
    Also (ich weiß nun nicht was MSB und MSB-1 darstellen soll) z.B. so :
    Gruß
    Larry
    Genauso funktioniert es!
    Vielen Dank!
    „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
    --Albert Einstein--

Ähnliche Themen

  1. [Geburtstagsthread] MSB
    Von rostiger Nagel im Forum Stammtisch
    Antworten: 16
    Letzter Beitrag: 16.12.2014, 21:28
  2. [Geburtstagsthread] MSB
    Von rostiger Nagel im Forum Stammtisch
    Antworten: 10
    Letzter Beitrag: 17.12.2013, 22:49
  3. [Geburtstagsthread] MSB
    Von rostiger Nagel im Forum Stammtisch
    Antworten: 15
    Letzter Beitrag: 17.12.2011, 18:59
  4. Msb lsb
    Von cas im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 09.06.2011, 11:59
  5. Twincat LSB zu MSB umwandeln
    Von mc@ey im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 19.05.2011, 14:42

Lesezeichen

Berechtigungen

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