So sieht das delphisiert aus ... aber du brauchst da noch eine Menge mehr, denn was repräsentiert
smua
?
Das wird eine spezielle Klasse sein, die du dann auch für Delphi benötigst.
Delphi-Quellcode:
smua.reset( );
smua.source.func := smua.OUTPUT_DCAMPS;
smua.sense := smua.SENSE_REMOTE;
smua.measure.autozero := smua.AUTOZERO_ONCE;
smua.source.rangev := 10; // Messbereich Spannung
smua.source.rangei := 1; // Messbereich Strom
smua.source.limiti := 1; // absolutes Limit Strom in A
smua.source.limitv := 2; // absolutes Limit Spannung in V
smua.measure.rangei := 1;
smua.measure.rangev := 10;
smua.source.output := smua.OUTPUT_ON;
timer := TStopWatch.StartNew;
for anzahl := 1 to 2 do // zweiter Wert ist die Zyklenanzahl
begin
smua.source.sink := smua.DISABLE;
smua.source.leveli := 0.0001; // Ladestrom in A
// WriteLn( ' Zyklus ', anzahl )
while smua.measure.V( ) <= 1.8 do // Ladeschlussspannung in V
begin
time := timer.ElapsedMilliseconds;
WriteLn( smua.measure.V( smua.nvbuffer1 ), smua.measure.i( smua.nvbuffer1 ), time, ' Zyklus ', anzahl );
sleep( 1 );
end;
smua.source.sink := smua.ENABLE;
smua.source.leveli := -0.0001; // Entladestrom in A, muss negatives Vorzeichen haben
while smua.measure.V( ) >= 0.0 do // Entladeschlussspannung in V
begin
time := timer.ElapsedMilliseconds;
WriteLn( smua.measure.V( smua.nvbuffer1 ), smua.measure.i( smua.nvbuffer1 ), time, ' Zyklus ', anzahl );
sleep( 1 );
end;
end;
smua.source.leveli := 0;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)