www.eprace.edu.pl » bezprzewodowy-pomiar » Projekt bezprzewodowego systemu pomiaru temperatury » Obsługa bezprzewodowego systemu pomiaru temperatury

Obsługa bezprzewodowego systemu pomiaru temperatury

Standardowa aplikacja do obsługi portu szeregowego

Bezprzewodowy system pomiaru temperatury został zaprojektowany tak, by jego obsługa była prosta dla użytkownika i nie wymagała dedykowanej aplikacji na komputer PC. Do rozpoczęcia pracy z systemem wystarczy prosty program do obsługi portu szeregowego, typu HyperTerminal, czy też RealTerm (rys. 3.14).

Rys. 3.14: Odczyt temperatury w trybie Master – Slave za pomocą aplikacji RealTerm.

Komunikacja z modułem nadrzędnym odbywa się za pomocą zrozumiałych dla człowieka komunikatów w formacie ASCII. Wszystkie komendy poza komendą state składają się z więcej niż jednego tokena (tokenami nazywa się ciągi znaków rozdzielone delimiterami, funkcje delimiterów pełnią znaki spacji „\s”) . Pierwszy token określa typ przesyłanej komendy, natomiast kolejne pozwalają bardziej szczegółowo określić przesyłane zadanie. Każda komenda akceptowana jest przez naciśnięcie klawisza Enter (przesłanie znaku CR „\r”). Do dyspozycji użytkownika jest 5 następujących komend (w nawiasie ostrym zamieszczone są tokeny, których wartość jest zmienna):

W przypadku przesłania komendy „data” lub „id” w trybie pracy Klient – Serwer, zwracany jest komunikat „Jestes w trybie Klient - Serwer” i nie podejmowana jest dalsza akcja. Podobnie w trybie Master – Slave, w przypadku wysłania komendy „time”, zwracany jest komunikat „Jestes w trybie Klient - Serwer”. Przeciwdziała to bezskutecznemu wysyłaniu wiadomości do modułów podrzędnych, które przez większość czasu są w stanie głębokiego uśpienia.

Przykładowe cykle komunikacji pomiędzy modułami, przedstawione są na rys. 3.15. Strzałki na diagramie wskazują kierunek przepływu wiadomości. Strzałki koloru czerwonego oznaczają komunikaty przesyłane z PC, poprzez port szeregowy do mikrokontrolera. W odpowiedzi moduł nadrzędny (po otrzymaniu wszystkich potrzebnych danych z modułów podrzędnych) przesyła odpowiedni komunikat do komputera (strzałki koloru niebieskiego) . W pierwszym cyklu, po przesłaniu do modułu nadrzędnego komendy „mode ms” (tryb domyślny), moduł nadaje rozgłoszeniowo pakiet trybu pracy Master – Slave. Po odebraniu pakietu, moduł podrzędny zmienia swój tryb pracy na Master – Slave i odsyła pakiet potwierdzenia do modułu nadrzędnego, który wyświetla stosowny komunikat w oknie terminala. W przypadku pracy systemu w trybie Klient – Serwer, strzałką zieloną zaznaczony jest komunikat o wartości temperatury, przesyłany do komputera cyklicznie.

Rys. 3.15: Diagram przykładowych komunikacji za pomocą komend przesyłanych przez UART.

W przypadku otrzymania ramki NACK od modułu podrzędnego wyświetlany jest komunikat, „NACK Modul nr: x”, gdzie x to numer modułu. W przypadku zgodności adresów w: ramce NACK i poprzednio wysłanej ramce, ponawiane jest wysłanie poprzedniej ramki. W takiej sytuacji, po otrzymaniu ramki od modułu podrzędnego, wyświetlany jest standardowy komunikat dla danego pakietu, opatrzony na końcu dopiskiem „NACK”. Dzięki temu użytkownik jest informowany, iż ramka wysłana do modułu podrzędnego była retransmitowana.

W przypadku braku odpowiedzi modułu podrzędnego w zaprogramowanym czasie (ang. Timeout) przy adresowaniu nie rozgłoszeniowym, wyświetlany jest komunikat „Nie odpowiada modul nr: x”. W przypadku zmiany czasu w trybie Klient – Serwer, wyświetlany jest komunikat „Zmiana czasu”.

Dedykowana aplikacja w środowisku LabVIEW

LabVIEW jest akronimem nazwy angielskiej: Laboratory Virtual Instrument Enginnering Workbench. Środowisko to służy do programowania eksperymentów fizycznych i systemów kontrolno – pomiarowych. W odróżnieniu od klasycznych języków programowania, w których ciąg kolejnych linii kodu determinuje wykonywanie programu, w LabVIEW wykonywanie aplikacji określone jest przez przepływ danych na diagramie (ang. Data flow programming), a sam sposób programowania zalicza się do programowania graficznego ( Język „G”). Języki graficzne pozwalają zbudować aplikacje w krótkim czasie, które są przy tym bardziej czytelne od swoich „tekstowych” odpowiedników. Program napisany w LabVIEW zawiera dwa okna: Block Diagram – w oknie tym umieszczony jest graficzny kod programu i Front Panel – zawierający interfejs użytkownika. Programy napisane w środowisku LabVIEW nazywane są przyrządami wirtualnymi (ang. Virtual Instruments, w skrócie VI’s), gdyż ich wygląd (interfejs użytkownika), oraz działanie jest podobne do fizycznych przyrządów kontrolno – pomiarowych.

W środowisku LabVIEW 2011, stworzono aplikację „RFM12_Temp_Logger_v.1”, komunikująca się za pomocą wirtualnego portu szeregowego z modułem nadrzędnym, pozwalającą sterować pracą systemu pomiarowego, a także wizualizować i zapisywać dane pomiarowe. Na rys. 3.16 przedstawiony jest interfejs graficzny stworzonej aplikacji.

Rys. 3.16: Interfejs graficzny aplikacji „RFM12_Temp_Logger_v.1”

Aplikacja wykorzystuje bibliotekę VISA do komunikacji szeregowej, dostępną w palecie „Instrument I/O”. W górnej części aplikacji znajduje się pole indykatora, w którym wyświetlane są otrzymane komunikaty z portu szeregowego. Przycisk „Stop” służy do zakończenia działania aplikacji, natomiast przycisk „Clear” służy do „czyszczenia” pola indykatora „Read string”.

W zakładce „Port” (rys. 3.17) znajdują się ustawienia konfiguracyjne portu szeregowego: numer portu COM, szybkość transmisji (ang. baudrate), ilość bitów w ramce, kontrola parzystości, oraz ilość bitów stop. Standardowe parametry portu szeregowego UART modułu nadrzędnego: baudrate – 38,4kbps, ilość bitów w ramce – 8, kontrola parzystości – nie, ilość bitów stop – 1. Parametry te ustawione są w programie jako domyślne.

Rys. 3.17: Wygląd zakładki „Port”.

W drugiej zakładce „Send” (rys. 3.18) znajdują się opcje związane z pracą stworzonego systemu pomiarowego. W polu „Mode”, za pomocą listy rozwijanej możliwe jest wybranie trybu pracy sytemu: Master – Slave lub Klient – Serwer. W drugim polu ustawiane są parametry pracy sieci w trybie Klient – Serwer. Na liście rozwijanej „Time(min)” znajdują się dostępne czasy cykliczne transmisji w minutach: 1, 2, 5, 10, 30, 60, 120 min, natomiast pole „Adres” służy do wpisania adresu modułu podrzędnego, do którego skierowane jest żądanie. Odczyt temperatury w trybie Master – Slave, dokonywany jest przez wysłanie żądania za pomocą pola „Temperature”, w polu „Adres” należy wpisać adres modułu podrzędnego. Nazwa kontrolki „Adres” występuje dwukrotnie, w polu „Mode” i w polu „Time”, wartości w nie wpisywane nie są powiązane. Wciśnięcie przycisku „Send” w odpowiednim polu, determinuje wysłanie określonego pakietu dla danego pola.

Rys. 3.18: Wygląd zakładki „Send”.

W zakładce „Capture” (rys. 3.19) znajduje się przycisk „Save to file”, oraz pole ścieżki do pliku, za pomocą których możliwe jest zapisywanie otrzymanych komunikatów do pliku tekstowego. Zapisywanie rozpoczyna się od wciśnięcia przycisku „Save to file” i trwa aż do jego zwolnienia. W polu ścieżki dostępu „Destination” można wpisać pełną nazwę ścieżki, wraz z nazwą pliku wynikowego.

Rys. 3.19: Wygląd zakładki „Capture”.

W przypadku pozostawienia pustego pola „Destination”, tuż przed rozpoczęciem zapisu użytkownik zostanie poproszony o wskazanie położenia pliku wynikowego i określenie jego nazwy. Informacje pomiarowe w pliku tekstowym wzbogacone są o aktualny czas i datę otrzymania wiadomości (rys. 3.20).

Rys. 3.20: Format zapisu danych do pliku tekstowego.

W zakładce „Graph” znajduje się wizualizacja wyników pomiarowych w postaci wykresu temperatury w funkcji czasu (rys. 3.16). Dane wyświetlane są w trzech kolorach: czerwonym, zielonym i niebieskim, w zależności od numeru modułu podrzędnego. Możliwe jest jednoczesne wyświetlanie wyników pomiarowych z wszystkich trzech modułów (np. w celu porównania zmian temperatury), bądź też wyświetlanie wyników pomiarowych dla każdego modułu z osobna. Wybór opcji wyświetlania dokonywany jest za pomocą listy rozwijanej „Plot visible”. Przycisk „Reset” służy do „czyszczenia” wykresu i ponownego nanoszenia punktów pomiarowych. Za pomocą przycisku „Export to Excel” następuje zapis zgromadzonych wyników pomiarowych, do arkusza kalkulacyjnego w formacie „XLS” pakietu MS Office (rys. 3.21). Pierwszy wiersz arkusza kalkulacyjnego zawiera nazwę i źródło danych pomiarowych znajdujących się w wierszach. Dzięki wykorzystaniu popularnego arkusza kalkulacyjnego, późniejsza analiza jak i obróbka danych pomiarowych nie wymaga specjalistycznego narzędzia.

Aplikacja RFM12_Temp_Logger_v.1 w obecnej formie pozwala jedynie na rejestrację danych z trzech modułów pomiarowych. W celu rozszerzenia funkcjonalności do większej liczby modułów i obsługi wielu sieci pomiarowych, konieczne jest gruntowne zmodyfikowanie stworzonej aplikacji.

Rys. 3.21: Format zapisu danych do pliku XLS.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.