opóźnienie wykonywania pętli while 0,0001s możliwe?
opóźnienie wykonywania pętli while 0,0001s możliwe?
Witam!
Tak jak w temacie, chciałbym aby mój .vi wykonywał się z taką dokładnością czasu, a to dlatego że taki dobrałem krok całkowania w metodzie Eulera. Chciałbym więc zapytać czy taka dokładność w LV jest w ogóle możliwa i jak ją uzyskać. Bloczek wait(ms) raczej odpada ponieważ przyjmuje pełne ms...
z góry dziękuję za każdą odpowiedź
Tak jak w temacie, chciałbym aby mój .vi wykonywał się z taką dokładnością czasu, a to dlatego że taki dobrałem krok całkowania w metodzie Eulera. Chciałbym więc zapytać czy taka dokładność w LV jest w ogóle możliwa i jak ją uzyskać. Bloczek wait(ms) raczej odpada ponieważ przyjmuje pełne ms...
z góry dziękuję za każdą odpowiedź
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: opóźnienie wykonywania pętli while 0,0001s możliwe?
Nie pod Windowsem, po mikrosekundy trzeba sięgnąć do RT.
opóźnienie wykonywania pętli while 0,0001s możliwe?
a jakiś inny pomysł jak obejść ten problem?
Zależy mi na tym żeby mój vi wykonywał się w czasie rzeczywistym.
Zależy mi na tym żeby mój vi wykonywał się w czasie rzeczywistym.
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: opóźnienie wykonywania pętli while 0,0001s możliwe?
Pod windą po prostu tego nie wyciągniesz. Aaaaale... Zrób w jednej iteracji pętli 1000 kroków całkowania, daj do pętli timing 10 ms i masz zachowaną proporcję i wszystko gra. Chyba. Jest noc, więc to może być jakiś głupi senny pomysł
opóźnienie wykonywania pętli while 0,0001s możliwe?
właśnie o czymś takim myślałem.. tonący brzytwy się chwyta myślałem żeby w pętli for podać N=1000 wrzucić to do pętli while z timing 10ms..faktycznie jest noc... i moje rozwiązanie może być zupełnie pozbawione sensu
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
opóźnienie wykonywania pętli while 0,0001s możliwe?
Może przedstaw swój problem szerzej - co dokładnie chcesz osiągnąć? Jeśli chodzi ci o rozwiązywanie równań różniczkowych metodą Eulera (Runge-Kutta 1), to po prostu wykorzystaj pętlę Simulation Loop z Control Design and Simulation Module - tam możesz zdefiniować tak mały step size. Nie będzie to działało w czasie rzeczywistym (do tego trzeba to uruchomić na systemie czasu rzeczywistego, a najlepiej na FPGA), ale dlaczego chcesz żeby działało to w czasie rzeczywistym? Opisz całą aplikację to pomożemy więcej
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
opóźnienie wykonywania pętli while 0,0001s możliwe?
Wcześniej na forum już pisałem, ale może w tym temacie faktycznie nie wyraziłem się jasno. Mój vi. jest modelem maszyny wyciągowej, w modelu występują m.in. równania różniczkowe drugiego rzędu. Równania te rozwiązuje metodą Eulera, a tak mały krok całkowania pozwala zachować stabilność całego modelu. Zadaję napięcie w ob.głównym oraz wzbudzenia i uzyskuje prędkość. Tak mały krok całkowania potrzebny mi jest jedynie do działania modelu ale mnie ogólnie nie zależy na takiej ilości próbek. Ponieważ model ten chciałbym następnie wizualizować więc spokojnie wystarczy mi jedna próbka na 0,5s.
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
opóźnienie wykonywania pętli while 0,0001s możliwe?
No to w takim razie wspomniana pętla Simulation Loop jest rozwiązaniem dla ciebie. Daj znać jak idzie.
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry