ich würde gerne mithilfe eines Raspberry Pi und einem OneWire Sensor eine Temperatur auslesen und diese über Modbus TCP an einen Arduino Uno mit Ethernet Shield übertragen. Das auslesen des OneWire Sensors ist kein Problem und funktioniert ohne Probleme. Die Modbus Kommunikation funktionert auch aber ist verzögert, d.h. wenn ich mit dem Arduino am Seriellen Monitor den Temperatur Wert beobachte wird dieser immer nur im Abstand von mehreren Sekunden aktualisiert. Entferne ich den OneWire Master aus dem Codesys Projekt und übertrage Daten über Modbus werden diese sofort am Arduino aktualisiert. Wie lässt sich dieses Problem beheben?
ja ist ein bekannt bitte schau dir mal das "verbesserte" Onewire projekt an: https://forum.codesys.com/viewtopic.php ... 920#p16920
Leg eine eigene Task für die Onewires an, das sind blockierende Aufrufe die man trennen muss.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich würde gerne mithilfe eines Raspberry Pi und einem OneWire Sensor eine Temperatur auslesen und diese über Modbus TCP an einen Arduino Uno mit Ethernet Shield übertragen. Das auslesen des OneWire Sensors ist kein Problem und funktioniert ohne Probleme. Die Modbus Kommunikation funktionert auch aber ist verzögert, d.h. wenn ich mit dem Arduino am Seriellen Monitor den Temperatur Wert beobachte wird dieser immer nur im Abstand von mehreren Sekunden aktualisiert. Entferne ich den OneWire Master aus dem Codesys Projekt und übertrage Daten über Modbus werden diese sofort am Arduino aktualisiert. Wie lässt sich dieses Problem beheben?
Zielsystemversion Raspberry Pi: 3.5.11.20
Codesys Version: SP13 Patch 1
Hi,
ja ist ein bekannt bitte schau dir mal das "verbesserte" Onewire projekt an:
https://forum.codesys.com/viewtopic.php ... 920#p16920
Leg eine eigene Task für die Onewires an, das sind blockierende Aufrufe die man trennen muss.
Grüße
Edwin
Mit einem eigenen Task für den Onewire Sensor hat es funktioniert
Vielen dank!