CAN-I/O an UVR1611 (TA, UVR 1611, Technische Alternative, Erweiterung)

Hallo zusammen,

hat von Euch schon wer die CAN-I/O -Erweiterung an der UVR1611 am Laufen ?

Ich bekomm die Werte aus dem Zusatzmodul nicht in IPS eingebunden, finde einfach diesen zus. Knoten nicht.
Bei mir ist das Knoten 32. Wie ist hier vorzugehen ?

Danke für Hilfe !

Hat denn wirklich keiner v. Euch die Erweiterung verbaut oder nur nicht eingebunden ?

Eingebaut habe ich sogar 3 dieser Erweiterungen, in Betrieb zur Zeit nur 2, aber in IPS eingebunden habe ich zur Zeit nur zwei UVR 1611, wobei ich plane die Erweiterungen durch eine dritte UVR zu ersetzen.

Es waren nirgends Möglichkeiten zu finden, diese in IPS darzustellen.

Die Webseite des Bootloaders zu parsen und daher die entsprechenden Daten zu gewinnen scheiterten am Bootloader, da dieser das dauernde Umschalten nicht mitmachte.

Daher nur Datenerfassung der beiden UVR an einem Bootloader und im Sommer der Umbau auf 3. UVR

ok, dann schau ich auch eher in Richtung 2te UVR.

Mercie

Nur mal als Bastelaufgabe:

Mit wieviel Baud arbeitet dieser CAN-Bus und ist es CAN 2.0A (standard) Frame also mit
mit 11 Bit Identifier oder CAN 2.0B die sog. extended Frames mit 29 Bit Identifier?

Gibt es eine Beschreibung dafür incl, welche Bytes was machen, beim Hersteller?

Gruß Helmut

Soviel Aufwand ist gar nicht nötig.
Vor einiger Zeit hatte ich das gleiche Problem, ich wollte die Werte der Ausgänge 14 und 15 auslesen. Diese werden nicht vom Datenprotokoll erfasst. Die letztendlich einfachste Lösung bestand darin, sämtliche Daten per Anlagenschema auszugeben und dann einzulesen. Das geht deutlich einfacher als das Datenprotokoll auszuwerten und hat auch noch den grossen Vorteil, dass man wirklich sämtliche Werte die in der UVR vorhanden sind, abfragen kann. Beispielsweise die Vorlaufsolltemperatur des Heizkreismoduls. Die Kennungen aller Funktions- und Anlagenvariablen bekommt man mit dem Schemadesigner bequem heraus.

Das einzig wichtige ist, dass man den Bootloader nicht überfordert. Der dort verbaute Webserver stürzt bei parallelen Anfragen schlicht ab.

wie kriegt man die Daten vom Anlagenschema in ips?
Bei mir ist die Situation ähnlich, hab 2 UVR mittlerweile problemlos integriert, die CanIO bringe ich leider auch nicht rein. Bin auch am überlegen eine dritte UVR einzubinden. Ist das überhaupt möglich? gibt es hier Erfahrungen? Ist zwar schon eine Weile her, aber bis bei mir beide UVRs problemlos eingebunden waren… hat zumindest etwas gedauert.

Mit einer simplen HTTP Abfrage:

$fp = @fsockopen("192.168.115.210", 80, $errno, $errstr, 1);
$returndata = "";
if (!$fp) {
	echo "$errno: ".substr($errstr, 0, 100)."
";
   return;
} else {
	$out = "GET /GRAFIK1.htm HTTP/1.0
";
   $out .= "Connection: Close

";
   @fwrite($fp, $out);
   stream_set_timeout($fp,1);
	$returndata = @fread($fp, 512);

	$info = stream_get_meta_data($fp);
	fclose($fp);
	//print_r($info);
	if ($info['timed_out']) {
	   //print_r($info);
   	echo 'Connection timed out!';
      return;
   }
//...hier kommen jetzt Konsistenzprüfung und Wertzuweisung der Daten an die Variablen

Wenn man die Schemaseite günstig erzeugt, ist das Auswerten ein Klacks. Bei mir sieht die Schema.html so aus:

$d1e0|$d1e1|$d1e2|$d1e3|$d1e4|$d1e5|$d1e6|$d1e7|$d1e8|$d1e9|$d1ea|$d1eb|$d1ec|$d1ed|$d1ee|$d1ef|
$d1a0|$d1a1|$d1a2|$d1a3|$d1a4|$d1a5|$d1a6|$d1a7|$d1a8|$d1a9|$d1aa|$d1ab|$d1ac|$d1ad|$d1ae|$d1af|
$d1d7|
$d1l1|$d1l2|$d1k1|$d1k2|$d1m1|$d1m2|
$X16350401|$x48301501|

Der Bootloader liefert dann die nackten Werte.
Das direkte Auslesen der Datentelegramme über Port 40000 ging etwas schneller, statt jetzt 150ms, waren es nur 50ms. Aber dafür erhält man nicht beliebige Werte.

Eine Ende-Klammer fehlt, Du wertest Grafik1.html aus, im Text Grafik.html. Welche Variable hat die Daten?

Gruß Helmut

@Helmut: Hast Du eine UVR?
Das Onlineschema wird vom Bootloader als Frameset geliefert, mit der URL im Script wird nur der relevante innere Teil geholt.
Welchen Namen das hochzuladene HTML-Schema hat, ist wohl egal.

In dem Code oben fehlt nicht nur eine Klammer, sondern auch der Mechanismus um Mehrfachabfragen an den Bootloader zu verhindern…

Vielleicht stehe ich ja am Schlauch, allerdings gelingt es mir nicht Daten von IP-Symcon auf eine UVR16x2 mittels CMI zu senden. Ist das nicht vorgesehen?
Wenn ich in der UVR CAN Ausgänge definiere so zeigt er diese ordentlich an, somit kann ich die UVR auslesen.
CAN Eingänge werden aber nicht angezeigt in IP-Symcon.

Kann mir da jemand helfen?

lg
Klaus

Hallo,

du stehst nicht auf dem Schlauch. Die Implementierung seitens IP Symcon ist einfach nur Grütze :banghead:
Sorry, anders kann ich es nicht nennen.

Aktuell baue ich meine Heizung um auf UVR16x2 und CMI. Die CMI hat Modbus an Board. Leider kann sie nur
Modbus TCP Client (Master). Symcon kann auch Modbus. Allerdings auch nur Modbus TCP Client (Master). Also lässt
sich das nicht koppeln.

Aktuell baue ich auf Basis eines Raspis einen Modbus TCP Server (Slave). Die CMI sendet und liest an den Server. Symcon sendet und liest auch an den Server.

Die Kommunikationswege sehen so aus:

UVR --> CAN Out --> CMI Modbus Out --> Modbus Server --> Symcom
Symcon --> Modbus Server --> CMI Modbus In --> CAN In --> UVR

TA hat 64 analog Ein- und Ausgänge und 64 Digital Ein- und Ausgänge. Generell schicke ich alle Sensorwerte in Richtung Modbus. Die kommen dann praktisch in Echtzeit in Symcon an. Dazu sende ich noch diverse Zustände
und Fehlermeldungen. An der Rückrichtung zur UVR bin ich dran.

In Phase 2 implementiere ich dann noch das Schalten von Fixwerten im Raspi. Fixwerte können nicht über Modbus/CAN
gesetzt werden. Dazu werde ich einen zweiteren Modbus Server auf dem Raspi laufen lassen an den Symcon sendet und empfängt. Das Schalten Richtung UVR passiert dann mittels RPC.

Im Herbst kommt eine neue Version vom Simulator. Der soll dann auch eine CMI emulieren können. Das würde die Entwicklung stark vereinfachen. Aber bis dahin bin ich wohl fertig.

Grüße
Predi

Hallo kurzes Update bzgl. des Modbus Slave Gateways um Symcon mit der CMI koppeln zu koennen. Das Thema macht gute Fortschritte.

Erledigt Punkte

Die CMI kann über die „analogen Ausgänge“ Daten in den Modbus TCP Slave schreiben.
Die CMI kann über die „analogen Eingänge“ Daten aus dem Modbus TCP Slave lesen.

Symcon kann die Daten ebenfalls bereits lesen und schreiben.

Damit können Temperatur-Werte der CMI nach Symcon und umgedreht geschrieben werden.

Offene Punkte

Das Thema „Digitale Ein- und Ausgänge“ der CMI ist noch offen. Aktuell bin ich da dran.

Die gesamte Übertragung der Daten von der UVR auf den CAN Bus, vom CAN Bus auf den Modbus TCP und nach Symcon und auch der Rückweg funktioniert praktisch in Echtzeit. Der Modbus TCP Slave läuft bei mir seit 7 Tagen
stabil im Stresstest. Alle 0,1 Sekunden feuert ein Modbus Master Simulator neue Werte zum Slave und liest aus. In den 7 Tagen sind weniger als 100 Timeouts aufgetreten. Stabil ist es also.

Sobald ich eine lauffähige Lösung inkl. der analogen Ein- und Ausgänge habe, werde ich ein Tutorial posten.

Hier der Link zum Howto um die UVR per CMI per Modbus mit Symcon zu verbinden

https://www.symcon.de/forum/threads/35623-Howto-Technische-Alternative-per-ModbusTCP-%C3%BCber-FHEM-an-Symcon-anbinden