RE: Zeitgesteuerte Schleife
Okay danke für die Antworten.
Der Grund wieso ich das tun will ist folgender.
Ich hab ein großes komplexes Programm.
Es werden Daten von einer Messkarte gelesen.
Diese Daten werden verwendet um einen Regler zu bedienen und um die Werte in ein Diagramm zu zeichnen.
Der Regler benötigt die Daten spätestens alle 20ms.
Also darf das holen, auswerten und zeichnen der Daten in das Diagramm pro Schleifendurchlauf nie länger als 20ms dauern.
Mein Rechner hat wie gesagt zwei Prozessoren. Und ein Windows XP Betriebssystem.
Wenn ich die Daten nicht in ein Diagramm zeichnen lasse, dann funktioniert der Regler gut.
Wenn ich allerdings das Diagramm dazu schalte, dann braucht der Schleifendurchlauf manchmal länger als 20 ms,
was für den Regler ziemlich schlecht ist.
Wenn ich das Diagramm nicht mitzeichnen lasse, dann sehe ich dass ein Prozessor komplett ausreicht um mit der Bearbeitung fertig zu werden.
Wenn ich allerdings das Diagramm mitzeichne, dann reicht ein Prozessor nicht mehr aus um die 20ms einzuhalten.
Auch zwei Prozessoren reichen nicht aus um die 20 ms einzuhalten und ich glaube nicht dass mir ein dritter Prozessor weiter helfen würde,
da die zwei Prozessoren bei der Zeichnung von nur einem Diagramm und dem Berechnen der Werte nicht komplett ausgelastet werden.
Ich hatte jetzt gehofft, die Berechnung der Daten auf Prozessor 0 auslagern zu können
und die Zeichnung des Diagramms auf Prozessor 1, so dass sichergestellt ist, dass die Berechnung der Wert die
der Regler spätestens nach 20 ms pro Schleifendurchlauf benötigt eingehalten wird.
Das Diagramm kann ruhig 1000 ms länger braucht, wenn ich das Diagramm dafür auf den Prozessor zwei gerechnet bekomme.
So langsam gehn mir aber die Ideen aus wie ich die 20 ms einhalten kann und gleichzeitig ein Diagramm zeichnen kann.
Bin für Vorschläge dankbar.
|