Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Witajcie!
W jednym vi stworzyłem klaster do którego wpisuje ustawienia. Chciałbym skorzystać z tego klastra wywołując ten vi w innym tak jak na załączonych screenach.
Uploaded with ImageShack.us
Uploaded with ImageShack.us
Jak to połączyć?
W jednym vi stworzyłem klaster do którego wpisuje ustawienia. Chciałbym skorzystać z tego klastra wywołując ten vi w innym tak jak na załączonych screenach.
Uploaded with ImageShack.us
Uploaded with ImageShack.us
Jak to połączyć?
Ostatnio zmieniony 23 lis 2011 14:13 przez lala166, łącznie zmieniany 1 raz.
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Aplikacja złożona z kilku vi'ów - korzystanie z klastrów
Nie bardzo rozumiem problem. Jeśli budowanie tego klastra jest w subVI to wystarczy umieścić ten klaster jako indykator na panelu i ustawić go jako wyjście z subVI. Następnie dodać subVI na diagram tego innego VI i podłączyć wyjście do czego tam chcesz...
Aplikacja złożona z kilku vi'ów - korzystanie z klastrów
Tak, problemem jest że nie wiem jak ustawić go jako wyjście. Jestem początkujący w LabView, proszę o wytłumaczenie.
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Re: Aplikacja złożona z kilku vi'ów - korzystanie z klastrów
Aha, ok. Zatem opis jak podłączać terminale we/wy jest dostępny tutaj: Creating Connector Terminals for SubVIs in LabVIEW
Jeśli będziesz miał problemy wciąż daj znać. Pomożemy.
Jeśli będziesz miał problemy wciąż daj znać. Pomożemy.
Aplikacja złożona z kilku vi'ów - korzystanie z klastrów
Zadziałało ;)
Kontynuując podstawowe problemy:
Uploaded with ImageShack.us
Chciałbym, żeby po odznaczeniu ptaszka przy np "Temp1" automatycznie znikała możliwość wpisywania wartości. To co zrobiłem działa tylko w ten sposób: 1. Uruchamiam vi 2. Odznaczam ptaszka - nic się nie dzieje 3. Zatrzymuję program 4. Uruchamiam i już jest wyłączone.
Czyli ostatecznie: jak to robić w "czasie rzeczywistym"
Kontynuując podstawowe problemy:
Uploaded with ImageShack.us
Chciałbym, żeby po odznaczeniu ptaszka przy np "Temp1" automatycznie znikała możliwość wpisywania wartości. To co zrobiłem działa tylko w ten sposób: 1. Uruchamiam vi 2. Odznaczam ptaszka - nic się nie dzieje 3. Zatrzymuję program 4. Uruchamiam i już jest wyłączone.
Czyli ostatecznie: jak to robić w "czasie rzeczywistym"
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Aplikacja złożona z kilku vi'ów - korzystanie z klastrów
Widzę, że wszystko masz w zdarzeniu "OK Value Change". Aby uzyskać żądane działanie, musisz obsłużyć przypadek "Temp1 Value Change" i w nim wstawić funkcjonalność, która w zależności od stanu przycisku Temp1 będzie włączać/wyłączać możliwość edycji kontrolki "Temperatura1".
I drobna porada: staraj się dodawać obrazy za pomocą narzędzia tego forum (dodaj załącznik przy tworzeniu postów). Osobiście nie jestem fanem ImageShack i podobnych z dwóch powodów:
1. Trzeba kliknąć co najmniej dwa razy żeby zobaczyć co tam masz
2. W pracy nie mam dostępu do tych serwerów więc nie mam jak pomóc
I drobna porada: staraj się dodawać obrazy za pomocą narzędzia tego forum (dodaj załącznik przy tworzeniu postów). Osobiście nie jestem fanem ImageShack i podobnych z dwóch powodów:
1. Trzeba kliknąć co najmniej dwa razy żeby zobaczyć co tam masz
2. W pracy nie mam dostępu do tych serwerów więc nie mam jak pomóc
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Jak zorganizować tablicę w której znajdują się:
* argument x jest datą
* wartości y0..y7
W zależności od parametru i:0..7 wpisywana jest wartość (z bufora COM) do odpowiedniego y wraz z godziną wpisania.
* argument x jest datą
* wartości y0..y7
W zależności od parametru i:0..7 wpisywana jest wartość (z bufora COM) do odpowiedniego y wraz z godziną wpisania.
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Nie bardzo rozumiem co chcesz osiągnąć. Możesz bardziej szczegółowo to opisać?
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Mam parametr "i" którym wybieram co chce mierzyć. Jest on przesyłany do uC a ten odpowiada daną. I teraz chce żeby to się wpisywało w odpowiedni rząd tablicy. Tak abym mógł wyświetlić to później na wykresie - kilka przebiegów.
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
No to mając ten parametr i możesz za pomocą bloczka Replace Array Subset podmieniać odpowiednią pozycję w tablicy. Najlepiej zainicjuj sobie wcześniej tablicę odpowiednią ilością elementów a następnie podczas pracy programu będziesz podmieniał konkretne indeksy tablicy wartościami odczytanymi z uC.
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
A jak chce żeby tablica ta tablica wcześniej zainicjowana się rozszerzała ?
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
To teraz pytanie: czy Ty na początku wiesz jaki będzie rozmiar tablicy, czy w trakcie programu ta tablica będzie zmieniać swój rozmiar?
Jeśli ma się zmieniać to musisz zaimplementować funkcjonalność, która będzie sprawdzać rozmiar tablicy oraz wartość parametru "i". Jeśli indeks będzie większy od rozmiaru tablicy to nowy element będzie dodany na koniec tablicy.
Jeśli ma się zmieniać to musisz zaimplementować funkcjonalność, która będzie sprawdzać rozmiar tablicy oraz wartość parametru "i". Jeśli indeks będzie większy od rozmiaru tablicy to nowy element będzie dodany na koniec tablicy.
Re: Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Tablica już się rozszerza.
uC odbiera zapytanie i odsyła po kolei żądaną daną w raz z poprzedzającym ją indeksem. Indeks ten mówi mi w którą kolumnę do tablicy mam wpisać wartość. Przedstawiłem to na zdjęciu.
Chcę teraz zrobić wykres na podstawie tej tablicy. Mam przekonwertować całą tablicę na dane liczbowe? Jest jakiś inteligenty sposób który popierze mi dane z tablicy i je narysuje na wykresie czy trzeba to robić komórka po komórce?
uC odbiera zapytanie i odsyła po kolei żądaną daną w raz z poprzedzającym ją indeksem. Indeks ten mówi mi w którą kolumnę do tablicy mam wpisać wartość. Przedstawiłem to na zdjęciu.
Chcę teraz zrobić wykres na podstawie tej tablicy. Mam przekonwertować całą tablicę na dane liczbowe? Jest jakiś inteligenty sposób który popierze mi dane z tablicy i je narysuje na wykresie czy trzeba to robić komórka po komórce?
- Pitol
- Moderator
- Posty: 984
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Aplikacja złożona z kilku vi'ów - klastry, rs232, podstawy
Aby wyświetlić te dane musisz je mieć w postaci liczbowej. Skorzystaj z bloczka Decimal String to Number albo Fract/Exp. String to Number z palety Strings -> Conversion a następnie podłącz tablicę wyjściową do wykresu (np. Waveform Graph)