Program do podnoszenia i obniżania temperatury

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Program do podnoszenia i obniżania temperatury

Post 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:
Obrazek
Awatar użytkownika
skoziate
Administrator
Posty: 245
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Warszawa
Kontakt:

Re: Program do podnoszenia i obniżania temperatury

Post 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).
Pozdrawiam,
Sebastian
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Program do podnoszenia i obniżania temperatury

Post 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.
Awatar użytkownika
skoziate
Administrator
Posty: 245
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Warszawa
Kontakt:

Re: Program do podnoszenia i obniżania temperatury

Post 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.
Pozdrawiam,
Sebastian
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: Program do podnoszenia i obniżania temperatury

Post 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.
temp_while_loop.vi
(10.85 KiB) Pobrany 399 razy
Zanim zaczniesz poznawać środowisko LabVIEW, proponuję szybką powtórkę z programowania :P
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Re: Program do podnoszenia i obniżania temperatury

Post 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.
Obrazek
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.
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Program do podnoszenia i obniżania temperatury

Post 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
example_2.png (4.32 KiB) Przejrzano 14769 razy
O to Ci chodzi? Bo nie bardzo wiem z czym masz problem.
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Re: Program do podnoszenia i obniżania temperatury

Post 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.
Załączniki
przykłady.vi
(14.89 KiB) Pobrany 369 razy
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Program do podnoszenia i obniżania temperatury

Post 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
local.PNG
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?.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Re: Program do podnoszenia i obniżania temperatury

Post 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.
Załączniki
przykłady.vi
(22.29 KiB) Pobrany 391 razy
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: Program do podnoszenia i obniżania temperatury

Post 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 ;)
Ostatnio zmieniony 04 maja 2010 22:53 przez coolfon, łącznie zmieniany 2 razy.
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Program do podnoszenia i obniżania temperatury

Post 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.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Re: Program do podnoszenia i obniżania temperatury

Post autor: mareczek87 »

Dzięki serdecznie za pomoc :)
Mam nadzieję, że nie wściekliście się za moje pytania. Poduczę się to będzie dobrze.
Załączniki
przykłady.vi
(22.9 KiB) Pobrany 389 razy
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Program do podnoszenia i obniżania temperatury

Post autor: Pitol »

od tego jest forum żeby pytać ;)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
mareczek87
Posty: 17
Rejestracja: 04 maja 2010 00:02
Wersja środowiska: LabVIEW 8.5

Re: Program do podnoszenia i obniżania temperatury

Post 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?
Załączniki
przykłady.vi
(45.7 KiB) Pobrany 366 razy
ODPOWIEDZ