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:
  • ⇨ Basic TCP/IP Communication in LabVIEW
  • ⇨ A Beginner’s Guide to TCP-IP
  • ⇨ LabVIEW Communications VI Reference Manual (stare ale fajne opracowanie od podstaw)

    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ć.

  • ⇨ TCP Open Connection Function
  • ⇨ TCP Write Function
  • ⇨ TCP Read Function
  • ⇨ TCP Close Connection Function
  • ⇨ Concatenate Strings Function
  • ⇨ Decimal String To Number Function
  • ⇨ Simple Error Handler
  • ⇨ Wait (ms) Function



    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:
  • ⇨ v543-2.vi
  • ⇨ simpleScpiCommand-sub.vi
  • ⇨ pngToImageArray-sub.vi
  • ⇨ v543display.png
    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
  •  tasza  2004-2021 | archiwum kabema 2021