Problem z wysyłaniem plików z danymi na maila

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
marek87
Posty: 9
Rejestracja: 15 cze 2010 10:56
Wersja środowiska: LabVIEW 8.5

Re: Problem z wysyłaniem plików z danymi na maila

Post autor: marek87 »

Szanowny Pitolu, stawiam pierwsze kroki w LabView i nie dostrzegam jeszcze dla niektórych oczywistych błędów.. Czy mógłbyś podpowiedzieć jak poprawić ten kod, aby działał tak jak to opisałem wyżej - tj dane są w sposób ciągły sczytywane i zapisywane do pliku, a po zadanym czasie stary plik jest wysyłany a na jego miejsce stworzony zostaje nowy plik.

Dziękuję za poświęcony czas.
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Problem z wysyłaniem plików z danymi na maila

Post autor: Pitol »

no to już tłumaczę ;)

Na moje oko Twój kod wykonuje się w następującej kolejności:
1. Odczyt z magicznego VI "ramka in" oraz sprawdzenie warunku czy upłynął już czas
2. Następnie w zależności od tego co zwróci "Time has Elapsed" wykona się (lub nie) zapis do pliku magicznych danych z VI "ramka in".
3. Po tym VI przejdzie do drugiej ramki, gdzie umieszczone jest wysyłanie przez gmaila.

Żeby nie kombinować za dużo to najprostszym usprawnieniem będzie uzależnienie wysyłania maila od stanu linii "Time has Elapsed" (po prostu wrzuć to w Case).
Tak w ogóle to po co masz dwie struktury Case, skoro obie są sterowane tym samym sygnałem?
dane są w sposób ciągły sczytywane i zapisywane do pliku, a po zadanym czasie stary plik jest wysyłany a na jego miejsce stworzony zostaje nowy plik
Z tego co zrobiłeś to wynika, że plik tworzony jest dopiero w momencie gdy "Time has Elapsed" będzie TRUE. Wtedy zostanie stworzony plik xxxxx1.txt, zapisane do niego dane, a dane wysłane na gmaila. Przy kolejnym "Time has Elapsed" == TRUE zostanie stworzony plik xxxx2.txt i reszta bajki taka sama.
I teraz nie wiem jaki jest Twój zamysł. Bo jeśli chcesz wysyłać jako załącznik pliki, w których nazwie jest inkrementowany licznik to będziesz musiał usuwać pliki z dysku po wysłaniu maila bo Ci sie niepotrzebnie będą gromadzić (chyba, że chcesz żeby tam były, do usuwania plików są bloczki w palecie File I/O -> Adv File coś tam). Jeśli chcesz wysyłać w załączniku pliki, które nie muszą mieć różnych nazw, to możesz w ogóle zrezygnować z zabawy, którą dodałeś (czyli budowanie nazwy pliku), wstawić ją przed pętlę jako stałą ścieżkę i tylko podmieniać zawartość pliku.

Lekko zmodyfikowałem Twojego VI, co by to spełniało Twoje wymagania ;)
5.PNG
a tak w ogóle wytłumacz mi po co to??
4.PNG
4.PNG (4.51 KiB) Przejrzano 5017 razy
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
marek87
Posty: 9
Rejestracja: 15 cze 2010 10:56
Wersja środowiska: LabVIEW 8.5

Re: Problem z wysyłaniem plików z danymi na maila

Post autor: marek87 »

Witam!

2 struktury case są niezbędne - próbowałem już wcześniej wrzucić to do jednej struktury tak jak Ty, jednak wtedy program wyrzuca w "podglądzie reversed array" 10 razy ścieżkę do tego samego pliku. W przypadku rozbicia kodu na 2 bloki case co określony czas jest dopisywany tylko jeden plik.

Pliki powinny mieć nazwę taka jak w projekcie - takie są założenia. Dodatkowo nie mogę usuwać ich z dysku. Idea polega na tym, że urządzenie prowadzi ciągły odczyt danych i zapisuje je na dysku, a nazwijmy to "kopia" jest wysyłana w częściach na maila. Dzięki temu można zdalnie sprawdzać jak zachowywały się parametry pomiaru (oczywiście z dokładnością do "określonego czasu" wstecz).

Wklejony przez Ciebie fragment kodu ma za zadanie stworzenie tablicy ścieżek do pliku, gdzie zapisujemy dane. Tablica tworzona jest w sposób dynamicizny - ciągle dopisywane są tam ścieżki. Gdyby nie odwracać rekordów, program cały czas wskazywał by na pierwszy element, a dzięki inwersji wskaźnik "widzi" nowo powstały plik. Przynajmniej chciałbym żeby tak to działało :)
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Problem z wysyłaniem plików z danymi na maila

Post autor: Pitol »

Wklejony przez Ciebie fragment kodu ma za zadanie stworzenie tablicy ścieżek do pliku, gdzie zapisujemy dane. Tablica tworzona jest w sposób dynamicizny - ciągle dopisywane są tam ścieżki. Gdyby nie odwracać rekordów, program cały czas wskazywał by na pierwszy element, a dzięki inwersji wskaźnik "widzi" nowo powstały plik. Przynajmniej chciałbym żeby tak to działało
ale popatrz sobie na ostatni kawałek (że też tego sam wcześniej nie zauważyłem). Bierzesz bloczek Array Size, który zwraca Ci rozmiar tablicy i podpinasz to do Index Array. Tablice indeksuje się od 0, a rozmiar tablicy podawany jest od 1 więc w ogóle podpinając coś takiego zawsze dostniesz nieistniejący element (przykładowo rozmiar tablicy jest 3, więc ostatni indeks ma numer 2, a Ty podpinasz 3)

W ogóle po co dodawać coś na początek tablicy a potem ją odwracać, jak można dodawać na jej koniec?
2 struktury case są niezbędne - próbowałem już wcześniej wrzucić to do jednej struktury tak jak Ty, jednak wtedy program wyrzuca w "podglądzie reversed array" 10 razy ścieżkę do tego samego pliku. W przypadku rozbicia kodu na 2 bloki case co określony czas jest dopisywany tylko jeden plik.
Nie przekonałeś mnie.
6.PNG
Czym różnią się te dwa przypadki? Tak samo jest u Ciebie...
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
marek87
Posty: 9
Rejestracja: 15 cze 2010 10:56
Wersja środowiska: LabVIEW 8.5

Problem z wysyłaniem plików z danymi na maila

Post autor: marek87 »

Miałem ostatnio styczność z osobą pracującą w National Instruments. Pokazałem jej mój program i wyskakujący błąd 1172. Po przeanalizowaniu programu dowiedziałem się, że błąd ten z całą pewnością pochodzi od subvi gmail. Niestet osoba ta nie miała dużo czasu więc nie pomogła mi go zlikwidować. Sprawdziłem samego subvi gmail i wysyła wiadomość, problem jest w momencie gdy chcę wysłać załącznik wtedy wyskakuje błąd.
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Problem z wysyłaniem plików z danymi na maila

Post autor: Pitol »

a podpinasz dobrą ścieżkę do wejścia "Attachment"? Jak się bawiłem tym bloczkiem to mnie działało (poza samym wysłaniem bo mam bloknięte porty). Ale jeśli podepniesz złą ścieżkę załącznika to się wysypie program...
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
ODPOWIEDZ