Strona 2 z 2

Labview Embedded a opto22

: 18 lis 2008 10:32
autor: maszup
przeslij zrodla to moze uda mi sie pomoc, z tych pdfow, ciezko cokolwiek wywnioskowac

Re: Labview Embedded a opto22

: 18 lis 2008 11:06
autor: Tutenhamon
Ruszyłem Twój program. Teraz pokazuję pomiędzy 16-19mS. Różnica jest.

Złączam moje vi. Controlsystem to jest cały program a drugi przykład jak zapisuje dane.

A tu link jakbyś chciał zobaczyć drivery do opto22. Są darmowe.

http://www.archonwest.com/index.html?mp ... js&ns=1111

Re: Labview Embedded a opto22

: 19 lis 2008 12:26
autor: maszup
zalaczam 2 przyklady jak wygenerowac bardziej dokladny czas w LV. standardowy VI z palety "Get Date/Time in seconds" zwraca dokladny czas jesli odczytujemy rzadziej niz co 250ms, za to uzywajac "Tick Count (ms)" mozna dostac dokladny czas co do ms. Analogicznie niedokladny czas pokazuje express VI (Time Elapsed), poniewaz uzywa posrednio "Get Date/TIme in seconds". nalezy jednak pamietac o przepelnieniu Tick Count, ktore wystapi po ok 49 dniach od uruchomienia naszej aplikacji, jesli dziala ona przez caly ten czas.
osobiscie polecam uzycie get datetime (accurate).vi, jest dokladniejszy! w moim archiwum znalazlem jeszcze plik
high_precision_timer.vi, ktory kiedys gdzies znalazlem na necie, ale on odwoluje sie do zewnetrzych bibliotek kernela.
na poczatku pierwszych kilka odczytow jest blednych, zatem te ignoruje, nastepnie odczytuje w petli okreslona ilosc timestampow i porownuje odstep czasu miedzy nimi, powinien byc bliski 10ms. roznice wynikaja juz jednak z OSu.
co do twojej aplikacji, musialbys faktycznie sprawdzic czy twoje operacje wyrabiaja sie w czasie 10ms. najlepiej uzyc timed loop i wyjscia petli "Finished late", ktora mowi czy poprzednia iteracja nie zmiescila sie w czasie. zalecam CI bardzo stosowanie opcji "Create SubVI..", bez tego zginiesz :)

Re: Labview Embedded a opto22

: 20 lis 2008 11:39
autor: Tutenhamon
Dzięki fonzo za zaangażowanie. :)

Coś mnie tknęło z Windowsem żeby go przeinstalować... Zainstalowałem Labview jeszcze raz oraz tak jak mówiłeś zmieniłem while loop na timed loop oraz dodałem Finished late. Nastawiłem pętle na 10mS i ruszyłem system. Funkcja finished late pokazuję, że niby się wyrabia pętla. Ale dla pewności obliczam czas dla pętli dodatkowo (Period na zdjęciu). No i tu pokazuję 19-20mS. Może to nie jest moje 10mS ale co mnie cieszy, że Labview przestał się gubić i zapisuję co 19-20mS dane w pliku. (w załączniku). Z tego może wynika, że problem był w Windowsie a nie Labview. Próbuję zainstalować Windows XP Embedded ale mam problem ze sterownikami do mojego kompa. Jak się z tym może uporam to dam znać czy coś to dało. Może mi się uda coś jeszcze z tego wycisnąć...

Labview Embedded a opto22

: 20 lis 2008 13:45
autor: maszup
ale nadal zalecam uzycie tych funkcji do odmierzania czasu co podeslalem, poniewaz Get Date/Time tak jak wspomnialem nie radzi sobie z odstepami ponizej 250ms

Re: Labview Embedded a opto22

: 25 lis 2008 16:37
autor: Tutenhamon
Udało mi się jakoś uruchomić Windows XP Embedded. W bardzo ubogiej wersji ale wystarczającej do odpalenia Labview. Całość zajmuję mi jakoś 45 mb w pamięci :) Niestety nie widzę większej różnicy Windows XP średnio 17.55 mS czas petli, natomiast Windows XP Embedded 17.35 mS. Co mnie czasami interesuję, że w zależności jak nacisnę start to mam pętlę 20 albo 10 mS...

Labview Embedded a opto22

: 25 lis 2008 16:53
autor: maszup
jak czas wykonania operacji > 20ms to nie ma szans zebys zszedl nizej