Hallo wie bekomme ich es denn hin ein Modbus gerät Auszulesen das dynamische Scalefactoren verwendet.
Als BSP register 40001 Leistung als UINT16BE
SF dynamisch register 40003
Vielleicht hatte das problem ja schon mal wer.
MFG Daniel
Hallo wie bekomme ich es denn hin ein Modbus gerät Auszulesen das dynamische Scalefactoren verwendet.
Als BSP register 40001 Leistung als UINT16BE
SF dynamisch register 40003
Vielleicht hatte das problem ja schon mal wer.
MFG Daniel
Hallo Daniel,
Wir hatten das Problem tatsächlich schon einmal bei einem Zähler, und eine Lösung dafür ist in unserem Fork zu finden:
Wir haben dazu noch die Methode ModbusUtils.readInputElementOnce
geschrieben, die aber genau wie die bestehende Methode ModbusUtils.readElementOnce
funktioniert, nur mit einem FC4-Task statt eines FC3-Tasks.
Die Lösung klappt aber nur, wenn sich die Scale-Faktoren nicht im laufenden Betrieb ändern. Bei dem Zähler ist es wohl so, dass er anhand der Wandlerverhältnisse seinen Skalierungsfaktor bestimmt, aber im laufenden Betrieb ändern sie sich nicht mehr.
Sollten sich die Skalierungsfaktoren auch im laufenden Betrieb ändern, ist das natürlich komplizierter. Das ist aber in der SunSpec-Implementierung auch gelöst, wobei ich mir das noch nicht genau angeguckt habe. Aber es funktioniert auf jeden Fall.
Beste Grüße,
Thomas
Danke werd ich dann mal probieren. und leider bin ich vorhin grad draufgekommen, dass sich der ScaleFactor im Betrieb je nach Leistung verändert.
Danke