auf der RS485 Schnittstelle meines TW 3500 L hängen drei Stromzähler DZG DVH4013. Einer ist von 2015, die beiden anderen sind neu. Als Leitung für den Bus habe ich KNX-Busleitung genommen, sie ist vielleicht 100 cm lang. Die drei Zähler sind hintereinander aufgeschaltet und ca 15 cm auseinander. Die Verdrillung des Adernpaares ist nur für die Klemmstellen aufgemacht worden. Der "alte" Zähler ist dabei NICHT der letzte in der Reihe, der Bus ist am letzten Zähler mit 120 Ohm terminiert. So weit ich weiß ist die RS485-Schnittstelle im TW 3500 L bereits intern terminiert, der Timberwolf hängt am Ende eines Busses und deswegen habe ich dort keinen 120-Ohm-Widerstand eingebaut.
Die ganze Konstruktion habe ich erst letzte Woche gebaut; der "alte" Zähler wurde vorher mit Volkszähler, einem Raspberry Pi und einem RS485-to-USB-Adapter (und einer dreimal so langen, unterminierten RS485-Leitung) ausgelesen. Bei DZG wird der Zähler über die letzten zwei Ziffern der Seriennummer "plus eins" adressiert, wobei das quasi als "decimal coded hex" zu sehen ist. Meine Zähler enden auf 46, 47 und 48, was über 0x47, 0x48 und 0x49 schließlich in 71, 72 und 73 mündet. Welch Glück dass da keine Kollisionen sind (Geburtstagsparadoxon, anyone?).
Die beiden "neuen" Zähler kooperieren mit dem Timberwolf problemlos. Bei dem "alten" Zähler hagelt es im Busmonitor CRC-Fehler und "Response not from requested slave". Eine erfolgreiche Auslesung ist auch mal dabei, aber bei weitem nicht oft genug als dass die Werte brauchbar wären. Bevor ich nun den "alten" Zähler als "defekt" in die Tonne trete, hätte ich mir das gerne etwas genauer angeschaut. Es kann natürlich sein, dass der Hersteller in den neun Jahren zwischen meinen beiden Zähler-Generationen die Hard- oder Software seines Produkts geändert hat und dass die neueren Zähler einfach unproblematischer arbeiten.
Habt Ihr irgend eine Idee, was ich noch ausprobieren könnte? Morgen früh werde ich mal die beiden "neuen" Zähler vom Bus nehmen und schauen ob der "alte" dann besser funktioniert. Vielleicht stören die sich ja doch irgendwie gegenseitig.
Zwei Verständnisfragen:
- "CRC error" im Busmoniitor bedeutet, dass der Modbus-Server antwortet, aber der Timberwolf-Server die Antwort wegen der falschen Prüfsumme verwirft? Hier wäre es hilfreich, den falschen Modbus-Frame trotzdem sehen zu können.
- "Response not from requested slave" im Busmonitor bedeutet, dass der Timberwolf-Server auf seine Anfrage eine Antwort erhalten hat, die Prüfsumme korrekt ist, aber die Antwort eine falsche Absenderadresse enthält? Auch hier würde ich mich dafür interessieren, was der Modbus-Server konkret geantwortet hat.
Marc