23.01.2014, 11:37
Hallo domi,
Das ist vielmehr nur das Symptom...
- In jeder Iteration deiner beiden Schleifen öffnest du erneut die Messkanäle, verbunden jeweils mit einer Initialisierung der DAQ-Hardware. Das ist so nicht nötig und wie bei dir eher hinderlich!
Man initialisiert DAQ-Kanäle (und dein Agilent) einmal vor der Schleife. In der Schleife fragt man Messwerte ab und gibt Stellwerte aus. Nach der Schleife schließt man die DAQ-Kanäle!
- Dazu kommt, dass du dauernd neue Channels/Tasks anlegst, diese aber nicht löscht. Genau das wird dein Problem sein...
Außerdem:
- Deinen PID-Regler würde ich so anpassen, dass er seine Werte intern selbst speichert. Schau dir doch mal den SimplePID an, der hier so rumgeistert, der kann das auch. Außerdem hat der die Ausgangswertbegrenzung schon eingebaut, die du erst im MainVI vornimmst...
Zitat:Einziges Problem ist nun das das die Temperaturmessung mit dem Agilent nach etwa 2min deutlich langsamer wirdDas das dein einziges Problem ist, glaube ich nicht
Das ist vielmehr nur das Symptom...
Zitat:fatalen aber simplen FehrlerWas du noch (unbedingt) ändern solltest:
- In jeder Iteration deiner beiden Schleifen öffnest du erneut die Messkanäle, verbunden jeweils mit einer Initialisierung der DAQ-Hardware. Das ist so nicht nötig und wie bei dir eher hinderlich!
Man initialisiert DAQ-Kanäle (und dein Agilent) einmal vor der Schleife. In der Schleife fragt man Messwerte ab und gibt Stellwerte aus. Nach der Schleife schließt man die DAQ-Kanäle!
- Dazu kommt, dass du dauernd neue Channels/Tasks anlegst, diese aber nicht löscht. Genau das wird dein Problem sein...
Außerdem:
- Deinen PID-Regler würde ich so anpassen, dass er seine Werte intern selbst speichert. Schau dir doch mal den SimplePID an, der hier so rumgeistert, der kann das auch. Außerdem hat der die Ausgangswertbegrenzung schon eingebaut, die du erst im MainVI vornimmst...