Serielle Schnittstelle - Buffer? Absoluter Anfaenger

VISA, TCP/IP, CAN und ähnliche Protokolle
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Eugen Graf »

Nein, nur um die Case-Struktur. Schalte doch mal die gelbe Lampe (Highlighting Mode) ein, dann siehst du warum es nicht geht.
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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...
Вложения
sensirion7_mod2.jpg
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Eugen Graf »

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%.
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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...
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Eugen Graf »

Schön, du kommst schon selber drauf :super:
Um den Code zu sparen kannst du z.B. eine For-Schleife mit drei Schritten verwenden oder auch ein SubVI machen, das 3xRead beinhaltet.
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Eugen Graf »

Das :vi: 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)
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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...
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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 ? :)
simsima
interested
interested
Сообщения: 2
Зарегистрирован: 20 дек 2009, 23:03
Версия LabVIEW: 2009
Контактная информация:

Serielle Schnittstelle - 5 Temperatur-Sensoren

Сообщение simsima »

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 :help:
ich bedanke mich im voraus
simsima
interested
interested
Сообщения: 2
Зарегистрирован: 20 дек 2009, 23:03
Версия LabVIEW: 2009
Контактная информация:

Temperaturmessung in Labview

Сообщение simsima »

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 :help:
ich bedanke mich im voraus
Andband
assistant
assistant
Сообщения: 132
Зарегистрирован: 26 окт 2009, 23:05
Версия LabVIEW: 7.1
Контактная информация:

Re: Serielle Schnittstelle - Buffer? Absoluter Anfaenger

Сообщение Andband »

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.
Ответить

Вернуться в «Kommunikation mit Geräten»