title image


Smiley Zeitkritische Anwendung über RS 232 ohne MSCOMM Steuerelement
Hallo zusammen!



Ich hoffe, dass ich

a) nicht eine bereits beschriebene Lösung im Forum übersehen habe, und

b) mir hier wer helfen kann (da bin ich ja zuversichtlich)



Ich verwende in diesem Projekt VB5 auf W2kpro



Folgendes:

Ich habe eine Prozessorgesteuerte Elektronik, welche mit dem PC über eine RS232 Schnittstelle kommunizieren soll. Das Ganze habe ich, wie schon oft bei anderen Projekten, mit dem MSCOMM32.ocx Steuerelement realisiert.

Nun ist es aber so, das ich im konkreten Fall sehr Zeitkritisch unterwegs bin, d.h. je mehr Kommunikationszyklen ich pro Sekunde schaffe, desto genauer läuft die Gesamtanwendung (Elektonik+ PC)



Ich sende vom PC aus eine Anforderung, und erhalte von der Elektronik eine Antwort

Im schnitt besteht die Anforderung aus 6 Zeichen, die Antwort aus 5 Zeichen.



Rein rechnerisch würde ich bei 57600 Baud also rund 2 bis 3 Millisekunden für einen Kommunikationsversuch benötigen, ich verdächtige jedoch das MSCOMM Element, das ganze zu verzögern, da ich pro Zyklus nicht unter 40 ms komme, obwohl ich zu testzwecken den Code schon extrem minimiert habe.



Codeschema:



Sendestring aufbereiten

Zeitstempel A

String über MSCOMM senden

Inbuffercount abfragen

String über MSCOMM lesen

Zeitstempel B

Empfangsstring auswerten



Hier liegen zwischen den beiden Zeitstempeln die etwa 40 ms, im gleichen Zeitbereich war ich bisher auch mit 9600 und 19200 Baud unterwegs.



Kann mir hier irgendwer helfen, dieses MSCOMM32.ocx, evtl. über API funktionen oder dergleichen, zu umgehen.

Dass es schneller gehen muss, ist eigentlich nämlich gar keine Frage, denn sonst könnte man ja wohl jedes Modem beim Fenster rauswerfen - was man ja eigentlich sowiso tun sollte...



Danke



Thomas



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: