04.11.2008, 13:48
Beitrag #1
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Gedanken lesen mit LabVIEW
Aye, Alle zusammen!
Ich bin ja jetzt seit ca. einem Monat mit LabVIEW am basteln und ausprobieren. Allerdings nicht vollzeit, sondern nur so nebenbei.
Da man ja bekanntlich am besten von den Besten lernt *schleimschleim* hab ich gedacht ich lade mal ein Vi hoch und warte auf Eure Kritik und Verbesserungsvorschläge.
Natürlich dürfen auch alle die sich nicht für die Besten halten kräftig mitmischen. XD
Das Vi kann also aus Euren Gedanken lesen... wahrscheinlich kann man da einiges verbessern.
Wer also Zeit und Lust hat sei herzlich eingeladen mir zu zeigen was man alles eleganter lösen kann.
Ich freue mich auf Eure Anregungen.
mindreader_LV8.2_.vi (Größe: 41,06 KB / Downloads: 545)
Bis denne,
SeBa
|
|
|
04.11.2008, 13:59
Beitrag #2
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Gedanken lesen mit LabVIEW
überdenk nochmal deine methodik zum beenden des programms, das schaut mir ein bissl kompliziert aus,..
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
04.11.2008, 20:27
Beitrag #3
|
|
|
05.11.2008, 08:48
Beitrag #4
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Gedanken lesen mit LabVIEW
Moin,
danke für deine Mühe IchSelbst. Deine Version sieht irgendwie überichtlicher aus als meine, wirf aber wiederum ein paar Fragen bei mir auf.
' schrieb:Lokale Variablen sind überflüssig, (...)
Gilt das speziell für mein Vi, oder sollte ich Variablen generell vermeiden. Wie gesagt hab ich hier einfach nur rumgespielt und wollte die Sachen ausprobieren. Mit den Variablen wollte ich haupsächlich zu viel Kabelsalat vermeiden (und die Variablen ausprobieren).
' schrieb:(...) die eine Sequenz kann man durch Datenfluß ersetzen, (...)
Hab ich verstanden. Danke für die bildliche Umsetzung.
' schrieb:(...) die andere durch eine Statemachine (was aber nicht unbedingt notwendig ist)
Es geht mir ja nicht darum ob es notwendig ist, sondern darum etwas zu lernen ...
Sobald ich Zeit hab werd ich mich dran setzten und versuchen eine Statemachine zu realisieren.
So, eine Sache die mir noch aufgefallen ist: Die Funktion "Auf nächste ganze Zahl runden (Round to Nearest)" liefert doch eigentlich einen Integer-Wert, warum bleibt der Ausgang der Funktion dann trotzdem auf Double?
--> Du wandelst ja nach I32 um. Ich gehe mal davon aus, dass das Speicher- bzw. Ressourcenvorteile bringt.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
|
|
|
05.11.2008, 10:15
Beitrag #5
|
|
|
05.11.2008, 10:24
Beitrag #6
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Gedanken lesen mit LabVIEW
' schrieb:Deine Version sieht irgendwie überichtlicher aus als meine, wirf aber wiederum ein paar Fragen bei mir auf.
Beides habe ich so erwartet.
Zitat:Gilt das speziell für mein Vi, oder sollte ich Variablen generell vermeiden.
Generell gilt das Prinzip des Datenflusses. Wo immer es möglich ist, soll Datenfluß verwendet werden. D.h. von vorne herein kommst du schon mal gar nicht auf den Gedanken, lokale Variablen zu verwenden. Nach dem Datenfluss kommen noch andere programmtechnische Konstrukte wie z.B. SubVI mit der Funktion einer Variablen - erst dann kommen lokale Variablen.
Um zwei parallele While-Schleifen zu beenden, darf mal eine lokale Variable verwenden.
Zitat:Mit den Variablen wollte ich haupsächlich zu viel Kabelsalat vermeiden
Das alleine ist aber eine Milchmädchenrechnung. Du sparst zwar Kabelsalat dafür Kostet das Rechenzeit und RaceConditions.
Zitat:So, eine Sache die mir noch aufgefallen ist: Die Funktion "Auf nächste ganze Zahl runden (Round to Nearest)" liefert doch eigentlich einen Integer-Wert, warum bleibt der Ausgang der Funktion dann trotzdem auf Double?
Nein. Das Element liefert keinen Integer-Wert. Wäre dem so, wäre der Ausgang blau statt gelb.
Integer und Gleitkommazahl sind zuerst einmal zwei (unterschiedliche) Typen. Runden macht nichts weiter als die Nachkommastellen auf Null setzen, der Typ der Zahl bleibt erhalten.
Der "Basis-Rechen-Typ" ist double.
Zitat:Du wandelst ja nach I32 um.
Hier kommt ein Integerwert heraus.
Zitat:Ich gehe mal davon aus, dass das Speicher- bzw. Ressourcenvorteile bringt.
Nein, das spart nichts. Das einzige was gespart wird, ist der rote Konvertierungspunkt am Index-Eingang. Und der soll vermieden werden.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
23.01.2009, 13:39
Beitrag #7
|
|
|
| |