Podstawowe obliczenia Excelowe w LV

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

Witam,
mam pewien problem i nie wiem jak to można rozwiązać. Mianowicie chcę wykonać podstawowe obliczenia na rejestrowanym sygnale w czasie rzeczywistym. Ogólna algebra jest banalna w LV, ale jak można zrobić coś takiego jak w Excelu, czyli blokowanie komórki poprzez $. Z tym, że nie jest to zwykła wartość constant, bo to ma być pierwsza z ciągu rejestrowanych wartości.
Mam nadzieje, że klarownie to przedstawiłem.
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Podstawowe obliczenia Excelowe w LV

Post autor: Pitol »

Nie, nie przedstawiłeś tego klarownie...

Się postaraj bardziej bo nic z tego nie rozumiem. Wstaw może kawałek kodu (np. odczyt Twoich rzeczywistych danych), który nam choć trochę przybliży temat.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

No to jeszcze raz.
Jak zrobić w LV kod, który robi dokładnie to samo co formuły w żółtych polach? Pod nimi sa kolumny z danymi liczone w ten właśnie sposób.
A ja chcę zrobić to samo tylko dla danych, które właśnie odczytuję z Targetu RT i potem je zapisać.
W chwili uruchomienia zapisu pierwsza zarejestrowana wartość jest tą, która jest blokowana poprzez $ i odejmowana od każdej kolejnej, która będzie zapisana.

Obrazek
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Podstawowe obliczenia Excelowe w LV

Post autor: aaddaas »

A zwykłe Index Array nie załatwia sprawy?
Obrazek
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

Może coś źle robię, ale dla tak zrobionego sygnału ciągłego nie oddaje mi pojedynczej wartości tylko nadal sygnał ciągły.
Obrazek
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Podstawowe obliczenia Excelowe w LV

Post autor: aaddaas »

Ponieważ przy każdym obrocie pętli dostajesz coraz to większą tablicę danych, z których wybierasz pierwszą wartość. Następny obrót pętli - o jedną wartość większa tablica (wektor danych)...
Załączniki
forum.png
forum.png (24.91 KiB) Przejrzano 15165 razy
Obrazek
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

Wielkie dzięki za pomoc! Próbowałem jeszcze z użyciem tego:
Obrazek
Ale jednak Twoje rozwiązanie w moim przypadku sprawdzi się lepiej.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Podstawowe obliczenia Excelowe w LV

Post autor: aaddaas »

Normalizacja polega na znalezieniu wartości największej (bezwzględnej), potraktowanie jej jako wartość 1 i zeskalowaniu pozostałych wartości funkcji wg tej myśli. Zatem nie jest to operacja matematyczna, o ktorej wspomniałeś we wcześniejszym poście;)
Obrazek
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Podstawowe obliczenia Excelowe w LV

Post autor: Pitol »

No i jak zwykle problem rozbija się o definicję...

Na przyszłość kolego spalinowy - dokładny opis problemu ułatwi nam wszystkim pracę ;)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

Pitol pisze:No i jak zwykle problem rozbija się o definicję...

Na przyszłość kolego spalinowy - dokładny opis problemu ułatwi nam wszystkim pracę ;)
Bardzo dobrze zdaję sobie z tego sprawę. Jednak najtrudniej wyjaśnić oczywiste dla jednej osoby w sposób zrozumiały dla drugiej.

Dumałem jeszcze nad tą sprawą i wydumałem coś takiego:
Obrazek

Może się komuś przyda.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Podstawowe obliczenia Excelowe w LV

Post autor: aaddaas »

Nie do końca widzę co chciałeś przekazać w tym rozwiązaniu.

Mamy dwie niezależne pętle, które kręcą się z różną prędkością (wait(ms) nie zagwarantuje synchronicznego działania). W jednej pętli odwołujesz się do wartości kontrolki, która ma wartość 0 (lub inną), do momentu kliknięcia kontrolki boolean (zmiany case) - sumujesz to z kolejnymi wartościami (ale dopiero jak zatwierdzisz drugą kontrolkę).
Nie ma szans by to działało jak opisujesz w pierwszym poście... Opisz co miałeś na myśli
Obrazek
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

To jest ta sama pętla tylko z widoczną zawartością Case Structure.
Chodzi o to, że pętla normalnie pracuje i na False czyta wartości. Natomiast gdy przełączę na True, to mam tę ostatnią wartość zapamiętaną i jednocześnie stałą, która mogę sobie odejmować czy coś tam do wartości, które są rejestrowane.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Podstawowe obliczenia Excelowe w LV

Post autor: aaddaas »

To w takim wypadku musisz zbudować tablicę i dodawać kolejne wartości - bo w tym momencie zastępujesz poprzednią wartość. Poza tym po przełączenia case structure nie będziesz odejmował pierwszej wartości od wszystkich pozostałych, a jedynie od wartości, które dopiero zaczynasz zbierać;)
Obrazek
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Podstawowe obliczenia Excelowe w LV

Post autor: spalinowy »

aaddaas pisze:To w takim wypadku musisz zbudować tablicę i dodawać kolejne wartości - bo w tym momencie zastępujesz poprzednią wartość. Poza tym po przełączenia case structure nie będziesz odejmował pierwszej wartości od wszystkich pozostałych, a jedynie od wartości, które dopiero zaczynasz zbierać;)
Jeśli chodzi o drugie Twoje zdanie, to to chciałem osiągnąć. Bo chcę właśnie wykonać drobne obliczenia w czasie rzeczywistym na sygnale, który będzie zarejestrowany zaraz po tych obliczeniach. Czyli oglądam sobie przebieg, przełączam z False (z jakąś wartością, która tam jest) na True i w niej jest robione jakieś działanie.
aaddaas pisze:To w takim wypadku musisz zbudować tablicę i dodawać kolejne wartości - bo w tym momencie zastępujesz poprzednią wartość.
Nie do końca rozumiem to zdanie. Ogólnie ta wartość w klatce False będzie za każdym razem inna gdy będę się bawił przełącznikiem, o co właśnie mi chodzi.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Re: Podstawowe obliczenia Excelowe w LV

Post autor: aaddaas »

aaddaas pisze:To w takim wypadku musisz zbudować tablicę i dodawać kolejne wartości - bo w tym momencie zastępujesz poprzednią wartość.
Nie do końca rozumiem to zdanie. Ogólnie ta wartość w klatce False będzie za każdym razem inna gdy będę się bawił przełącznikiem, o co właśnie mi chodzi.[/quote]

Rozumiem, nie wyłapałem tego z treści problemu;) Pamiętaj tylko, że nie będziesz miał dostępu do poprzednich zmierzonych wartości, a dodatkowo nie sądzę by Ci się udało "złapać" pierwszą wartość zmierzoną - raczej będziesz dodawał (bądź odejmował) ostatnią wartość przed zmianą stanu case structure...
Obrazek
ODPOWIEDZ