Witam wszystkich,
Jestem nowym użytkownikiem:) Stawiam pierwsze kroki w labview i podczas wykonywania programu napotkałem problemu. Chciałbym prosić Koleżanki/Kolegów o pomoc.Stworzyłem program, który generuje wartości losowe (funkcja random). Stworzyłem też wyświetlanie godziny. Chciałbym zapisywać
dane do tablicy: (wwrtośc losowa, czas, data oraz numer pomiaru). Zrobiłem tablicę. Niestety data nie jest podawana we właściwym formacie (tylko zapisywana np. jako 3.32...). Co więcej tablica powinna być inaczej wyświetlana, w formacie:wartość losowa | data | czas| nr pomiaru
0.4 ... 12.13 4
a nie jak w obecnym pliku:
wartość losowa
data
nr pomiaru. Obecny format nie jest przejrzysty....
Jakiej funkcji powinienem użyć do zapisu takiej tablicy do pliku? Czy Write to Measurement File? Użyłem tej funkcji, ale zapis w pliku.txt jest nieczytelny...
Dodatkowo, chciałbym wyznaczać wartości min i max tylko z danych losowych? Jak ograniczyć taki zakres pomiaru?
Z góry bardzo dziękuję za wszelką pomoc.
Używam labview 8.6.
Dołączam plik.vi
Pozdrawiam,
Włóczykij
Problem z właściwym wyświetlanie danych
Problem z właściwym wyświetlanie danych
- Załączniki
-
- problemy.vi
- (93.34 KiB) Pobrany 295 razy
-
- Posty: 641
- Rejestracja: 31 gru 2010 01:36
- Wersja środowiska: LabVIEW 2017
- Lokalizacja: Katowice
Re: Problem z właściwym wyświetlanie danych
Witam
Sporo tego, ale spróbuję kilka rzeczy objaśnić. Data (a właściwie tzw. timestamp) zapisywana jest do tablicy tak, jak sobie zażyczyłeś konwertując ją bezpośrednio na double- czyli jako liczba sekund jaka upłynęła od godz. 12:00 UTC 1 stycznia 1904 roku (patrz dokumentacja bloczka Get Date/Time). Czas zwykle jest w cyfrowym świecie wyrażany jako liczba sekund, która upłynęła od jakiegoś momentu (dla porównania według POSIX jest to 1 stycznia 1970). Jeśli chcesz wyłuskać datę z tej liczby, użyj odpowiedniego bloczka z grupy Timing, nie ma dużo szukania.
Od razu uwaga- w jednej tablicy możesz zapisywać dane tylko jednego typu, czyli odpada zrobienie tablicy z liczbową wartością i datą w postaci stringa (np. "2011-01-09").
Przemyśl sposób zapisywania danych do tablicy. Czy na pewno chcesz zapisywać wszystko w jednej kolumnie? Tak samo z zapisem do pliku- jaki to ma być plik? Jaki ma być format zapisanych w nim danych (np. czy chcesz, żeby to było czytelne dla człowieka, czy ma być gdzieś przerzucone do dalszego przetwarzania)? Write To Measurement File to tylko jeden ze sposobów zapisu, dający bardzo konkretny wynik.
Jeśli chodzi o znajdowanie min i max liczby, to w tej chwili konieczne jest oczywiście wyłuskanie co któregoś elementu z tablicy i wybór odpowiednich spośród nich. Dlatego jeszcze raz- czy na pewno chcesz zapisywać wszystko w jednej kolumnie?
Po prostu zapanuj nad tym co robisz ;)
Pozdrawiam,
Piotrek
Sporo tego, ale spróbuję kilka rzeczy objaśnić. Data (a właściwie tzw. timestamp) zapisywana jest do tablicy tak, jak sobie zażyczyłeś konwertując ją bezpośrednio na double- czyli jako liczba sekund jaka upłynęła od godz. 12:00 UTC 1 stycznia 1904 roku (patrz dokumentacja bloczka Get Date/Time). Czas zwykle jest w cyfrowym świecie wyrażany jako liczba sekund, która upłynęła od jakiegoś momentu (dla porównania według POSIX jest to 1 stycznia 1970). Jeśli chcesz wyłuskać datę z tej liczby, użyj odpowiedniego bloczka z grupy Timing, nie ma dużo szukania.
Od razu uwaga- w jednej tablicy możesz zapisywać dane tylko jednego typu, czyli odpada zrobienie tablicy z liczbową wartością i datą w postaci stringa (np. "2011-01-09").
Przemyśl sposób zapisywania danych do tablicy. Czy na pewno chcesz zapisywać wszystko w jednej kolumnie? Tak samo z zapisem do pliku- jaki to ma być plik? Jaki ma być format zapisanych w nim danych (np. czy chcesz, żeby to było czytelne dla człowieka, czy ma być gdzieś przerzucone do dalszego przetwarzania)? Write To Measurement File to tylko jeden ze sposobów zapisu, dający bardzo konkretny wynik.
Jeśli chodzi o znajdowanie min i max liczby, to w tej chwili konieczne jest oczywiście wyłuskanie co któregoś elementu z tablicy i wybór odpowiednich spośród nich. Dlatego jeszcze raz- czy na pewno chcesz zapisywać wszystko w jednej kolumnie?
Po prostu zapanuj nad tym co robisz ;)
Pozdrawiam,
Piotrek
Re: Problem z właściwym wyświetlanie danych
Bardzo dziękuję za odpowiedź ;) Zmieniłem koncepcję:) Postanowiłem dane i czas wyświetlać na wykresie. Tylko niestety na wykresie mam dziwną datę (1904...;/). Jak można to zmienić? A wartości losowe będę gromadzić w tabeli tak, aby łatwo było użyć funkcji do liczenia wartości max i min czy też wartość średnia. W ten sposób nie będę tak mieszał wszystkiego w tabeli:P i trochę zapanuje nad swoim programem.
Włóczykij
Włóczykij