NEWS
SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker
-
@joergh welches unsigned 16 bit soll ich nahmen? Big Endian oder Little Endian? Oder ist das egal?
Die Holding Register sind die Werte mit denen ich schreiben kann auf die Anlage?
-
@wilher Achso, sorry. Ob Big oder Little Endian ist nicht egal, sondern bedeutet er nimmt entweder die ersten 8 Bit als die niedrigeren oder die zweiten 8 Bit. Da kommen also völlig falsche Werte wenn es falsch herum eingestellt ist. Stegt vermutlich in der Doku. Meist ist es Big Endian, einfach mal probieren.
Um Werte lesen bzw. schreiben zu können muss man einen Code vorweg senden, z. B. 0x03 beim Holding Register abfragen. Das macht der Adapter für Dich automatisch bei den Werten die Du unter Holding Register einstellst. Also geht es erstmal nur ums Lesen.
-
@joergh Okay bis hierhin habe ich es verstanden... und wo ist der Unterschied zwischen Input und Holdingregister?
-
@wilher Holding Register sind die Analogen Output Register, Input - wie der Name schon sagt - analoge Eingangsregister...
Anbei mal ein Link, wenn Du es genauer wissen möchtest https://ipc2u.de/artikel/wissenswertes/modbus-rtu-einfach-gemacht-mit-detaillierten-beschreibungen-und-beispielen/
oder auch etwas kürzer...https://www.wachendorff-prozesstechnik.de/fileadmin/wp/fileserver/technical_notes/TN_0302_Grundlagen_Modbus.pdf
-
@joergh Okay, vielen Dank für die Ausführungen. Scheint zu funktionieren.
Wie kann man denn dann ggf. auch Werte zurück schreiben? Also z.B. 1107 Status Heizkreis den Wert 19 = Partybetrieb.
Nun muss ich nur den Anlagenhersteller nochmal anschreiben, wieso man weniger Werte auslesen kann als es scheinbar in der eigenen APP bzw. Display gibt.
-
@wilher Wenn Du den Wert des DP überschreibst, dann müsste er ihn vermutlich schon selber senden. Wenn nicht, dann musst Du die Werte wohl noch einmal als Input Register anlegen und dann dort reinschreiben.
Ich würde nun nach und nach die Werte konfigurieren und nicht alle auf einmal, da er wie gesagt bei einem falschen Wert die Abfrage aller Folgewerte abbricht und man das dann nur im Logfile sieht, bzw. daran, dass er den Adapter dann rot werden lässt. Man kann sie also alle in der Liste eintragen, aber das Häkchen bei "Abfrage" sukzessive hinzufügen.
Sollte er die Werte nicht schreiben wollen, kannst Du auch noch einmal versuchen ob das Werte schreiben mehrerer Werte was bringt. Laut Deiner Beschreibung erwartet er FC16, also mehrere Werte schreiben auf einmal...
Welche Werte hat er denn nicht?
-
@wilher Noch eine Frage, kann man eine Art Scan auf eine IP Adresse machen um zu sehen welche Adressen vom Mod-BUS ggf verfügbar sind bzw. alle Adressen zu finden die Daten liefern?
-
@joergh Mir fehlen Werte von Pumpen, Temp. Sensoren, Paddelschalter (Durchlauf) etc.
-
@wilher Unmöglich ist es nicht. Ich habe mal gelesen, dass sich einer ein Skript gebastelt hatte, aber da die Werte ja immer auch unterschiedlich lang sein können, ist das eher schwierig denke ich. Die Doku sollte alle Werte enthalten...
-
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh Mir fehlen Werte von Pumpen, Temp. Sensoren, Paddelschalter (Durchlauf) etc.
Was ist mit 1106 Mischerstellung, 1105 Heizkreispumpe, 1150 Vorlauftemperatur, etc. ?
Aber generell habe ich das auch, dass meine Heizungssteuerung vieles mehr kann als die APP und die wieder einiges mehr kann als die API...Fragen kostet nix
-
@joergh Und du meinst also ich solle erstmal alle Werte nach und nach im Holdingregister anlegen ach die 1100, 1107 etc?
-
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh Und du meinst also ich solle erstmal alle Werte nach und nach im Holdingregister anlegen ach die 1100, 1107 etc?
Nein, da das Input Register sind, wird Dein Gerät auf den FC03 den er bei den Holding Register am Anfang sendet nichts zurückliefern. Um die abfragen zu können muss er den FC04 senden und das macht er wenn Du die bei Input Register einträgst.
Sehe gerade, dass der die Werte in den Input Registern nur lesen kann...etwas entgegen der Philosphie wie ich sie verstanden habe...
-
@joergh Ah ja okay.
Bei 2406 Kesselreinigung bekomme ich immer 65535% als Wert zurück, ist da ggf noch etwas zu korrigieren?
-
@wilher Wie könnte man den ausserdem erreichen, dass statt z.b. einer 0 im Wert der Text "Heizkreis ist ausgeschaltet" erscheint, wäre ja für die VIS ganz nett
-
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh Ah ja okay.
Bei 2406 Kesselreinigung bekomme ich immer 65535% als Wert zurück, ist da ggf noch etwas zu korrigieren?
2406 kann ich in der Doku nicht finden...?
-
@joergh said in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
2406
Seite 8 von 12
@joergh said in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh Ah ja okay.
Bei 2406 Kesselreinigung bekomme ich immer 65535% als Wert zurück, ist da ggf noch etwas zu korrigieren?
2406 kann ich in der Doku nicht finden...?
-
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@wilher Wie könnte man den ausserdem erreichen, dass statt z.b. einer 0 im Wert der Text "Heizkreis ist ausgeschaltet" erscheint, wäre ja für die VIS ganz nett
In der vis kannst Du Werten auch Texte zuordnen wenn Du das richtige Widget auswählst, ansonsten gibt es die Möglichkeit die Werte über ein Skript auszuwerten und Text zuzuordnen. Wenn Du z.B. Telegram Messages oder Emails versenden willst bei bestimmten Zuständen würde sich das sowieso anbieten.
-
@joergh Welches Widget wäre das denn inder VIS? Versenden brauche ich die nicht, bei Störungen etc. bekomme ich schon eine eMail direkt aus der Anlage
-
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh said in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
2406
Seite 8 von 12
@joergh said in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh Ah ja okay.
Bei 2406 Kesselreinigung bekomme ich immer 65535% als Wert zurück, ist da ggf noch etwas zu korrigieren?
2406 kann ich in der Doku nicht finden...?
Achja, hab nicht weit genug geblättert
Was hast Du eingestellt im Adapter? Ich sehe auch in der Doku wird mit int16 und uint16 gearbeitet, also ist int16 dann nicht unsigned, sondern signed...hatten wir vorhin anders besprochen...daran könnte es liegen... -
@wilher sagte in SOLARFOCUS Modbus TCP - Registerdaten abfragen mit ioBroker:
@joergh Welches Widget wäre das denn inder VIS? Versenden brauche ich die nicht, bei Störungen etc. bekomme ich schon eine eMail direkt aus der Anlage
Das ist wieder eine Geschichte für sich. Im Grunde kannst Du das auch über "Signalbilder" mit jedem Widget machen, wenn ich so drüber nachdenke...dazu gibt es hier aber auch jede Menge zu lesen...