04.10.2011, 13:51
(Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2011 13:54 von bmtil.)
|
bmtil
LVF-Gelegenheitsschreiber
Beiträge: 67
Registriert seit: Sep 2011
2011 (32bit)
2011
DE_EN
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
(04.10.2011 13:48 )Y-P schrieb: Ich habe doch geschrieben, dass Du sie nicht brauchst.
Gruß Markus
(04.10.2011 13:23 )bmtil schrieb: PS: warum brauche ich eine Verzögerung? Ich hab doch im Microkontroller Programm schon geschrieben dass die Werte mir nur alle 2 Sekunden gesendet werden sollen.
Alles klar, war wohl ein Missverständniss meinerseits.
Dennoch frage ich mich warum die Case Struktur in meiner VI anscheinend völlig ignoriert wird.
Und warum in der Stringanzeige die Strings im selben "Kästchen" ankommen und nicht getrennt untereinander.
|
|
|
05.10.2011, 07:23
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
Du musst einen Rechtsklick auf die "Tunnel" (wo der VISA- und der Fehlerdraht aus Deiner For-Schleife rauskommen) machen und "Disable Indexing" auswählen. Eine For-Schleife baut ("indiziert") Dir sonst alle Werte zu einem Array.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
05.10.2011, 07:38
|
bmtil
LVF-Gelegenheitsschreiber
Beiträge: 67
Registriert seit: Sep 2011
2011 (32bit)
2011
DE_EN
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
Schon vor deiner Antwort draufgekommen durch rechtsklicken auf den Tunnel, leider funktioniert es nicht, also der Fehlerdraht wird zwar normal, aber das Programm laeuft deswegen trotzdem nicht besser.
hab auf gut Glück versucht die Tunnel durch Schieberegister zu ersetzen, das klappt sicherlich auch nicht (aber bissle mit LabView rumspielen schadet nicht).
Die "Krankheitsdiagnose" sieht so aus:
Anscheinend geht das Programm nur einmal in die For-Schleife rein, da sich die beiden Anzeigen (habs erst spaeter reingebaut) für "N" und "i" in der For Schleife auf 2 und 1 hängen bleiben.
Mittlerweile krieg ich auf meinen beiden Graphen noch nicht einmal Nullen, also funktioniert irgendwie die ganze Datenübertragung irgendwie nicht.
Habs daher nochmal Luckys Programm aus Seite zwei des Threads nachgebaut, das hat geklappt, zumindest hab ich da in den Anzeigen die Werte blinken sehen.
Wenn ich einen der beiden Sensoren ablöt, dann krieg ich auch Werte und einen Graphen hin von dem anderen Sensor.
Irgendwie krieg ich gerade eine semigroße Krise.
|
|
|
05.10.2011, 07:56
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
Wo steht 1 und 2?
Schreib' doch Deine Werte nach jedem Durchlauf in ein Array und hänge sie an einen Graph.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
05.10.2011, 08:27
(Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2011 08:28 von bmtil.)
|
|
|
05.10.2011, 09:20
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
(05.10.2011 07:38 )bmtil schrieb: Die "Krankheitsdiagnose" sieht so aus:
Anscheinend geht das Programm nur einmal in die For-Schleife rein, da sich die beiden Anzeigen (habs erst spaeter reingebaut) für "N" und "i" in der For Schleife auf 2 und 1 hängen bleiben.
Völlig korrektes Verhalten. Der Iteration-Zähler fängt bei Null an zu zählen. Wenn der also eine 1 anzeigt, dann passt das zur 2 bei "N".
(05.10.2011 08:27 )bmtil schrieb: Die 2 steht in "Schleifenzählwert.
Die 1 in "IterationFor"
Ich will ja nicht die Werte in das Array schreiben, sondern dass LabView selbständig die jeweligen Temperaturwerte vom Micorkontroller holt und in ein Array reinbaut und dann dieses auswertet.
Quasi das selbe macht wie Hyperterminal, ist der ganze Sinn der Aufgabe.
Die VI angehangen, damit ihr sehen könnt was ich mit "Schleifenzählwert" und "IterationFor" meine.
Erste Regel bei der Fehlersuche: Man schaut sich die übertragenen Daten an. Also: Indicator der übertragenen Strings (nach VISA Read) aufs FP legen. Dann das Array nach "Spreadsheet to Array". Dann die einen Indicator des "String Subset" Ausgangs. etc. etc.
Gruß, Jens
P.S.: Ich hoffe, du erzeugst in deinem µC-Programm ein Linefeed (=0xA) als Zeilentrenner, nicht eine Carriage Return (=0xD). Denn dein Open Serial Port ist auf Linefeed als "Termination Char" konfiguriert.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
05.10.2011, 09:28
(Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2011 09:29 von bmtil.)
|
bmtil
LVF-Gelegenheitsschreiber
Beiträge: 67
Registriert seit: Sep 2011
2011 (32bit)
2011
DE_EN
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
(05.10.2011 09:20 )jg schrieb: Völlig korrektes Verhalten. Der Iteration-Zähler fängt bei Null an zu zählen. Wenn der also eine 1 anzeigt, dann passt das zur 2 bei "N".
Erste Regel bei der Fehlersuche: Man schaut sich die übertragenen Daten an. Also: Indicator der übertragenen Strings (nach VISA Read) aufs FP legen. Dann das Array nach "Spreadsheet to Array". Dann die einen Indicator des "String Subset" Ausgangs. etc. etc.
Gruß, Jens
P.S.: Ich hoffe, du erzeugst in deinem µC-Programm ein Linefeed (=0xA) als Zeilentrenner, nicht eine Carriage Return (=0xD). Denn dein Open Serial Port ist auf Linefeed als "Termination Char" konfiguriert.
Sicherlich beende ich die Zeile in meinem µC Programm mit 0xA,
hier der Code ausschnitt nochmal (an der stelle USART_Transmit(0x0A); ):
Code:
while(1)
{
if (overflowzahl >= 1)
{
if (adc_wertref = adc_read_avg(0, 100))
{
itoa(adc_wertref, buffer, 10);
uart_puts("Ref");
uart_puts(buffer);
USART_Transmit(0x0A);
}
if (adc_wertkam = adc_read_avg(1, 100))
{
itoa(adc_wertkam, buffer, 10);
uart_puts("Kam");
uart_puts(buffer);
USART_Transmit(0x0A);
}
USART_Transmit(0x0A);
overflowzahl=0;
}
}
Zitat:Man schaut sich die übertragenen Daten an. Also: Indicator der übertragenen Strings (nach VISA Read) aufs FP legen. Dann das Array nach "Spreadsheet to Array". Dann die einen Indicator des "String Subset" Ausgangs. etc. etc.
Verzeih mir bitte aber das versteh ich nicht, was genau ist dieses "FP"?
Ich glaub ich sollte die VI nochmal komplett neu machen -.-
Mein Kopf glüht vor lauter Arrays und Strings.
Grüße, Mikhail.
|
|
|
05.10.2011, 09:35
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
FP = Frontpanel!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
05.10.2011, 10:08
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Serielle Schnittstelle Strings auslesen
Vielleicht solltest Du Dir mal die LabVIEW-Grundlagen durchlesen, dann wird es auch einfacher.
Gruß Markus
(05.10.2011 09:28 )bmtil schrieb: Verzeih mir bitte aber das versteh ich nicht, was genau ist dieses "FP"?
Ich glaub ich sollte die VI nochmal komplett neu machen -.-
Mein Kopf glüht vor lauter Arrays und Strings.
Grüße, Mikhail.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
| |