20.01.2010, 06:33
Beitrag #1
|
|
|
20.01.2010, 07:35
(Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2010 08:20 von Y-P.)
Beitrag #2
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Kommunikation über RS232 mit ELM327
Hast Du auch das Trennzeichen verwendet, das Dein Gerät möchte, also z.B. ein Carriage Return,...?
Du kannst ja mal genau schauen, was Dein Hyperterminal sendet (HEX-mäßig), dann siehst Du anhand einer ASCII-Tabelle gleich, was für ein Trennzeichen Du hast und ob Du Deinen Befehl überhaupt richtig schickst.
Gruß Markus
EDIT: Ich ändere Dir mal den Thementitel von RS323 in RS232. Das tut mir in den Augen weh.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
20.01.2010, 09:44
Beitrag #3
|
|
|
20.01.2010, 10:15
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Kommunikation über RS232 mit ELM327
Schließe den korrekten Buchstaben am VISA-Config an. LabVIEW-Standard ist <LF> (= 0xA), Carriage Return ist aber 0xD:
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.
|
|
|
20.01.2010, 13:12
Beitrag #5
|
|
|
20.01.2010, 13:31
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Kommunikation über RS232 mit ELM327
Wenn du den TerminationChar im VISA Config aktiviert hast, dann brauchst du den beim Senden einen Befehls nicht selber zum zu sendenden String hinzufügen. Das macht VISA für dich.
Wenn die Antworten ebenfalls immer mit einem <CR> abgeschlossen sind, dann kannst du beim READ-Befehl bei Read-Count auch einfach eine sehr große Zahl anschließen (z.B. 1000), VISA-Read liest dann einen String ein, bis es den TerminationChar entdeckt.
Weitere Tests: Wenn der Bytes at Port 5 liefert, wieso liest du dann 4 Zeichen ein? Und wenn du aktuell mehrere Lesevorgänge in eine Schleife gepackt hast, dann lass dir alle ausgelesenen String in einem Array anzeigen, nicht nur den letzten. Du weißt aktuell gar nicht, was bei den ersten Lesevorgängen raus gekommen ist.
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.
|
|
|
20.01.2010, 14:06
Beitrag #7
|
|
|
20.01.2010, 14:09
(Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2010 14:30 von pgl_bear.)
Beitrag #8
|
pgl_bear
LVF-Gelegenheitsschreiber
Beiträge: 50
Registriert seit: Jul 2008
7.1
2005
de
72127
Deutschland
|
Kommunikation über RS232 mit ELM327
ach so und wenn ich die 4 (Anzahl Bytes zu lesen) auf 20, 30 oder mehr setze dann ist das Array komplett leer.
Das ELM habe ich auch gefunden, es ist in der Zelle über 327 aber mir einem CR davor, deshalb sieht man es nicht.
Wie auch immer, da sind zu viele CR dazwischen, es muss wahrscheinlich ein Überbleibsel vom Senden sein
und so oder so ist es keine Lösung, weil atz nur ein Befehl ist und ich muss alle Befehle mit unterschiedlichen Antworten behandeln können
|
|
|
21.01.2010, 07:29
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Kommunikation über RS232 mit ELM327
Mach' mal was Jens schon gesagt hat und lass' das Carriage Return an Deinem Befehl oder das Carriage Return an Deinem Konfigurationseingang weg.
Doppelt macht keinen Sinn und kann zu Problemen führen. Wenn das nicht hilft, dann sag' nochmal genau, was nicht passt.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
| |