NEWS
Modbus adapter
-
OK welchen Chip hast da drauf
Gesendet von meinem Pixel mit Tapatalk
-
who knows.
Aber das ist aus dem Log:```
modbus.0 2017-02-01 01:44:25.958 info List of port: [{"comName":"/dev/ttyAMA0"},{"comName":"/dev/ttyUSB0","manufacturer":"FTDI","serialNumber":"FTDI_FT232R_USB_UART_A603O55Y","pnpId":"usb-FTDI_FT232R_USB_UART_A603O55Y-if00-port0","vendor[/code]
Nachtrag: Habe noch folgenden Hinweis in meinen Unterlagen gefunden: Conrad Y-1081->RS485Zudem hatte ich davor mit raspicomm versucht und bin gescheitert. - Das war aber noch mit dem Python Crawler
-
So: Modbus Adapter schein nun rudimentär zu laufen. Muss dann morgen etwas genauer schauen wieso die Register nicht gleich adressiert werden müssen wie im Handbuch vom Gerät?? `
Musst mal schauen ob das eventuell etwas mit dem Haken "verwende Aliase" zu tun hat.
Kann gerade nicht genau sagen wie der heißt da kein Zugriff auf den Adapter.
Gesendet von iPhone mit Tapatalk Pro
-
Das Alias-Dingens muss bei mir raus. Das zerlegt die Adressen. Hab aber noch nicht gecheckt, wie?!
-
Ok.
Dann meinst z.b. "Holding Register" usw!?
Das habe ich bei meinem Zaehler auch.
Hatte da mal irgendwo in den unweiten des WWW ne Erklärung zu gefunden warum das manchmal "anders" abgefragt werden muss.
Aber ich weiß nicht mehr wo das war [emoji20]
Gesendet von iPhone mit Tapatalk Pro
-
Das ist sowiso -pain in the ass-
Mein Schneider Zähler hat so ein komisches Big-Endian Problem und will zudem die meisten Angaben in Float-Registern.
Zu allem Übel haut das aber meine Adressen über den Haufen. Je nach Werkzeug (Programm) muss ich die Adressen schieben, damit die Werte richtig kommen.
Z.B. steht in meinem Handbuch zum Thema Spannung auslesen: Register:3036 Action:R Länge:2 Typ:Float32 Einheit:V Beschreibung:Spannung L–N Mittel.
Wenn ich nun das mit MinimalModbus(Python) lesen möchte, muss ich die Adresse 3036 verwenden. Jedoch bei bei PyModbus oder ioBroker.Modbus die Adresse 3035.
Ich habe dann einfach mal von 3030..3040 eingerichtet und geschaut wo Werte um 235 zurückkommen -> Glück gehabt bei 3035
-
Bei mir haben sich die Fehler Meldung stark reduziert.
Aber sobald ich mit meinem Slave verbinden will gibt es timeouts und dann disconnect allerdings komischerweise von 127.0.0.1.
Mit mbusd läuft es aber.
Zu erst hat er auch keine serial Ports gefunden und das Feld war Grau hinterlegt. Nach dem vierten Mal öffnen ging es dann endlich
Gesendet von meinem Pixel mit Tapatalk
-
Der braucht einen kleinen Moment bis er die Port gescannt hat. Der 127er Fehler habe ich auch noch. Die timeouts und disconnects habe ich aber nur, wenn ich keine gültigen Abfrage-Adressen oder keine Abfrage-Datenpunkte eingetragen habe.
Und natürlich wenn jemand Anderes den Port 'klaut'. Du machst aber deinen mbusd schon aus für die Tests?
-
Hatte mbusd auf nem anderen Rechner nur bei Bedarf aus der Konsole raus gestartet.
Das mit den falschen Adressen kann natürlich sein.
Habe hier mittlerweile 3 arduino angeschlossen und den Überblick verloren.
Bin auch etwas verwirrt wegen den alias muss mich da heute noch Mal ran hängen.
Und den Daten Typ muss ich auch noch Mal klären.
Über mbusd läuft es jetzt auch nicht super stabil.
Entweder ist der Adapter raus geflogen oder mbusd ist abgestürzt
Gesendet von meinem Pixel mit Tapatalk
-
Ich kann zwar nicht viel versprechen, weil ich aktuell davon nichts selbst im Einsatz hab, aber Logs helfen vllt um mal reinzuschauen ob ich was grundsätzliches sehe
-
Habe gerade meinen PC wieder am laufen. Heute Abend gehen ich noch Mal an die arduino s.
Bräuchte nur noch Mal Hilfe bei den Datentyp.
Hab eigentlich immer nur 1 oder 0
Temperaturen mit einer komma stelle
Und Werte von 0-255
Habe Jetzt wieder alles in Holding regs gepackt weil die anderen irgendwie immer noch mehr Probleme gemacht haben.
Hatte auch schon den Abschluss Widerstand in Verdacht aber bei einer buslänge von 30cm und 3 Teilnehmern glaube ich nicht das das das Problem ist
Gesendet von meinem Pixel mit Tapatalk
-
Abschluss widerstand ist wichtig. Ich hatte bei meinen Tests ohne widerstand und ca. 50cm Leitung Länge auch Probleme. Dann widerstände angeklemmt und gut war es.
Gesendet von iPhone mit Tapatalk Pro
-
OK welchen hattest du wie geklemmt
Gesendet von meinem Pixel mit Tapatalk
-
OK welchen hattest du wie geklemmt
Gesendet von meinem Pixel mit Tapatalk `
Bei mir hat ein 120Ohm Widerstand jeweils am Slave und am Master zwischen den BUS Pins geholfen.
Also ohne PullUp/Down Widerstand.
-
OK ich benutze den max485 da sind die pullup/down integriert.
Jetzt muss ich nur noch 2 120er finden.
Gesendet von meinem Pixel mit Tapatalk
-
Die "Leitung" könnte auch noch Probleme machen.
Ich hatte am Anfang ganz einfache 2 adrige litze und die musste ich auch gegen "Telefon" Leitung iysty 2x2x0 6 tauschen.
Gesendet von iPhone mit Tapatalk Pro
-
Ich hab jetzt ja alles noch auf ne Platine gelötet und benutze die Kabelchen vom breadboard.
Habe aber das Gefühl das meine ersten Versuche mit einem arduino auf m breadboard besser liefen wie jetzt mit 3 slaves auf einer lochraster Platine
Gesendet von meinem Pixel mit Tapatalk
-
OK.
Ich habe das nur mit einen Zweirichtungszähler mit Modbus RS485 und einem USB/RS485 Adapter getestet.
10m Kabel dazwischen und Abschlußwiderstände.
-
So hier Mal ein Log von mir.
Denke es ist kein Abschluss Widerstand Fehler
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201702 ... f9e04e.jpg">https://uploads.tapatalk-cdn.com/20170212/0b2beac26eb7a6587e1d684e00f9e04e.jpg</link_text>" />
Was muss ich eigentlich nehmen Little oder big endian
Was mache ich bei Länge rein
Gesendet von meinem Pixel mit Tapatalk~~
-
So hier Mal ein Log von mir.
Denke es ist kein Abschluss Widerstand Fehler
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201702 ... f9e04e.jpg">https://uploads.tapatalk-cdn.com/20170212/0b2beac26eb7a6587e1d684e00f9e04e.jpg</link_text>" />
Was muss ich eigentlich nehmen Little oder big endian
Was mache ich bei Länge rein
Gesendet von meinem Pixel mit Tapatalk~~ ` ~~Auf dem Bild kann man leider den Text nicht erkennen bzw. lesen.
Besser als Text hier einstellen.
Little/Big Endian und Länge hängt von dem Gerät ab welches du auslesen möchtest.
Wenn es dafür eine Modbus Register Beschreibung gibt sollte das daraus hervorgehen.~~