
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Laika, die RSAPI.DLL wurde von H.J. Berndt und B.Kainka veröffentlicht. Sie hat schon etwas Moos auf dem Buckel und wies Eigenheiten auf, die OS-abhängig waren. Also nehme ich an, daß u.U. die DLL auch mit VISTA nicht sofort zusammenarbeitet. Bitte probier es doch mal mit der RSCOM.DLKL von B.Kainka, sozusagen ein Nachfolger der RSAPI.DLL mit besserer Funktion und neueren Datums. SIEHE LINK: http://www.b-kainka.de/download.htm Die RSAPI.DLL (und auch die RSCOM.DLL) liegt bei XP im SYSTEM32-Ordner oder kann auch überall anders liegen, wenn in der Deklaration nur der ganze Pfad der DLL reingeschrieben wird. Bei VISTA wird es ähnlich sein. Bezüglich der Eigenheit von RSAPI.DLL mußt Du Dir nochmal die Beispiele von Kainka und Berndt anschauen, u.U. gibt es eine andere Schreibweise beim Öffnen der Bibliothek (z.B. Semikolon statt Doppelpunkt und umgekehrt...). Vielleicht ist die DLL ja garnicht geöffnet und das VBA-Programm sagt es Dir blos nicht. Laß nochmal von Dir hören. Beste Grüsse, Mak > > Dass die Verkabelung PC<->CC korrekt ist, nehme ich als gegeben an, da Du die CC vermutlich in identischer Konfiguration programmiert hast. > > > Ich würde zunächst vesuchen, 2. ausschließen. Nimm also auf dem PC nicht Dein Programm, sondern Hyperterminal. Falls Dein CC-Programm genau auf das Byte 27 (ESCAPE) reagiert, und auf kein anderes, programmiere sie entsprechend um, so dass sie auf jedes Zeichen reagiert. > Mit Hyperterminal betreibe ich die CC schon ewig und problemlos. Mit (genau) einem Zeichen kann ich diverse Datenübertragungen CC -> PC auslösen (Heizungsdaten, Warmwasserboiler, div. Zustandsdaten, im EEPROM gespeicherte Daten usw.). Jedes Zeichen ruft eine Reaktion hervor, und wenn es eine Fehler-Rückmeldung ist. Mit VBA reagiert das Ding auf kein gesendetes Zeichen, das kann ich an der RUN-LED sehen. > > > Bezgl. READBYTE: Wartet das denn auf ein Zeichen, falls beim Aufruf noch keines anliegt? Immerhin prüft die CC nach Deinen Angaben ja nur jede Sekunde und Du rufst READBYTE direkt nach SENDBYTE auf. Baue da doch mal eine Verzögerung von ca. 2-3 Sekunden dazwischen. > TIMEOUT setzt eine Zeit, die READBYTE wartet, erst danach wird laut Beschreibung -1 zurückgegeben. > > > Bezgl. DLL habe ich mit Googeln das hier gefunden: http://www.hjberndt.de/book/msrfaq.html#11 (ganz unten). > Die RSAPI.DLL habe ich von "hjberndt". Ich müsste mal ausprobieren, ob eine neuere Routine besser funktioniert. Ich habe Vista, das macht bekanntlich auch viele Probleme ("Vista ist Mista!"). Kostet alles nur so viel Zeit. Habe schließlich auch noch anderes zu tun ... > > Gruss, > Laika |
| Antwort schreiben |