Datenaufnahme von Geräten mit unterschiedlicher Auslesezeit - Fieses Ausbremsen
Hallo,
bei einem Teststand habe ich verschiedene Geräte mit unterschiedlichen Auslesezeiten anzusteuern. Das ganze ist noch nicht programmiert, daher kann ich an dieser Stelle keine Beispiele liefern, aber mir geht es zunächst auch nur ein Gedankenexperiment um Probleme vorzubeugen.
Prinzipiell arbeite ich mit eine Producer Consumer Struktur mit 5 parallelen Schleifen (Eventstruktur, Abarbeitung der Events, Datenerfassung, Datenanzeige, Datensicherung).
Im Teststand sind unter anderem ein Keithley 2701 und ein ifm periodisch auszulesen. Das soll innerhalb der Datenerfassungsschleife parallel mit allen Messgeräten geschehen. Aufgrund der internen Schaltvorgänge benötigt der Keithley bekanntlicher weise jedoch seine Zeit zum Messen.
Der ifm controller soll deutlich schneller ausgelesen werden, als der Keithley. Jedoch erwarte ich, dass die minimale Iterationszeit der Datenerfassungschleife der Messzeit des "schwächsten Gliedes" entsprechen wird und damit den ifm Controller ausbremst.
Eine Möglichkeit die ich sehe, ist den Keithley in eine eigene, weitere parallele Schleife auszulagern, jedoch möchte ich das nur ungern tun. Ist es möglich die Datenerfassung des Keithleys innerhalb der Datenerfassungsschleife anzustoßen, ohne sie durch den langen Ausleseprozess auszubremsen?
Beste Grüße und vielen Dank
Ronny
|