Czym jest Veristand?
Veristand jest środowiskiem do oprogramowania stanowisk testowych, monitoringu maszyn oraz rozwiązań typu hardware-in-the-loop firmy National Intruments. Jeżeli chcesz dowiedzieć się więcej, zobacz prezentację produktu na http://www.ni.com/veristand/ oraz http://www.ni.com/veristand/whatis/

Czym są Custom Devices?
Veristand posiada wiele funkcji, takich jak akwizycja i logowanie danych, przeprowadzanie sekwencji testowych, symulacje przy użyciu modeli numerycznych oraz komunikacja ze sprzętem od razu po instalacji. Możliwe jednak, że będziesz potrzebować dodać swoją funkcjonalność np. komunikację ze sprzętem innego producenta lub użycie własnego projektu FPGA. Takie zadania można zrealizować poprzez stworzenie własnego Custom Device.
Czego będziesz potrzebować?
Custom Devices środowiska Veristand są tworzone przy pomocy LabVIEW. Jest tylko jeden haczyk: aby poprawnie zbudować kod Custom Device, środowisko LabVIEW musi być zaisntalowane w tej samej wersji co Veristand. Przykładowo: aby stworzyć Custom Device dla Veristand’a 2016, potrzebne jest LabVIEW 2016 (numer fix’a i service pack nie są istotne). Możesz potrzebować też dodatków lub sterowników do LabVIEW, w zależności jaką funkcjonalność planujesz zaimplementować.
Zaczynając z szablonu
Gdy zainstalujesz Veristand, narzędzie „Custom Device Template Tool” zostanie dodane do twojego folderu LabVIEW. Możesz znaleźć je w:
\National Instruments\LabVIEW\vi.lib\NI VeriStand\Custom Device Tools\Custom Device Template Tool.
Gdy otworzysz narzędzie, musisz podać nazwę oraz ścieżkę dla swojego Custom Device. Wybierz odpowiednią nazwę, gdyż jej późniejsza zmiana jest utrudniona. Musisz także wybrać tryb działania Custom Device („Execution Mode”). Asynchroniczny („Asynchronous”) jest odpowiedni dla większości prostych Custom Device.

Po uruchomieniu narzędzia zostanie utworzony i otwarty nowy projekt LabVIEW. Zawiera szablony wszystkich VI-jów których potrzebujesz by rozpocząć pracę, XML-owy plik definicji oraz Build Definitions potrzebne do zbudowania kodu i dodania go do folderu Custom Device Veristand’a.

Dostosowanie szablonu
Custom Device składa się z 4 głównych części: „Initialization” VI, „Main Page” VI, „Driver” (lub „Engine”) VI oraz XML-owego pliku definicji. To tutaj implementujesz funkcjonalność swojego Custom Device.

VI „Initialization”
Ten VI jest uruchamiany w momencie dodania Custom Device do Veristand’a. Może definiować w jaki sposób Custom Device zaprezentuje swoje możliwości Veristand’owi, konfigurować kanały danych („Channels”) oraz ustawiać początkowe parametry urządzenia.
VI „Main Page”
Ten VI (i jego Front Panel) jest ekranem konfiguracji, które wyświetlane jest w momencie edycji definicji systemu „System Definition” z okna projektu Veristand. Używany jest do ustalenia takich parametrów jak nazwa, opis, ustawienia akwizycji lub adresy sprzętu z jakim będzie przeprowadzana komunikacja. Custom Device może posiadać kilka VI-ji typu „Page”, ale co najmniej jeden – „Main Page” jest wymagany.
VI „Driver” (lub „Engine”)
Ten VI jest uruchamiany jako proces silnika Veristand i pracuje bez przerwy gdy działa aplikacja stworzona w Veristandzie. To tutaj należy zaimplementować akwizycje i przetwarzanie danych oraz obsługę sprzętu. VI ten komunikuje się z silnikiem środowiska i zarządza transferem danych z i do Veristand’a, pod postacią kanałów danych („Channels”). Reaguje również na różne zdarzenia środowiska, takie jak start, zatrzymanie lub błędy.
Ten VI zawiera podstawowy szablon architektury (w zależności jaki tryb działania został wybrany w narzędziu Custom Device Template Tool), który może posłużyć za punkt startowy rozwoju kodu.

XML-owy plik definicji
Jest to plik którego Veristand używa podczas przeszukiwania swojego folderu zawierającego Custom Device’y. Zawiera ID urządzenia oraz ścieżki gdzie znajdują się wszystkie komponenty (VI) danego Custom Device. Definiuje również na jakich typach urządzeń (Windows, RT Linux, Pharlap) możliwe jest jego uruchomienie.
Podczas zmiany domyślnych nazw VI-jów, lub dodawania nowych (np. nowych VI-jów typu „Page”), wszystkie zmiany muszą być ręcznie wprowadzone do pliku definicji.

Build definitions
Custom Device’y są dystrybuowane w postaci plików bibliotek LabVIEW (LLB). Potrzebne są co najmniej dwie biblioteki: „Configuration” oraz „Engine”. Biblioteka „Configuration” zawiera kod uruchamiany na komputerze na którym tworzony jest projekt w Veristandzie. VI-je „Initialization”, „Pages” oraz wszystkie ich zależności muszą być zawarte w tej bibliotece.
Biblioteka „Engine” zawiera kod zależny od systemu kontrolera na jakim aplikacja stworzona w Veristandzie będzie uruchamiana. Biblioteka ta jest automatycznie przesyłana na kontroler w momencie uruchomienia aplikacji i to na nim wykonywany jest zawarty w niej kod.
Jeżeli zamierzasz by twój Custom Device działał na kilku różnych systemach, potrzebujesz utworzyć kilka bibliotek typu „Engine”, każda zawierająca kod skompilowany w odpowiednim dla danego systemu kontekście.
Veristand szuka Custom Device’ów tylko w swoim domyślnym folderze (c:\Users\Public\Documents\National Instruments\NI VeriStand\Custom Devices), więc jeśli zamierzasz budować swój kod do innego folderu, pamiętaj o skopiowaniu go.

Uruchomienie Custom Device
Aby uruchomić swój Custom Device, musisz dodać go do pliku definicji systemu Veristand („Veristand System Definition”). Aby to zrobić otwórz System Explorer, poprzez wybranie pliku definicji w oknie projektu Veristand’a. Znajdź kontroler, na którym zamierzasz uruchomić swój Custom Device i kliknij prawym przyciskiem myszy na sekcji „Custom Devices”. Wybierz odpowiedni Custom Device z wyświetlonego menu kontekstowego. System Explorer jest również miejscem gdzie można przeprowadzić konfigurację dodanego Custom Device. Po zakończeniu zapisz i zamknij plik definicji systemu.
Twój Custom Device uruchomi się automatycznie przy uruchomieniu („Deploy”) twojej aplikacji środowiska Veristand!

Chcesz dowiedzieć się więcej?
Sprawdź samouczek National Instruments na temat budowania Custom Devices na: http://www.ni.com/tutorial/9348/en/