Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
07.05.2009, 08:51 (Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2009 18:11 von jg.)
Ich fang erstmal ganz von vorne an, damit ihr mein Problem besser verstehen könnt.
In meinem Projekt benutze ich zurzeit ein cDAQ-System mit verschiedenen Modulen. Dieses wird für einen Simulator benötigt, dabei werden Signale (Analoge und Digitale)
1) Erfasst in einem Diagramm dargestellt und für die Weiterverarbeitung benutzt.
2) Nach der Verarbeitung werden die Signale wieder an den Simulator ausgegeben.
Es entsteht also ein Regelkreis, mit dem in erster Linie die Geschwindigkeit der Motoren in Abhängigkeit von anderen Parametern (Bremsdruck) gesteuert wird. Da ich keine Erfahrungen mit LV vorher hatte, versuchte ich mich erstmal mit den Beispielen von LV auseinander zu setzen, um die Logik besser zu verstehen. Mein geschriebenes Programm funktioniert zurzeit meiner Meinung nach recht gut, aber dass ist nur meine Meinung (eines Anfängers).
Ich wollte jetzt allgemein Fragen, was ich vielleicht beim Programmieren falsch bzw. anders machen kann, um die Rechengeschwindigkeit zu optimieren? Weiterhin hab ich bei der Darstellung der gemessenen Werte einige Probleme und zwar möchte ich gerne dass die Darstellung bei der Zeit t0 anfängt und bei der Zeit tx endet. Ich hab zwar schon einen Beitrag zu diesem Thema in dem Forum gefunden, aber ich werde leider daraus nicht schlauer.
Bin zwar neu hier im Forum, aber habe schon ein bisschen Erfahrung mit LabVIEW.
Darum würdest du vielleicht dein VI auf 8.5 downgraden, dann könnte ichs mir auch mal angucken!!
mfg Cerbi
Wer Rechtschreibfehler findet......... ..........kann sie behalten!!
[img]http://www.labviewforum.de/labviewforum1.gif[/img]
17.05.2009, 12:43 (Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2009 12:47 von schrotti.)
Verbesserungspotenzial ist immer vorhanden.[list]
[*]Als erstes fällt natürlich DAQ ins Auge. Du könntes bei der Datenerzeugung die vier Kanäle zu einem Task zusammennehmen. Bei der Datenerfassung machst dus ja schon so. Starte den Tast außerhalb der Schleife, in der du die Daten erfasst bzw. erzeugst und stoppe/lösche ihn auch erst, wenn du keine weiteren Daten erfassen/erzeugen willst. <>
[*]Packe die Filter und alle Formelknoten in eine Forschleife. Versuche am besten, auf die Formelknoten zu verzichte.<>
[st]Wenn du das gemacht hast lad es nochmal hoch. Viel Spass.
Ich hab jetzt mein VI ein bisschen verändert, die Datenerfassung hab ich jetzt zu einem Task hinzugefügt, weiterhin hab ich einige Variablen, die vor dem Simulationsbeginn eingegeben werden, vor die While Schleife getan. Außerdem schlägst mir vor die Filtern und die Formelknoten in die For Schleife zu packen, kannst du mir vielleicht kurz erklären welchen Vorteil ich dadurch erzwinge und wie lange meine For Schleife laufen soll? Weil ich so zu sagen im jeden durchlauf meiner Programm Daten einlesen, verarbeiten und ausgeben möchte.
Ich hab jetzt mein VI auch für LV 8.5 hochgeladen.
DAQ übergibt dir ein Array und du wendest auf die Elemente, bis auf das erste Element, immer die gleiche Rechenoperationen an. Die Forschleife zwingt sich daher geradezu auf, denn dort kannst du mit dem Array hineingehen und die Funktionen wiederholt auf jedes Element des Array anwenden. Du bräuchtest nur noch unterscheiden, ob du in der Iteration 0 bist oder nicht, um das erste Element im Array anders zu behandeln. Die Vorteile einer solchen Struktur sind immens. Das wirst du spätestens merken, wenn Änderungen am Code erforderlich sind oder Siganle hinzukommen.
es tut mir leid dass ich erst jetzt antworte, es hat sich einiges in dieser Zeit verändert:
1)Ich benutze zur Zeit eine andere Hardware für die Signalerfassung (cRIO-Chassis Scan- Enigiene- Modus)
2)Ich musste mein Programm umschreiben und hab dabei auf die allgemeine Vorschläge zum LV programmieren geachtet (soweit es ging).
Leider kann ich den Vorschlag, mit der For- Schleife nicht realisieren, es fehlt mir an Erfahrung, deshalb wollte ich dich fragen ob du einige Bsp. kennst in denen man so etwas zu sehen bekommt?
Gruß
Sven
04.06.2009, 09:39 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2009 12:46 von jg.)