NEWS
Modbus adapter
-
Könnt ich schon; aber ob die dann mit dem einen USB-Adapter und dem einen Bus-Kabel so richtig klar kommen?? :roll:
-
Also wenn du das über mbusd von rs485 zu TCP machst kannst du jeder Instanz eine andere Id geben.und die einzeln abfragen.
Hab so 3 slaves angesprochen. War bei mir aber instabil also mbusd ist ganz gerne Mal ausgestiegen.
Und jede Instanz will ca 30mb RAM.
Bei mir werden es 20-30 slaves wenn alles aus gebaut ist. Werde dann wohl 2-3 Pi nehmen. Dann ist auch nicht alles platt wenn Mal einer ausfällt.
Gesendet von meinem Pixel mit Tapatalk
-
Leider kann ich das zZ noch nicht testen, da bei mir der modbus Adapter nicht läuft.
Jedoch habe ich mir ein paar Gedanken dazu gemacht.
Installieren von mehreren Instanzen des Adapters gegen die gleiche Schnittstelle macht womöglich Probleme.
Möglicherweise ist das (mit @Bluefox 's Hilfe) auch nicht nötig. Der Adapter hat ev. eine kleine Designschwäche. -> :idea:
Da die Client-Adresse mit der Connection nichts zu tun hat, sondern im modbus-Paket zur Adressierung verwendet wird, könnte mann diesen Parameter auch bei jedem einzelnen Datenpunkt einstellen. Somit wäre es möglich so viele Clients anzusprechen bis der Bus platzt (mit nur einer Instanz). Eine weitere Instanz wäre dann nur Nötig, wenn ein zusätzlicher USB-Adapter von Nöten wäre.
-
Endlich noch jemand der den Wunsch äußert das die ID bei den Registern jeweils festgelegt wird.
Ich bin nicht allein….[emoji23]
Gesendet von meinem Pixel mit Tapatalk
-
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??
-
Hast du ihn mit nem serial USB Adapter laufen ?
Gesendet von meinem Pixel mit Tapatalk
-
Jepp. so ein ^noname?^Ding vom blauen C (CH).
-
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