Einzelnen Beitrag anzeigen

DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Jobliste Kommunikation mit externem Gerät

  Alt 17. Nov 2006, 15:15
Hallo,

ich bin zurzeit dabei eine Software für ein externen Gerät zu entwickeln.
Dieses Gerät kann sowohl seriell über RS232 als auch USB angesteuert werden angesteuert.
Als USB-Controller ist ein FTDI FT232BM eingebaut.

Nun meine Frage, ich kommuniziere mit dem Gerät folgendermaßen:
Ich habe ein Objekt vom Typ (TGeraet)

Geraet.GetStatus(Status:boolean);
Geraet.GetMesswert(Status:boolean);

Jede Funktion durchläuft bei mir ein Kommunikationsmodul,
dass zB.:
-->den Buffer mit dem Befehl füllt.
-->den Befehl abschicken
-->auf eine Antwort warten (pollen bis 7 Bytes am Port sind)
-->falls 7 Bytes da sind, diese vom Port lesen und bewerten
-->wenn nach einer bestimmten Zeit keine Antwort dann, rausspringen mit Fehlermeldung

Diese Kommunikation läuft bei mir nun im Hauptthread und wenn ich mehrer Befehle (GetXYT, SetSeriennummer....)
ausführe, dann hängt meine Anwendung zeitweise.
Ich habe versucht diese in einen extra Thread zu packen, denn ich von aussen anstosse, aber irgendwie klappt das nicht wie gewollt. Habe auch schon Luckies Tutorial zum Thema Thread gelesen.
Ich würde gerne eine Art Jobliste machen, die in einem Thread abläuft und immerwieder die Jobs (GetXYZ...) abarbeitet
und ich sie von aussen fülle.

Beispiel:
Joblist.Add(Get_YXZ)
Joblist.Add(SetSeriennummer('SN9090');

so dass ich Design von Logik trennen kann und es in einem extra Joblist Thread abläuft.

Hoffentlich könnt ihr mir dabei helfen...
Danke schonmal im Vorraus!!!

Gruß
DelphiManiac
  Mit Zitat antworten Zitat