Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mal wieder ne Schnittstellen-Frage

Forumthread: mal wieder ne Schnittstellen-Frage

mal wieder ne Schnittstellen-Frage
24.11.2003 10:15:59
Andi
Liebe Leute,

dank dieses Forums bin ich mit meinem Programm zum Auslesen von Messdaten aus einem Messgerät inzwischen schon ziemlich weit. Ein Problem hab' ich aber noch:
die Übertragung klappt nur dann fehlerfrei, wenn ich die Daten vorher schonmal mit der *gleichen* Übertragugsrate über das Windows-Hyper-Terminal eingelesen habe; andernfalls wird zwar auch was übertragen, aber leider nicht die korrekten Daten.

Zum Einlesen verwende ich folgenden Code:

baud = InputBox("Bitte geben Sie die Übertragungsrate ein:")
MsgBox ("Klicken Sie auf OK," + Chr(13) + Chr(13) + "und starten Sie dann den Datentransfer" + Chr(13) + Chr(13) + "am FAT")

OPENCOM "COM1:baud,N,8,2"

For kurven_zaehler = 1 To kurven_endwert
For byte_zaehler = 1 To byte_endwert
zeile = byte_zaehler + 9
spalte = 4 + (kurven_zaehler - 1) * 9
Cells(zeile, spalte).Value = READBYTE
Application.StatusBar = "Lese: Byte " + CStr(byte_zaehler) + " von Kurve " + CStr(kurven_zaehler)
Next byte_zaehler
Next kurven_zaehler
CLOSECOM
Application.StatusBar = "Fertig"


Lasst Euch durch die Zeilen- und Spalten-Arithmetik nicht verwirren, die erklärt sich durch das Layout meins Arbeitsblattes.
Die Angaben keine Parität, 8 Datenbits, 2 Stopbits entsprechen den Angaben des Messgerät-Hersttellers über das Übertragungsformat, hier kann der Fehler also nicht liegen.

Hat jemand eine Idee?

Schönen Gruß
Andi
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mal wieder ne Schnittstellen-Frage
24.11.2003 10:26:59
Bärnd
Hallo Andi,

ich nehme an, das OPENCOM eine Excel2k-Funktion ist, bei Excel 97 ist sie noch nicht mit dabei.

> OPENCOM "COM1:baud,N,8,2"

wenn die eingegebene Baud-Rate und nicht die Zeichenkette "baud" als Parameter übergeben werden soll, dann muß die Zeile so aussehen:

OPENCOM "COM1:" & baud & ",N,8,2"



Ciao

der Bärnd
Anzeige
Danke!!!
24.11.2003 10:42:26
Andi
Klappt perfekt!!

OPENCOM ist übrigens, genau wie CLOSECOM und READBYTE, in einer .dll-Datei (in meinem Fall port.dll) definiert, und wird über
Private Declare Sub OPENCOM Lib "port" (ByVal a$)
bzw.
Private Declare Sub CLOSECOM Lib "port" ()
Private Declare Function READBYTE Lib "port" () As Integer
eingebunden.

Schönen Gruß
Andi
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige