INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Serielle Kommunikation



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.07.2010, 15:54
Beitrag #1

labuser2010 Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2010

LabVIEW 2009
-
de

26731
Deutschland
Serielle Kommunikation
Ich habe eine Schaltung zur Datenerfassung zusammengefügt.

Ein Mikrocontrollerprogramm schickt immer wieder bytes über die serielle schnittstelle. über terminalprogramme wie putty kann man die bytes auch beobachten. also das sollte gehen.

nur in LabVIEW bricht der Datenempfang immer wieder ab. ich weiß nicht warum.

Als Fehler wird immer ausgegeben:

fehler in xxxx.vi

xxxx name meiner Schaltung. kann aber nicht genau feststellen wann und wo der auftritt.


Vielleicht wisst ihr ja woran es liegen könnte.

Ich möchte dass alle Bytes aufgenommen werden und dann nach einer verarbeitung angezeigt werden.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.07.2010, 16:04
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Serielle Kommunikation
Hi!
Welche bytes? Was ist mit dem Abschlusszeichen?

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.07.2010, 18:27
Beitrag #3

labuser2010 Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2010

LabVIEW 2009
-
de

26731
Deutschland
Serielle Kommunikation
' schrieb:Hi!
Welche bytes? Was ist mit dem Abschlusszeichen?

habe ich schon probiert. also schon mehrere ausprobiert. bei 8 Bit können es ja nur werte zwischen 0 und 255 sein. hatte die mal variable geändert.hat aber keinen erfolg gebracht
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.07.2010, 19:20
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Serielle Kommunikation
@labuser2010:
Rulezhttp://www.LabVIEWforum.de/index.php?act=boardrules
Beiträge im SMS-Stil ohne Punkt, Komma, und (fast) alles klein geschrieben ist hier im LVF nicht gerne gesehen.

Zu deiner Frage: Vielleicht solltest du mal den TerminationChar bei der Schnittstellen Kommunikation auf FALSE stellen? Nur so eine Idee.

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2010, 08:49
Beitrag #5

labuser2010 Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2010

LabVIEW 2009
-
de

26731
Deutschland
Serielle Kommunikation
Habe das mit dem "Termination Char" probiert. Dies brachte aber meines Erachtens keinen Unterschied.

Was könnte es noch sein?

Trotzdem vielen Dank schonmal!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2010, 11:35
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Serielle Kommunikation
' schrieb:Als Fehler wird immer ausgegeben:

fehler in xxxx.vi
Ist die Fehlermeldung von LabVIEW wirklich so unspezifisch? Oder ist die ausführlicher, dann her damit.

' schrieb:Habe das mit dem "Termination Char" probiert. Dies brachte aber meines Erachtens keinen Unterschied.
Schön, dass du einen Screenshot vom Configure-VI hochlädst. Hast du jetzt am Eingang des Configure-VI ein FALSE angeschlossen?

Dann noch was anderes:
Du wertest grundsätzlich nur die ersten 4 Bytes deines empfangenen Strings aus. Soll das wirklich so sein?

Gruß, Jens

P.S.: Vielleicht mal VI hochladen und den empfangen String als HEX-Code. Dann noch Hintergrund-Infos, was rauskommen soll.

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.07.2010, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2010 12:28 von jg.)
Beitrag #7

labuser2010 Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Jun 2010

LabVIEW 2009
-
de

26731
Deutschland
Serielle Kommunikation
So ich gebe das Ganze jetzt als Anhang bei.

Über den Bus kommen die Bytes an. Dann sollen diese darauf überprüft werden, ob ihr MSB == 1 ist.
Wenn dies der Fall ist, soll das aktuelle Byte und die nächsten drei folgenden Bytes verarbeitet werden. Diese werden dann zusammengefügt und in zwei Signalverlaufsdiagrammen ausgegeben.

Das Ganze soll nach Möglichkeit kontinuierlich erfolgen.

Nun ist es momentan so, dass die Verbindung immer nach ein paar richtigen Werten abbricht. Der Kontrolltext gibt die richtigen Werte aus. Diese werden allerdings auch noch nicht richtig verarbeitet. Was das nächste Problem ist.


Zum Test werden immer Folgende 4 Bytes übertragen.

0X87 -> Wert1
0X7F -> Wert2
0X6D -> Wert3
0X66 -> Wert4


Nach der Umrechnung sollte ADC1 = FFF und ADC2 = 6E6 sein.




Vielen dank schon mal!
Lv09_img2
Sonstige .vi  SeriellPC1_VISA0907.vi (Größe: 25,75 KB / Downloads: 266)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2010, 13:43 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2010 13:54 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Serielle Kommunikation
Hallo labuser,

"Diese werden allerdings auch noch nicht richtig verarbeitet."
Wir hatten hier doch schon mal einen Thread, wo wir genau diese Auswertung schon mal durchgekaut hatten, oder?
Edit: Nachdem ich meinen Beitrag aus jenem Thread nochmal durchgeschaut habe und mit den jetzt vorhandenen Beispiel-Werte gefüttert habe, kann ich dir sagen, das der eine Faktor von 64 auf 128 geändert werden muss. Aber da du ja eh selbst testen solltest, war dir das sicher schon aufgefallen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.07.2010, 14:47 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2010 14:48 von Y-P.)
Beitrag #9

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Serielle Kommunikation
Bitte LabVIEW-Version des hochgeladenen VIs mit angeben! (LVF-Regeln Rulez)
Kann es sein, dass Du schon LabVIEW 2009 hast? Dann bitte auch im Profil_ergaenzen!

Gruß Markus

' schrieb:So ich gebe das Ganze jetzt als Anhang bei.

Über den Bus kommen die Bytes an. Dann sollen diese darauf überprüft werden, ob ihr MSB == 1 ist.
Wenn dies der Fall ist, soll das aktuelle Byte und die nächsten drei folgenden Bytes verarbeitet werden. Diese werden dann zusammengefügt und in zwei Signalverlaufsdiagrammen ausgegeben.

Das Ganze soll nach Möglichkeit kontinuierlich erfolgen.

Nun ist es momentan so, dass die Verbindung immer nach ein paar richtigen Werten abbricht. Der Kontrolltext gibt die richtigen Werte aus. Diese werden allerdings auch noch nicht richtig verarbeitet. Was das nächste Problem ist.
Zum Test werden immer Folgende 4 Bytes übertragen.

0X87 -> Wert1
0X7F -> Wert2
0X6D -> Wert3
0X66 -> Wert4
Nach der Umrechnung sollte ADC1 = FFF und ADC2 = 6E6 sein.
Vielen dank schon mal![attachment=56482:SeriellPC1_VISA0907.vi]

--------------------------------------------------------------------------
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
09.07.2010, 19:26
Beitrag #10

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Serielle Kommunikation
Man sollte nicht nur alles irgendwie lesen und dann irgendwie verarbeiten. Zuerst sollte man verstehen, was das ganze soll.
Deine Kommunikation ist binär, und nicht ASCII, das spielt eine große Rolle. Bei binären Protokollen schaltet man normalerweise das Abschlusszeichen ab, weil es normalerweise keinen Abschluss am Ende des Pakets gibt (wie bei ASCII das Zeilenende), sondern ein Syncbyte am Anfang des Pakets.
Am einfachsten Stellt man sich Schritt für Schritt den Ablauf vor. Zuerst also ein Byte lesen und schauen, ob es den Anforderungen entspricht (in deinem Fall, laut deiner Beschreibung ist es ein Byte, in dem MSB gleich 1 sein soll). Wenn es stimmt, dann liest du drei weitere Bytes und hast somit deine 4 Bytes zur Umwandlung in Daten. Wenn es nun nicht der Fall ist, dann nichts weiter machen und von Anfang gehen.
Die Wartezeit sollte man am besten auch entfernen, weil VISA Read automatisch solange warten wird, bis etwas da ist und deine Schleife in dieser Zeit sowieso steht. Ansonsten kann es zum Pufferüberlauf kommen.

Webseite des Benutzers besuchen 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
  Arduino Mega 2560 Serielle Kommunikation RX/TX 1-3 NISI 0 6.659 05.05.2014 14:56
Letzter Beitrag: NISI
  Serielle Kommunikation joachim3 4 4.936 24.01.2014 08:42
Letzter Beitrag: Y-P
  Serielle Kommunikation NuDAM USB->RS485-DAQ trestann 8 9.421 22.11.2013 10:45
Letzter Beitrag: jg
  Serielle Kommunikation Labviewnoob2000 13 11.316 10.09.2013 15:10
Letzter Beitrag: jg
  serielle Kommunikation mit NI-VISA Peitsche 3 6.464 02.08.2013 11:39
Letzter Beitrag: GerdW
  Pyrometer Serielle Kommunikation squavel 4 6.491 12.01.2013 17:23
Letzter Beitrag: squavel

Gehe zu: