Modbus Zähler auslesen

Hallo guten Morgen,
ich habe noch mal Fragen zu den Adressen in der Instanz. Hier geht es mir im Moment nur um die Lese- Adressen, dort habe ich beim Zähler z.Bsp
die 1 Eingetragen und ich bekomme ( so nehme ich an) die Spannung einer Phase raus. Wenn ich die drei Einträge kommt eine weitere Phase, nur die dritte bekomme ich irgendwie nicht hin. Gibt es dafür eine Übersicht zu den Adressen? Im Beiblatt des Zähler steht irgendwas von Adresse 1-247 drin.

Hallo,
folgendes Projekt verfolge ich gerade. Ich habe zwei EX-6010, die über TCP/IP verbunden sind. Derzeit sollen die quasi den Modbus zwischen einem Summenzähler und einem Wechselrichter ermöglichen.
Nun möchte ich IPS dazwischen setzen, um später die Werte zu manipulieren, da der WR ein Eigenleben hat, welches mir nicht gefällt.
Ich hatte zunächst überlegt, das über die Kommunikation zwischen dem WR und den Pylontech Batterien zu machen. Aber da habe ich nur eine direkte Verbindung via RS485. Ich könnte aber durch vorgaukeln falscher Leistungs-Istwerte den WR gezielt beeinflussen, was ich derzeit über einen zweiten Dummy-Zähler realisiert habe.
Ich habe mich zwar etwas eingelesen, aber mangels Modbus-Kenntnisse und Anfänger in Sachen IPS bitte ich um Hinweise, wie ich das am Besten machen könnte und wo das ggf. auch nachzulesen ist. Am Besten wäre natürlich eine Beispielkonfiguration.

Gruß
Marc

Wenn Dir jemand helfen soll mußt Du schon die WR- und Batterie Kontroller Modbus PDF’s besorgen. Nur dann könnte man sehen wie was funktionieren kann.
Das Gateway wird nur Umsetzen schätze ich.
Gruß Helmut

Für den Zähler habe ich etwas, für den WR leider nichts. Ich war aber der Meinung, dass der Zähler einfach seine Werte zyklisch rausgibt und der WR nur mithört.
Ich war jetzt auch mehr darauf hinaus, was ich im IPS alles voreinstellen muss.
Gibt es eigentlich so eine Art „Sniffer“, der einfach nur mit liest?

200403090149_0001.pdf (583 KB)

Anbei das PDF für den Zähler. Vielleicht lässt sich daraus schon erkennen, was ich als nächstes tun müsste.
Danke im Vorraus für eine eventuelle Unterstützung.
Gruß
Marc

Hast Du 'ne Schnittstelle zu IP-Symcon?

Die müßte testweise auf 9600 Bd oder 4800 Baud gestellt werden.

Dann einfach mal auf Modbus-Adresse Hex „D“ = Dezimal 13 eine Byteadresse lesen lassen

Modbus Instance , Einheit Byte, Holdingregister auslesen ,Ardesse lesen 13, nicht schreiben

Untergeordnete Instance Serialport so Du hast.
Schau mal ob da was kommt.
Gruß Helmut

Ich habe noch Screenshots von den Einstellungen der Konverter, bevor ich da jetzt lange sinnlos rumprobiere.
Ich denke, dass 4800 Baud richtig sind.

Was meinst du mit Schnittstelle? IPS läuft als Docker auf einer Syno.

Sensor.jpeg

WR.jpeg

Ich habe jetzt drei Instanzen:
Modbus Device
Modbus Gateway
und
Serial Port
Bei letzterem kann ich nur den Port und die Schnittstellen Optionen einstellen. Nicht aber die Modbusadresse.

Verstehe ich es richtig Du hast gar keine Verbindung/Zugriff von IP-Symcon auf den RS485 Bus?

Du hast vom Wechselrichter von RS485 eine TCP Wandlung und dann wieder von TCP auf RS485 zum Batteriemanager.

Und IP-Symcon ist nicht beteiligt.

Wenn Du das dann über IP-Symcon steuern willst, dann müßte der Wechselrichter und der Batteriemanager an IP-Symcon.

Die direkte Kommunikation der beiden Geräte wäre dann aufgehoben und Scripte müßten dann die Steuerung übernehmen, sowas erlese ich hier.
Gruß Helmut
Und die Modbusadresse ist im Modbus Gateway einstellbar.

Hallo Helmut,

exakt so ist es. Das LAN ist derzeit nur die Verbindung zwischen den beiden Geräten und die EX-6010 sind die Konverter RS485/LAN.
Da hier ein User ähnliche Geräte im Einsatz hat, kam mir die Idee die Daten mit IPS einzulesen, manipulieren (Leistungswerte) und die dann weiterzureichen.
Der Hintergrund ist, dass der WR sich nicht einstellen lässt. Ich muss ihn quasi über falsche Leistungswerte des Zählers zwingen runter zu regeln. Sonst würde er bis zum eingestellten min die Batterien leersaugen und dann abschalten. Dann hätte ich aber keine Notreserve mehr bei Spannungsausfall. Derzeit habe ich das über einen zweiten Zähler gelöst, der dann im Leistungskreis invertiert beschaltet ist. Diese Lösung gefällt mir aber nicht.
Der WR ist ein Dowell iPower 3000. Da gibt es im Netz aber keine Unterlagen und der Hersteller antwortet mir nicht. Das einzige ist eine rudimentäre Modbus-Beschreibung, die aber nicht zur Anbindung des Zählers passt.

Dowell iPower.pdf (487 KB)

Das wird 'ne Spielwiese für Dich werden, alles per Script zu steuern. Das wird spannend, wenn Du wenig PHP Kenntnisse hast :wink:

Du könntest mal versuchen ein Client Socket mit der Adresse 192.168.1.22 bzw 192.168.1.121 Port 100 zu erstellen und im Debug Fenster mal schauen was da so ankommt.
Gruß Helmut

Da meldet sich nur im Meldungsfenster der TimerPool mit Zeitüberschreitung.
Muss da evtl. auch am Modbus Device eingestellt werden? Da springt der nämlich hin, wenn ich auf die Meldung einen Doppelklick mache.

!21 oder 122 was hast Du versucht? Teste mal beide, mit je einen Client Server Port 100, Subnet Maske zu Deinem IPsymcon System passt?

Moin,
nur mal als Hinweis: ich habe in unserem Bürogebäude eine Modbus/TCP Anbindung an die Heizung. Die Heizung lässt nur den Zugriff von einem Client zu, ein zweiter Zugriff (wie auch hier gewünscht) zum testen ist nicht möglich / wird mit Fehlermeldung verweigert. Mal prüfen … :wink:

Grüße, Uwe

Das heißt, ich müsste dann auch die Destination IP auf die Adresse von IPS setzen, oder? Siehe Screenshots im Post #27.

Ein zweiter Zugriff ist ja nicht nötig, wenn ich die Protokolle in IPS durchreiche.

Ich habe da gar nicht großartig die Details gelesen - jetzt, ja … wenn der Client von IPS nicht Ziel ist, kommt da natürlich nichts.
Ganz so „trivial“ ist das „durchreichen“ der Werte dann leider nicht, aber das hatte Helmut ja auch schon angemerkt.

Grüße, Uwe

Zum Testen wird es ev reichen wenn Du jeweils die Gegenseite mal von der Spannungsversorgung abklemmst, also sein Gegenpart (TCP auf RS485 Wandler) nicht mehr arbeitet.
Wenn Du dann eine Verbindung hast könntest Du mal mit einer Modbus Instance einen Versuch auf Adressen lesen schreiben starten.
Ev. mal die IP-Adresse von IP-Symcon eintragen, wie Uwe schon anmerkt.
Ich persönlich würde meine Chine RS485 Wandler rausholen und die Versuche damit starten, sodass ich diese bestehende Verbindung nicht kaputt spiele :wink:

Danke bis hierhin, dann werde ich das heute Abend mal probieren. Jetzt bin ich ja noch in der Strom-Ernte. Da will ich nicht eingreifen.
Aber wenn das nicht so trivial ist, sollte ich vielleicht doch besser die finger davon lassen.
Ich werde berichten.

Mal für mein Verständnis @Helmut. zum „weiterleiten“ bräuchte es ja eigentlich einen Master, der die Daten vom Client wieder raus schubst. Kann Symcon das überhaupt? Ich kenne nur den Client … - und habe bislang auch nur lesen (nicht schreiben) genutzt.

Grüße, Uwe

Hallo Uwe,
ich stelle mir das so vor:
IPS fragt die Batteriespannung bzw. andere Zustände.

Der User schreibt darauf hin Daten in den WR bzw Solarkontroller, worauf Der dann die Leistung verteilt.
Lesen und schreiben kann IP-Symcon ja.

Aber Das entspringt gerade meinem Hirn :wink:
Bleib Gesund Gruß Helmut