Hallo alle,
ich kommuniziere mit eine PCI-Karte. Hier läuft eine FPGA wo ich die aktuelle Frequenz einer Drehgeber auslesen kann.
Ich kenne natürlich die Wert "Schrittweite pro impuls" - oder umgekehrt "impulse pro mm".
Geht es eine absolute Position dadurch auszurechnen ?
Ich habe jetzt:
Delphi-Quellcode:
myFrequencyInKHZ := read_the_card($0040); // this is frequency in kHz
{
1000 mm
10 ------ * 60 * 0.008 ----------
s pulse
}
mySpeed := myFrequencyInKHZ * 60 * encoderStepValue; // m/min
mySpeedMM := mySpeed * 0.0166666667; // millimeters / millisecond
Ich kann die Werte immer und sehr schnell lesen.
Ich muss auszurechnen, aus eine bestimmten Zeitpunkt, die gefahrene Abstand (in mm)
Ich vermute es ist mit Zeitberechnung irgendwie möglich, sprich (in Pseudokode).
Delphi-Quellcode:
mytime := now;
deltatimeMSec := mytime - lastreadtime; // zB in mSec
lastreadtime := mytime;
{
mm
distanceMM = NN ----- * XXX msec
msec
}
movedDistance := deltatimeMSec * mySpeedMM;
Hoffentlich zu verstehen
Danke für jede hilfe!