Strona 2 z 2

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

: 22 cze 2010 13:37
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.

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

: 22 cze 2010 14:46
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 5016 razy

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

: 23 cze 2010 08:56
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 :)

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

: 23 cze 2010 10:40
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...

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

: 08 lip 2010 09:10
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.

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

: 09 lip 2010 09:39
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...