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

Ergebnis 1 bis 5 von 5

Thema: Datenhandling Modbus

  1. #1
    Registriert seit
    19.04.2005
    Beiträge
    176
    Danke
    14
    Erhielt 14 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo alle zusammen,

    ich habe eine generelle Frage zum Thema Modbus TCP. Es sollen 200 Byte Nutzdaten von einer 1500er zu einem Client, dessen Aufbau noch nicht feststeht, transferiert werden. Mein Testaufbau besteht aus zwei 1500er CPU's. Ich schiebe die Nutzdaten (Real, Bool, Int, Strings) auf das Halteregister (Array 100 of word) und auf der Clientseite das Halteregister zurück in einen identischen Nutzdaten DB. Das funktioniert auch bestens, aber ist es wirklich die richtige Vorgehensweise Real usw. werte in word variablen zu schieben? Muss ich, wenn der Client ein PC ist, lower und higher Byte tauschen?
    Zitieren Zitieren Datenhandling Modbus  

  2. #2
    Registriert seit
    17.09.2015
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo leo,
    Ja, physikalisch schickst du ja auch keine Real-Variablen, sondern einfach nur Bit hinter Bit.
    Ob du bei einem PC die Bytes tauschen musst, kann ich dir nicht sagen. Das hängt vom eingesetzten (Kommunikations-)Prozessor ab.
    Ich hatte da mal ein ganz komisches Verhalten bei der Modbus-Kommunikation mit einem Embedded Controller. Da war das sogar je nach Datentyp unterschiedlich...
    Am besten einfach ausprobieren.

  3. #3
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.476
    Danke
    1.140
    Erhielt 1.238 Danke für 971 Beiträge

    Standard

    Zitat Zitat von Stamm Beitrag anzeigen
    Ich hatte da mal ein ganz komisches Verhalten bei der Modbus-Kommunikation mit einem Embedded Controller. Da war das sogar je nach Datentyp unterschiedlich...
    Am besten einfach ausprobieren.
    Hatte ich auch schon mal. Fazit: Es gibt nix was es nicht gibt

  4. #4
    leo ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.04.2005
    Beiträge
    176
    Danke
    14
    Erhielt 14 Danke für 9 Beiträge

    Standard

    OK danke,
    dann bin ich also auf dem richtigen Weg. Der Rest wird sich dann vor Ort zeigen.

  5. #5
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    bei T_SEND liegen die Daten big-endian auf dem Draht. Ein PC muss also alles was breiter als ein byte ist drehen.
    Soweit ich mich erinnere, ist das auch bei dem Format von Modicon so. Sogar das welt weite warten schiebt zuerst das höherwertige durch den Draht. Aber Intel legt das niederwertige an die niederwertigen Adressen. Normalerweise sorgen die IP-Stapel dafür, dass man davon nix mitbekommt. Es kann also gut sein, dass du eine Library findest, die das richtet ohne dass du Hand anlegst. Wenn du allerdings die Bytes per Wireshark betrachtest, dann ist drehen angesagt. Ähnlich mühsam ist es auch, wenn du nur Bytepuffer weitergibst oder bekommst. Protokolle big, Intel -- alles was in PCs drin ist -- aber auch viele andere Controller little. Bis auf ein paar Ausnahmen. Das sind dann die Fälle wo man merkt wie wenig kombatibel oder anders ausgedrück wie abhängig C von der Hardware ist.

    'n schön' Tach auch
    HB

  6. Folgender Benutzer sagt Danke zu HelleBarde für den nützlichen Beitrag:

    leo (04.12.2015)

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 12.12.2014, 09:19
  2. Antworten: 4
    Letzter Beitrag: 01.09.2010, 00:37
  3. Antworten: 0
    Letzter Beitrag: 05.08.2010, 08:14
  4. DP/EIB Link Datenhandling
    Von pjoddi im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.07.2010, 13:33
  5. Datenhandling
    Von mbredi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 15.02.2006, 15:11

Lesezeichen

Berechtigungen

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