Znaleziono 2 wyniki
Wróć do „szybkość działania programu i biblioteka inpout32.dll”
- 22 lis 2007, 14:51
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: szybkość działania programu i biblioteka inpout32.dll
- Odpowiedzi: 6
- Odsłony: 2588
szybkość
niestety taki sam efekt jest po użyciu jakiegoś Timera i zdarzeń "tick" przy wartościach mniejszych niż 1 ms
- 22 lis 2007, 14:10
- Forum: Ogólne Dyskusje na Temat Systemów Sterowania CNC
- Temat: szybkość działania programu i biblioteka inpout32.dll
- Odpowiedzi: 6
- Odsłony: 2588
szybkość działania programu i biblioteka inpout32.dll
Wykorzystuje bibliotekę inpout32.dll jednak mam z nią problemy. Nie da się ustawić "dobrej" szybkości silników. Pomiędzy krokami muszę dawać uśpienie głównego wątku programu na 1ms. Bardzo zmniejsza to szybkość pracy.
Fragment mojego programu wygląda następująco:
timeDelay=1;
mikroStep=30;
public void Xgo()
{
for (int j = 0; j < mikroStep; j++)
{
suma = 0;
suma += (int)Math.Pow(2, 3);
PortAccess.Output(adress, suma);
Thread.Sleep(timeDelay);
Reset();
}
}
public void Reset()
{
PortAccess.Output(adress, 0);
Thread.Sleep(timeDelay);
}
Jeśli nie dam "Thread.Sleep(timeDelay);" to silnik właściwie się nie obraca.
Jak można temu zaradzić?
Fragment mojego programu wygląda następująco:
timeDelay=1;
mikroStep=30;
public void Xgo()
{
for (int j = 0; j < mikroStep; j++)
{
suma = 0;
suma += (int)Math.Pow(2, 3);
PortAccess.Output(adress, suma);
Thread.Sleep(timeDelay);
Reset();
}
}
public void Reset()
{
PortAccess.Output(adress, 0);
Thread.Sleep(timeDelay);
}
Jeśli nie dam "Thread.Sleep(timeDelay);" to silnik właściwie się nie obraca.
Jak można temu zaradzić?