INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Programm hakt bei sereiller Kommunikation



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.05.2007, 11:49
Beitrag #1

Laserfuzzi Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jul 2006

7.1,8
2006
kA


Deutschland
Programm hakt bei sereiller Kommunikation
Sehr geehrte Gemeinde,

ich brüte hier über einem sehr sporadisch auftretendem Problem, das mich langsam in den Wahnsinn treibt.

Folgendes: Ich kommuniziere in dem Programm mit 3 seriellen Schnittstellen. Diese Schnittstellen funktionieren für sich gesehen eigentlich ganz normal und befinden sich alle in derselben While-Schleife.
Nur, wenn man sich die CPU last parallel betrachtet, tritt immer wieder der Fehler auf, dass diese plötzlich und unerwartet in den Keller sinkt und das Programm zu stehen scheint. Näher eingegrenzt tritt der Fehler wiederholt bei ein und derselben Stelle auf. Ich bekomme ständig einen Timeout Fehler bei einer Schreibe- und Leseoperation.
Ich führe auf dem einen Port ständig Lese- und Schreiboperationen aus, d.h. ich sende dem Gerät, in diesem Fall ein Laser, einen Operationscode und warte auf eine Antwort. Diese Kommunikation ist seriell aufgebaut, also schreiben, lesen, schreiben, lesen... usw.
Der Fehler ist nicht zeitlich einzugrenzen, manchmal funktioniert die Kommunikation 2 Std. dann wieder nur 20 Minuten am Stück.

Die Timeout Zeit ist bereits auf 10 sek. gestellt, was eigentlich keine Rolle spielen darf, da sie gesamte Schreibe- und Leseschleife keinesfalls langsamer als 100 ms sein darf und es auch nicht ist, da der Port mit 57600 baud agiert.

Hat hier jemand eine Idee, wie man das Problem lösen kann, da es sich hierbei um eine sicherheitskritische Opreation handelt.

Können andere Operationen in dieser While-Schleife vielleicht auslöser sein. Es befindet sich nämlich außerdem noch eine DAQ-Funktionalität in der Hauptschleife, die allerdings nur Überwachungscharakter hat.

Das Programm hochzuladen stellt sich als schwierig heraus, da es sehr umfangreich ist.

Gruß Laserfuzzi

Hat irgendeiner eine Idee, woran das liegen kann. Bin über jede Hilfe dankbar.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Programm bleibt in Ausführung stehen, Kommunikation mit RS232? joeb78 0 3.164 15.10.2007 12:42
Letzter Beitrag: joeb78

Gehe zu: