Timing Problem

24/01/2011 - 11:27 von Susann Markward | Report spam
Hallo,

mal eine allgemeine Frage zu VB6-Programmen. Ich habe hier eine
VB6-Software, die mit externen Geràten über eine RS232-Schnittstelle
kommuniziert.

Dabei arbeitet die Software in einer "state machine" verschiedenste
Aufgaben in einer großen Do-Loop-Schleife ab.

Das funktioniert eigentlich sehr zuverlàssig. Diese Software ist nun
schon viele viele Jahre alt. Jetzt tritt vermehrt folgender Fehler auf:

Innerhalb o.g. Schleife (state machine) wird an einer Stelle auch mit
dem externen Geràt über o.g. RS232-Schnittstelle kommuniziert. Hierbei
làuft die Kommunikation wie eigentlich üblich ab. Der PC sendet ein
Kommando an das Geràt und dieses antwortet daraufhin. Anschließend wird
die Antwort ausgewertet, andere verschiedenste Aufgaben erledigt, etc.
Irgendwann wird wieder der Punkt mit der seriellen Kommunikation
aufgerufen, ...
Diese Art der Kommunikation ist i.d.R. rhythmisch; will heißen, dass das
Senden des Befehls des PCs bspw. alle 1000 bis 1500 ms verlàuft.
Weiterhin ist dazu zu sagen, dass die state machine _nicht_ in einem
eigenen Thread/Timer làuft.

Ich möchte jetzt *BITTE* *NICHT* über die Art der Implementation
diskutieren, die nun ganz sicher mehr als suboptimal ist.

Nun hat man irgendwann mal festgelegt, dass dieser Rhythmus eben nicht
mehr als 2000 ms überschreiten darf. Das genau passiert nun aber ab und
zu (wirklich sehr selten). Wir haben hier nun beobachten können, dass
der PC ganz selten einmal eine Denkpause von ca. 4000 ms einlegt. Wir
wissen nun nicht, was der PC in dieser Zeit macht. Als erstes haben wir
mal den Virenscanner (Norton End-Point-Protection) deinstalliert. Denn
das Symptom tritt erst seit der Installation dieses Produkts auf. Und
ich habe auch schon bei der tàglichen Arbeit mit meinem PC Probleme mit
dieser Software (Tastatureingaben kommen um teilweise mehrere Sekunden
stark verzögert an) beobachten können.

Wie könnte man dem Problem auf die Spur kommen, warum der PC sehr selten
mal eine Denkpause einlegt?

Mit freundlichen Grüßen
Susann
 

Lesen sie die antworten

#1 Dieter Strassner
24/01/2011 - 11:57 | Warnen spam
Hallo Susann,

Nun hat man irgendwann mal festgelegt, dass dieser Rhythmus eben nicht
mehr als 2000 ms überschreiten darf. Das genau passiert nun aber ab
und zu (wirklich sehr selten). Wir haben hier nun beobachten können,
dass der PC ganz selten einmal eine Denkpause von ca. 4000 ms
einlegt. Wir wissen nun nicht, was der PC in dieser Zeit macht. Als
erstes haben wir mal den Virenscanner (Norton End-Point-Protection)
deinstalliert. Denn das Symptom tritt erst seit der Installation
dieses Produkts auf. Und ich habe auch schon bei der tàglichen Arbeit
mit meinem PC Probleme mit dieser Software (Tastatureingaben kommen
um teilweise mehrere Sekunden stark verzögert an) beobachten können.

Wie könnte man dem Problem auf die Spur kommen, warum der PC sehr
selten mal eine Denkpause einlegt?



Ein àhnliches Problem hatte ich auch schon. Nimm doch einfach einen
genaueren Timer (API-Timer).
Der VB-eigene ist nicht besonders genau.
Viele Grüße - Dieter

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz

Ähnliche fragen