Strona 1 z 1

Zapis diagramow do pliku

: 11 cze 2014 09:32
autor: Harnas
Czesc,

mam problem, ktory wiem jak moglbym rozwiazac ale to rozwiazanie mi sie nie podoba :D
Raz dziennie pomiary (pare kanalow z czestotliwoscia 1Hz) z ostatniej doby musza byc zapisywane jako diagramy do pliku. Wiem, ze moge przez cala dobe rysowac diagram w LV a potem poprostu go eksportowac jako JPEG. Tylko, ze przez cala mase innych prozesow nie chce niepotrzebnie obciazac komputer a na te diagramy na FP same w sobie sa tez mi niepotrzebne. Szukalem jakiegos rozwiazania na necie, ale przewaznie odsylaja mnie wlasnie do eksportwania diagramu do pliku.
I tutaj moje pytanie:
czy znacie jakas sprytna metode jak to zrobic oszczedzajac zuzycie procesora i ramu ?
Myslalem, ze mozna to jakos zrobic w ramach SubVIa albo przez jakis zewnetrzny program sterowany z LV ale jak zaczne probowac to strace pare dni a niekoniecznie musi wyjsc.

Pozdrawiam wszystkich ;)
harnas

PS. Pomiary te sa tez caly czas zapisywane do pliku.

Re: Zapis diagramow do pliku

: 11 cze 2014 09:56
autor: TMa
Skoro dane zapisywane są do pliku to w jakim celu na bieżąco trzymasz diagram w przetwarzaniu CPU? Może lepiej zrobić aplikację, która wyświetla na żądanie dane ze zdefiniowanego okresu czasu (w twoim przypadku domyślna wartością będzie ostatnie 24h) i na żądanie (lub automatem) zapisze w zdefiniowanej formie (format, pattern na nazwe pliku) w zdefinowane (ale konfigurowalne) miejsce :) coś w stylu TDMS Viewer.

PS. W wersji dla ambitnych można pomyśleć o rozwiązaniu sieciowym, np. https://plot.ly/

Zapis diagramow do pliku

: 11 cze 2014 10:05
autor: Harnas
Boje sie, ze jak mu na raz kaze wyswietlic ostatnie 24h to caly programm zwolni i sie przytnie zanim zaladuje dane. Cos w tym stylu mialem jak wlaczalem na diagramie dane z ostatnich paru sekund taktowane z czestotliwoscia ca. 15kHz.

Zapis diagramow do pliku

: 11 cze 2014 11:14
autor: Pitol
Mam jedną propozycję, jednak zależy ona od rodzaju pomiarów, które robisz.
Jeżeli nie są to jakieś szybkozmienne przebiegi to możesz zrobić następującą rzecz:
1. Pomiary robisz tak jak robisz i zapisujesz je gdzieś (np. TDMS, czy coś)
2. W momencie, w którym chcesz wyświetlić/zapisać ten diagram ładujesz dane na wykres, ale... nie ładujesz wszystkich :)
Powiedzmy, że w ciągu dnia zbierze Ci się ~100k próbek. Wyświetlenie tego na wykresie to nieporozumienie.
Wystarczy, że zrobisz sobie funkcję, która będzie czytać np. co 100 próbek albo rzadziej i to wyświetlała na wykresie.

Robiłem kiedyś coś podobnego i działało dobrze.

Zapis diagramow do pliku

: 11 cze 2014 11:31
autor: Jamal79
Mozesz otworzyc kopie tego pliku po sieci?? Nie obciazysz pomiarowego PCeta.

Uzywasz moze Diadema?? w LV masz opcje ekspotru do raportu Diademowskiego. (Niewiem ile "zrzera" to CPU i reszty.) A tam jest sporo opcji na export np do PDFu, itd...

Zapis diagramow do pliku

: 11 cze 2014 11:58
autor: Pitol
Problem nie leży w narzędziu, ale w liczbie danych, które mają być obrobione. Nie ma programu, który nie przytnie się przy próbie wrzucenia do pamięci 1M albo więcej próbek.

Zapis diagramow do pliku

: 11 cze 2014 14:38
autor: Jamal79
Dokladnie, ale jak uzyjesz innej maszyny to niema wiekszego znaczenia czy sie przytnie czy nie...

A tak z drugiej strony to domyslam sie ze macie jakiegos rodzaju system monitorujacy prace maszyny lub maszyn. Zakladam rowniez, ze diagramy maja na celu dokumentacje tej pracy a dane sa zapisywane do analizy w razie wystapienia anomali. W takim razie chyba mozna wytuamaczyc brak kilku danych raz na dobe w ramach serwisu itd...

Wiem, ze najlepiej jakby sie udalo bez :)

Re: Zapis diagramow do pliku

: 11 cze 2014 14:52
autor: TMa
Polecam zapoznanie się z takimi zagadnieniami:

Zapis diagramow do pliku

: 12 cze 2014 08:14
autor: Harnas
Dzieki za pomoc! Wiedza i doswiadczenie bardziej doswiadczonych programistow jak zwykle nieoceniona!

Pitol, swietny pomysl :D Moglem sam na to wpasc :P Zaprogramuje i przetestuje.

Jamal79, nie mam w pracy Diadema i nie widac, zeby chcieli go dla mnie zamowic ;) Wiesz jak to jest. Projekt musi isc do przodu a programy zrobi sie przy okazji na koncu ;)
Twoje domysly sa jak najbardziej poprawne.
Przez cala dobe program zapisuje dane z czestotliwoscia 1Hz przy okazji obserwujac jak sie zmieniaja. W razie przekroczenia ustalonych wartosci lub naglych wachan uruchamia sie rownolegle zapisywanie wszystkich pobranych wartosci.
O polnocy program wysyla do nas maila z informacja co dzialo sie w ciagu ostatniej doby i paroma wykresami.

TMa, dzieki. Przeczytam ;)

Zapis diagramow do pliku

: 16 cze 2014 15:26
autor: Harnas
Takie szybkie pytanko:

Czy diagram koniecznie musi byc wyswietlany na ekranie, zeby dal sie zapisac do pliku ? Myslalem, ze jezeli go sobie w SubVIu narysuje i tam zapisze to pliku to sie uda a cos nie chodzi.

Zapis diagramow do pliku

: 17 cze 2014 07:25
autor: Pitol
Z tego co na szybko sprawdziłem, to faktycznie indykator musi być widoczny, żeby metoda GetImage albo ExportImage zadziałała.

Jeśli robisz to w subVI to rozwiązaniem "na szybko" będzie sprawienie, żeby się ten subVI pokazał na czas jego działania.
Prawym na subVI -> SubVI Node Setup -> i tutaj zaznaczasz "Show front panel when called" oraz "Close afterward if originally closed".

SubVI pojawi Ci się na czas działania, a jak skończy to się zamknie. Nie jest to rozwiązanie piękne, ale prawdopodobnie skuteczne ;)

Jeśli jednak Cię to nie zadowoli to będziemy szukać czegoś innego...

Re: Zapis diagramow do pliku

: 17 cze 2014 08:30
autor: TMa
Jeśli faktycznie konieczne jest otwarcie subVi to możesz użyć VI Servera

Re: Zapis diagramow do pliku

: 19 cze 2014 10:44
autor: Harnas
hej,

podlubalem sobie troche i cos tam mi na koncu wyszlo. Generalnie chcialem, zeby SubVIa mozna bylo w miare szybko i bezbolesnie zastosowac do tworzenia diagramow dla roznych danych pomiarowych. Tak jak pisaliscie docelowo bedzie sie on otwieral o polnocy, zapisywal diagram do pliku BMP i od razu zamykal. Wykorzystalem tez pomysl o zmniejszeniu ilosci punktow, ktore sie na diagramie wyswietlaja. Majac dane z ostatniej doby wystarczy jak sie co minute wyswietli pomiar na wykresie.

W moim rozwiazaniu mam 4 wykresy jeden pod drugim. Odpowiednio 2 wykresy "polozenie" i dwa "napiecia", ktore tym polozeniom odpowiadaja. Autoskalowanie czasem zyje swoim wlasnym zyciem i glupio wyglada jak na kazdym wykresie z polozenia jest inna skala. Dociagnalem pare drutow, tak ze skalowanie kazdych dwoch wykresow odpowiada max/min z danych tych dwoch sygnalow +0,5/-0,5.
Opis osi Y czytany jest z pliku pomiarowego. Nazwy w legendzie oczywiscie tez. Data w gornym prawym roku pochodzi od nazwy pliku, zmienila tylko swoj format.

Jakby kogos zainteresowal resultat to wrzucilem do zalacznika, razem z przykladowym plikiem z paru minut. W razie jakichs pomyslow, wskazowek lub krytki nie krepujcie sie.

Ps. Komentarze w programie sa po niemiecku. Mam nadzieje, ze nie odstraszy to zainteresowanych tematem.

Zapis diagramow do pliku

: 19 cze 2014 15:35
autor: Jamal79
pewnie ze i jestesmy zainteresowani. Ale jakbys wrzucil jeszcze w starszej wersji bylo by fajnie :) LV 11(12)

PS. Sa znaczocze roznice w 13?? niewiem czy przeinstalowywac czy nie...

Re: Zapis diagramow do pliku

: 20 cze 2014 08:38
autor: Harnas
Ja sie przesiadlem w sumei niedawno z LV 2009 na 2013. Troche roznic jest, ale jakiejs kolosalnej zmiany nie odczulem.

Ten plik tekstowy w poprzednim poscie nie ma u mnie generalnie zadnego formatu, ale tutaj na forum musialem formatowanie dodac. W resultacie przy zapisywaniu do BMP wychodzi cos w stylu *.txt.bmp ;)

W zalaczniku Vi pod LV2011.

Pozdrawiam ;)