27.08.2009, 15:53
Hallo Zusammen,
ich habe ein kleines Problem mit meinem Lambda-Meter LA4 von ETAS.
Ich bekomme einfach die Kommunikation mit meinem Mess-PC nicht hin.
Ich hänge mal die Informationen aus dem User-Guide an:
_______________________________________
6.3Kurzbeschreibung Serieller Meß-Bus (SMB)
Über den seriellen Meßbus können bis zu 16 Meßmodule an die serielle
Schnittstelle eines PCs angeschlossen werden. Die Übertragungsrate beträgt
38.400 Baud und es wird das Format 1 Startbit, 8 Datenbits, 1 Stopbit, keine
Parität benutzt.
Die Kommunikation wird immer vom PC eingeleitet. Jede Nachricht enthält die
Adresse des anzusprechenden Meßmoduls und den Befehlscode. Alle angeschlossenen
Meßmodule prüfen diese Anforderung d.h. sie dekodieren diese
und vergleichen den Adressteil mit der am jeweiligen Modul eingestelltenModuladresse. Nur das selektierte Modul verarbeitet die Nachricht, alle anderen
ignorieren die Nachricht. Die Verarbeitung der Kommandos ist modulspezifisch
definiert.
6.3.1Anforderung PC ⇒ Lambda Meter:
Jede Nachricht ist 1 Byte lang. Sie besteht aus Adreßteil für das anzusprechende
Modul und einem Kommandoteil für den modulspezifischen Kommandocode
von jeweils 4 Bit.
Jede Moduladresse (0 bis F) darf nur einmal vorkommen.
6.3.2Antwort Lambda Meter ⇒ PC:
Die vom Modul gesendete Information enthält keine Angaben über ihren Aufbau
und ihre Normierung. Es wird nach Anfrage immer nur 1 Byte, <CR> und
<LF> an den PC übertragen.
Der PC muß immer zuerst das HIGH-Byte und dann das zugehörige LOW-Byte
abfragen. Das LOW-Byte ist erst nach Abfrage des HIGH-Byte gültig!
6.3.3Codetabelle Lambda Meter
Bei Abfrage des PC über folgende Codes sendet das Lambda Meter maximal
1 Byte, das folgende Informationen enthält:
Code Beschreibung Wertebereich und
Umrechnungsvorschrift:
0 reserviert, exit aus Testmodus
1 LA4 sendet λ-Wert in 8 Bit-
Darstellung
0,744 ≤ λ ≤ 1,746
2 LA4 sendet High-Byte des
λ-Wertes in 16 Bit-Darstellung
0,7 ≤ λ ≤ 32,767
3 LA4 sendet Low-Byte des
λ-Wertes in 16 Bit-Darstellung
4 LA4 sendet High-Byte des
Ri-Wertes in 16 Bit-Darstellung
0,0 ≤ Ri ≤ 250,0 Ω
5 LA4 sendet Low-Byte des
Ri-Wertes in 16 Bit-Darstellung
6 LA4 sendet High-Byte des
O2-Wertes in 16 Bit-Darstellung
0,0 ≤ O2 ≤ 24,41 %
7 LA4 sendet Low-Byte des
O2-Wertes in 16 Bit-Darstellung
8 LA4 sendet High-Byte des
A/F-Wertes in 16 Bit-Darstellung
10,29 ≤ A/F ≤ 327,67
9 LA4 sendet Low-Byte des
A/F-Wertes in 16 Bit-Darstellung
ah LA4 sendet High-Byte des
internen Statuswertes (16 Bit)
noch nicht definiert
bh LA4 sendet Low-Byte des
internen Statuswertes (16 Bit)
noch nicht definiert
ch LA4 sendet High-Byte des IP
Wertes (16 Bit)
3 mA ≤ IP ≤ 3 mA
dh LA4 sendet Low-Byte des IP
Wertes (16 Bit)
eh reserviert, Testmodus noch nicht definiert
fh reserviert, Umschaltung in
Testmodus
_________________________________ (die Umrechnungsvorschriften habe ich weggelassen, die Endwerte werden jeweils durch Verrechnung des high- und des low-wertes bestimmt)
Außer diesen Informationen, dem Gerät mit Lambda-Sonde und einem RS232-auf-USB-Adapter habe ich nichts. VISA erkennt den Adapter, es passiert jedoch nichts.
Zunächsteinmal möchte ich den Sauerstoffgehalt messen. Was muss ich als Schreibpuffer in "Visa: Schreiben" eintragen? Die andern Messgrößen sind ja analog erhebbar.
Ich danke euch schonmal für eure Hilfe.
(Anbei findet ihr meinen ersten Ansatz, erstellt mit LabVIEW 8.6)
ich habe ein kleines Problem mit meinem Lambda-Meter LA4 von ETAS.
Ich bekomme einfach die Kommunikation mit meinem Mess-PC nicht hin.
Ich hänge mal die Informationen aus dem User-Guide an:
_______________________________________
6.3Kurzbeschreibung Serieller Meß-Bus (SMB)
Über den seriellen Meßbus können bis zu 16 Meßmodule an die serielle
Schnittstelle eines PCs angeschlossen werden. Die Übertragungsrate beträgt
38.400 Baud und es wird das Format 1 Startbit, 8 Datenbits, 1 Stopbit, keine
Parität benutzt.
Die Kommunikation wird immer vom PC eingeleitet. Jede Nachricht enthält die
Adresse des anzusprechenden Meßmoduls und den Befehlscode. Alle angeschlossenen
Meßmodule prüfen diese Anforderung d.h. sie dekodieren diese
und vergleichen den Adressteil mit der am jeweiligen Modul eingestelltenModuladresse. Nur das selektierte Modul verarbeitet die Nachricht, alle anderen
ignorieren die Nachricht. Die Verarbeitung der Kommandos ist modulspezifisch
definiert.
6.3.1Anforderung PC ⇒ Lambda Meter:
Jede Nachricht ist 1 Byte lang. Sie besteht aus Adreßteil für das anzusprechende
Modul und einem Kommandoteil für den modulspezifischen Kommandocode
von jeweils 4 Bit.
Jede Moduladresse (0 bis F) darf nur einmal vorkommen.
6.3.2Antwort Lambda Meter ⇒ PC:
Die vom Modul gesendete Information enthält keine Angaben über ihren Aufbau
und ihre Normierung. Es wird nach Anfrage immer nur 1 Byte, <CR> und
<LF> an den PC übertragen.
Der PC muß immer zuerst das HIGH-Byte und dann das zugehörige LOW-Byte
abfragen. Das LOW-Byte ist erst nach Abfrage des HIGH-Byte gültig!
6.3.3Codetabelle Lambda Meter
Bei Abfrage des PC über folgende Codes sendet das Lambda Meter maximal
1 Byte, das folgende Informationen enthält:
Code Beschreibung Wertebereich und
Umrechnungsvorschrift:
0 reserviert, exit aus Testmodus
1 LA4 sendet λ-Wert in 8 Bit-
Darstellung
0,744 ≤ λ ≤ 1,746
2 LA4 sendet High-Byte des
λ-Wertes in 16 Bit-Darstellung
0,7 ≤ λ ≤ 32,767
3 LA4 sendet Low-Byte des
λ-Wertes in 16 Bit-Darstellung
4 LA4 sendet High-Byte des
Ri-Wertes in 16 Bit-Darstellung
0,0 ≤ Ri ≤ 250,0 Ω
5 LA4 sendet Low-Byte des
Ri-Wertes in 16 Bit-Darstellung
6 LA4 sendet High-Byte des
O2-Wertes in 16 Bit-Darstellung
0,0 ≤ O2 ≤ 24,41 %
7 LA4 sendet Low-Byte des
O2-Wertes in 16 Bit-Darstellung
8 LA4 sendet High-Byte des
A/F-Wertes in 16 Bit-Darstellung
10,29 ≤ A/F ≤ 327,67
9 LA4 sendet Low-Byte des
A/F-Wertes in 16 Bit-Darstellung
ah LA4 sendet High-Byte des
internen Statuswertes (16 Bit)
noch nicht definiert
bh LA4 sendet Low-Byte des
internen Statuswertes (16 Bit)
noch nicht definiert
ch LA4 sendet High-Byte des IP
Wertes (16 Bit)
3 mA ≤ IP ≤ 3 mA
dh LA4 sendet Low-Byte des IP
Wertes (16 Bit)
eh reserviert, Testmodus noch nicht definiert
fh reserviert, Umschaltung in
Testmodus
_________________________________ (die Umrechnungsvorschriften habe ich weggelassen, die Endwerte werden jeweils durch Verrechnung des high- und des low-wertes bestimmt)
Außer diesen Informationen, dem Gerät mit Lambda-Sonde und einem RS232-auf-USB-Adapter habe ich nichts. VISA erkennt den Adapter, es passiert jedoch nichts.
Zunächsteinmal möchte ich den Sauerstoffgehalt messen. Was muss ich als Schreibpuffer in "Visa: Schreiben" eintragen? Die andern Messgrößen sind ja analog erhebbar.
Ich danke euch schonmal für eure Hilfe.
(Anbei findet ihr meinen ersten Ansatz, erstellt mit LabVIEW 8.6)