Danke Markus. Vielleicht hätte ich mir das VI besser doch nciht angeschaut
Hallo onk,
Zitat:1.) Das Programm läuft immer nur wenn die Counter, insbesondere der "ctr1", Signale erhalten. Das äußert sich darin, dass alle anderen Sensorausgaben erst arbeiten sobald die an den Countern hängenden Sensoren (Drehgeber und Durchflussmesser) manipuliere.
DATAFLOW: Eine Iteration einer Schleife ist erst beendet, wenn alle enthaltenen Funktionen abgearbeitet sind. Wenn eine davon blockiert, wartet die Schleife...
Wie wäre es, parallele Schleifen für jeden einzelnen DAQ-Task zu verwenden?
Zitat:2.) Ich würde gerne von einem der Drehgeberkanäle die Taktfrequenz (wie beim Durchflussmesser - ganz unten im Programm) ermitteln und somit auf die Drehzahl schließen. Das wäre mir lieber als mit dem Winkel rumrechnen zu müssen - hab das schon probiert, lief aber nicht richtig bzw. gar nicht.
Dein Sensor liefert dir doch eine Winkelangabe. Was willst du stattdessen haben? Was "läuft" denn hier nicht?
Zitat:Auch allgemeine Kritik und Verbesserungsvorschläge sind willkommen.
- Gleiche Programmteile gehören in subVIs. Bei dir z.B. die FormulaNode zum Umrechnen der NTC-Werte...
- Die Skalierung deiner Spannungswerte mittels FormulaNodes ist Overkill. Du kannst bei DAQmx den einzelnen Kanälen eine lineare Skalierung verpassen oder selbst per y=ax+b umrechnen...
- BD aufräumen und verkleinern (StyleGuide!). Selbst auf einem FullHD-Monitor muss man scrollen...
- Bei den AI-Kanälen liest du erst die NTC-Werte ein und danach die anderen Spannungen. Ist das so gewollt? Warum nicht zwei getrennte AI-Tasks? Oder die Verwendung aller Messdaten in einer Schleife? Warum liest du einmal "N Kanäle N Samples" ein und einmal "N Kanäle 1 Sample"? Du hast beim Task kein Timing konfiguriert, liest aber trotzdem 1000 Werte am Block ein. Alles komisch...