Pomiary z róznych czujników przesyłanych portem szeregowym do LV

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
Przemk0o
Posty: 1
Rejestracja: 09 mar 2019 17:06
Wersja środowiska: LabVIEW 2017

Pomiary z róznych czujników przesyłanych portem szeregowym do LV

Post autor: Przemk0o » 09 mar 2019 17:21

Witam
Mam następujący problem. Otóż za pomocą mikrokontrolera Atmega gromadzę dane z dwóch wejść przetwornika AC i wysyłam je portem szeregowym, jedna po drugiej. Od strony mikrokontrolera dane wysyłane są prawidłowo, jedna po drugiej(sprawdzone za pomocą PuTTy). Owe dane chciałbym przedstawić na dwóch wykresach. Do tego celu stworzyłem aplikacje w LV opartą na strukturze producent-konsument. W pętli producenta odbieram dane z portu szeregowego, następnie za pomocą kolejki przesyłam klaster danych zawierający aktualną daną z portu szeregowego oraz zmienną Bool zainicjowaną w Shift Registerze. Stan wspomnianej zmiennej Boolowskiej zmieniam na przeciwny z każdą nową iteracją pętli producenta dzięki czemu w pętli konsumenta za pomocą struktury Case sterowanej przesyłaną zmienną,przekazuje dane do odpowiedniego wykresu. Wszystko działa jak należy do momentu gdy wartości z czujników się nie zmieniają. W różnych momentach działania programu, zazwyczaj przy zmianie wartości z czujników po pewnej chwili dochodzi do sytuacji "zamiany" przekazywanych danych do wykresów (coś co powinno być na wykresie pierwszym nagle jest na wykresie drugim i na odwrót). Dodam iż z ciekawości odebrane dane zapisywałem do pliku tekstowego, i po analizie zawartości pliku wygląda że wszelkie dane są prawidłowo odbierane przez program w LabVIEW.
Chciałbym zapytać o rozwiązanie mojego problemu, oraz czy moje podejście jest dobre? Z góry dziękuję za wszelkie konstruktywne wskazówki.
Pozdrawiam

Awatar użytkownika
smiga
Posty: 717
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk
Has thanked: 4 times
Been thanked: 3 times
Kontakt:

Re: Pomiary z róznych czujników przesyłanych portem szeregowym do LV

Post autor: smiga » 11 mar 2019 01:10

Pokaż kod - łatwiej analizować :)
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek

Awatar użytkownika
micard
Posty: 192
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Has thanked: 7 times
Been thanked: 6 times
Kontakt:

Re: Pomiary z róznych czujników przesyłanych portem szeregowym do LV

Post autor: micard » 11 mar 2019 15:54

Wszystko działa jak należy do momentu gdy wartości z czujników się nie zmieniają
Raczej
Błąd jest niewidoczny jeśli wartości z czujników są takie same
:)

Bez kodu rzeczywiście ciężko cos tu zdziałać - niemniej zakładam, że problemem jest jedna z możliwości:
  • race conditions
  • duża różnica w tempie działania producenta i konsumenta (może masz ograniczenie na rozmiar kolejki? (mam nadzieję, że masz kolejkę:) )
  • odczytywana jest więcej niż jedna wartość w "producencie" ale do konsumenta trafia tylko pierwsza/ostatnia z nich

Awatar użytkownika
micard
Posty: 192
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Has thanked: 7 times
Been thanked: 6 times
Kontakt:

Re: Pomiary z róznych czujników przesyłanych portem szeregowym do LV

Post autor: micard » 11 mar 2019 15:54

Wszystko działa jak należy do momentu gdy wartości z czujników się nie zmieniają
Raczej
Błąd jest niewidoczny jeśli wartości z czujników są takie same
:)

Bez kodu rzeczywiście ciężko cos tu zdziałać - niemniej zakładam, że problemem jest jedna z możliwości:
  • race conditions
  • duża różnica w tempie działania producenta i konsumenta (może masz ograniczenie na rozmiar kolejki? (mam nadzieję, że masz kolejkę:) )
  • odczytywana jest więcej niż jedna wartość w "producencie" ale do konsumenta trafia tylko pierwsza/ostatnia z nich

ODPOWIEDZ