!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Serielle Schnittstelle Strings auslesen
30.09.2011, 09:23
Beitrag #1

bmtil Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Sep 2011

LV-Version: 2011 (32bit)
LV-Erfahrung seit: 2011
LV-Sprachversion: DE_EN


Land: Deutschland
Serielle Schnittstelle Strings auslesen
Guten Tag,
Ich studiere Biomedizinische Technik in Ilmenau und mache gerade im Raum meines Fachpraktikums erste Gehversuche mit LabView.
Habe bis jetzt den µC soweit programmiert dass er mir zwei Temperaturwerte rausgibt per RS232.
Das direkte rauslesen dieser Schnittstelle in LaBView habe ich hinbekommen. Nun, da die beiden Werte auf einem Port liegen muss ich diese in LabView unterscheiden können.
Mit meinem Wert war es kein Problem mir da ein kleines Programm mit rauslesen des Wertes, Graph zeichnen usw. zu erstellen.
Mit zwei Werte kriege ich das nicht hin. Meine Idee ist es mit einer Case - Struktur das zu realisieren. Das heisst wenn ein Wert des Referenzsensors kommt soll die VI das auf der Referenzanzeige anzeigen und wenn dann anderer Sensorwert (Kammer) ankommt dann eben den Wert auf der anderen Anzeige zeigen.
Eigentlich duerfte es recht einfach funktionieren, man vergleicht einfach nur den Stringanfang, steht da am Anfang "ref", dann ist der Case "true" und der Wert geht auf die Referenzanzeige, steht am Stringanfang "kamm" dann den Wert auf die Kammeranzeige.
Nur das zu realisieren kriege ich irgendwie nicht hin, seit gut 2h ^^.

Wäre schön wenn jemand mir da unter die Arme greifen könnte.
Mit freundlichen Grüßen und vielen Dank.

PS. im Anhang ist die bereits stehende VI.
11.0 .vi  thermometer.vi (Größe: 28,87 KB / Downloads: 95)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
30.09.2011, 09:36
Beitrag #2

brainfreeze Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: Aug 2011

LV-Version: 11
LV-Erfahrung seit: 2010
LV-Sprachversion: EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
Also ich hoffmal dass ich dein Problem richtig vewrstanden hab Wink

wenns das war, den true/false case zu definieren,
sollte dashier funktionieren:


Angehängte Datei(en)
11.0 .vi  thermometer2 bf.vi (Größe: 33,75 KB / Downloads: 92)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2011, 09:48 (Dieser Beitrag wurde zuletzt bearbeitet: 30.09.2011 09:55 von bmtil.)
Beitrag #3

bmtil Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Sep 2011

LV-Version: 2011 (32bit)
LV-Erfahrung seit: 2011
LV-Sprachversion: DE_EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
So ziemlich genau das ist es was ich brauche.
Das Problem ist wie definiere ich den anderen Fall?
Also da muss halt ein zweiter Vergleich hin, aber die case Struktur hat ja nur einen Eingang.
In C wäre das was ich brauche eine "if-else" Bedienung. Die Case Struktur ist ja sowas ähnliches.
Pseudocode wäre halt so:
"Bekomme "ref" schalte auf True case,
Bekomme "kam" schalte auf False case."
In deiner Lösung ist ja nur der True Case abgehandelt und eben der zweite Vergleich fehlt.
Dann baut man sich wahrscheinlich nochmal genau so einen Vergleich hin, und nun muss man die ja nur mit irgendeinem Element (der die Vergleiche unterscheidet) verdrahten, der dann in die Case Struktur reingeht.

Aber das bringt mich schonmal viel weiter, danke.

PS: das was ich meine der fehlende Operator ist doch ein einfaches "Oder" oder etwa nicht?
(Meine Fresse bin ich heute wortarm).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2011, 09:52
Beitrag #4

brainfreeze Offline
LVF-Grünschnabel
*


Beiträge: 36
Registriert seit: Aug 2011

LV-Version: 11
LV-Erfahrung seit: 2010
LV-Sprachversion: EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
Die frage ist jetzt: brauchst du das? sprich: gibt es noch einen dritten Fall?
Wenn nicht dann ist "kam" = "nicht ref" -> eine casestruktur würde reichen.

Wenn dus mit "if else" machen willst wäre das in LabVIEW übersetzt eine zweite case-Struktur
innerhalb des false-cases (der momentan bei dir leer ist)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.09.2011, 10:07
Beitrag #5

bmtil Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Sep 2011

LV-Version: 2011 (32bit)
LV-Erfahrung seit: 2011
LV-Sprachversion: DE_EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
Nein, einen dritten Fall gibt es nicht.
Gut ich versuche es also weiter mit einem Vergleicher.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2011, 07:27 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2011 07:30 von bmtil.)
Beitrag #6

bmtil Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Sep 2011

LV-Version: 2011 (32bit)
LV-Erfahrung seit: 2011
LV-Sprachversion: DE_EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
Entschuldigung für den Doppelpost.
Irgendwie funktioniert die Datenerfassung nicht so wie ich es mir überlegt hab. Wie gesagt wenn ich nur einen LM35 auslesen möchte über die serielle Schnitstelle dann klappt es.
Bei zwei Sensoren (später kommen noch weitere dazu) klappt es nicht. Es liegt daran dass über die RS232 Schnittstelle im Endeffekt ein großer Datenstrom ankommt und LabView weiss nicht welcher Teil des Datenstroms zu welchem Sensor gehört. Im C Programm mit der UART hab ich das so geloest dass nach jedem Auslesen eines ADC Kanals ein Zeilenumbruch kommt. Also quasi: RefWert Zeilenumbruch, KamWert Zeilenumbruch, IrgendwasWert Zeilenumbruch, usw.
Wie kann ich also LabView klarmachen dass RefWert am Analog Digital Port Pin 0 hängt, KamWert am Analag Digital Port Pin 1 hängt, und dann eben wietere noch dazukommende Daten an den Pins 2-7 hängen? Das Programm muss am Ende so aussehen dass ich das eben um 6 weitere "Kanäle" erweitern kann (also in der Case Struktur insgesamt 8 Fälle, wie ich die Anzahl der Fälle erhöhen kann weiss ich).
Achja, die Darstellung der Werte muss parallel erfolgen, also For-Struktur würde nich geeignet sein bei der Endlösung.
Ich bin für jede Hilfe dankbar.
Grüße.

PS. hab ein kleines Blockdiagramm zum besseren Verständnis meines Problems angehangen.    
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
04.10.2011, 08:19
Beitrag #7

jg Offline
Titel: Ja, hab ich..
LVF-Team

Beiträge: 9.940
Registriert seit: Jun 2005

LV-Version: 20xx / 8.x
LV-Erfahrung seit: 1999
LV-Sprachversion: EN

PLZ: 974xx
Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
Was meinst du mit Pin 0 bis Pin 7? Willst du verschiedene RxD/TxD auf die verschiedenen Pins der RS-232 legen?
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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2011, 08:26 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2011 08:28 von Y-P.)
Beitrag #8

Y-P Offline
- - - - -
LVF-Team

Beiträge: 10.486
Registriert seit: Feb 2006

LV-Version: Developer Suite Core -> LabVIEW 2011 Prof. (f2)
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 71083
Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
O Blink Big Grin

Hast Du schon mal nach dem Begriff gegoogelt?

Gruß Markus

(04.10.2011 07:27 )bmtil schrieb:  würde nich geeignet sein bei der Endlösung.

Bitte immer das Profil aktualisieren und bei den hochgeladenen VIs die LabVIEW-Version angeben!!!
----------------------------------------------------------------------------------------------------------------------------------------------
Link zu einem kostenlosen Online Fußballmanager! (2minman)
----------------------------------------------------------------------------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
----------------------------------------------------------------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2011, 08:42 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2011 08:44 von bmtil.)
Beitrag #9

bmtil Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Sep 2011

LV-Version: 2011 (32bit)
LV-Erfahrung seit: 2011
LV-Sprachversion: DE_EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
(04.10.2011 08:19 )jg schrieb:  Was meinst du mit Pin 0 bis Pin 7? Willst du verschiedene RxD/TxD auf die verschiedenen Pins der RS-232 legen?
Gruß, Jens

Nein, natürlich nicht. Damit meine ich dass der integrierter ADC an meinem AtMega16 8 Eingänge hat, die ich alle separat auslesen möchte.

Oh, "Endlösung", ist irgendwie übler Begriff. Gott, wie peinlich, aber mein Wortschatz wird gerade durch das Problem blockiert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.10.2011, 11:06 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2011 11:11 von bmtil.)
Beitrag #10

bmtil Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 67
Registriert seit: Sep 2011

LV-Version: 2011 (32bit)
LV-Erfahrung seit: 2011
LV-Sprachversion: DE_EN


Land: Deutschland
RE: Serielle Schnittstelle Strings auslesen
Und nochmals Entschuldigung für den Doppelpost.
Habe das Problem mittlerweile erkannt.
Es geht im Endeffekt darum dass ich meine RS232 Schnittstelle (die ja einen kontinuirlichen Datenstrom sendet) zeilenweise auslesen möchte.
Zum Beispiel:
Erste Zeile: Wert des Refernzsensors-->dieser wird im ersten Fall der Casestruktur verarbeitet
Zweite Zeile: Wert des Kammersensors-->dieser wird im zweiten Fall der Casestruktur verarbeitet
Dritte Zeile: Wert eines weiteren Sensors-->dieser wird im dritten Fall der Casestruktur behandelt
usw.
Im Hterminal werden mir ja die ersten zwei Zeilen angezeigt nur eben das Auslesen über LabView funktioniert nicht.
Hiernochmal meine VI angehangen, wegen "Zwischenstandinformation" Blink


Angehängte Datei(en)
11.0 .vi  datenauslesen.vi (Größe: 13,76 KB / Downloads: 69)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VISA serielle Schnittstelle byteweise schreiben BRunner77 1 62 Gestern 20:27
Letzter Beitrag: GerdW
  Problem: serielle Schnittstelle und Trockenschrank Fredy 17 2.776 05.03.2012 19:00
Letzter Beitrag: frehdie
  Über serielle Schnittstelle TTL Telegramm auslesen sommerdecke 5 717 28.02.2012 09:00
Letzter Beitrag: GerdW
  Serielle Schnittstelle reagiert viel zu lahm bmtil 5 664 12.10.2011 07:15
Letzter Beitrag: bmtil
  Ahlborn Almemo Kommunikationsprobleme, serielle Schnittstelle taichi 4 1.362 26.07.2011 08:16
Letzter Beitrag: taichi
  Visa schreiben über serielle und GPIB Schnittstelle Matthias22 14 2.614 22.11.2010 20:06
Letzter Beitrag: jg

Gehe zu: