Seite 1 von 3

Modbus - kompatibel??

Verfasst: 19. Mär 2023 10:04
von mad-mike
Moin zusammen.

Ich habe für mein Wechselrichter ein Modbus Gateway bestellt. Dieser kann 232 auf TCP/IP oder 485 /422 auf TCP/IP.

Wenn ich das richtig gelesen habe brauche ich 485 auf TCP/IP. Anschluss.

Jetzt meine Frage: :?:
Ich habe gesehen das es auch eine Relais Boards gibt. Kann ich die an den selben BUS Hängen? Oder wird dann der Wechselrichter streiken?

Es gibt da ja Addr. die ich wohl zuweisen müsste. Aber auch irgendwelche Bundraten oder so. :roll:

Ich habe diese ganze Struktur des Modbus noch nicht verstanden.

Kann mir jemand ein Link senden, oder mal einfach was dazu sagen?? Bei google komme ich immer auf Industrielösungen und so.

:arrow:
Ich stelle wir das so vor, das ich alle Teilnehmer in reihenschaltung an den 485 Bus hängen kann, mit dem Gateway dann ansprechen kann.

Ist das richtig? oder brauche ich dann für die Relaisbords wieder ein eigenes Gateway??

Re: Modbus - kompatibel??

Verfasst: 19. Mär 2023 13:57
von udo1toni
mad-mike hat geschrieben: 19. Mär 2023 10:04 Bei google komme ich immer auf Industrielösungen und so.
Was daran liegen könnte, dass Modbus vor allem in der Industrie verwendet wird :lol: genauso wie RS-485

Ich denke, es kommt einfach darauf an, was das Gateway unterstützt. Ist es vorgesehen, das Relais-Board gemeinsam mit dem Gateway und dem Wechselrichter im Verbund zu betreiben, dann wird openHAB Dir da keinen Strich durch die Rechnung machen. openHAB ist nur ein passiver Busteilnehmer (im Sinne, dass openHAB selbst kein Busmaster ist - wenn ich es richtig im Kopf habe...)

Re: Modbus - kompatibel??

Verfasst: 19. Mär 2023 17:58
von mad-mike
Also entnehme ich deiner Antwort: Modbus und 485 ist nicht das gleiche?? :oops:

Okay, gut. :oops: So hatte ich die antworten bei google gedeutet. Modbus ist immer von 485 die rede und umgedreht.


Also der Wechselrichter hat 485 und das Relaisbord auch.

Also Abwarten bis die Komponenten da sind, und dann mal prüfen. :!:
Ist es vorgesehen, das Relais-Board gemeinsam mit dem Gateway und dem Wechselrichter im Verbund zu betreiben, dann wird openHAB Dir da keinen Strich durch die Rechnung machen.
Joar, so dachte ich ganz einfach. Einfach zwischen hängen und man hat wieder ein paar ""Ausgänge"" die man für irgendwas benutzen könnte... Beleuchtung ist immer ein Thema, (Muss nichts mit der PV zu tun haben).

Wie gesagt, ich warte ab bis das zeug da ist. 8-)

Re: Modbus - kompatibel??

Verfasst: 19. Mär 2023 22:17
von udo1toni
Nein, RS-485 beschreibt die elektrische Schnittstelle, also das gleiche wie RS-232 (nicht das Selbe! nur die Art der Schnittstelle ist hier sehr ähnlich, wobei RS-232 nur Punkt-zu-Punkt nutzt, RS-485 erlaubt aber einen Bus mit mehreren Teilnehmern. RS-485 muss mit Terminalwiderständen abgeschlossen werden, also am ersten und am letzten Gerät. Es kann auch gut sein, dass Geräte mit RS-485 diese Terminalwiderstände bereits eingebaut haben (die können dann per Jumper aktiviert werden).

MODBUS ist ein Protokoll, welches vor allem über RS-485, aber eben auch über IP genutzt werden kann.

Re: Modbus - kompatibel??

Verfasst: 28. Mär 2023 21:19
von mad-mike
So nach guten 3 Tagen habe ich es nun geschafft, ein paar Werte über mbpoll abzufragen.

Ich habe nun Versucht das Modbus Binding einzusetzen, oder liege ich damit falsch?

Alle versuche über das Binding, sind gescheitert.

Über die Konsole kann ich über den Befehl:

Code: Alles auswählen

mbpoll -a 1 -t 3 -c 125   192.168.178.198
eine Abfrage starten.

Eine ausgabe sieht dann so aus:

Code: Alles auswählen

mbpoll -a 1 -t 3 -c 125 -1  192.168.178.198
mbpoll 1.0-0 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type 'mbpoll -w' for details.

Protocol configuration: Modbus TCP
Slave configuration...: address = [1]
                        start reference = 1, count = 125
Communication.........: 192.168.178.198, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 16-bit register, input register table

-- Polling slave 1...
[1]: 	0
[2]: 	0
[3]: 	0
[4]: 	0
[5]: 	0
[6]: 	0
[7]: 	0
[8]: 	0
[9]: 	0
[10]: 	0
[11]: 	0
[12]: 	0
[13]: 	16896
[14]: 	2496
[15]: 	448
[16]: 	2220
[17]: 	250
[18]: 	0
[19]: 	0
[20]: 	0
[21]: 	0
[22]: 	0
[23]: 	0
[24]: 	0
[25]: 	0
[26]: 	0
[27]: 	0
[28]: 	0
[29]: 	0
[30]: 	0
[31]: 	0
[32]: 	0
[33]: 	0
[34]: 	0
[35]: 	0
[36]: 	0
[37]: 	0
[38]: 	5000
[39]: 	2305
[40]: 	13
[41]: 	0
[42]: 	0
[43]: 	0
[44]: 	0
[45]: 	0
[46]: 	0
[47]: 	0
[48]: 	0
[49]: 	0
[50]: 	0
[51]: 	0
[52]: 	0
[53]: 	0
[54]: 	0
[55]: 	0
[56]: 	0
[57]: 	0
[58]: 	5
[59]: 	43944 (-21592)
[60]: 	0
[61]: 	0
[62]: 	0
[63]: 	0
[64]: 	0
[65]: 	0
[66]: 	0
[67]: 	0
[68]: 	0
[69]: 	0
[70]: 	0
[71]: 	0
[72]: 	0
[73]: 	0
[74]: 	0
[75]: 	0
[76]: 	0
[77]: 	0
[78]: 	0
[79]: 	0
[80]: 	0
[81]: 	0
[82]: 	0
[83]: 	0
[84]: 	0
[85]: 	0
[86]: 	0
[87]: 	0
[88]: 	0
[89]: 	0
[90]: 	0
[91]: 	0
[92]: 	0
[93]: 	0
[94]: 	198
[95]: 	193
[96]: 	189
[97]: 	0
[98]: 	116
[99]: 	67
[100]: 	0
[101]: 	0
[102]: 	0
[103]: 	0
[104]: 	0
[105]: 	0
[106]: 	0
[107]: 	0
[108]: 	0
[109]: 	0
[110]: 	0
[111]: 	0
[112]: 	0
[113]: 	0
[114]: 	0
[115]: 	0
[116]: 	0
[117]: 	0
[118]: 	7
[119]: 	0
[120]: 	1
[121]: 	0
[122]: 	0
[123]: 	0
[124]: 	0
[125]: 	0

Kurze info:
Die Anlage ist noch nicht komplett fertig. Deswegen sind wohl auch einige viele "0" vorhanden. Ein Akku und die PV Platten sollten dann noch mal mit auftauchen...


Jedenfall, wie bekomme ich nun die Werte ins openHAB?

:?: :?:

jemand eine idee?

Gruss

Re: Modbus - kompatibel??

Verfasst: 29. Mär 2023 00:16
von udo1toni
Ich nutze selbst kein Modbus, aber das Prinzip sollte das gleiche sein.
Etwas tricky ist, dass es bei Modbus zwei Bridges gibt. Die erste Bridge stellt die Verbindung zum Bus her (tcp oder seriell), kommen also die IP und der Port rein.
Die zweite Bridge ist der ersten Bridge zugeordnet und hat die Aufgabe zu pollen. Das dürfte nach meinem Verständnis der eigentliche Modbus Client sein (Das Gerät ist der Modbus Server und somit der "Slave", der auf Anforderung Dinge erledigen und Auskunft erteilen muss, der Cleint ist der Master, der Sagt, was Sache ist).
Unterhalb des Pollers musst Du dann die Things anlegen, in welchen die Adressbereiche auf Channel umgesetzt werden.

Die Beispiele in der Doku sind auch eher verwirrend als hilfreich, und es wird nicht besser dadurch, dass man gar keine Channel definiert...

Re: Modbus - kompatibel??

Verfasst: 29. Mär 2023 13:44
von oh73
ich nutze den Modbus vom SMA Wechselrichter Tripower 8.0

die Bridges und Things sind da aufgebaut wie Udo schon schreibt (zwei Bridges).

vielleicht solltest du dir das Beispiel mal ansehen.

hab das von https://github.com/alaub81/openhab_modbus_sma_inverter runter geladen.

Re: Modbus - kompatibel??

Verfasst: 29. Mär 2023 22:39
von mad-mike
Danke euch. ;)

Es hat etwas gedauert bis es klick gemacht hat :roll: , aber nun kommen daten rein. :D

Bridge 1 ist die Verbindung zum Gateway.
Bridge 2 ist das Polling in einem Addr bereich von - bis ... //max 125

Und dann musste ich ein Thing ""Modbus Data"" erstellen welches einen Datenpunkt innerhalb der 125 daten punkte abfragt.

Hier gibts dann Channel:

""Value as Number""

Dort finde ich dann den aktuellen wert """Haus verbrauch""" Wieder...
Jetzt habe ich also nach 20 Stunden versuchen eine Modbus Verbindung Online und sehe den Aktuellen Verbrauch. :D

Der Wert müsste jetzt noch /10 genommen werden.

Muss ich das über eine Rule erledigen, oder kann man eine solche Korrektur innerhalb des Item machen??

Zu Info:

den Wert möchte ich später dann noch für eine Rule verwenden. Entweder muss ich dann berücksichtigen, das dort der Wert auch /10 genommen wird. oder dies wird irgendwie im Item erledigt??

Re: Modbus - kompatibel??

Verfasst: 30. Mär 2023 00:23
von udo1toni
Schau genau nach, was Du für Felder beim Modbus Thing hast (eigentlich beim Channel...) Falls es die Möglichkeit gibt, die Unit zu setzen, könntest Du z.B. statt W für Watt dW (deziWatt, also 1 = ein zehntel Watt) setzen. Diese Größe ist eher unüblich :) aber zulässig. Die Anzeige kann dann dennoch in Watt erfolgen. Andersrum wäre es daW, (DekaWatt, also 1 = 10 W)
Und natürlich gibt es (nahezu) beliebige andere Multiplikatoren,
siehe https://www.openhab.org/docs/concepts/u ... enting-uom

Re: Modbus - kompatibel??

Verfasst: 30. Mär 2023 08:19
von oh73
Der Wert müsste jetzt noch /10 genommen werden.

Muss ich das über eine Rule erledigen, oder kann man eine solche Korrektur innerhalb des Item machen??
beim SMA wird das im Things gemacht.

Beispiel,

Code: Alles auswählen

Thing data GVoltageL1 "SMA Inverter 2 Voltage L1" [ readStart="30783", readValueType="int32", readTransform="JS(smalimit100.js)" ]