NEWS
Modbus RS485 Tutorial/Einstieg gesucht
-
Hi, ich komme leider nicht weiter. Ich habe wie gesagt den WINGONEER CH340E (5,99 bei Amazon) und finde dazu keine Anleitung im Netz.
pi@raspberrypi:~ $ ls -l /dev/serial/by-id insgesamt 0 lrwxrwxrwx 1 root root 13 19. Mai 12:51 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1
Aber egal was ich bei den Verbindungsparametern einstelle, der letzte Punkt (Verbunden mit Gerät oder Dienst) bleibt rot.
Bei Port habe ich /dev/ttyUSB1 eingetragen, aber was ich als Baudrate und Geräte ID eintragen soll ist mir nicht klar.
Alternaativ: Welchen Adapter verwendit Ihr bei dem die Parameter bekannt sind?
-
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Hi
Ich habe eine Stromzähler DDM1850Die Suche ergibt eine Makita ....
@joergh sagte in Modbus RS485 Tutorial/Einstieg gesucht:
@wolfgangfb Hast Du eine Doku zu dem Stromzähler? Die bräuchten wir schon...???
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
@radi
Hi, ich komme leider nicht weiter.siehe oben ...
aber was ich als Baudrate und Geräte ID eintragen soll ist mir nicht klar.
siehe oben ..
Wir brauchen schon die richtig Typenbezeichnung von deinem Stromzähler , bzw. eine Anleitung wo die Modbus-Register dazu drin stehen , inkl. der Bautraten , sonst stocherst du nur rumm ..
-
OK, meine Augen sind nicht mehr so gut. Der Zähler heißt DDM18SD
https://www.re-innovation.co.uk/docs/talking-to-a-ddm18sd-energy-meter/Alternativ liegt hier noch ein SINOTIMER DDS548MR zu dem ich aber auch keine Anleitung im Netz finde.
Aber: Ich bekomme ja schon den USB Adapter nicht eingebunden.
Ist die Baudrate vom Zähler oder vom USB Adapter abhängig? -
@wolfgangfb
Für den DDM18SD habe ich auch die Register gefunden:
-
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Aber: Ich bekomme ja schon den USB Adapter nicht eingebunden.
Aber egal was ich bei den Verbindungsparametern einstelle, der letzte Punkt (Verbunden mit Gerät oder Dienst) bleibt rot.
Der wird erst Grün , wenn die Verbindung ( steht ) / auch richtig das Register abgefragt wird.
zu dem ich aber auch keine Anleitung im Netz finde.
Sorry ,dabei kann ich dir nicht helfen .
-
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
habe ich auch die Register gefunden:
Ich mache es immer so :
https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28
teste erst mit einem Windows Programm .... dann mit ioBroker .
-
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
lrwxrwxrwx 1 root root 13 19. Mai 12:51 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1
Aber egal was ich bei den Verbindungsparametern einstelle, der letzte Punkt (Verbunden mit Gerät oder Dienst) bleibt rot. Bei Port habe ich /dev/ttyUSB1 eingetragen, aber was ich als Baudrate und Geräte ID eintragen soll ist mir nicht klar. Alternaativ: Welchen Adapter verwendit Ihr bei dem die Parameter bekannt sind?
Wenn er schonmal zwei grüne anzeigt, heisst dass, dass er sich mit dem Zähler verbindet. Der letzte wird erst grün, wenn eine erfolgreiche Abfrage eines oder mehrerer Register stattgefunden hat. Also liegt es nun vermutlich an den Registereinstellungen. Was sagt denn Dein Logfile im Debug Modus?
-
@joergh sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Wenn er schonmal zwei grüne anzeigt, heisst dass, dass er sich mit dem Zähler verbindet.
Der Adapter zeigt auch zwei mal grün wenn überhaupt kein USB Stick mit dem Raspi verbunden ist. Von daher würde ich da keine Rückschlüsse ziehen.
Wie würden denn die Einstellungen aussehen wenn ich z.B. die Leistung abfragen will? Wo trage ich das ein? Diskrete Eingänge? Ausgänge wohl kaum. Eingangsregister oder Holdingregister? Low-Byte ist 0x1a, High Byte ist 0. Ist die Adresse dann 6656 (0x1a00) oder 26 (0x1a) oder etwas ganz anderes? -
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
@joergh sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Wenn er schonmal zwei grüne anzeigt, heisst dass, dass er sich mit dem Zähler verbindet.
Der Adapter zeigt auch zwei mal grün wenn überhaupt kein USB Stick mit dem Raspi verbunden ist. Von daher würde ich da keine Rückschlüsse ziehen.
Wie würden denn die Einstellungen aussehen wenn ich z.B. die Leistung abfragen will? Wo trage ich das ein? Diskrete Eingänge? Ausgänge wohl kaum. Eingangsregister oder Holdingregister? Low-Byte ist 0x1a, High Byte ist 0. Ist die Adresse dann 6656 (0x1a00) oder 26 (0x1a) oder etwas ganz anderes?Hmmm, ok, ist mir auch neu. Bei TCP muss er eine Verbindung herstellen können, kann an der seriellen Emulation liegen...zur seriellen Schnittstelle hat er die Verbindung ja schon aufbauen können...
Die Einstellungen stehen in der Beschreibung die Du oben gepostet hast. Da die Qualität ziemlich schlecht ist, kann ich es kaum lesen. Was ich sehen kann ist, dass er zwei Arten von Registern hat, Data (Holding) Register (0x04) - read only und Parameter Register (0x03) - read & write.
Wenn die Leistung in Data Register 0x001a ist, dann ist das Register 26. Das musst Du dann eintragen bei Holding Register vorne als Adresse des Registers, dann die restlichen Paramter dahinter korrekt setzen und "Abfrage" nicht vergessen...Aliases muss aus sein.Sieht dann so aus (bei mir sind aber alle Adressen ab 40000):
-
Da die Qualität ziemlich schlecht ist
Müsste das sein , habe es mal für Ihn gegoogelt .
https://de.aliexpress.com/item/33003316323.htmlNaja .... , Made in CE
-
@glasfaser sagte in Modbus RS485 Tutorial/Einstieg gesucht:
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
habe ich auch die Register gefunden:
Ich mache es immer so :
https://forum.iobroker.net/topic/51804/erledigt-modbusfrage-mit-waveshare-rs485-to-eth-b/28
teste erst mit einem Windows Programm .... dann mit ioBroker .
Ich habe mir dieses Programm besorgt. In der Gerätesteuerung habe ich gefunden, dass Com3 ein USB Device ist. Das habe ich eingetragen und auf Connect gedrückt, es kam auch keine Fehlermeldung.
Wenn ich den Stromzähler startet kommt im Display zuerst "AD 0013" "b 9600" "C 1000", ich vermute dass 13 eine Adresse ist, b9600 eine Baudrate, was C1000 ist weiß ich nicht.
In dem Programm selbst kommt aber immer die Medlung "Modbus time out"
Grundsätzliche Frage: Ich habe den Ausgang A des Stromzählers mit Pin A des RS485 Adapters verbunden und B mit B. Ist das richtig? Oder muss wie bei RS232 RX und TX vertauscht werden?
Was schließe ich an "gnd" an?
n der Doku des Stromzählers steht: Serielle Parameter 9600 Even 1, stelle ich das auch im Modbus Simulator under "Modbus RTU" ein? -
@wolfgangfb
Ich antworte mir mal selbst.
Ich bin immer noch nicht weiter und würde einfach gerne wissen, ob bei Radzio Modbus Master Simulator die Meldung "Modbus message timeout" daher kommt, das der Stick oder die seriellen Parameter nicht stimmen oder ob es auch sein kann, dass der Stick zwar erkannt wird aber nur die Adresse nicht gelesen werden (weil z.B. falsch eingegeben) -
@wolfgangfb Du hast A mit A und B mit B verbunden?
Kreuze mal die Leitungen.
Hintergrund: Die Zählerindustrie (zumindest die Europäische) interpretiert die etwas umständliche (bzw. sehr abstrahierte) RS485 Spec sehr streng. Die Halbleiterindustrie in sich geschlossen gleich - aber gerade anders herum. Und die meisten Stickhersteller schließen sich der Halbleiterindustrie an, weil sie sich am Datenblatt orientieren. -
Versuche erst einmal die communication wie im Beispiel oben hinzubekommen.
Also mit Windows PC und Realterm oder Hterm. So brauchst du erst einmal nur die CRC berechnen.
Dann ergibt dies wie aus dem Beispiel oben,
Baud 9600
Parity Even
Stopbit 1
Hardwarecontroll RTS/CTS
Comport des Sticks
Die Adresse ist 13 dec in hex ist 0D
Calculator CRC-16 Modbus:
0D0400000002 (Processed data x0d 0x04 0x00 0x00 0x00 0x02 )
Ergibt 0x0771
Gedreht 0x71 0x07
Gesendet per Realterm wird dann :
0x0d 0x04 0x00 0x00 0x00 0x02 0x71 0x07In den Windows Einstellungen ist zu prüfen ob der Stick und der Treiber erkannt wurde.
Nachtrag, in der Beschreibung steht :
Die codierung format, parität (auch parität) und daten übertragung modus (acht daten bits, one stop bit) erfüllen die MODBUS-RTU standard anforderungen.
Vermute die 02 ist das Low Byte Check Digit, dann wäre das Baud 9600 8n1. -
Hallo
Ich hab mir auch so ein Ding zugelegt. Hatte anfänglich auch Probleme damit. Wenn man das Ding unter Spannung nimmt, erschien bei mir Ad070 und das ist die Adresse. Das Problem warum bei mir keine Kommunikation zustande gekommen ist war, das die Parität auf "Even" eingestellt war. Hab dann mit dem Programm "Modbus Poll" die Änderungen vorgenommen Parität auf "nein" (zu verschickender Wert 2). Jetzt die Hexwerte der Adressen umwandeln und plus 1. Siehe da ich kann das Gerät auslesen. -
@ichbinblue2010 sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Ich hab mir auch so ein Ding zugelegt.
was bitte?
@ichbinblue2010 sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Wenn man das Ding unter Spannung nimmt, erschien bei mir Ad070 und das ist die Adresse.
wo erscheint das?
@ichbinblue2010 sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Siehe da ich kann das Gerät auslesen.
und was können wir dir helfen?
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@ralla66
Ich greife das Thema nochmal auf.
Ich habe mir jetzt ein SDM230 Energiemeßgerät besorgt und damit zumindest erste Erfolge erzielt.
Ich habe mir auf Github das Programm QModMaster besorgt und nacchdem ich einen 100 Ohm Widerstand in die Leitung geschaltet habe (bin davor davon ausgegangen, dass bei 40 cm Leitungslänge kein Widerstnd notwendig ist) hat sich der Stromzähler mit dem Programm verbuden (Anzeige im Gerätedisplay) und ich konnte einen scan der "Holding Registers" machen.
Jetzt die Frage: Wie geht es weiter? Im Modbus Adapter muss ich ja die Register eintragen. Wie komme ich aus den gescannten Holding Registern auf die Registernummern? Ich konnte auch keinerlei Änderung der Register erkennen, auch wenn eine Last zugeschaltet worder ist oder nicht.Ich habe dann nochal das DDM18SD angeschlossen, als Adresse habe ich 13 und 19 (evtl. ist die Anzeige 013 ja hexadezimal) eingetragen, aber in QModMaster kommt immer nur ein Timeout.
-
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
auf die Registernummern
di stehen in der Bedienungsanleitung des SDM
-
@homoran sagte in Modbus RS485 Tutorial/Einstieg gesucht:
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
auf die Registernummern
di stehen in der Bedienungsanleitung des SDM
Dummerweise stehen die da nicht. Da steht nur, wie man die Adresse, Parität etc. ändern kann, mehr leider nicht.
-
@wolfgangfb sagte in Modbus RS485 Tutorial/Einstieg gesucht:
Dummerweise stehen die da nicht.
doch!
https://stromzähler.eu/media/pdf/0e/ca/1d/SDM230-Modbus.pdf