Hallo Leute
ich versuche zur zeit einen Treiber für ein Messgerät zu programmieren (Signal Recovery LockIn7124). Zur Zeit lese ich die vom Gerät aufgenommen Daten mit der folgenden Prozedur aus:
Delphi-Quellcode:
procedure GetBinaryOverIP;
var bytebuff: TIdBytes;
bytezahl,valuezahl:integer;
begin
valuezahl:=(monitor);
bytezahl:=2*valuezahl+3;
with TCPClient do begin
IOHandler.Write('dcb 0');
IOHandler.ReadBytes(bytebuff,bytezahl,false);
end;
end;
Monitor gibt die Anzahl der aufgenommenen Werte wieder. 1Wert entspricht 2Bytes.
Das Problem daran ist, dass das ganze sehr langsam abläuft. Der LabView-Treiber funktioniert ähnlich, nutzt jedoch statt der
Indy-Komponenten die Visa-Komponenten und ist deutlich schneller.
Liegt das eventuell an der ReadBytes Funktion oder im Aufbau der Prozedur, die ja eigentlich nicht so komplex ist
? Sollte ich generell bei sowas einen anderen Ansatz wählen?
Derzeit kann ich mit der Prozedur nur ungefähr 20kB in 10sek abrufen.
lg
estbrion