Wirtualny Meratronik V543 sieciowy interfejs SCPI i LabVIEW |
|
Nie byłabym przecież sobą, gdyby te wszystkie knowania wokół sieciowego interfejsu SCPI w końcu nie skręciły w kierunku programowania w LabVIEW. I proszę, przy odrobinie samozaparcia można neonowy mierniczek namówić do całkiem sprawnej współpracy z pakietem od National Instruments. W ramach uzupełnienia lub jak kto woli usystematyzowania wiedzy o kostkach sieciowych w LV polecam zerknąć w linki: Wizja pierwsza Pierwsze podejście do komunikacji wirtualnego panelu z żywym urządzeniem, póki co wizualizacja wartości na pokracznym wskaźniku, ot taki pod ręką był. Spis kostek występujących na diagramie w formie linków do systemu pomocy LV 2014, warto poczytać. ![]() Plik VI tej prostej aplikacji tutaj: ⇨ v543scpi.vi a filmik poniżej prezentuje instrument w działaniu. Dalsze prace to próba zbudowania wirtualnego odpowiednika wyświetlacza Nixie, ale nieco inaczej niż w artykułach o LIFA z zeszłorocznej `Elektroniki dla Wszystkich`. Tam wyświetlacz do termopary składany był z pojedynczych pliczków-cyfr co sprawiało, że manipulowanie całością, a w szczególności modyfikacje były cokolwiek kłopotliwe. Teraz postanowiłam poszatkować programowo jeden mega-obrazek z cyframi i znakami, aplikacja przepisuje sobie do tablic dane graficzne z tych miejsc, z których potrzebuje. Obrazek takowy: ![]() Przygotowałam to w LibreOffice potem rozmycie drobne w GIMP, ale można taką matrycę przygotować na wiele innych wygodnych sobie sposobów. Oczywiście spora cześć pracy to jak zwykle przesuwanie graficznych kontenerków po panelu głównym, jedna z wielu migawek: ![]() Gotowy, działający panel a'la Meratronik z wykresikiem na dole. ![]() ![]() Finalnie powstało monstrum jak poniżej, w tej wersji praktycznie bez żadnej modularyzacji, wszystko na raz, takie Head & Shoulders. ![]() Pliczek VI tej wersji tu: ⇨ v543.vi chyba może stanowić niezły punkt wejścia, gdyby ktoś chciał sobie poprzerabiać tę zabawkę. Wizja druga Dalsze prace to drobne uprawnienia ogranizacyjne - ładowanie tabel z grafikami zostało zapakowane w oddzielny sub-vi, klocek jest w miarę reużywalny. ![]() Druga zmiana to wyizolowanie fragmentu fizycznie komunikującego się z Meratronikiem poleceniem `:meter:raw?`. Nowy sub-vi pracuje całkiem sprawnie, aczkolwie w tej prostej wersji nadaje się tylko do wymiany krótkich komunikatów. ![]() Po tych modyfikacjach główny VI aplikacji już tak nie straszy, ale dalej stanowi materiał do optymalizacji i uproszczeń, póki co mamy tak: ![]() Pliki składowe aplikacji to: I w przypadku wykorzystania powinny znaleźć się w jednym wspólnym folderze roboczym. Przy okazji ciekawostka - chyba najprostsza możliwa wersja toggle w LabVIEW z wykorzystaniem `feedback node` i inwertera. I wcale nie trzeba przekazywać wartości logicznej przez terminale pętli. Feedback node zapewnia nam lokalny dostęp do wartości z poprzedniej iteracji, super! ![]() Ponownie rzut oka na panel frontowy, ale już nowszej wersji aplikacji. ![]() ![]() Przygotowania do filmowania aplikacji i Meratronika w ich środowisku naturalnym. Tu kłopocik powstał drobny z brakiem napięć ujemnych aby zaprezentować działający minus na wyświetlaczu. Ale przy pomocy szeregowo i na wspak włączonej baterii płaskiej udało się uzyskać deczko na minusie napięcia. Druga sprawa to fochy kamerki, która przy słabym świetle przechodzi automatycznie w `night mode` i robi sobie obraz czarno-biały. Rozwiązaniem okazało się oślepienie czujnika kamerki bocznym światłem z latarki, tak oszukana kamerka pozostawała w kolorowym trybie dziennym. Zrzut ekranu chwilę przed rozpoczeciem nagrywania desktopu: ![]() A tu aplikacja na żywo, widać zmianę znaku, rysowanie wykresiku i w ogóle to jest fajna zabawka. No i ta migająca dioda... Program w LabVIEW, aby nie było że taki rozrywkowy jest to jeszcze robi coś pożytecznego, a mianowicie loguje odczyty do pliku tekstowego, dokładany jest znacznik czasu więc na upartego takie dane tekstowe można potem wykorzystać do malowania wykresów czy innej wizualizacji. Próbka pliku, który wystąpił w mediach przedstawia się tak: ⇨ 20180604_214311_V543_data.txt #slowanawiatr, czerwiec 2018 |
![]() |
![]() |
![]() |