# Modbus Kommunikation



## Anonymous (24 Februar 2005)

Hallo,

ich will Daten von einem Leistungsmessgerät(CarloGavazzi WM2) bekommen.
Das Gerät hat eine RS485 Schnittstelle und verwendet das Modbus oder Jbus Protocol.

Ich habe mir einen RS232/RS485 Converter gekauft um das ganze an den PC anzustöpseln.

So und jetzt sitz ich auf dem Trocknen ich hab keine ahnung wie es jetzt weiter gehen soll 

Vielleicht kann mir ja jemand einen kleinen Anstoss geben.
Danke.

Johannes


----------



## Kurt (24 Februar 2005)

Hallo,

Üblicherweise bekommt man bei  www.modbus.org eine Telgrammbeschreibung. (Server geht aber Jetzt nicht ???)
Von deinem Gerät benötigst du ein Objektverzeichnis - also unter welcher 
Adresse kann was in welchem Format gelesen/geschreiben werden.

Modbus RTU - Kommunikation über Telegramm in Binärformat, also Hexzahlenwurst.
Modbus ASCII - Kommunikation mit ASCII Zeichenwurst.

Für die Simatic bekommst du ein ModbusMaster Bibliothek für die CP's.
Für PC's:
- so gut wie jedes Programmpaket (VISU oder Messtechnik) hat einen Treiber für Modbus seriell ...
- Für Selberprogrammschreiber, es gibt eine Vielzahl von DLL's oder OPC's oder ... für Modbus. Es ist aber auch NULL-Problem für einfache Wert holen/schreiben Operationen das Telegramm selber zusammenzustoppeln.

Zum Spielen und Testen der Kommunikation, gibt es auch fertige Programme.

Viel Spass
kurt


----------



## Anonymous (24 Februar 2005)

Hallo Kurt,

erstmal danke für deine schnelle Antwort.

Also theoretisch ist es möglich mit meinem Aufbau Daten von dem Gerät zu empfangen?

Ich habe mit von http://www.modbustools.com den ModbusPoll heruntergeladen. Leider bekomm ich nur einen Timeout error wenn ich versuche Daten zu lesen kann das daran liegen das ich noch nicht weiß in welcher Adresse was steht oder ist das eher ein Kommunikationsfehler?


----------



## BadTaste (24 Februar 2005)

Timeout sagt das der Slave nicht in der vorgeschriebenen Zeit geantwortet hat, wie steht die Timeout Zeit?

weiter wär zu Prüfen-->
- welche Funktion unterstützt der Slave (meist 3 zum lesen)
- welche Adresse hat der Slave (1?)
- welche Register kannst du abfragen

dann solltest du mal schauen ob vielleicht die beiden Adern vertauscht sind, ich sehe das meistens an den Dioden (wenn vorhanden). 
Der Modbuspoller sollte aber auch eine Möglichkeit haben das Protokoll zu sehen, kannst du dort etwas sehen? 
Fragen sollte er in etwa 
01 --> Slavenummer
03 --> Funktion
00 --> Startregister
00 --> Startregister
00 --> Anzahl Register
10 --> Anzahl Register
CRC ---> Was weiß ich ;-)

Achso wenn du Register abfragst die es nicht gibt, antwortet er meißtens mit einem Fehler aber er antwortet. Ich schätze bei dir liegts an der Hardwareverdrahtung

viel Spaß
Michael


----------



## Anonymous (24 Februar 2005)

Hallo BadTaste,

Das mit dem Timeout hat sich jetzt erledigt nachdem ich etwas an meiner Verkabelung gebastelt habe 
Jetzt bekomm ich einen ByteMissingError das schaut mir danach aus das ich wohl in ner Falschen Adresse nach Daten suche.

Leider ist die Doku. von Gavazzi sehr spärlich also ich hab eigentlich keinerlei Informationen über das Gerät.

Auf meine E-Mail anworten die lieben Italiener leider auch (noch) nicht.
Für ältere Modelle von meinem Gerät gibts tolle "Communication Manuals" mal hoffen das ich sowas für das aktuelle Gerät bekomme.


----------



## Anonymous (28 Februar 2005)

So eeeeeeendlich 

habe am Wochenende endlich die antwort von Gavazzi bekommen und das ganze heute getestet. Es funktioniert 

Danke für eure Hilfe.


Johannes


----------

