Jak wyciągnąć dane z Array
Jak wyciągnąć dane z Array
Witam
wewnątrz struktury CASE, wczytuje dane do TAB1 pochodzące z VISA. Dane do TAB1 trafiają po włączeniu przycisku "Odczyt temperatury", wówczas CASE jest w stanie TRUE. Po wyłączeniu przycisku "Odczyt temperatury" CASE przechodzi w stan FALSE a dane pozostają w TAB1 do chwili ponownego załączenia przycisku. Muszę wykonać kilka obliczeń na danych z TAB1 oraz odczytać wartości MIN i MAX. Nie mogę tego wykonać ponieważ, po wyłączeniu przycisku "Odczyt temp" nowe dane trafiają do Array MAX & MIN, pnieważ CASE jest w stanie FALSE i przepuszcze sygnał pomiarowy.
W jaki sposób odczytać dane z TAB1 lub wydobyć całą TAB1 ze struktury CASE po wyłączeniu przycisku "Odczyt temperatury"
wewnątrz struktury CASE, wczytuje dane do TAB1 pochodzące z VISA. Dane do TAB1 trafiają po włączeniu przycisku "Odczyt temperatury", wówczas CASE jest w stanie TRUE. Po wyłączeniu przycisku "Odczyt temperatury" CASE przechodzi w stan FALSE a dane pozostają w TAB1 do chwili ponownego załączenia przycisku. Muszę wykonać kilka obliczeń na danych z TAB1 oraz odczytać wartości MIN i MAX. Nie mogę tego wykonać ponieważ, po wyłączeniu przycisku "Odczyt temp" nowe dane trafiają do Array MAX & MIN, pnieważ CASE jest w stanie FALSE i przepuszcze sygnał pomiarowy.
W jaki sposób odczytać dane z TAB1 lub wydobyć całą TAB1 ze struktury CASE po wyłączeniu przycisku "Odczyt temperatury"
-
- Posty: 103
- Rejestracja: 17 gru 2011 21:33
- Wersja środowiska: LabVIEW 2011
Re: Jak wyciągnąć dane z Array
Witam,
a próbowałeś wyrzucić macierze z tymi danymi poza pętlę while?
a próbowałeś wyrzucić macierze z tymi danymi poza pętlę while?
Re: Jak wyciągnąć dane z Array
TAB1 musi znajdować się wewnątrz pętli while ponieważ, po kazdej iteracji pętli dopisywany jest 1 wiersz TAB1 z wynikiem pomiaru temp.
-
- Posty: 103
- Rejestracja: 17 gru 2011 21:33
- Wersja środowiska: LabVIEW 2011
Re: Jak wyciągnąć dane z Array
Ale ja nie mówię o tabie tylko o macierzy wyników których nie możesz odczytać.Buczek pisze:TAB1 musi znajdować się wewnątrz pętli while ponieważ, po kazdej iteracji pętli dopisywany jest 1 wiersz TAB1 z wynikiem pomiaru temp.
- Załączniki
-
- 1.jpg (228.04 KiB) Przejrzano 17476 razy
Re: Jak wyciągnąć dane z Array
Z elementami, które zaznaczyłeś nie mam problemu, problem dotyczy TAB1, a dokładnie danych w niej zapisanych. Każdy pomiar zawiera ok 6o wyników, ktore sa mi potrzebne do dalszych obliczeń a do których nie mogę się dobrać.
Re: Jak wyciągnąć dane z Array
Nie jestem powien o co dokładniej chodzi, widok na więcej kodu z lewej strony mógłby rozjaśnić sprawę. Według mnie powinieneś mieć te wrtości w Array1, ale jeśli tego nie robisz to zakładam, że gdy case jest na false to tablica jest zerowana/nadpisywana, mogłbyś np. stworzyć nopwy indykator dla Tab w case "true' i pobrać te wartości z nowego indykatora za pomocą 'local variable', albo od TAB1 poprowadzić nową linię do nowego registry shift, i dla false 'zewrzeć' nowe rejestry bez żadnych struktur pomiędzy.
Mam nadzieję, że ten opis ma ręce i nogi
Mam nadzieję, że ten opis ma ręce i nogi
Jak wyciągnąć dane z Array
Witam,
Z tego co zrozumiałam to chcesz przeanalizować ostatnie 60 próbek w tab 1?? Proponuje założyć nowy shift rejestr do którego w stanie false będzie wrzucane ostatnie 60 próbek z tab 1 (najlepiej przy użyciu funcji "delete from array") i po zebraniu próbek (przycisk w stanie false) w nowej tablicy będziesz miał ostatni pomiar a podczas pomiaru (stan "true") przeciagnij shift rejestr i w tablicy bedzie znajdował sie stary pomiar.
Czy o to Ci konkretnie chodziło?
pozdrawiam
Z tego co zrozumiałam to chcesz przeanalizować ostatnie 60 próbek w tab 1?? Proponuje założyć nowy shift rejestr do którego w stanie false będzie wrzucane ostatnie 60 próbek z tab 1 (najlepiej przy użyciu funcji "delete from array") i po zebraniu próbek (przycisk w stanie false) w nowej tablicy będziesz miał ostatni pomiar a podczas pomiaru (stan "true") przeciagnij shift rejestr i w tablicy bedzie znajdował sie stary pomiar.
Czy o to Ci konkretnie chodziło?
pozdrawiam
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Jak wyciągnąć dane z Array
Talk is cheap. Show me the code. Linus Torvalds.
Re: Jak wyciągnąć dane z Array
This is the code in LV 2010.
- Załączniki
-
- VISA2.vi
- (40.65 KiB) Pobrany 432 razy
Re: Jak wyciągnąć dane z Array
Proszę załączam fragment kodu. Mam nadzieje że o to chodziło
- Załączniki
-
- Untitled 1.vi
- (9.42 KiB) Pobrany 440 razy
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Jak wyciągnąć dane z Array
Patrzyłem na kod w VISA2.vi , jeśli pozwolisz: kilka mniej i bardziej praktycznych uwag.
1. W każdej iteracji pętli otwierany i zamykany jest wątek VISA: te operacje powinny być poza pętlą, do środka informacja może wchodzić przez tunel- nie musi to być Shift Register.
2. Nie będę sobą jeśli nie zwrócę uwagi na pewne splątanie kodu
Czytelny kod pozwoli nie tylko wzbogacić moje osobiste odczucia estetyczne - przypuszczam że również kilku innych osób na forum oraz (teraz nieco poważniej): pomoże w samodzielnej analizie i debagowaniu kodu. Warto poświęcić kilka chwil na uporządkowanie.
3. Intryguje mnie licznik czasu - kiedy ostatnio sprawdzałem proste operacje matematyczne dzielenie tej samej wartości przez siebie dawało 1 , ale stary jestem, codziennie idzie nowe.... jaka była zakładana funkcjonalność?
4. Dużo kolorów : możliwości barwne interfejsu cieszą, na początku nawet bardzo, jednak zestawienie koloru czerwonego i niebieskiego na wykresie nie jest najlepszą kombinacją ;)
1. W każdej iteracji pętli otwierany i zamykany jest wątek VISA: te operacje powinny być poza pętlą, do środka informacja może wchodzić przez tunel- nie musi to być Shift Register.
2. Nie będę sobą jeśli nie zwrócę uwagi na pewne splątanie kodu
Czytelny kod pozwoli nie tylko wzbogacić moje osobiste odczucia estetyczne - przypuszczam że również kilku innych osób na forum oraz (teraz nieco poważniej): pomoże w samodzielnej analizie i debagowaniu kodu. Warto poświęcić kilka chwil na uporządkowanie.
3. Intryguje mnie licznik czasu - kiedy ostatnio sprawdzałem proste operacje matematyczne dzielenie tej samej wartości przez siebie dawało 1 , ale stary jestem, codziennie idzie nowe.... jaka była zakładana funkcjonalność?
4. Dużo kolorów : możliwości barwne interfejsu cieszą, na początku nawet bardzo, jednak zestawienie koloru czerwonego i niebieskiego na wykresie nie jest najlepszą kombinacją ;)
Re: Jak wyciągnąć dane z Array
Ruda niestety nie mogę otworzyć Twojegi VI używam LV 2010, wrzuć fotki lub zapisz projekt w starszej wersji.
Mikrobi dzięki za cenne Uwagi, krytyka konstruktywna jest zawsze mile widziana.
Licznik ma na celu:
1. odmierzać czas co 1 s
2. Każda kolejna wartość licznika jest zwiększana o 1 i wpisywana do tabeli, dzięki czemu w tabeli mam kolumnę o nazwie "CZAS", do której są wpisywane kolejne wartości 1,2,3,4... . Nie bardzo miałem pomysł jak to wykonać i w wyniku mojej radosnej twórczości powstał taki oto TWÓR:).
Mikrobi dzięki za cenne Uwagi, krytyka konstruktywna jest zawsze mile widziana.
Licznik ma na celu:
1. odmierzać czas co 1 s
2. Każda kolejna wartość licznika jest zwiększana o 1 i wpisywana do tabeli, dzięki czemu w tabeli mam kolumnę o nazwie "CZAS", do której są wpisywane kolejne wartości 1,2,3,4... . Nie bardzo miałem pomysł jak to wykonać i w wyniku mojej radosnej twórczości powstał taki oto TWÓR:).
Re: Jak wyciągnąć dane z Array
Proszę oto fotki
Extensa - certyfikowani programiści LabVIEW z Krakowa.
Re: Jak wyciągnąć dane z Array
ruda dzięki za pomoc, Twoj kod działa. Zmieniła się jednak koncepcja. Pomiary mają być zapisywane w TAB1 w następującej sekwencji:
1 Zapis pomiarów do TAB1 po włączenia przycisku "Odczyt temperatury"
2 Wyłączenie przycisku "Odczyt temperatury" wyniki pomiarów zostają w nienaruszonym stanie w TAB1
3 Ponowne włączenie"Odczyt temperatury" ma kasować TAB1 i wpisywać nowe dane pomiarowe do TAB1.
Obecnie odbywa to się w takiej sekwencji:
1 Zapis pomiarów do TAB1 po włączenia przycisku "Odczyt temperatury"
2 Wyłączenie przycisku "Odczyt temperatury" wyniki pomiarów zostają w nienaruszonym stanie w TAB1
3 Ponowne włączenie"Odczyt temperatury" dopisuje nowe dane pomiarowe do wcześniejszego pomiaru. A tak ma nie być. tylko jak to zrobić?
1 Zapis pomiarów do TAB1 po włączenia przycisku "Odczyt temperatury"
2 Wyłączenie przycisku "Odczyt temperatury" wyniki pomiarów zostają w nienaruszonym stanie w TAB1
3 Ponowne włączenie"Odczyt temperatury" ma kasować TAB1 i wpisywać nowe dane pomiarowe do TAB1.
Obecnie odbywa to się w takiej sekwencji:
1 Zapis pomiarów do TAB1 po włączenia przycisku "Odczyt temperatury"
2 Wyłączenie przycisku "Odczyt temperatury" wyniki pomiarów zostają w nienaruszonym stanie w TAB1
3 Ponowne włączenie"Odczyt temperatury" dopisuje nowe dane pomiarowe do wcześniejszego pomiaru. A tak ma nie być. tylko jak to zrobić?
Jak wyciągnąć dane z Array
Hej z Twoją architekturą program to przychodzi mi do głowy tylko takie rozwiązanie.
Jeżeli dalej nie działa tak jak chcesz to proponuje zastosować maszyne stanu w której będziesz mógł zdefiniować poszczególne etapy pomiaru itp, itd.
Jeżeli dalej nie działa tak jak chcesz to proponuje zastosować maszyne stanu w której będziesz mógł zdefiniować poszczególne etapy pomiaru itp, itd.
Extensa - certyfikowani programiści LabVIEW z Krakowa.