Serielle Schnittstelle auslesen via USB

Gast #2134449
Lesenswert?

Hallo an alle,

Ich habe mal wieder ein großen Problem, zumindest für mich groß.
Und zwar habe ich ein Messgerät welches mir via USB Daten auf den PC 
schickt.
Das Schnittstellenprotokoll habe ich mir schonmal zukommen lassen, von 
dem Hersteller, allerdings ist die mitgelieferte Software einfach nur 
ein grauss...

Naja weiter im Text...

Gibt es eine Möglichkeit direkt, von mir aus in Excel, über VBA die 
Com-Schnittstelle anzusprechen, an der das Messgerät hängt und mir dann 
die Daten alle 5sec in der Excel Tabelle Zeile für Zeile schreibt?

Meine Programmierkenntnisse, was das angeht gehen gegen Null :-( 
Deswegen auch die Frage an euch?! Ist es denn technisch zu realisieren?

Wäre über eine Antwort sehr erfreut.

Mit freundlichen Grüßen
Jonas
Persönliche Seite #2134566
Lesenswert?

Jonas schrieb:
> Ähm USB-Schnittstelle, ich habe gedacht USB schickt auch seriell Daten
> rüber

Tut es zwar, aber dazwischen liegt ein Protokoll, und das wird mit 
Devicetreibern abgehandelt; schließlich können am USB bis zu 127 Geräte 
angeschlossen sein, die Du ganz sicher nicht alle von Excel aus 
ansprechen willst ...

Du musst Dir also ansehen, was für einen Devicetreiber Dein Messgerät 
mit sich bringt, und je nachdem, was das für ein Devicetreiber ist, die 
weitere Vorgehensweise untersuchen.
Gast #2135501
Lesenswert?

Das Messgerät ist ein PeakTech 4390 :-)

Hat einen USB-Anschluss...
Hier ist das Schnittstellenprotokoll von Hersteller dafür:

RS232 Transmission Specification

RS232 transmission format is 14 byte. Its transmission rate is 2400bps. 
The format is as follows

Sing  Data Byte        Space  Point  SB1  SB2  SB3  SB4  BAR  EOF  ENTER
1  2  3  4  5  6  7  8  9  10  11  12  13  14
+/-  X  X  X  X  020H  X  X  X  X  X  X  0DH  00AH

14 byte output code location:
Sing   byte 1  0f0H
Data  byte 2  0f1H
Data   byte 3  0f2H
Data  byte 4  0f3H
Data   byte 5  0f4H
Space   byte 6  0f5H
Point  byte 7  0f6H
SB1   byte 8  0f7H
SB2   Byte 9  0f8H
SB3  Byte 10  0f9H
SB4  Byte 11  0faH
BAR  Byte 12  0fbH
EOF  Byte 13  0fcH
ENTER  Byte 14  0fdH

Sing byte stands for the positive or negative sign of DMM measuring 
signla, and its output code is ASCII code:
Positive (+) :    02BH    Negative (-) :     02DH

Data byte is 4 byte that stands for DMM measured data and its output 
code is ASCII code:
Data byte 2    stands for LCD_1
Data byte 3    stands for LCD_2
Data byte 4    stands for LCD_3
Data byte 5    stands for LCD_4





Point byte stands for the decimal location and its output is HEX code
Point 0  030H  stands for no decimal and LCD shows 0000
Point 1  031H  stands for no decimal and LCD shows 0.000
Point 2  032H  stands for no decimal and LCD shows 00.00
Point 3  033H  stands for no decimal and LCD shows 000.0

SB1 Byte code is as follo (SB1) and its output is HEX code:
Status  Bit 7  Bit 6  Bit 5  Bit 4  Bit 3  Bit 2  Bit 1  Bit 0
0
1  Hi  RPM  AUTO  DC  AC  REL  HOLD  BPN

SB2 Byte code is as follo (SB2) and its output is HEX code:
Status  Bit 7  Bit 6  Bit 5  Bit 4  Bit 3  Bit 2  Bit 1  Bit 0
0
1  Z1  Z2  MAX  MIN  APO  Bat  n  Z3

SB3 Byte code is as follo (SB3) and its output is HEX code:
Status  Bit 7  Bit 6  Bit 5  Bit 4  Bit 3  Bit 2  Bit 1  Bit 0
0
1  µ  m  k  MIN  Beep  Diode  %  Z4

SB4 Byte code is as follo (SB4) and its output is HEX code:
Status  Bit 7  Bit 6  Bit 5  Bit 4  Bit 3  Bit 2  Bit 1  Bit 0
0
1  V  A  W  hFE  Hz  F  °C  °F

Bar byte 7 stands for the positive or negative; Bit 0 ~ 6 stands for 
Bargraph number.
Its output code is HEX code.





Dieses Messgerät gibt es auch mit einer USB-Schnittstelle...

Lg Jonas
Persönliche Seite #2135745
Lesenswert?

Jonas schrieb:
> Jawohl, und habe es dann anschließend auf einen Com-Port gesetzt der
> kleiner 10 ist damit Windows damit umgehen kann, bzw. das mitgelieferte
> Programm

Unter Windows lassen sich bis zu 256 serielle Schnittstellen nutzen.

Wenn das mitgelieferte Programm damit nicht klarkommt, dann hat der 
retardierte Affe*, der es zusammengefrickelt hat, es nicht geschafft, 
Dokumentation zu lesen, die seit über 15 Jahren beschreibt, wie die 
korrekte Syntax für Schnittstellennamen aussieht.

*) Tut mir leid, aber bei so hartnäckiger Dummheit verliere ich die 
Contenance.
Persönliche Seite #2135832
Lesenswert?

Jonas schrieb:
> tja da kommt gleich wieder das nächste Problem, kenne mich nur sehr
> geringfügig mit der Programmierung aus, deswegen schreibe ich ja sowas
> auch hier ;)

http://www.herber.de/forum/archiv/140to144/t141081.htm

Das muss an Hinweisen aber reichen. Support gibt´s gerne, aber für 
Arbeit abnehmen lassen ist das hier der falsche Ort. VBA ist nun 
wirklich kein Hexenwerk.

Alternativ: Studenten einstellen, der das kann ;-)
Gast #2144868
Lesenswert?

Hallo

Nach dem klar ist was du willst und hier viel Halbwissen verbreitet 
wurde möchte ich nun Klarheit schaffen:

Jonas schrieb:
> Gibt es eine Möglichkeit direkt, von mir aus in Excel, über VBA die
> Com-Schnittstelle anzusprechen, an der das Messgerät hängt und mir dann
> die Daten alle 5sec in der Excel Tabelle Zeile für Zeile schreibt?
Ja.

Jonas schrieb:
> Meine Programmierkenntnisse, was das angeht gehen gegen Null :-(
Kannst du irgendeine Programmiersprache? Kannst du VBA?
Wenn ja ist alles gut und du wirst es schaffen.
Wenn nein lerne programmieren, Google ist dein Freund.

Jonas schrieb:
> Deswegen auch die Frage an euch?! Ist es denn technisch zu realisieren?
natürlich.

Christian R. schrieb:
> In VBA gibts meines Wissens eine
> Komponente zum Kommunizieren mit der COM Schnittstelle.
Es gibt Komponenten die das können, aber bei VBA ist von Haus aus nichts 
dabei.

Christian R. schrieb:
> Ob die nun
> virtuell über USB ist oder echt, spielt dabei keine Rolle. Programmieren
> musst du das allerdings dann schon selbst.

Max G. schrieb:
> http://www.herber.de/forum/archiv/140to144/t141081.htm
> Das muss an Hinweisen aber reichen.
? willst du damit sagen das es nicht geht? oder das es schwer ist wenn 
man Microsoft Produkte verwenden will?
es geht, und mit ms ist es schwerer.

Max G. schrieb:
> Support gibt´s gerne, aber für
> Arbeit abnehmen lassen ist das hier der falsche Ort. VBA ist nun
> wirklich kein Hexenwerk.
da kann ich dir zustimmen.

Und jetzt mein gesammeltes Wissen:
Ich würde dir empfehlen die rsapi.dll zu verwenden. Die gibts dort zum 
Download, inklusiv Dokumentation:
1
h**p://www.b-kainka.de/rsapidll.zip
Das funktioniert zu 100% immer und überall. Getestet mit Windows XP und 
Office 2000 und 2003.

Was es noch gibt:
"MCS COMM OCX"
1
h**p://www.mcselec.com/index.php?option=com_docman&task=doc_details&gid=151&Itemid=54
Habe ich noch nicht ausprobiert.

Dann möchte ich der Vollständigkeit halber noch das MSComm Steuerelement 
von Microsoft erwähnen. Es ist Bestandteil von Visual Basic 6.0. Das 
heißt man kann es nicht einfach rumkopieren, sondern man muss VB6.0 
installieren.
Ich meine dieses hier:
1
http://www.amazon.com/Microsoft-Visual-Basic-Professional-Edition/dp/B000E81F9S/ref=sr_1_3?s=software&ie=UTF8&qid=1302776976&sr=1-3
Danach geht es aber immernoch nicht, weil es von über sogenannte 
Killbits deaktiviert wurde:
1
http://de.wikipedia.org/wiki/Killbit
Das heißt man muss es erst aktivieren, zb. mit diesem Programm:
"ActiveX Compatibility Manager v1.00"
1
http://www.nirsoft.net/utils/acm.html
Anschließend kann man diese Control auf diesem PC auch in Excel 
verwenden.
Die Doku dazu gibt es tief in der msdn verbuddelt:
1
http://msdn.microsoft.com/en-us/library/aa259393(v=VS.60).aspx


Viele Grüße
der comport profi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren