Problem z czasem

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.
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Problem z czasem

Post autor: kozik »

Witam!
Jako początkujący mam problem z programem a mianowicie chcę zapisywać do tabeli wyniki pomiaru do pierwszego wiersza i po określonym czasie zmieniać numer wiersza na kolejny i tak kilka razy aż minie czas całego pomiaru. Dzięki za wskazówki.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z czasem

Post autor: jogurt_owocowy »

Witaj.

Przydałoby się więcej szczegółów. Co to będą za pomiary, jak wykonywane (co stały okres czasu czy może mniej lub bardziej losowy) itp.

Chodzi o to, że od tego zależy architektura programu, a od niej z kolei postać optymalnego rozwiązania Twojego problemu. Tak czy inaczej będzie się ono opierać o klocki z paletki Timing (albo dawniej: Time & Dialog): Tick Count, Get Date/Time... itp.

Pozdrawiam
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Re: Problem z czasem

Post autor: kozik »

Ogólnie jest to pomiar wartości skutecznej napięcia. W tym przykładzie jest on tylko symulowany. Chodzi o to, żeby zapisywać mierzone wartości powiedzmy przez 5 minut, ale żeby co minute (stałe odstępy czasu) zmieniał sie wiersz zapisywanych wartości w tabeli.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z czasem

Post autor: jogurt_owocowy »

Może coś takiego?

Pozdrawiam
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Problem z czasem

Post autor: kozik »

Dzięki wielkie, to rozwiązanie okazało się bardzo pomocne. Mam jeszcze jedno pytanie, jak można zrobić żeby pomiar wartości skutecznej odbywał się co pół okresu napięcia? I jeszcze jedno, jak można zapisać wyniki pomiarów do pliku, bo wcześniej jak miałem tablicę typu array to używałem bloczku write to spreadsheet file, a teraz tak się już nie da.
Pozdrawiam
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z czasem

Post autor: jogurt_owocowy »

Oczywiście, że się da:

[img]http://www.labview.pl/uploads/veir/writ ... length.gif[/img]

W LV da się wszystko ;]
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Problem z czasem

Post autor: kozik »

No i kolejny sukces :P
Ostatnio zmieniony 30 mar 2008 16:48 przez kozik, łącznie zmieniany 1 raz.
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Problem z czasem

Post autor: kozik »

No to pojawił się błąd którego wcześniej nie zauważyłem. Chodzi mianowicie o to, że gdy np. ustawiam długość pomiaru na 1s, to liczba próbek zapisywanych w tabeli mi maleje. A w sumie cały czas powinna być taka sama (zbliżona) :/
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Re: Problem z czasem

Post autor: kozik »

kozik pisze:No to pojawił się błąd którego wcześniej nie zauważyłem. Chodzi mianowicie o to, że gdy np. ustawiam długość pomiaru na 1s, to liczba próbek zapisywanych w tabeli mi maleje. A w sumie cały czas powinna być taka sama (zbliżona) :/ Zauważyłem, że ma to związek z zapisem do pliku, który jest ponawiany z każdą iteracją i coraz więcej chyba pamięci zajmuje przez co zwalnia się pomiar.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z czasem

Post autor: jogurt_owocowy »

Pokaż diagram.
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Re: Problem z czasem

Post autor: kozik »

Jeżeli pętla for jest poza pętlą while to zapis do pliku praktycznie nie następuje :/ jeżeli ją przeniosę do struktury to zapis już jest ale liczba próbek z kolejnym wierszem się zmniejsza (przy dłuższym czasie pomiaru) i wychodzą bzdury.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z czasem

Post autor: jogurt_owocowy »

Nie mogę teraz spojrzeć w program, ale tak strzelę:
Jeśli używasz rozwiązania z obrazków powyżej, to do kończenia programu nie używaj przycisku Abort tylko guzika STOP na panelu!
Jeśli chodzi o zmniejszającą się liczbę próbek... Czy chodzi Ci o to, że w pierwszym wierszu tabeli jest więcej próbek niż w pozostałych? Jeśli tak, to wynika to ze specyfiki klocka Wait Until Next Multiple. Zamień go na Wait i będzie ok.
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Problem z czasem

Post autor: kozik »

No faktycznie jak zatrzymam program przyciskiem to sie pojawia :P Ale mam taki problem przy tym ze w pierwszym wierszu jest o jedną próbkę wiecej niz w pozotalych i jak wgrywam potem dane z pliku to tabela uzupełnia mi się zerami o tą jedną wartość a tak nie moze byc :/
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Problem z czasem

Post autor: jogurt_owocowy »

Ale mam taki problem przy tym ze w pierwszym wierszu jest o jedną próbkę wiecej niz w pozotalych
Właśnie dlatego klocek Wait Until Next Multiple zmień na Wait.
Chodzi o to, żeby zapisywać mierzone wartości powiedzmy przez 5 minut, ale żeby co minute (stałe odstępy czasu) zmieniał sie wiersz zapisywanych wartości w tabeli.
W rozwiązaniu z obrazka pierwszego taka szczególna struktura do przechowywania danych (tablica jednoelementowych klastrów z tablicami) jest użyta właśnie dlatego, aby możliwe było przechowywanie serii pomiarów o różnych długościach. Z Twojego opisu nie wynika, że istnieje jakaś gwarancja, że każda seria będzie zawierać jednakową liczbę probek. Jeśli masz taką pewność, albo jeśli przerobisz program tak, aby tak było (nowy wiersz zapala się nie po odmierzeniu danego okresu czasu, a po odliczeniu odpowiedniej liczby próbek) to: 1. Możesz, (ale nie musisz) zmienić sposób przechowywania danych na zwykłą tablicę 2D. 2. Nie będziesz mieć problemów z wgrywaniem danych z pliku (zapewne za pomocą Read From Spreadsheet File).
Przed rozpoczęciem kodowania trzeba nakreślić jakieś założenia. To, które teraz jest interesujące to założenie dotyczące liczby próbek w kolejnych seriach. Musi być taka sama czy nie?
kozik
Posty: 26
Rejestracja: 27 mar 2008 10:19
Kontakt:

Problem z czasem

Post autor: kozik »

Pomiar nawiązuje do częstotliwości sieci. Teoretycznie, częstotliwość jej jest stała, więc przy stałym pomiarze wartości skutecznej powinienem uzyskiwać w danym przedziale czasu tą samą liczbę próbek. Teoretycznie też jeżeli liczba próbek w danym odstępie czasu będzie zbliżona (różnica 1-2 próbek) to nie stanowi to problemu. Najważniejszy jest czas pomiaru!!
Jak już było wspomniane w innym temacie w sumie nie mam gwarancji, że częstotliwość sieci się minimalnie nie zmieni i nie będę idealnie trafiał na półokres do wyznaczenia RMS. Nad tym muszę się jeszcze zastanowić.
Problem w tym, że zamieniłem blok wait until next multiple na wait i nadal mam w pierwszym wierszu o jedną próbkę więcej. Nie przeszkadzało by mi to gdyby przy odczycie tablica nie byla uzupełniana dodatkowo zerami o tą jedną komórkę w pozostałych wierszach :/
Pozdrawiam (mam nadzieję że dosyć zrozumiale napisałem)
ODPOWIEDZ