TIA S7-1200 Modbus

Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube das mit den 440001 gibt es in der V3 nicht, in Version V4 kann man gegenüber der MB_DATA_ADDR 40001 mit 400001 bis zu 65534 Halteregister lesen, ansonsten sind es ja nur 9998. Denn 40001 + 9998 bleibt dann noch unter 50000. Und das Modbus-Protokoll geht normalerweise immer in 10000 Schritte von Input, Output, Eingangsregister, Halteregister...
Und es können nur 125 Halteregister gelesen werden 1 bis 125, wenn du dann bei 40001 anfängst ist dann bei 40125 Schluss.
Ich fange erst bei 440072 an, danach kommen dann die wichtigen Daten aus dem Wechselrichter.
Aber wenn du nicht weiterkommst kann ich ja mal eine V3 mit meinen Symo verbinden um zu Testen.
lg
Stefan
 
hallo
die Register ab 40001 kann ich mit meiner V3 lesen dazu gebe ich an MB_DATA_ADDR 440001 an
ebeso kann ich die Register ab 40070 lesen
nur das 500 Register geht nicht ,oder muss mann beim 500 Register auch noch eine Zahl voranstellen ZB. als 5500 lesen
 
Hast du schon Mal probiert es mit einem Modusprogramm am PC oder Smartphone auszulesen? Normalerweise gibt es nach meinen Wissens 500 als Register (Word) nicht. Verwende immer 30000 und 40000 zum Datenaustausch, 3 sind Holdingregister 4 Inputregister, 1 und 2 coil Status und Inputs. Keine Ahnung was Fronius da mit 500 hat.
 
Guten Tag Leute,

Folgende Frage habe ich, eventuell kann mir jemand helfen und einen Tipp mitgeben.

Meine S7/1200 läuft seit einiger Zeit sehr gut mit meinem Gen24 und BYD. Nun habe ich eine zweite Anlage gebaut mit einem Symo 3.0-3.S

Im Solar web app konnte ich den WR problemlos hinzufügen und die Leistung, Verbrauch, Ladung BYD wird mir alles addiert und als Gesamtleistung angezeigt. Jetzt spielt aber natürlich meine 1200er verrückt, weil ich die Daten noch nicht rein bekomme.

Nun zur Frage: Der Symo hat von mir die Gerätenummer 02 bekommen - also sollte die MB Unit ID = 2 sein? Die IP Adresse ist den MB Baustein ja total egal. Weil wenn ich die ID Vom Smartmeter oder die ID vom Gen24 eingebe (Die IP Adresse aber vom SYMO im MB Baustein nicht ändere) werden mir die jeweiligen Daten von der jeweiligen MB Unit ID angezeigt.

Was ist jetzt wirklich die richtige MB Unit ID vom SYMO?
Kann/Muss ich den Symo auch irgendwie mit dem Smartmeter (RTU) kommunizieren? Der Smartmeter gibt mir immer noch den Verbraucht vom GEN24 an. Habe ich zb. 300Wh Verbrauch und der SYMO produziert 400Wh, dann habe ich einen Minus Verbrauch von 100Wh. Aber in der App wird der Verbrauch richtig angezeigt...

Wo ist hier mein Denkfehler, was mache ich falsch?

Vielen Dank für euren Input.
1660724543625.png

1660724726710.png
1660724919488.png
 
Was ist jetzt wirklich die richtige MB Unit ID vom SYMO?
Siehe das Handbuch Deines Modbus TCP Partners.
Bei Modbus TCP ist die MB Unit ID üblicherweise 0 oder 255. Manchmal werden mit der Unit ID Submodule oder Spezialfunktionen ausgewählt.
Wenn das Gerät einen Modbus-Gateway-Service zu einem (RS485-)Modbus-Bus (per Modbus RTU) anbietet, dann ist die Unit ID meistens die RS485-Busadresse des Modbus RTU Slaves (1..255) ( 0 ist das Gerät selber)

Wie sind Deine Modbus-Geräte vernetzt?

Harald
 
Siehe das Handbuch Deines Modbus TCP Partners.
Bei Modbus TCP ist die MB Unit ID üblicherweise 0 oder 255. Manchmal werden mit der Unit ID Submodule oder Spezialfunktionen ausgewählt.
Wenn das Gerät einen Modbus-Gateway-Service zu einem (RS485-)Modbus-Bus (per Modbus RTU) anbietet, dann ist die Unit ID meistens die RS485-Busadresse des Modbus RTU Slaves (1..255) ( 0 ist das Gerät selber)

Wie sind Deine Modbus-Geräte vernetzt?

Harald

Servus Harald,

Vielen Dank für deine Antwort.
Der Gen24 ist über RTU zum Smartmeter vernetzt. Der Symo ist NUR im gleichen Netzwerk wie der GEN24 und die S7. Keine BUS Verbindung zum Smartmeter und/oder zum Gen24. in der Fronius App habe ich nur den Datenpunkt vom Symo hinzugefügt.

Meiner Meinung nach müsste ich den Symo ja auch in das BUS Netzwerk mit einbinden. Aber mein PV Monteur meinte, der Smartmeter erkennt den Stromfluss von selbst, ist aber nicht so.
 
Du mußt den Symo ins Modbus Netz vom Smartmeter hängen, wenn der erste WR zum Abregeln oder zur richtigen Anzeige im Fronius Web etc. die Daten braucht. (oder Deine Anzeige)
Die reinen Smartmeterdaten passen natürlich, aber die Produktion nicht.

Aber auch ohne diese Verbindung, solltest Du die Daten vom zweiten WR über seine eigene IP und Unit ID bekommen, falls Du sie nur für die SPS brauchst.
 
Du mußt den Symo ins Modbus Netz vom Smartmeter hängen, wenn der erste WR zum Abregeln oder zur richtigen Anzeige im Fronius Web etc. die Daten braucht. (oder Deine Anzeige)
Die reinen Smartmeterdaten passen natürlich, aber die Produktion nicht.

Aber auch ohne diese Verbindung, solltest Du die Daten vom zweiten WR über seine eigene IP und Unit ID bekommen, falls Du sie nur für die SPS brauchst.
Ich brauche die Daten vom zweiten WR rein für meine SPS. Genau da hackt es. die Ip Adresse ist klar, die Unit ID nicht so ganz. Ich habe soweit rausbekommen, dass die Unit ID eigentlich die WR Geräte Nummer entspricht. Diese habe ich auf 02. Schreibe ich ihm Unit ID = 2 rein, dann bleibt er in diesem Schritt (In meinem Fall Schritt 10) stehen und nichts mehr funktioniert. Jetzt bin ich mir nicht sicher, was jetzt wirklich die Unit ID ist.
Und wieso lest er wenn ich Unit ID 200 (Ist die Adresse von meinem GEN24) aber die IP vom SYMO eingebe die WR Daten vom GEN24?
Wie finde ich die richtige Unit ID raus? Der kleine Schalter auf der Netzwerkkarte steht auf Master übrigens.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du mußt den Symo ins Modbus Netz vom Smartmeter hängen, wenn der erste WR zum Abregeln oder zur richtigen Anzeige im Fronius Web etc. die Daten braucht. (oder Deine Anzeige)
Die reinen Smartmeterdaten passen natürlich, aber die Produktion nicht.

Aber auch ohne diese Verbindung, solltest Du die Daten vom zweiten WR über seine eigene IP und Unit ID bekommen, falls Du sie nur für die SPS brauchst.
Ich möchte ja eigentlich nur die Produktion und den Verbrauch vom SYMO wissen. Aktuell lese ich den Verbrauch vom Smartmeter aus. dieser stimmt aber komischerweise auch nicht mehr. aber in der APP stimmt er schon. Verbrauch am Smartmeter = Tatsächlicher Verbrauch als negativ Zahl + Produktion vom Symo.
 
Wenn Du den zweiten Wechselrichter nicht per Modbus RTU mit dem Smartmeter vernetzt, kannst Du meines Erachtens den zweiten Wechselrichter auf den Grundeinstellungen belassen. Er braucht dann auch keine andere ID. Die andere ID ist nur erforderlich, wenn die interne RTU Vernetzung erfolgt.
Somit kannst Du dann den Wechselrichter mit genau dem gleichen Code abfragen wie Du für den ersten WR verwendest, nur ohne Smartmeter, weil das ja für den zweiten WR nicht exixstiert, und mit seiner eigenen IP.

Die Bezugs- bzw. Einspeiseleistung sollte trotzdem stimmen, da ja das das Smartmeter selbstständig misst, und der WR nur zur Modbus TCP Datenabfrage für das Smartmeter dient.

Das die Werte in der App passen, bestätigt das auch. Eventuell hast Du sonst irgenwo einen Zahlenformat Überschreitung durch die zusätzliche WR Leistung?
 
Wenn Du den zweiten Wechselrichter nicht per Modbus RTU mit dem Smartmeter vernetzt, kannst Du meines Erachtens den zweiten Wechselrichter auf den Grundeinstellungen belassen. Er braucht dann auch keine andere ID. Die andere ID ist nur erforderlich, wenn die interne RTU Vernetzung erfolgt.
Somit kannst Du dann den Wechselrichter mit genau dem gleichen Code abfragen wie Du für den ersten WR verwendest, nur ohne Smartmeter, weil das ja für den zweiten WR nicht exixstiert, und mit seiner eigenen IP.

Die Bezugs- bzw. Einspeiseleistung sollte trotzdem stimmen, da ja das das Smartmeter selbstständig misst, und der WR nur zur Modbus TCP Datenabfrage für das Smartmeter dient.

Das die Werte in der App passen, bestätigt das auch. Eventuell hast Du sonst irgenwo einen Zahlenformat Überschreitung durch die zusätzliche WR Leistung?
Das ist ja das Komische.. Wenn ich die IP Adresse vom zweiten WR verwende und die Unit ID = 1 (Diese hat mein Smartmeter) Dann schreibt er mir 1 zu 1 die Daten vom Smartmeter raus...
wenn mein Verbrauch aktuell 500W hoch ist und ich zeitgleich mit den zweiten WR 700W erzeuge, dann schreibt mein Smartmeter -200W raus. Ich hätte auch erwartet, dass der Verbrauch gleich Verbrauch ist welcher der Smartmeter misst... irgendwo habe ich hier den Hund begraben..
Da der zweite WR Produziert und in den Direktverbrauch rein geht, checkt der Smartmeter es vielleicht nicht? Ich stehe hier voll am Schlauch..
 
Wenn Du den zweiten Wechselrichter nicht per Modbus RTU mit dem Smartmeter vernetzt, kannst Du meines Erachtens den zweiten Wechselrichter auf den Grundeinstellungen belassen. Er braucht dann auch keine andere ID. Die andere ID ist nur erforderlich, wenn die interne RTU Vernetzung erfolgt.
Somit kannst Du dann den Wechselrichter mit genau dem gleichen Code abfragen wie Du für den ersten WR verwendest, nur ohne Smartmeter, weil das ja für den zweiten WR nicht exixstiert, und mit seiner eigenen IP.

Die Bezugs- bzw. Einspeiseleistung sollte trotzdem stimmen, da ja das das Smartmeter selbstständig misst, und der WR nur zur Modbus TCP Datenabfrage für das Smartmeter dient.

Das die Werte in der App passen, bestätigt das auch. Eventuell hast Du sonst irgenwo einen Zahlenformat Überschreitung durch die zusätzliche WR Leistung?
ich habe gerade einfach mal versucht, im MB Baustein die IP Adresse vom GEN24 zu ändern - auf ein Netz was nicht existiert.... funktioniert trotzdem! Als würde er nur auf die UNIT ID schauen? die IP Adresse ist ihm egal?
 
Zurück
Oben