Modbus, wie sind Coil, Registers definiert

Gast #2205594
Lesenswert?
• ▲
▼
Hallo, ich habe ein Verständnisproblem. Habe mir die Modbus 
Dokumentation durchgelesn, nur verstehe ich den Zusammenhang zwischen 
den möglichen Adressen im Modbus 0-49999 und dem uC nicht.
Z.B. Coils werden repräsentiert von 1 - 2000. Soweit ich weiis ist das 
einfach der Zustand eines Bits (high / low). Muss ich softwaremäßig dann 
die Coilnummer einem bestimmten Port meines uC zuweisen und den dann 
auslesen? Oder wie ist es? Wie sieht es mit Registern aus, es wird von 
welchen Holding und Input Registern gesprochen, wo finde ich aber diese 
auf meinem uC? Ich steh momentan neben mir...hab ich da was komplett 
falsch verstanden?
Gast #2205644
Lesenswert?
• ▲
▼
Hallo LösungSucher,
Zu erst einmal ist die Frage eigentlich im Falschen Forum gestelt 
(richtiger wäre "µC & Elektronik"). Desweiteren hab ich den Eindruck das 
du tatsächlich was falsch verstanden hast.
Was du aufjedenfall noch schreiben solltest ist was du eigentlich 
erreichen willst und auf welcher Hardware du dies machen willst.
Wenn ich mal davon ausgehe das du mit einem µC einen Modbus-Slave 
implementieren willst, hab ich folgende Antworten.
- Ein direkter zusammenhang mit den Coils und Register (Modbus) zu Ports 
und Register (µC) besteht nicht. Dies ist davon abhänig wie du es 
implementierst.
- Daraus folgend wirst du auch keine Holding und Input Register auf dem 
µC finden. Es liegt an dier diese bei einer Implementierung richtig zu 
realisieren.

Als Empfehelung such mal eine Modbus-Slave implementierung für deine 
Zielhardware. Sowas findet man für einige µC. (Ich selbst hatte in 
meiner Dipl. Arbeit einen Slave für den MSP430)
Gast #2206495
Lesenswert?
• ▲
▼
Hallo, erstmal danke für die Antwort ,

also ich soll einen Temperatursensor auslesen, dafür soll Modbus 
eingesetzt werden. Benutze einen TMS320 uC. Habe erst mal ein MasterTool 
runtergeladen um den Master zu simulieren, bin dabei die Software für 
den Slave zu schreiben. Die Kommunikation zwischen meinem Board und dem 
PC steht schon. Wegen den Registern, ich weiss dass diese Register im uC 
nicht vorhanden sind, ich bin aber nur verwirrt, wie stehen diese Coils, 
Holding Register etc. im Bezug zu meinem uC.

Wenn ich z.B. den Coil 15 auslesen möchte, muss ich erstmal in der 
Software definieren, dass Coil 15 == GPIO 13 oder ähnlich?
#2206765
Lesenswert?
• ▲
▼
Hallo halli,

Sorry wenn ich mich kurz einmische.
Einen Temperatursensor als coil einlesen wird so nicht gehen.

Da gibt es 2 Probleme
1. Coils werden immer vom Master beschrieben nicht gelesen.
2. Coils sind Bitweise zu adressieren

Da ich auch fürchte das Thema ist hier OT melde Dich bitte mal per PM
Ich denke ich kann Dir relativ einfach helfen.

Grüße
Frank

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.