Strona 1 z 1

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

: 09 mar 2019 17:21
autor: Przemk0o
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

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

: 11 mar 2019 01:10
autor: smiga
Pokaż kod - łatwiej analizować :)

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

: 11 mar 2019 15:54
autor: micard
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

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

: 11 mar 2019 15:54
autor: micard
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