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!
mitlerweilen hatte ich auch schon die Möglichkeit mit der Erstellung eines N-Dimensionalen Arrays und der manipulation über den index rausbekommen.
Achim: Sehr vielen Dank für das Beispiel mit der Übergabe in ein externes SubVI.
Achim: Naja ich komme eigentlich aus der "C" Welt.
Nachdem LabVIEW aus der Ingenieur-Welt nicht mehr rauszudenken ist habe ich für mein Studien-Praktikum ein LabVIEW-Projekt angenommen (Entwicklung eines Prüfstandes)
Viele Konzepte sind in LabVIEW intuitiv in wenigen Maus-Klicks lösbar. Für diese Lösungen gibt es auch viele schnell verstehbare Beispiele. Bei einigen Konzepte die ich aus der "C"-Welt kenne muss ich mich allerding in das Datenflusskonzept eindenken.
Ich halte LabVIEw für eine durchaus mächtige Programmiersprache. Nur ist der Umstieg deshalb nicht sehr einfach, da man zwar im kopf komplexere probleme durchdenken und lösen kann nur das passende LabVIEW Konzept nicht gleich zur Hand hat. Ich denke aber nach einiger Einarbeitungszeit wird man auch komplexe Probleme in labVIEW relativ schnell lösen können.
Die Literatur die ich mir zum Thema gekauft hab "LabVIEW - Das Grundlagenhandbuch" und "Handbuch für die Programmierung in LabVIEW" helfen zwar bei den Grundlagen (Welche Datentypen gibt es etc.) doch steigen leider nicht tief genug in die Materie ein (Quese etc.).
Vielen Dank nochmal für die helfende Hand, die man hier im Forum bekommt.
Grüße aus Nürnberg und noch ein schönes Wochenende
Ich würde mich ja gerne mit Dir geistig duellieren, aber ich sehe Du bist unbewaffnet.
--------------------
Der Vorteil von Klugheit ist, dass man sich dumm stellen kann. Das Gegenteil ist schwieriger.
--------------------
Damit immer mehr immer weniger tun können, müssen immer weniger immer mehr tun.
Anzeige
17.08.2007, 18:02 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2007 18:19 von Lucki.)
[klugscheiss]
Wenn das die gewünschte Funktionsweise ist, dann läßt sich das aber auch ganz elementar, d.h. ohne SUB-VI und Programmierkunst, mittels Radio-Buttons machen.
[/klugscheiss]
Kann man nicht auch sagen, daß es wegen des Radio-Buttons 1:0 für LabVIEW (gegen C++) steht? Wo ist der neutrale Schiedsrichter, der LabVIEW den Zuschlag gibt?
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Dynamische lokale Variable?
Wie baut man denn aus Radiobuttons "Schalter" und "LEDs"?
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
17.08.2007, 19:16 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2007 19:18 von Lucki.)
' schrieb:Wie baut man denn aus Radiobuttons "Schalter" und "LEDs"?
Gruß Markus
Bevor ich das beantworte, muß ich mir erst mal selbst auf die Schulter klopfen, denn das ist "mein" Trick, auf den ich zufällig gekommen bin und den ich bisher nirgendwo anders gesehen habe.
Im folgenden spielt sich alles auf dem FP ab:
1.) Radio Button aufrufen
2.) von den 2 häßlichen Elementen im RB eines löschen
3.) das verbliebene Element auswählen, rechte Maustaste --> "ersetzen" --> beliebiges boolsches Element auswählen (z.B Schalter oder LED)
4.) Gegebenenfalls Beschriftung, Größe, Farbe usw. verändern, bis das Element das gewünschte Aussehen hat
5.) Mit Ctrl-Maustaste das Element auf die gewünschte Anzahl kopieren. Reihenfolge sollte der Lage entsprechen
6.) Elemente wie gewünscht anordnen, Fenstergröße auf automatisch stellen.
Ich weiß nicht, was sonst noch geht. Vielleicht kann man die alten Elemente auch völlig löschen, bevor man neue boolsche Elemente hineinlegt. Es ist jedenfalls alles ganz einfach.
Seitdem ich das herausgefunden habe, verwende ich den Radio-Button oft. Vorher scheiterte das daran, daß dieser Button die gesamte FP-Oberfläche wenig attraktiv machte, weil das Aussehen des RB so beschissen war.
Schönes Wochenende wünscht Dir
Ludwig
17.08.2007, 20:17 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2007 20:17 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Dynamische lokale Variable?
Danke für den echt tollen Tip.
Ich denke, dass ich das in Zukunft auch gut gebrauchen kann.
Ich wünsche Dir auch ein schönes Wochenende.
Gruß Markus
' schrieb:Bevor ich das beantworte, muß ich mir erst mal selbst auf die Schulter klopfen, denn das ist "mein" Trick, auf den ich zufällig gekommen bin und den ich bisher nirgendwo anders gesehen habe.
Im folgenden spielt sich alles auf dem FP ab:
1.) Radio Button aufrufen
2.) von den 2 häßlichen Elementen im RB eines löschen
3.) das verbliebene Element auswählen, rechte Maustaste --> "ersetzen" --> beliebiges boolsches Element auswählen (z.B Schalter oder LED)
4.) Gegebenenfalls Beschriftung, Größe, Farbe usw. verändern, bis das Element das gewünschte Aussehen hat
5.) Mit Ctrl-Maustaste das Element auf die gewünschte Anzahl kopieren. Reihenfolge sollte der Lage entsprechen
6.) Elemente wie gewünscht anordnen, Fenstergröße auf automatisch stellen.
Ich weiß nicht, was sonst noch geht. Vielleicht kann man die alten Elemente auch völlig löschen, bevor man neue boolsche Elemente hineinlegt. Es ist jedenfalls alles ganz einfach.
Seitdem ich das herausgefunden habe, verwende ich den Radio-Button oft. Vorher scheiterte das daran, daß dieser Button die gesamte FP-Oberfläche wenig attraktiv machte, weil das Aussehen des RB so beschissen war.
Schönes Wochenende wünscht Dir
Ludwig
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb:Bevor ich das beantworte, muß ich mir erst mal selbst auf die Schulter klopfen, denn das ist "mein" Trick, auf den ich zufällig gekommen bin und den ich bisher nirgendwo anders gesehen habe.
Im folgenden spielt sich alles auf dem FP ab:
1.) Radio Button aufrufen
2.) von den 2 häßlichen Elementen im RB eines löschen
3.) das verbliebene Element auswählen, rechte Maustaste --> "ersetzen" --> beliebiges boolsches Element auswählen (z.B Schalter oder LED)
4.) Gegebenenfalls Beschriftung, Größe, Farbe usw. verändern, bis das Element das gewünschte Aussehen hat
5.) Mit Ctrl-Maustaste das Element auf die gewünschte Anzahl kopieren. Reihenfolge sollte der Lage entsprechen
6.) Elemente wie gewünscht anordnen, Fenstergröße auf automatisch stellen.
Ich weiß nicht, was sonst noch geht. Vielleicht kann man die alten Elemente auch völlig löschen, bevor man neue boolsche Elemente hineinlegt. Es ist jedenfalls alles ganz einfach.
Seitdem ich das herausgefunden habe, verwende ich den Radio-Button oft. Vorher scheiterte das daran, daß dieser Button die gesamte FP-Oberfläche wenig attraktiv machte, weil das Aussehen des RB so beschissen war.
Schönes Wochenende wünscht Dir
Ludwig
@Lucki:
1. Ist das zwar ein schöner Trick...(kannte ich auch schon, und ich hab zuerst auch daran gedacht, ihm das vorzuschlagen!)
2. ...geht aber völlig an der Fragestellung vorbei: Er wollte ja explizit
- über ein numerisches Eingabeelement
- zur Laufzeit
- über ein SubVI
ein bestimmtes boolesches Anzeigeelement auf dem FP "aufleuchten" lassen
Nix für ungut...
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
' schrieb:@Lucki:
2. ...geht aber völlig an der Fragestellung vorbei: Er wollte ja explizit
- über ein numerisches Eingabeelement
- zur Laufzeit
- über ein SubVI
ein bestimmtes boolesches Anzeigeelement auf dem FP "aufleuchten" lassen
Was soll diese Haarspalterei? Das Black-Box-Verhalten ist absolut identisch mit Deinem VI/Sub-VI - wenn man mal davon absieht, daß ich neben dem numerischen Eingabeelement noch zwei alternative Vorschläge für Eingabemöglichkeiten in das VI gepackt habe. Als Anfänger konnte Benjamin Fuchs doch nicht wissen, daß es für das SUB-VIs, welches ihm vorschwebte, ein fertiges Element mit gleicher Funktionalität gibt. Die Vorgabe eines SUB-VIs ist doch nicht als Dogma zu betrachten. Entscheidend ist doch einzig und allein "Was hinten rauskommt".
ich muss allerdings an verschiedenen Stellen meines labVIEW Programms auf die "Anzeige" zugreifen, deshalb wollte ich dies durch ein SubVI lösen (Da die Anzeige später komplexer wird (LED Anzeige + Ansteuerung einer Relaiskarte).
Ich würde mich ja gerne mit Dir geistig duellieren, aber ich sehe Du bist unbewaffnet.
--------------------
Der Vorteil von Klugheit ist, dass man sich dumm stellen kann. Das Gegenteil ist schwieriger.
--------------------
Damit immer mehr immer weniger tun können, müssen immer weniger immer mehr tun.
20.08.2007, 10:30 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2007 10:39 von Lucki.)
' schrieb:muss allerdings an verschiedenen Stellen meines labVIEW Programms auf die "Anzeige" zugreifen, deshalb wollte ich dies durch ein SubVI lösen
Dazu braucht man aber kein Sub-VI. Rechte Maustaste --> erstellen --> lokale Variable (soviele Du willst)
Wenn es zeitkritisch wird, dann kann man statt dessen ein Schieberegister verwenden, vielleicht auch in Verbindung mit einer state machine. Damit steht dann der Wert der Variablen in jedem Zustand lesend und schreibend zur Verfügung, ohne daß man lokale Variable verwenden muß. Das ist aber schon die Kür für Fortgeschrittene, ich würde erst mal mit lokalen Variablen anfangen.
NB: In Jedem Lehrbuch gibt es Beispiele mit lokalen Variablen, bei denen wegen des Datenflussprinzips andere Ergebnisse als erwartet entstehen (Weil sie nicht zu dem vom Programmierer erwarteten Zeitpunkt gelesen/geschrieben werden) --> durcharbeiten!
Das Programmierertiming hab ich langsam raus:)Vorallem bei While-Schleifen hatte ich meine Anfangsprobleme
Meine Aufgabenstellung umfasst das Auslagern von öfterverwendetem Code in SubVIs, macht ja auch sinn wenn an verschiedenen Stellen etwas manipuliert werden soll. Ich finde es ist einfacher eine Numeric an ein SubVI zu übergeben als jedesmal eine lokale Variable zu verarbeiten. Vorallem wenn der Code einmal ergänzt wird spart man sich mit einem subvi doch erhebliche Zeit.
Aber dennoch vielen Dank für die Tipps. Ich werde Sie sicher an der ein oder anderen Stelle brauchen. Vorallem bin ich bisher um Schieberegistern herumgekommen.
Offtopic Frage: Das LabVIEW-Programm soll bis zu 50.000 Zyklen fahren, die Gesamtzeit kann dann etwa 2 Monate sein. Wie verhält sich LabVIEW im bezug auf Variablen und Arbeitsspeicher? Ist mit problemen zu rechnen, die erst bei längerer laufzeit auftreten? Vorallem im bezug auf das Timing und co.?
Grüße aus Nürnberg
Ich würde mich ja gerne mit Dir geistig duellieren, aber ich sehe Du bist unbewaffnet.
--------------------
Der Vorteil von Klugheit ist, dass man sich dumm stellen kann. Das Gegenteil ist schwieriger.
--------------------
Damit immer mehr immer weniger tun können, müssen immer weniger immer mehr tun.