Strona 1 z 2
Program do podnoszenia i obniżania temperatury
: 04 maja 2010 00:11
autor: mareczek87
Na początku chciałbym się przywitać ze wszystkimi serdecznie, to mój 1 post tutaj:)
Muszę dobrze poznać środowisko LabView, które będzie mi potrzebne do pracy inżynierskiej więc pewnie często będe tutaj pisał.
Na początek mam takie pytanie.
Mam zrobić program który miałby wizualizować nagrzewanie szyby do określonej temperatury a następnie jej ochładzanie.
I już na początku pojawia się problem, chodzi o to inicjujemy wartość początkową temperatury szyby np. 40 stopni i ma się nagrzewać do 640 stopni, co 10 stopni na sekundę. I tutaj problem jaką wartość mam podać do liczby iteracji, bo np. jak zacznę od 40 stopni to mam podnieść o 600 stopni temperaturę, a jest 10 stopni/sekundę to będzie koło 60, no ale mogę nastawić 30 np. i co wtedy. Jak program ma wiedzieć że ma dojść tylko do 640?
Myslałem o czymś takim:

Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 10:48
autor: skoziate
To prosta aryt\metyka - kombinacja liczby iteracji, wartości inkrementacji i zakresu przyrostu. Dany many tylko przyrost = 600. Więc:
Przyrost = liczba iteracji * wartość inkrementacji
Przykładowo może to być 6000 iteracji, 0.1 stopnia na iterację. Liczbę iteracji pętli FOR określa się przez podłączenie wartości do terminala N.
Koniecznie trzeba też zdefiniować czas iteracji, żeby mieć określony przyrost, np. 10 stopni na sekundę. Jeśli przyrost jest 0.1 stopnia na iterację, to musisz mieć 100 iteracji na sekundę. Wstaw do pętli funkcję WAIT z parametrem 10 (milisekund).
Program do podnoszenia i obniżania temperatury
: 04 maja 2010 13:59
autor: mareczek87
no tak rozumiem o co chodzi. Ale mam gałkę do ustawiania i jak ustawię 40 stopni to muszę podnieść o 600 a jak 30 to o 610. Więc liczba iteracji tez musi się zmienić, a przecież jest to stała którą zadajemy.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 14:29
autor: skoziate
Pętla FOR jest stosowana wtedy, gdy znana jest liczba iteracji. Jeśli liczba iteracji jest zmienna, to zastosuj pętlę WHILE, w której warunkiem będzie temperatura = 640 stopni. Albo zostań przy pętli FOR, tylko wyliczaj z góry liczbę iteracji.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 18:13
autor: coolfon
mareczek87 pisze:(...)jak ustawię 40 stopni to muszę podnieść o 600 a jak 30 to o 610. Więc liczba iteracji tez musi się zmienić(..)
Owszem, musi, ale...
mareczek87 pisze:(...)a przecież jest to stała którą zadajemy(..)
absolutnie nie musi być stała! Posłuchaj
skoziate i skorzystaj z pętli While, dzięki temu ogóle nie musisz się przejmować liczbą iteracji. Taka regulacja temperatury aż prosi się o takie rozwiązanie. Ustawiasz sobie prosty warunek, który mówi pętli kiedy ma przestać się kręcić i po kłopocie. Przykład poniżej.
Zanim zaczniesz poznawać środowisko LabVIEW, proponuję szybką powtórkę z programowania

Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 18:41
autor: mareczek87
O mój boże...jaka masakra ja myślałem, żeby zrobić jakoś tak ale dodać warunek żeby tylko do 640 dochodziło, a nie wiem jak.

a co do twojego programu coolfon. To chodziło tylko o ustawienie początkowej temperatury i żeby program sam co 10 stopni na sekundę liczył, a nie żeby mu podawać czas.
Program do podnoszenia i obniżania temperatury
: 04 maja 2010 18:54
autor: coolfon
No to przecież masz warunek zrobiony w tym programie, który zamieściłem wyżej. Wystarczy sprawdzić, czy nowa wartość jest równa/większa od 640. Jeśli tak, to zakończyć działanie pętli.

- example_2.png (4.32 KiB) Przejrzano 14774 razy
O to Ci chodzi? Bo nie bardzo wiem z czym masz problem.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 20:58
autor: mareczek87
Dzięki serdeczne, myślę, że już z całością programu sobie poradzę tylko jeszcze 2 pytanka.
1. Jak podłączyć jeden termometr i wyświetlacz aby wyświetlał jedną temperaturę, a nie temperatura1, temperatura2 itd, i żeby automatycznie termometr to pokazywał.
2. Dlaczego gdy T dochodzi do 640, zamiast od razu odejmować -2 od 640 dodaje nie wiadomo skąd 10 i odejmuje od 650.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 21:14
autor: Pitol
ad.1. chodzi Ci o to, żeby termometr cały czas wyświetlał wartość (czy to dodając 10, czy odejmując 2) tak? W takim razie zastosuj zmienne lokalne
ad.2. 650 bierze się stąd, że użyłeś bloczka
Greater?, przy warunku pierwszej pętli. Poza tym wartość Temperatura Szyby masz wpiętą przed dodawaniem (dlatego po zakończeniu pierwszej pętli widoczne jest 640) natomiast termometr podpięty jest za dodawaniem (dlatego po zakończeniu pętli jest na nim 650). Warunek sprawdzany jest aż do uzyskania wartości
większej od 640 (czyli 650). Użyj bloczka
Greater or Equal?.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 22:38
autor: mareczek87
Taki o to wyszedł mi program, tylko jeszcze 2 mankamenty są.
1.Nie wiem jak wstawić Termometr i T szyby, żeby wyświetlał mi dobrą temperaturę. Chodzi o to że jak nastawię od 20 to zacznie liczyć od 20 do 640.
A jak wstawiam przed sumatorem to zaczyna od 20 ale kończy na 630, a jak za to zaczyna od 30 i kończy na 640. Próbowałem wrzucić zmienną lokalną za sumator ale wtedy też od większej wartości o 10 zaczyna.
2.W ostatniej fazie odejmowania od 300 do 200 co 1. Zaczyna mi odejmować za pierwszy razem o 2 tzn.300...298...297...296 itd.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 22:50
autor: coolfon
mareczek87 pisze:2.W ostatniej fazie odejmowania od 300 do 200 co 1. Zaczyna mi odejmować za pierwszy razem o 2 tzn.300...298...297...296 itd.
Odejmowanie działa dobrze. Po prostu do tej ostatniej pętli podajesz wartość 298 (wynik odejmowania z przedostatniej pętli While), a nie 300. Podepnij sobie zmienne lokalne za bloczkiem odejmowania, a nie przed - unikniesz dzięki temu takich niespodzianek ;)
Program do podnoszenia i obniżania temperatury
: 04 maja 2010 23:06
autor: Pitol
ad.1. uruchom sobie program z żarówką (highlight execution - popatrz w okolice menu programu i szukaj symbolu żarówki) i zobacz jak Twój program krok po kroku się wykonuje. W Twoim rozwiązaniu gdy ustawisz wartość początkową na 20 to pierwsza iteracja od razu dodaje do niej 10. Więc jeśli chciałbyś podczas pierwszej iteracji pętli wyświetlać 20 a podczas ostatniej 640 to rozwiązaniem jest umieszczenie indykatorów za dodawaniem i rozpoczęcie pętli od wartości początkowej -10.
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 23:21
autor: mareczek87
Dzięki serdecznie za pomoc

Mam nadzieję, że nie wściekliście się za moje pytania. Poduczę się to będzie dobrze.
Program do podnoszenia i obniżania temperatury
: 04 maja 2010 23:23
autor: Pitol
od tego jest forum żeby pytać ;)
Re: Program do podnoszenia i obniżania temperatury
: 04 maja 2010 23:57
autor: mareczek87
Jak komuś chciało by się jeszcze odpowiedzieć.
Da się zrobić tak żeby zamiast naciskając strzałkę nacisnąć przycisk i automatycznie zapaliła się lampka i zgasła kiedy proces się zakończy?
A co do wykresu. Tutaj temperatura się zmienia, dało by się to przedstawić na wykresie w czasie?