Danke Steffen! ModBus-KnowHow habe ich inzwischen auch einiges aufgebaut, ich wollte mich nur nicht in die einmalige Konfiguration des CMI einarbeiten. Das KnowHow habe ich jetzt eingekauft und freue mich sehr, dass wir seit gestern Daten aus unserer Solarthermieanlage loggen und visualisieren können:
Falls das mal noch für jemanden interessant ist: es gibt einerseits ein Skript, um das CMI auszulesen. Haben wir aber nicht zum Laufen bekommen und stattdessen den Weg via ModBus gewählt. Da klickt man sich die Finger wund, kommt aber auch zum Ziel.
Zunächst gibt es zwei Wege, wie das CMI mit der Steuerung kommuniziert, entweder per DL (Zweidraht-Datenleitung) oder per CAN-Bus. Ich habe DL vorgefunden. In dem Fall ist es gut, wenn man eine Doku vorliegen hat, welcher Kanal welchen Wert liefert. Per CAN bekommt man die Kanalnamen wohl geliefert.
Zuerst definiert man also die Eingangskanäle:
Anschließend definiert man die Ausgangskanäle:
Die Gegenstelle muss sich als Modbus-Slave verhalten, das CMI ist immer Modbus-Master!
Anschließend müssen die Kanäle ein drittes Mal gemappt werden:
Das CMI liefert nur Ganzzahlwerte, daher müssen Temperaturen mit dem Faktor 10 bearbeitet werden: 903 ergibt dann 90,3°C.
Die Adressen darf man nicht willkürlich vergeben, es gibt fest vorgegebene Nummernkreise:
Tja, und dann habe ich jetzt die spannende Frage vor mir, wie die Daten zu interpretieren sind. Ist das gut, was ich da sehe?
Ich werde auf jeden Fall zusätzlich noch die CAN-Bus-Verbindung herstellen, darüber kann man die Konfig der Steuerung auslesen und sichern. Bei einem Geräteausfall ist das sonst alles verloren.