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
Was jetzt? USB oder serielle Schnittstelle? Oder ist das Gerät ein CDC bzw. nutzt eine USB-Seriell-Bridge à la FT232?
Ähm USB-Schnittstelle, ich habe gedacht USB schickt auch seriell Daten rüber :-)
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.
Das heist jetzt im Klartext? Ich habe ja das Schnittstellenprotokoll von dem Hersteller des Messgerätes...
Im Klartext heißt das, dass du uns verwirrende Informationen gegeben hast. Hat das Gerät nun eine USB- oder eine COM-Schnittstelle? Wenn USB: Wird dann ein virtueller COM Port angelegt? Wie sieht das Protokoll aus? Poste doch mal ein kleines Beispiel.
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
Jonas schrieb: > Das Messgerät ist ein PeakTech 4390 :-) > > Hat einen USB-Anschluss... .... > Dieses Messgerät gibt es auch mit einer USB-Schnittstelle... > > Lg Jonas Hat es nun einen USB-Anschluss oder gibt es das auch mit USB-Anschluss?
Jonas schrieb: > Das Messgerät ist ein PeakTech 4390 :-) > > Hat einen USB-Anschluss... > Hier ist das Schnittstellenprotokoll von Hersteller dafür: Jonas schrieb: > Dieses Messgerät gibt es auch mit einer USB-Schnittstelle... achso jetzt es das gerät also mit USB anschluss and USB schnittstelle?
Hat einen USB-Anschluss... Dieses Messgerät gibt es auch mit einer USB-Schnittstelle... Häh...?
sorry mein Fehler... Dieses Messgerät gibt es "NUR" mit einer USB-Schnittstelle....
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 Ergo hat er jetzt COM3
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.
mhhhhh deswegen möchte ich ja auch ein eigenes Programm haben?!? Wo ist denn das Problem?
Na dann ist das relativ problemlos. In VBA gibts meines Wissens eine Komponente zum Kommunizieren mit der COM Schnittstelle. Ob die nun virtuell über USB ist oder echt, spielt dabei keine Rolle. Programmieren musst du das allerdings dann schon selbst.
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 ;)
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 ;-)
Max G. schrieb: > VBA ist nun wirklich kein Hexenwerk. Nicht? Ich hätte jetzt schon gedacht, dass diese Sprache von dunklen Gestalten ersonnen wurde. :)
wenn es als Com behandelt wird,kann auch .net zur Programmierung benutzt werden. Ist das Protokoll bekannt,läßt sich eine schöne Oberfläche und Bedienung zaubern.
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
Max G. schrieb: > VBA ist nun > wirklich kein Hexenwerk. VBA ist ein Hexenwerk. Da sind C ähnlich Sprachen tausendmalleichter (für m ich zumindest).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.