Strona 1 z 1
Wykres funkcji - prosze o sprawdzenie
: 09 mar 2006 12:01
autor: Gość
Witam, dopiero zaczynam przygode z Labview, czescia mojego projektu do wykonania jest stworzenei wykresu funkcji T(t)=t+3sin(wt)
przy danej w =2 T- temp , t - czas
Wydaje mi sie że dobrze zostało to wykonane ale wole sie upewnic
Re: Wykres funkcji - prosze o sprawdzenie
: 09 mar 2006 13:34
autor: jogurt_owocowy
Skoro chcesz uzyskać wykres T(t)=t+3sin(wt) to jest oczywiste, że nie może to być funkcja liniowa, jak na Twoim rysunku, tylko "przesuwający się w górę" sinus. A więc nie jest to dobrze zrobione.
Po pierwsze: zakładając, że wartość i w pętli będzie naszymi rosnącymi wartościami czasu(w sekundach), to wypadałoby podzielić ją przez jakąś wartość np. przez 50 tak aby w każdym obiegu pętli "przybywało" 20 ms czasu. Bez tego czas będzie przybywał z prędkością 1s na obieg pętli, co jest wartością za dużą żeby zobaczyć poprawnie sinus o parametrach jakie podajesz(w=2). A więc, przede wszystkim: i do jednego wejścia klocka dzielącego do drugiego np. 50. Na jego wyjściu będziemy mieć czas t.
Po drugie: połączenia też nie są dobrze zrobione. Klocek sinus ma dwa wejścia: z lewej wchodzi argument czyli wt ( sin(wt) ) z prawej wychodzi wartość. U Ciebie do sinusa wchodzi 3(?). Powinno być tak:
Czas t (czyli podzieloną wartość i) pomnóż mnożarką(bloczek Multiply) przez w i jej wyjście dołącz do wejścia sinusa.
Teraz wyjście sinusa trzeba pomnożyć przez 3( 3sin(wt) ), a więc wyjście to dołącz do wejścia kolejnej mnożarki. Do jej drugiego wejścia - stałą 3.
Część 3sin(wt) jest gotowa. Pozostaje dodać do niej wartość t. A więc wyjście mnożarki dołącz do wejścia sumatora(bloczek Add), a do jego drugiego wejścia podłącz czas t(podzielone i). Teraz już pozostaje tylko podłączyć wyjście sumatora do Charta i będzie grało.
Pozdrawiam
PS. Niestety nie mam teraz dostępu do LV stąd wersja "tekstowa".
Re: Wykres funkcji - prosze o sprawdzenie
: 09 mar 2006 14:16
autor: Gość
Wielkie dzieki za pomoc, masz racje to nei było zbyt rozsadne:/
Zrobiłem zgodnie z Twoim opisem i wyszło to co w zasadzie miało wyjsc.
Dzieki, teraz madrzejszy troche o nowe doświadczenia zabieram się do robienia wykresu ciśnienia.
:arrow: ponizej poprawiony wykres funkcji
Re: Wykres funkcji - prosze o sprawdzenie
: 09 mar 2006 15:25
autor: Marbak
Jak moge to poprosze o sprawdzenie i tego wykresu.
Wzór na wykres Cisnienia p = at^2+bt+c gdzie a,b,c maja byc samemu wybierane.
Re: Wykres funkcji - prosze o sprawdzenie
: 09 mar 2006 17:42
autor: jogurt_owocowy
W tym drugim wszystko wygląda OK.
Jeszcze dodam kilka słów do poprzedniego posta. Wartość 50 przez którą dzielisz 'i' dla uzyskania czasu jest oczywiście wybrana arbitralnie. Jej wielkość definiuje "rozdzielczość czasową" z jaką obliczasz kolejne próbki. W przypadku gdy podzielisz 'i' przez 50, na każdy obieg pętli "przybywa" 20ms czasu(1/50 sekundy). Jeśli zamiast przez 50 podzielisz 'i' przez 200 to jeden obieg pętli będzie odpowiadał 5ms(1/200s).
Wiążą się z tym dwie rzeczy:
Pierwsza rzecz - jeśli opóźnienie w pętli ustawisz równe temu czasowi to czas rzeczywisty będzie się zgadzał z tym symulowanym - zmień 100ms na wejściu bloczka Wait na 20ms i sprawdź że sinus "robi" ok. 1/3 cyklu na sekundę(prawdziwą) I tak ma być - sin(wt), w=2, w=2*pi*f ==> f=1/pi).
Druga rzecz to taka, że ten czas możesz traktować jako okres próbkowania swojego sygnału (danego "analogowo" za pomocą równania). I oczywiście obowiązuje dla niego, jak dla każdego cyfrowego sygnału twierdzenie Shannona. Czyli np. jeśli czas ten wynosi 20ms to nie ustawiaj w=300.
Jeśli masz więcej takich "równaniowych" spraw to może łatwiej użyć któregoś z bloczków umożliwiających wpisywanie gotowych formuł. Zamiast wstawiać kilka bloczków napiszesz wtedy po prostu T=t+3*sin(w*t);
I ostatnia sprawa. Przemyśl już teraz do czego mają być użyte wykresy tych funkcji. Na powyższych rysunkach generujesz po kolei pojedyncze próbki - w każdym obiegu pętli jedną i też po kolei je rysujesz(za pomocą Waveform Chart). Może dla Twoich potrzeb będzie lepiej wygenerować za jednym zamachem cały wykres z zadanego przedziału czasu w postaci tablicy kolejnych próbek(który narysujesz wtedy za pomocą Waveform Graph).
Powodzenia, pozdrawiam:)
Re: Wykres funkcji - prosze o sprawdzenie
: 09 mar 2006 18:50
autor: Marbak
Dziekuja za tak rzeczowe i fachowe podejscie do mojego zagadnienia.
Jako że dopiero zaczyna przygode z Labview, chciałem rozbic sobie wszystkie składowe projektu na drobne, aby moc to wszystko ogarnąć.
Moj projekcik dla fachowca pewnei jest prosta sprawa dla mnie puki co duzym wyzwaniem.
Tematem mojej pracy jest "stworzenei bazy danych do akwizycji i obróbki wybranych wielkości cieplnych(takich jak Temp, ciśnienie , natęzenie przepływu)"
Zaczołem od tej najłatwiejszej rzeczy czyli narysowanai wykresów.
Nastepnie musze dodac do nich wartości graniczne które po przekroczeniu ich zostana zapisane w bazie danych. to tak po bardzo dużym skrucie.
:arrow: Jeszcze muze pojac troche zagadnien z uzycia termopary i zapisywania danych , puki co nauczyłem sie zapisywac wyniki pomiarów do plików LVM.
Bardzo przydatne sa informacje które można znalesć w archiwum forum
oraz w helpie w Labview, no i oczywiscie tutoriale:)
Mam nadziej ze przy kolejnych problemacg nadal bede mógł liczyć na pomoc.
Pozdrawiam
Re: Wykres funkcji - prosze o sprawdzenie
: 14 mar 2006 10:22
autor: Marbak
Mam pytanie.
Dla wyżej podanych wykresów jak można wyznaczyc wartość średnią w zadanym jakimś przedziale czasu oraz określić min i max wartości???
Nigdzie nie moge odnalesc o tym informacji.
Re: Wykres funkcji - prosze o sprawdzenie
: 14 mar 2006 17:40
autor: bogdani
Witaj
Do określenia wartości min i max proponuję użyć funkcji Max & Min z palety Comparison. Do wyznaczenia wartości średniej służy finkcja Mean w palecie Mathematics >> Prob & Stat.
Wszystko podane dla LV 8.0.1.
bogdani
Re: Wykres funkcji - prosze o sprawdzenie
: 14 mar 2006 17:45
autor: jogurt_owocowy
A jeśli ciągle używasz Chart'ów jak na poprzednich swoich rysunkach, to żeby mieć z czego liczyć statystyki użyj Property Node->History Data (prawy klawisz myszy na kontrolce->Create->Property Node, teraz PKM na utworzonym węźle->Properties->History Data).
Re: Wykres funkcji - prosze o sprawdzenie
: 14 mar 2006 22:50
autor: Marbak
Dziekuje za rady, stworzyłem history date. Ale mam problem z wartosciami min i max, źle coś mam podłączone bo wartości np max rośnie i po chwili maleje troszke, zgodnei z przebiegiem cosinusa, a chyba powinna być zawsze podana najwyższa wartośc( no chyba że źle rozumiem tę funkcję)
Zamieszczam obraz mojej funkcji (Labview 7 Express)
Re: Wykres funkcji - prosze o sprawdzenie
: 14 mar 2006 23:13
autor: jogurt_owocowy
1. Dla Twoich potrzeb chyba będzie lepiej użyć funkcji Array->Array Max & Min.
2. Chart, jak zdążyłeś się zapewne zorientować, jest rejestrem kolejnych wartości doprowadzanych do niego w każdym kolejnym jego wywołaniu. Rejestr ten ma skończoną długość i przechowuje nie wszystkie próbki, ale N ostatnich. To N ustawiasz klikając na Chart na panelu PKM->Chart History Length, ale N, mimo wszystko, musi być skończone.
Stąd wniosek, że chcąc mieć zawsze aktualne globalne minima i maksima (lokalne to te zawarte w N ostatnich próbkach) musisz takie globalne minima i maksima zapamiętywać w osobnych zmiennych i porównywać bieżące lokalne wartości z zapamiętanymi globalnymi i odpowiednio je modyfikować.
Pozdrawiam(:
Re: Wykres funkcji - prosze o sprawdzenie
: 15 mar 2006 09:06
autor: Marbak
wartości array min i max lepiej sie w moim przypadku sprawdziły, nawet zaczeła wartość średnia dobrze być liczona.
Pozdrawiam
Re: Wykres funkcji - prosze o sprawdzenie
: 17 mar 2006 17:36
autor: Marbak
Mając obliczone min i max oraz wartość średnią jak stworzyć dla powyższych wykresów wykres funkcji wartości granicznych po przekroczeniu których dane beda zapisywane do pliku i dalej uzyte w bazie danych.
Tzn np dla sinusa 2 proste jedna ograniczająca ja od górnych wartości druga od minimalnych.
Na rysunku dałem przykład, miej więcej o co mi chodzi, tylko że ja ta prosta wziołem przypadkowo o wzorze y=x+2, a powinno sie to dac jakos naukowo stworzyc