Strona 1 z 1

opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 00:53
autor: Mikkaelo
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ź

Re: opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 01:15
autor: PiDi
Nie pod Windowsem, po mikrosekundy trzeba sięgnąć do RT.

opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 01:53
autor: Mikkaelo
a jakiś inny pomysł jak obejść ten problem?
Zależy mi na tym żeby mój vi wykonywał się w czasie rzeczywistym.

Re: opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 02:00
autor: PiDi
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ł :D

opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 02:05
autor: Mikkaelo
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

opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 09:23
autor: Nowszy
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

opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 09:50
autor: Mikkaelo
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.

opóźnienie wykonywania pętli while 0,0001s możliwe?

: 10 lis 2011 11:17
autor: Nowszy
No to w takim razie wspomniana pętla Simulation Loop jest rozwiązaniem dla ciebie. Daj znać jak idzie.