09.01.2008, 15:30
Hallo Miteinander,
ich erstelle gerade ein VI zum Steuern eines Versuchsaufbaus für Sensoren. Ich habe auch ein VI zusammengebastelt, das bisher alle meine Anforderungen irgendwie (!) erfüllt, wobei auch noch nicht alle Geräte da sind, so dass ich einige Teile noch nicht einarbeiten konnte. Mir geht es jetzt um Hinweise, tipps und RAtschläge darüber, was ich prinzipiell an dem Programm - besser gesagt an dem Programmierstil - verbessern kann. Es geht also (noch) nicht um bessere Lösungen eines individuellen Problems, sondern um bessere Lösungen allgmein.
Um solche Hinweise zu ermöglichen, werde ich kurz beschreiben, welche Anforderungen ich erfüllen will (und von denen ich meine, dass ich sie erfüllt habe). Motiviert durch diverse Forumeinträge habe ich mir auch selbst schon überlegt was ich evtl verbessern könnte oder sollte. Diese Überlegungen werde ich ebenfalls Preis geben.
Ich habe das VI so wie es jetzt vorliegt innerhalb von 4 Wochen erstellt, wobei das mein erster Kontakt mit LV überhaupt ist. Das WIssen habe ich aus Tutorials, den LV Beispielen und der Hilfe sowie aus diesem Forum erlangt.
Anforderungen:
- 4 AI: Sensorspannung, Sensorstrom, zwei TEmperatursensoren Pt1000
- Steuerung eines Lineartisches, d.h. Signalausgabe und Eingang der Position x
- Darstellung der Sensorspannung/Tischposition graphisch:U/t,U/x,x/t
- Anzeige der Temperaturwerte der beiden Pt1000 Sensoren numerisch und auf Knopfdruck graphischer Verlauf "langsamer" als U-x Graphen
- 1 AO: Spannungsversorgung des Sensors
- Start des Speicherns auf Knopfdruck "Messung"
- Einstellung der Messparameter, ohne die keine Speicherung stattfinden kann
- Auswahl eines beliebigen Speicherortes auf Knopfdruck; wenn keiner ausgewählt wird, wird Vorgabepfad verwendet. Wenn "Messung" gedrückt wird, soll neue Datei erzeugt werden, falls aktuelle schon existiert.
Diese Anforderungen habe ich erfüllt, wobei die Aufzeichnungen bisher alle Spannungen sind, da noch keine Sensoren angeschlossen sind. Der REst funktioniert soweit (habe PCI-6221 Karte in Verbindung mit SCC-68, LV 8.5).
Meine Fragen allgemeiner Natur sind die folgenden:
1. Was hat es mit den Timing einstellungen in einer While SChleife genau auf sich? Warum packe ich da sone Uhr rein und was genau nehme ich wann (Warten auf Vielfaches, bzw Warten) ?
Ich habe herausgefunden, dass es die CPU entlastet, aber ich will genau wissen, welches Timing SChleifen haben. Werden die beim Messen son schnell ausgeführt wie die Abtastrate es vorgibt, oder wie sieht das aus?
2. Sollte ich mehr SubVIs benutzen? Wenn ja, wo macht es Sinn und warum?
Ich hatte mir z.b. überlegt, dass ich das Auftrennen meines Arrays aus Singanlverläufen in ein SubVI stecken könnte und dort auch das Verzögern der Temperaturdarstellung mache. Anschließend im HauptVI nur noch die Grapohen bzw Diagramme einfügen.
3. Sollte ich mehrere Schleifen verwenden?
4. Wie ist das mit den Eigenschaftsknoten, die ich verwende? Sollte ich die zu Gunsten von CAse-Strukturen rausschmeißen?
Es ist kein Problem die Eigenschaftsknoten rauszuschmeißen und Case-Struktur(en) zu verwenden. Nur weiß ich nicht genau was mehr Speicher bzw. Ressourcen frisst.
Ok, das ist jetzt alles sehr umfangreich. Ich weise nochmals daruaf hin, dass ich mir keinesfalls erwarte, dass ihr mein Programm schreibt bzw. Mir sagt wie ich dies und das in meinem konkreten FAll löse. Vielmehr geht es mir darum prinzipielle Dinge über LV anhand meiner Probleme zu lernen und dann mein Programm so gut es geht zu erstellen. Ich will es selbst hinkriegen, nur brauche ich Tipps, in welcher Art es am besten wäre es hinzukriegen.
Ich hoffe, ihr versteht um was es mir geht.
vielen herzlichen Dank schonmal für jeglichen Tipp und Hinweis.
Viele GRüße
Wolfgang

ich erstelle gerade ein VI zum Steuern eines Versuchsaufbaus für Sensoren. Ich habe auch ein VI zusammengebastelt, das bisher alle meine Anforderungen irgendwie (!) erfüllt, wobei auch noch nicht alle Geräte da sind, so dass ich einige Teile noch nicht einarbeiten konnte. Mir geht es jetzt um Hinweise, tipps und RAtschläge darüber, was ich prinzipiell an dem Programm - besser gesagt an dem Programmierstil - verbessern kann. Es geht also (noch) nicht um bessere Lösungen eines individuellen Problems, sondern um bessere Lösungen allgmein.
Um solche Hinweise zu ermöglichen, werde ich kurz beschreiben, welche Anforderungen ich erfüllen will (und von denen ich meine, dass ich sie erfüllt habe). Motiviert durch diverse Forumeinträge habe ich mir auch selbst schon überlegt was ich evtl verbessern könnte oder sollte. Diese Überlegungen werde ich ebenfalls Preis geben.
Ich habe das VI so wie es jetzt vorliegt innerhalb von 4 Wochen erstellt, wobei das mein erster Kontakt mit LV überhaupt ist. Das WIssen habe ich aus Tutorials, den LV Beispielen und der Hilfe sowie aus diesem Forum erlangt.
Anforderungen:
- 4 AI: Sensorspannung, Sensorstrom, zwei TEmperatursensoren Pt1000
- Steuerung eines Lineartisches, d.h. Signalausgabe und Eingang der Position x
- Darstellung der Sensorspannung/Tischposition graphisch:U/t,U/x,x/t
- Anzeige der Temperaturwerte der beiden Pt1000 Sensoren numerisch und auf Knopfdruck graphischer Verlauf "langsamer" als U-x Graphen
- 1 AO: Spannungsversorgung des Sensors
- Start des Speicherns auf Knopfdruck "Messung"
- Einstellung der Messparameter, ohne die keine Speicherung stattfinden kann
- Auswahl eines beliebigen Speicherortes auf Knopfdruck; wenn keiner ausgewählt wird, wird Vorgabepfad verwendet. Wenn "Messung" gedrückt wird, soll neue Datei erzeugt werden, falls aktuelle schon existiert.
Diese Anforderungen habe ich erfüllt, wobei die Aufzeichnungen bisher alle Spannungen sind, da noch keine Sensoren angeschlossen sind. Der REst funktioniert soweit (habe PCI-6221 Karte in Verbindung mit SCC-68, LV 8.5).
Meine Fragen allgemeiner Natur sind die folgenden:
1. Was hat es mit den Timing einstellungen in einer While SChleife genau auf sich? Warum packe ich da sone Uhr rein und was genau nehme ich wann (Warten auf Vielfaches, bzw Warten) ?
Ich habe herausgefunden, dass es die CPU entlastet, aber ich will genau wissen, welches Timing SChleifen haben. Werden die beim Messen son schnell ausgeführt wie die Abtastrate es vorgibt, oder wie sieht das aus?
2. Sollte ich mehr SubVIs benutzen? Wenn ja, wo macht es Sinn und warum?
Ich hatte mir z.b. überlegt, dass ich das Auftrennen meines Arrays aus Singanlverläufen in ein SubVI stecken könnte und dort auch das Verzögern der Temperaturdarstellung mache. Anschließend im HauptVI nur noch die Grapohen bzw Diagramme einfügen.
3. Sollte ich mehrere Schleifen verwenden?
4. Wie ist das mit den Eigenschaftsknoten, die ich verwende? Sollte ich die zu Gunsten von CAse-Strukturen rausschmeißen?
Es ist kein Problem die Eigenschaftsknoten rauszuschmeißen und Case-Struktur(en) zu verwenden. Nur weiß ich nicht genau was mehr Speicher bzw. Ressourcen frisst.
Ok, das ist jetzt alles sehr umfangreich. Ich weise nochmals daruaf hin, dass ich mir keinesfalls erwarte, dass ihr mein Programm schreibt bzw. Mir sagt wie ich dies und das in meinem konkreten FAll löse. Vielmehr geht es mir darum prinzipielle Dinge über LV anhand meiner Probleme zu lernen und dann mein Programm so gut es geht zu erstellen. Ich will es selbst hinkriegen, nur brauche ich Tipps, in welcher Art es am besten wäre es hinzukriegen.
Ich hoffe, ihr versteht um was es mir geht.
vielen herzlichen Dank schonmal für jeglichen Tipp und Hinweis.
Viele GRüße
Wolfgang
