Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Übertragung von CC2 über COM direkt nach Excel Kategorie: Sonstige Hardware (von Georg Mallebrein - 10.11.2003 21:41)
Als Antwort auf Re: Übertragung von CC2 über COM direkt nach Excel von ChristianE - 8.11.2003 13:09

Hallo Christian,

danke für Deine Antwort. Ich habe jetzt eine ähnliche DLL genommen, die PORT.DLL.
Damit hat es auf Anhieb funktioniert.
Vielleicht wäre der wiederholte Aufruf von OPENCOM auch eine Lösung gewesen.

Du kannst es ja auch mit dieser DLL probieren. Die Funktionen sind praktisch gleich.
Du muÃ?t nur den DLL-Namen austauschen. Die DLL gibt es auf dem Netz. Adresse habe ich
mir nicht gemerkt, suche einfach unter "port.dll".

GruÃ? von Georg


 

> Hallo Georg,
>
> ich arbeite auch mit der RSAPI und Excel. Bei mir ist immer nach einigen korrekten
> �bertragungen die Kommunikation hängen geblieben, d.h. Excel hat dann mit READBYTE
> keine Daten mehr gelesen. Ich habs bei mir gelöst indem ich einen Timeout ein-
> gefügt habe, wenn der Timeout auftritt, initialisiere ich die Schnittstelle mit
> OPENCOM neu.
>
> GruÃ?
>
> Christian
>
>
> > Probleme bei Datenübertragung CC2-Unit direkt nach Excel mit RSAPI !!!
> > =====================================================
> >
> > Seit 2 Monaten arbeite ich mit der CC2-Unit. Ich will eine Wetterstation bauen und möchte
> > in einem EEPROM gespeicherte Daten direkt nach Excel schreiben.
> >
> >
> > Seit 3 Tagen nun versuche ich anhand des Buches "Messen, Steuern, Regeln mit Word und Excel"
> > und durch Verwendung der RSAPI.DLL  Daten über die Serielle Schnittstelle von der CC2-Unit
> > direkt nach Excel zu bekommen.
> >
> > Bisher aber gelingt nur eine �bertragung von Daten über die COM vom PC in die CC2-Unit.
> >
> > Beim Ã?bertragen von der CC2-Unit in den PC steigt der Lesebefehl READBYTE in Excel
> > jedes Mal aus.
> >
> > Ein Zusammenspiel der CC2 mit einem Hyperterminal funktioniert jedoch einwandfrei.
> > Bei Eingabe einer '27' gibt sie die Zahl 165 aus.
> >
> > Wer kann mir helfen?  Danke schon mal im Voraus.
> >
> > GruÃ? von Georg
> >
> >
> >
> > Zur Info: Die TxD-Lampe auf einem COM-Schnittstellen-Monitor flackert nicht beim
> > Ã?bertragungsversuch nach Excel.
> >
> > Beim Zusammenspiel der CC2-Station mit dem Terminalprogramm flackert sie jedoch.
> >
> >
> >
> > Hier der CC2-Code:
> > ==============
> >
> > int kommando;
> > string s ;
> >
> > thread main
> > {
> >    hwcom.init();
> >    hwcom.setspeed(2);
> >    
> >    lcd.init();
> >    s = "k= ";
> >    kommando = 99;
> >    str.putint(s,kommando);
> >    lcd.clear();
> >    if lcd.ready() lcd.printlength (s,5);
> >
> >    wait hwcom.rxd();
> >    if hwcom.rxd() kommando = hwcom.get();
> >    // Test auf Empfang, wenn ja Beschreiben von kommando mit empfangenen Byte
> >
> >    if kommando == 27
> >    {
> >      s = "k= ";
> >      str.putint(s,kommando);
> >      lcd.clear();
> >      if lcd.ready() lcd.printlength (s,5);
> >      // Ausgeben der 27, wenn Empfang geklappt hat
> >      
> >      hwcom.put(165); // Senden von 165
> >    }
> >    sleep(2000);
> >    quit -1;
> >
> >
> > } // end thread main
> >
> >
> >
> >
> > Visual Basic Code:
> > ==============
> >
> > Declare Function OPENCOM Lib "RSAPI.DLL" (ByVal ComParameter$) As Integer
> > Declare Sub INIT Lib "RSAPI.DLL" (ByVal COM%)
> > Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
> > Declare Sub TIMEINIT Lib "RSAPI.DLL" ()
> > Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long
> > Declare Sub READSTRING Lib "RSAPI.DLL" (ByVal S As String)
> > Declare Function READBYTE Lib "RSAPI.DLL" () As Integer
> > Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal B%)
> > Declare Sub STRLENGTH Lib "RSAPI.DLL" (ByVal B%)
> > Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal ms%)
> > Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms%)
> >
> >
> >
> > Sub Dmm3650()
> >     i = OPENCOM("COM2:1200,N,8,1")
> >    
> >     Cells(17, 6).Value = i
> >     SENDBYTE (27)
> >     Cells(19, 6).Value = i
> >     TIMEOUT (1000)
> >     e = READBYTE
> >     Cells(1, 10).Value = e
> >     CLOSECOM
> > End Sub
> >
> >
> >
> >
> >
> >


    Antwort schreiben


Antworten: