Rsapi.dll mit einer Messuhr

Bild

Betrifft: Rsapi.dll mit einer Messuhr
von: Thomas
Geschrieben am: 27.11.2003 08:02:06

Hallo zusammen
Mit Hilfe des Buches "MSR mit Word und EXCEL" habe ich ein Excel sheet versucht zu machen womit ich folgenes messen kann:

Ich habe eine Messuhr, welche nach Aufforderung den angezeigten Wert über die RS232 sendet.
Sende ich ein "R" an die Uhr gibt sie zB. "RNM -1.234" zurück.
Mit "C" kann ich die Uhr zurücksetzen (antwort dann "AC").

Sobald ich die Messung starte, wird die uhr kontinuierlich abgefragt und sobald der Messwert nicht mehr null ist werden die Werte ins sheet übertragen. 24 Werte in einem definierbaren intervall und dann ist fertig.
Soweit funktioniert mein Programm.
Aber leider habe ich nach ca. 10 übertragenen Werten auf einmal nicht mehr die korrekte Antwort der Uhr sondern irgenwas mit "Fehler -1.234". Danach werden nur noch Nullen übertragen.
Ich habe schon etliches versucht (Timeout verändern) aber irgendwie komme ich nicht mehr weiter.
Vielleicht kann mir jemand weiterhelfen?



Sub measure1()
    OPENCOM "COM1,2400,N,8,0"
    STRLENGTH 14
    Display$ = "............"
        Do
            SENDSTRING Chr$(82) + Chr$(13)
            STRREAD (Display$)
            DELAY 300
            Rem Cells(2, 7) = Display$
            If Display$ <> "Fehler" Then
            w = Val(Mid$(Display$, 5))
                'Numerischen Wert isolieren und umwandeln
                 
            End If
        Loop Until w <> "0"
    Messdauer = Range("total")
    Intervall = Range("interval")
    TIMEOUT 100
    STRLENGTH 14
    Display$ = "............"
    Zeile = 11
    t = 0
    TIMEINIT
    While TIMEREAD < Messdauer
          'w = 0
        Do
            SENDSTRING Chr$(82) + Chr$(13)
            DELAY 100
            STRREAD (Display$)
            Rem Cells(5, 7) = Display$
            If Display$ <> "Fehler" Then
            w = Val(Mid$(Display$, 5))
                'Numerischen Wert isolieren und umwandeln
            End If
        Loop Until TIMEREAD >= t
        Cells(Zeile, 3).Value = w
        Cells(Zeile, 2).Value = t / 1000
        Zeile = Zeile + 1
        t = t + Intervall
       Wend
    CLOSECOM
End Sub

Bild


Betrifft: AW: Rsapi.dll mit einer Messuhr
von: Andi
Geschrieben am: 27.11.2003 10:09:10

Hi Thomas,

ob's daran wirklich liegt, weiss ich nicht, aber die korrekte Sytanx zum Öffnen der Schnittstelle ist
OPENCOM "COM1:2400,N,8,0"
also mit einem Doppelpunkt vor der Übertragungsrate.
Win95/98 sieht darüber hinweg, bei anderen Systemen könnten die Porteinstellungen dadurch verfälscht werden.
B. Kainka hat diesen Fehler in dem von Dir genannten Buch unter
www.b-kainka.de/portnt.htm richtig gestellt.

Ich hoffe, der Tip hilft Dir weiter, ich hab' selbst in den letzten Wochen einen Kleinkrieg mit der RS232 ausgetragen, und weiss wie nervig das sein kann.

Schönen Gruß
Andi


Bild


Betrifft: AW: Rsapi.dll mit einer Messuhr
von: Thomas
Geschrieben am: 27.11.2003 11:46:53

Hallo Andi
Danke erstmal für Deine Antwort. Ich habe zusätzlich naoch das Problem, wenn ich zum ersten mal messen will, erhalte ich keine Antwort von der Uhr. Ich habe dann jeweils Hyperterm geöffnet (und somit auch die Schnittstelle) und ein paar mal enter gedrückt. Danach hats jeweils geklappt (abgesehen vom ersten Problem das ich geschildert habe).
Aber auch mit Doppelpunkt im OPENCOM ist dies noch so (Hyperterm nötig).

Ich habe übrigens Win2000 mit Office2000
Vielleicht gibt es noch andere Tipps?
Thomas


Bild


Betrifft: noch offen
von: Andi
Geschrieben am: 27.11.2003 16:23:28

Hi Thomas,

da weiss ich jetzt leider auch nicht weiter; ich hab' ja, wie gesagt, selbst so meine Probleme mit der Schnittstelle gehabt, und mir leider nur ein Halbwissen angeeignet, das genau auf mein Problem passt.

Ich kann Dir nur zweierlei raten:
1. google quälen bis es raucht; es gibt nen' Haufen Seiten über die rs232, man muss nur die passenden für das jeweilige Problem finden.
2. rumprobieren und alle paar Tage modifizierte Fragen hier im Forum stellen; auf die Weise hab' ich kurz bevor ich total am verzweifeln war, die Lösung gefunden.

Also, nicht aufgeben

Schönen Gruß
Andi


Bild


Betrifft: AW: noch offen
von: Thomas
Geschrieben am: 28.11.2003 09:22:06

Andi,
Vielen Dank noch einmal. Deine Tip war Gold Wert. Es war nicht nur das : welches fehlte ich hatte das ganze auch noch ohne Klammern -> OPENCOM ("COM1:2400,N,8,2") . Jetzt funktioniert alles wie ich es wollte!
Gruss und Danke
Thomas


Bild

Beiträge aus den Excel-Beispielen zum Thema " Listbox Mehrfachauswahl in Zellen übertragen"