Raspberry Pi, Zykluszeit, CODESYS, OneWire

Tom...

Level-2
Beiträge
91
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

weil ich bemerkt habe, dass seit der One Wire Temperaturmessung mit meinem Pi und dem Codesys und der Visu irgendwas anders ist als sonst, habe ich mal folgendes nachvollzogen:

Auf dem Pi 3B+ und dem offiziellen 7Zoll Touch läuft ein Codesys mit USB Dongle.

Laut Taskkonfiguration liegt die durchschnittliche Zykluszeit bei 300µs.

Wenn ich an das Bussystem "Onewire" mit Rechtsklick den 3S "Onewire Master" anhänge, dann bleibt das auch so.

Wenn ich jetzt an den Busmaster wieder mit Rechtsklick einen DS18B20 anhänge, steigt die durchschnittliche Zykluszeit auf ca. eine Sekunde?!
( eine Auswertung in der Art: Temp_E1 := DS18B20.rTemp habe ich noch gar nicht gemacht )

Kann das jemand bestätigen?
Und was kann ich dagegen machen?
Ich dachte erst, dass das durch die Abfrage der Temperatur im Zyklus kommt, aber dem ist nicht so.
Man kann die Temperatur auch in einer separaten Zeitscheibe nur alle 5 Sekunden abrufen, aber die enorm verlängerte Zykluszeit bleibt.

Grüße Tom
 
klar ja ist so, onewire ist ein blockierender Aufruf
du musst ne 2. Task anlegen und nur in dieser OneWire aufrufen...
 

Anhänge

  • oneWiretask.jpg
    oneWiretask.jpg
    65,7 KB · Aufrufe: 23
  • Onewire_twoTasks2Sensors.zip
    87,7 KB · Aufrufe: 11
Zuviel Werbung?
-> Hier kostenlos registrieren
Das funzt!
Gefühlt habe ich an die 50 Anleitungen dazu gelesen und Videos geschaut, aber keiner weißt auf diese Problematik hin oder erwähnt, dass es "nötig" ist dafür einen separaten Task anzulegen...
Danke!
 
Zurück
Oben