Serielle Schnittstelle - Buffer? Absoluter Anfaenger
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
Nein, nur um die Case-Struktur. Schalte doch mal die gelbe Lampe (Highlighting Mode) ein, dann siehst du warum es nicht geht.
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
hm, genial :) - ist das so ok? oder ist es schlecht soviele schleifen-stops mit derselben variablen zu machen?
ich hab auch versucht, das es moeglich ist, dass man das serielle Lesen wieder abschalten kann, das scheint zu funktionieren, wobei natuerlich auch hier die Frage ist, ob das eine gaengie Art ist sowas zu machen...
ich hab auch versucht, das es moeglich ist, dass man das serielle Lesen wieder abschalten kann, das scheint zu funktionieren, wobei natuerlich auch hier die Frage ist, ob das eine gaengie Art ist sowas zu machen...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
Ist schon ok. Für deine Applikation passt's. Vergiss aber nicht im False-Case eine kleine Wartezeit einzubauen, sonst frisst es CPU bei 100%.
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
oh, das ist ja interessant. Alles klar.
uebrigens:
Wenn ich bei Hyperterminal
mod=h
get
mod=d
get
eingebe, steht in dem Readrequest Fenster von Serial Port+Monitor:
6D 6F 64 3D 68 0D 0A 67 65 74 0D 0A 20 33 35 2E mod=h..get.. 35.
34 38 25 20 20 20 20 32 31 2E 31 32 43 0D 0D 0A 48% 21.12C...
6D 6F 64 3D 64 0D 0A 67 65 74 0D 0A 20 20 35 2E mod=d..get.. 5.
32 37 43 20 20 20 20 32 31 2E 31 32 43 0D 0D 0A 27C 21.12C...
also anscheinend ist der Befehl da jeweils dann auch nochmal drin. Wie krieg ich des jetzt hin des es hinhaut und ich nur die Messwerte erhalte?
Ich hab schon versucht ein paar VISA-Reads hintereinander zusetzten, in der Hoffnung, dass in einem des richtige steht, aber irgendwie klappt das so nicht...
uebrigens:
Wenn ich bei Hyperterminal
mod=h
get
mod=d
get
eingebe, steht in dem Readrequest Fenster von Serial Port+Monitor:
6D 6F 64 3D 68 0D 0A 67 65 74 0D 0A 20 33 35 2E mod=h..get.. 35.
34 38 25 20 20 20 20 32 31 2E 31 32 43 0D 0D 0A 48% 21.12C...
6D 6F 64 3D 64 0D 0A 67 65 74 0D 0A 20 20 35 2E mod=d..get.. 5.
32 37 43 20 20 20 20 32 31 2E 31 32 43 0D 0D 0A 27C 21.12C...
also anscheinend ist der Befehl da jeweils dann auch nochmal drin. Wie krieg ich des jetzt hin des es hinhaut und ich nur die Messwerte erhalte?
Ich hab schon versucht ein paar VISA-Reads hintereinander zusetzten, in der Hoffnung, dass in einem des richtige steht, aber irgendwie klappt das so nicht...
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
ah, wenn ich 3 mal visa read einbaue, im dritten steht es dann - kann ich das irgendwie umgehen, oder muss ich echt drei verwenden?
Последний раз редактировалось Andband 03 ноя 2009, 16:59, всего редактировалось 2 раза.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
Schön, du kommst schon selber drauf
Um den Code zu sparen kannst du z.B. eine For-Schleife mit drei Schritten verwenden oder auch ein SubVI machen, das 3xRead beinhaltet.
Um den Code zu sparen kannst du z.B. eine For-Schleife mit drei Schritten verwenden oder auch ein SubVI machen, das 3xRead beinhaltet.
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
hm, ich hab mal aus Neugierde probiert den Buffer von den beiden Reads davor runter zusetzten (von 20 auf 5) - dann geht es wieder nicht mehr, dann wird mal wieder nur get oder mod=h angezeigt in dem Fenster in dem vorhin die Messwerte standen. Warum ist das so? Wird alles was nicht angezeigt werden kann, weil der Anzeigebuffer zu klein ist irgendwie in einem internen Buffer behalten und dann beim naechsten mal auslesen zuerst angezeigt? Wenn dem so ist, warum wird dann nicht alles angezeigt, also get, mod=h und die Messdaten... 100 bytes waeren dafuer auf jeden Fall genug...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
Das VISA Read bricht das Lesen dann ab, wenn (oder verknüpft):
- Timeout aufgetreten ist (Konfigurierbar beim Initialisieren von VISA, default 10 Sekunden)
- Anzahl Bytes erreicht ist (Byte Count Parameter beim VISA Read, vorausgesetzt)
- Termination Character gelesen wurde (Konfigurierbar beim Initialisieren von VISA, default Zeilenumbruch)
- Timeout aufgetreten ist (Konfigurierbar beim Initialisieren von VISA, default 10 Sekunden)
- Anzahl Bytes erreicht ist (Byte Count Parameter beim VISA Read, vorausgesetzt)
- Termination Character gelesen wurde (Konfigurierbar beim Initialisieren von VISA, default Zeilenumbruch)
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
ok, das get-VI scheint zu funkionieren nur der Befehl mod=h bzw. mod=d wird irgendwie nicht uebertragen, es hat keine Konsequenz ihn zu senden meine ich damit - Das Umstellen des Modus mit Hyperterminal klappt dagegen...
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
Ok, ich hab dieses Projekt jetzt wieder aufgenommen. Ich hab das mit egs Hilfe erstellte serielles-Lesen programm jetzt einfach im Programm parallel zu meinem Hauptprogramm reingebaut.
Wenn ich mit Play das Hauptprogramm starte, beginnt dieses, nachdem man in einem Dialog seine Speicherdatei ausgewaehlt hat, sofort Daten aufzuzeichnen. Das Initialisieren und Auslesen der seriellen Schnittstelle dauert etwas laenger. Darueber hinaus dauert es natuerlich auch laenger, die seriellen Werte zu erhalten, als die von der internen PCI-Messkarte.
Wenn ich jetzt mittels Kabeln einfach die Werte von der "seriellen Auslese"-Schleife an meine normale "in Datei schreiben"-Schleife uebergebe wuerde mein - leider nur gering vorhandenes - Programmverstaendnis mir sagen, dass diese "in Datei schreiben"-Schleife jedes mal warten wird, bis alle Werte angekommen sind (sowohl die von der Messkarte, als auch die von der seriellen Ausleseroutine).
Das wiederum wuerde dazu fuehren dass die serielle Routine das Schreiben in die Datei verlzoegert.
Was muss ich machen, dass die "in Datei schreiben"-Schleife" nicht auf neue Werte von der seriellen Routine wartet, sondern einfach immer den zuletzt erhaltenen Wert nimmt? Irgendwie mit einer Queue arbeiten? Wie ? :)
Wenn ich mit Play das Hauptprogramm starte, beginnt dieses, nachdem man in einem Dialog seine Speicherdatei ausgewaehlt hat, sofort Daten aufzuzeichnen. Das Initialisieren und Auslesen der seriellen Schnittstelle dauert etwas laenger. Darueber hinaus dauert es natuerlich auch laenger, die seriellen Werte zu erhalten, als die von der internen PCI-Messkarte.
Wenn ich jetzt mittels Kabeln einfach die Werte von der "seriellen Auslese"-Schleife an meine normale "in Datei schreiben"-Schleife uebergebe wuerde mein - leider nur gering vorhandenes - Programmverstaendnis mir sagen, dass diese "in Datei schreiben"-Schleife jedes mal warten wird, bis alle Werte angekommen sind (sowohl die von der Messkarte, als auch die von der seriellen Ausleseroutine).
Das wiederum wuerde dazu fuehren dass die serielle Routine das Schreiben in die Datei verlzoegert.
Was muss ich machen, dass die "in Datei schreiben"-Schleife" nicht auf neue Werte von der seriellen Routine wartet, sondern einfach immer den zuletzt erhaltenen Wert nimmt? Irgendwie mit einer Queue arbeiten? Wie ? :)
-
- interested
- Сообщения: 2
- Зарегистрирован: 20 дек 2009, 23:03
- Версия LabVIEW: 2009
- Контактная информация:
Serielle Schnittstelle - 5 Temperatur-Sensoren
ich habe 5 verschiedene Sensoren, die an einer Board angeschlossen sind, die Übertragung folgt über
die Serielle Schnittstelle, da ich neu Anfänger bin, fällt mir die Sache Schwer zu sein!
könntet ihr bitte mir helfen, wenn es möglich auch einen fertigen Labviewprogramm zu schicken.
Also ich muss für alle Sensoren die Temperatur an Frontpanell anzeigen, und wenn es möglich mit einer Graph dargestellt
ich bedanke mich im voraus
die Serielle Schnittstelle, da ich neu Anfänger bin, fällt mir die Sache Schwer zu sein!
könntet ihr bitte mir helfen, wenn es möglich auch einen fertigen Labviewprogramm zu schicken.
Also ich muss für alle Sensoren die Temperatur an Frontpanell anzeigen, und wenn es möglich mit einer Graph dargestellt
ich bedanke mich im voraus
-
- interested
- Сообщения: 2
- Зарегистрирован: 20 дек 2009, 23:03
- Версия LabVIEW: 2009
- Контактная информация:
Temperaturmessung in Labview
Serielle Schnittstelle - 5 Temperatur-Sensoren
ich habe 5 verschiedene Sensoren, die an einer Board angeschlossen sind, die Übertragung folgt über
die Serielle Schnittstelle, da ich neu Anfänger bin, fällt mir die Sache Schwer zu sein!
könntet ihr bitte mir helfen, wenn es möglich auch einen fertigen Labviewprogramm zu schicken.
Also ich muss für alle Sensoren die Temperatur an Frontpanell anzeigen, und wenn es möglich mit einer Graph dargestellt
ich bedanke mich im voraus
ich habe 5 verschiedene Sensoren, die an einer Board angeschlossen sind, die Übertragung folgt über
die Serielle Schnittstelle, da ich neu Anfänger bin, fällt mir die Sache Schwer zu sein!
könntet ihr bitte mir helfen, wenn es möglich auch einen fertigen Labviewprogramm zu schicken.
Also ich muss für alle Sensoren die Temperatur an Frontpanell anzeigen, und wenn es möglich mit einer Graph dargestellt
ich bedanke mich im voraus
-
- assistant
- Сообщения: 132
- Зарегистрирован: 26 окт 2009, 23:05
- Версия LabVIEW: 7.1
- Контактная информация:
Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger
Mit "Boad" meinst du einen Controller? Diesen schließt du dann an den Computer an?
Mach das selbe was EG zu mir gesagt hat und verwende erstmal Hyperterminal um zu sehen was der Controller ausspuckt (les dir den Thread mal durch, EG beschreibt wie das geht) - dann kann man weitersehen.
Mach das selbe was EG zu mir gesagt hat und verwende erstmal Hyperterminal um zu sehen was der Controller ausspuckt (les dir den Thread mal durch, EG beschreibt wie das geht) - dann kann man weitersehen.