Całkowanie, pochodne w czasie rzeczywistym

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Witam,

Chciałbym z całkować np. funkcje sin(x) w czasie rzeczywistym. Chciałbym, żeby to działało podobnie jak integrator w Symulinku Matlaba. Probuje to wszystko zrobic w pętli while ale coś mi nie wychodzi. Byłbym wdzięczny za jakiekąkolwiek pomoc.
Engineering is the art of making what you want from things you can get
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: vugie »

Signal Processing->Point by Point->Integ & Difff->Integral
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

dzęki popróbuje
Engineering is the art of making what you want from things you can get
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: wino »

albo jest jeszcze Mathematics-->Integ & Difff->Integral
co tam wolisz, zawsze można help'a otworzyć(ctrl+?) i wpisać Integral
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Integral z signal processing przydała się lepiej i działa bez zarzutów. Miałem problem z ustawieniem warunków początkowych bo maja całka była zależna od czasu i chciałem ja z całkować z warunkiem początkowym zero.Ale miałem problem bo zegar w Labview działa od uruchomienia programu Labview a nie jak ja chciałem od uruchomienia mojego SubVIva. Wykorzystałem funckje Elepsed time i wszystko jest jak trzeba. :)
Engineering is the art of making what you want from things you can get
mjaskula
Posty: 7
Rejestracja: 13 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: mjaskula »

a mozesz pokazac przykładowy vi?
jak Ci to wyszlo?

Marek
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Sorki, że tak pózno. Załaczam plik. Jakieś pytanie to walić śmiało postaram się pomóc.
Engineering is the art of making what you want from things you can get
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: vugie »

Ja z całkowaniem z Signal Processing miałem duże problemy w momencie gdy uzywałem go kilka razy w obrębie różnych pętli. Gdy kilka tych bloczków działa "obok siebie" wszystko jest w porządku, natomiast gdy są w kodzie trochę od siebie oddalone (w sensie struktury) robi się kasza. Chciałem zrobić z tego nawet jakiś modelowy przykład, ale dałem spokój. Rozwiązanie znalazłem takie, że zrobiłem kilka identycznych subVI, różniących się tylko nazwą i zawierających wyłącznie bloczek Integral z powórzonymi wejściami i wyjściami i w każdym miejscu kodu używałem innego z tych subVI. Domyślam się, że ten efekt wynika z tego, że blok ten pracuje na Shift Register i mają tu udział zagadnienia związane z przydziałem pamięci dla poszczególnych instancji bloku, ale dlaczego efekt jest taki, a nie inny, tego do końca nie rozumiem.

To tak na wypadek jakby komuś całkowanie point by point nie działało...
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Mam małe pytanie i postanowiłem podpiąć to pod ten topic. Chce przenieść mój projekt z Symulinka do Labview. Ale pewne rzeczy nie działają podobnie jak w Symulinku. Chciałbym zrobić takie coś załącznik I. Czyli obliczyć całkę dla pewnego okresu czasu.W Symulinku otrzymałem linie prostą załącznik II a w Labview sygnał oscyluje i nie mogę otrzymać podobnego wyniku (załączam Subviva). Nie wiem czy jest to z powodowane dokładnościa obliczeń czy może ja coś źle robie. Byłbym wdzięczny za jakieś wskazówki.
Engineering is the art of making what you want from things you can get
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: vugie »

Pierwsze primo: Generujesz sygnał w czasie rzeczywistym, nie gwarantując sobie, że krok pętli będzie trwał tyle ile chcesz (0.1 s). IMO Wait Until Milisecond Multiple tego nie gwarantuje - głupie kręcenie kółkiem myszki generuje lagi. Zaleznie od przeznaczenia programu: albo olać czas rzeczywisty i brać go z licznika pętli, albo mierzyć rzeczywisty czas trwania każdego cyklu i podpinać go jako krok całkowania.

Drugie primo: Blok Hold oczekuje liczby całkowitej i podanie 10.15cośtam zamienia to na 10. Jak zamienisz okres sygnału na liczbę całkowitą (wszędzie, gdzie jest on zdublowany) + pkt. 1, to gra i buczy.

Trzecie primo: to już Mikrobi ci powie...
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Dzięki za odpowiedz. Co do pierwszego to potrzebuje pętli w czasie rzeczywistym. To jest cześć programu, który ma posłużyć do kontroli przesunięć silnika liniowego. Ma on imitować uderzenie ludzkiego serca dlatego sygnał jest periodyczny i moja całka nie zawsze ma okres całkowity więc jak zamienię wartość w bloku hold na całkowitą to będzie się mijało z rzeczywistością. Masz rację co do całkowanie, w zależności jak nacisnę przycisk myszki taki wynik dostanę, tzn. wyniki się nie pokrywają co mnie ciekawiło. Postaram się zrobić tak jak piszesz i pomyśleć co z blokiem hold.
Engineering is the art of making what you want from things you can get
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Dalej mam problem z całkowaniem, użyłem pętli czasowej ale chyba to nie za bardzo zmieniło. Dostaje dobre rezultaty tylko dla okresu całkowania dt -100 milisekund. Jak to zmieniam wszystko pada:/ Może ma ktoś jakieś lepsze pomysły ode mnie? Załączam plik.
Engineering is the art of making what you want from things you can get
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Mikrobi »

Oj, vugie nie drażnij czarownika ;)
Pytanie zasadnicze Tutenhamon: na jakiej rozdzielczości pracujesz?
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

hmm, no to mnie zagiąłeś :) W sumie nie wiem co masz na myśli jeśli chodzi o rozdzielczość:/ Chodzi Ci na ilu bitach pracują moje urządzenia? Jeśli tak to na 12, 16 i 32 bitach zależy jakie urządzenie. A jeśli nie to proszę o podpowiedź:)
Engineering is the art of making what you want from things you can get
Tutenhamon
Posty: 30
Rejestracja: 23 lut 2007 00:00

Re: Całkowanie, pochodne w czasie rzeczywistym

Post autor: Tutenhamon »

Trochę poczytałem:) I jeśli dobrze zrozumiałem to chodzi o ilości bitów. Więc tak, to co podpiąłem jako plik to jest symulacja moich urządzeń. Chcę na podstawię przepływu ( 12 bitowy pomiar, 10ms czas odpowiedzi), zadać ruchy silnika liniowego ( 32 bitowy kontroler przesuwu). Ale problem polega na tym, że ta symulacja działa tylko dla dt = 100ms a w Simulinku w Matlabie działa bez problemu tylko, że tam kroki całkowania są ustawione automatycznie. Nie rozumiem dlaczego działa to tylko dla dt=100ms:/
Engineering is the art of making what you want from things you can get
ODPOWIEDZ