Hallo alle zusammen!
Ich muss zügig eine ganz simple Ein-Aus Steuerung basteln und habe vorher noch nie wirklich mit Labview gearbeitet, also entschuldigt den katastrophalen Programmierstil. Es ist mehr oder weniger aus verschiedenen Beispielen zusammenkopiert.
In dem Programm lese ich 6 Sensoren über ein DAQ System aus (2x Luftfeuchte, 2x Temperatur und 2x CO2 Konzentration). Die jeweiligen Werte zeige ich in einem Kurzzeit-Chart und einem Langzeit-Chart an, um auch die Änderungen über einen längeren Zeitraum zu sehen. Dafür benutze ich eine While Schleife mit Shift-Register.
Neben dem reinen Auslesen habe ich eine manuelle Steuerung von Ausgängen und eine ganz simple, automatische, Ein-Aus Steuerung realisiert. Das heißt sobald z.B. die Temperatur einen gewissen Grenzwert überschreitet, wird ein Ausgang auf "an" gesetzt. Das passiert ebenfalls in der großen While Schleife.
Das funktioniert auch alles soweit. Nur habe ich festgestellt, dass die Zeit auf den Charts "hinterherhinkt", also nicht in Echtzeit abläuft. So habe ich nach vier Stunden messen eine Verzögerung von ungefähr 30 Minuten und nach 12 Stunden kommt ein "Speicher voll"-Fehler. Zur Zeit messe ich mit N samples: 100 to read, 100 Hz. Als ich mal mit 10 to read und 100Hz gemessen hab kam schon nach sehr kurzer Zeit ein Error 200279 "Attempted to read samples that are no longer available". Ich vermute mal, dass der Programmablauf mit den Logikoperatoren zu viel Rechenzeit in Anspruch nimmt und man das Programm irgendwie in verschiedene "unterschleifen?!?" zergliedern muss. Praktisch weiß ich aber nicht wie man das am besten umsetzt. Ich habe auch schon versucht mit globalen Variabeln und zwei While-schleifen zu arbeiten, allerdings hat das auch nicht funktioniert. Bitte bedenkt, dass ich mich noch nicht wirklich mit der Materie auskennt.
Ich bin also für praktische Tipps sehr dankbar! Die Suchfunktion habe ich auch benutzt, aber keinen passenden Beitrag gefunden, vielleicht weiß ich auch nicht genau nach was ich suchen muss.
Viele Grüße,
Hendrik
EDIT jg: Der Link zum Crosspost auf ni.com