Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MScomm import in Excel

MScomm import in Excel
12.01.2015 15:09:28
Hans
Hallo!
Ich versuche gerade die Anzeige eines Waagenterminals in Excel zu importieren.
Das Terminal hat einen COM Ausgang den ich via COM2USB Adapter mit meinem Computer verbunden habe. Soweit ich es herausbekommen sendet das Terminal lediglich das 5stellige Gewicht das die Waage im jeweiligen Moment anzeigt.
Ziel ist also dass dieses 5stellige Gewicht in einer Excelzelle dauerhaft "in Echtzeit" dargestellt wird. Und zwar als normaler Zahlenwert, damit ich mit der Zelle weiterrechnen kann.
MSCOMM.OCX ist installiert, registiert usw usf, funktioniert also.
Dann habe ich ein entsprechendes Steuerelement eingefügt und mit folgendem Code versehen:

Sub OpenPort()
Worksheets("SerialPort").MSComm1.CommPort = 3
Worksheets("SerialPort").MSComm1.Settings = "9600,n,8,1"
Worksheets("SerialPort").MSComm1.RThreshold = 1
Worksheets("SerialPort").MSComm1.InBufferSize = 4096
Worksheets("SerialPort").MSComm1.PortOpen = True
End Sub

Die Einstellungen passen zum Waagenterminal (liegt auf COMPort 3 usw.) und durch RThreshold = 1 sollte auch eine dauerhafte Weitergabe der Daten möglich sein.
Leider hakt es jetzt bei mir wie ich einen Code schreiben der mir das Gewicht permanent in einer Zelle darstellt....
Irgendwelche Vorschläge?
Meine VBA Kenntnisse sind nicht sehr berauschend, bin schon froh überhaupt so weit gekommen zu sein ;)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
  • 18.01.2015 16:16:11
    Michael
Anzeige
Fragen
18.01.2015 16:16:11
Michael
Hallo Hans,
wenn Du googelst (mscomm1.input), findest Du jede Menge Treffer, wobei unter dem ersten Treffer
http://www.mikrocontroller.net/topic/200720
genau Deine Frage bearbeitet wird - aber leider ohne Lösung. Immerhin enthält er einige links, die interessant sein sollten.
Ich habe noch keine serielle Schnittstelle programmiert, habe aber von "früher" noch so einige Sachen im Hinterkopf: ein Kollege hat mal nen Nachmittag damit verbracht, ein Kabel für einen seriellen Drucker zu konfigurieren, mit Schnittstellentester und Zeug, derweil "serielles Kabel" "serielles Kabel" ist: die Pinbelegung der 9/25-poligen Schnittstelle ist oft herstellerspezifisch.
Das vorausgeschickt würde ich erst Mal grundsätzlich überprüfen, ob die Schnittstelle da ist.
Schnapp Dir mal die Console. Mit Mode kannst Du die Parameter des COM-Ports einstellen (Hilfe mit: mode /?), und im Prinzip müßtest Du Daten bekommen, wenn die Waage denn sendet, so oder so ähnlich:
copy com3 con /b
(das /b ist wahrscheinlich überflüssig) F6 oder Strg-Z beendet das.
Grundsätzlich würde ich mit dem Hersteller Kontakt aufnehmen, ob die ein simples Beispielprogramm haben. Ein "fünfstelliges Gewicht" muß ja irgendwie byteweise kodiert sein, und das gehört sich natürlich auseinandergedröselt.
Grundsätzlich ist jedes Gerät wie eine Datei zu handhaben, d.h. man sollte meinen, daß Du einen Stream bekommst, den Du byteweise auslesen und weiterverarbeiten mußt, bevor Du einen "Wert" hast, den Du in eine Zelle schreiben kannst.
Es könnte sein, daß die Waage ein handshake benötigt, so nach dem Motto: "hallo Waage, schicke mir mal ein Meßergebnis" Waage: "ok, hier haste 10 bytes (00, FF, AC,...)" "ok, danke, hab's bekommen".
Ohne nähere Infos zu dem Teil wirst im Trüben stochern.
Wie gesagt, ich hab so was noch nie gemacht. Ich stelle mir halt vor, wie ein Drucker funktioniert, der braucht ein handshake, weil er nicht nur die zu druckenden Daten empfängt, sondern auch Statusinfos zurückgibt: "habe kein Papier", "bin off-line" usw. Das wiederum im Gegensatz zu einer Maus, von der ich jetzt mal annehme, daß sie nur Bewegungsinformationen sendet, ohne großes handshaking - naja, die ist ereignisgesteuert.
Ein ereignisgesteuertes Beispiel zu COM findest Du hier: http://www.control.com/thread/1026230089
Na dann, viel Spaß,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige