Wraz z rozwojem zdalnych eksperymentów, nauczania online oraz technologii Internetu Rzeczy, zapewnienie dostępu przez sieć do lokalnych modeli symulacyjnych lub urządzeń doświadczalnych stało się ważnym kierunkiem rozwoju platform eksperymentalnych1,2,3,4. Niedawne prace doprowadziły do dalszej integracji laboratoriów wyposażonych w Internet Rzeczy z nauczaniem opartym na projektach oraz dostępem lokalnym lub zdalnym, co dowodzi ciągłego rozwoju elastycznych i sieciowych platform eksperymentalnych w edukacji inżynieryjnej5. W przypadku eksperymentów z systemami sterowania użytkownicy zazwyczaj muszą dostosowywać parametry wejściowe w przeglądarce i obserwować stany wyjściowe w czasie rzeczywistym6,7. Konwencjonalne metody zazwyczaj wymagają oddzielnej strony internetowej, logiki wiązania sterowania i interfejsu komunikacji danych dla każdego obiektu eksperymentalnego8,9. Gdy zmieniają się zmienne w modelu zaplecza (back-end), strona front-end często musi zostać odpowiednio zmodyfikowana, co powoduje znaczny powtarzalny nakład pracy programistycznej i ogranicza szybką rozbudowę platformy eksperymentalnej.
Protokół zdalnej interoperacyjności (Remote interoperability protocol, RIP) zapewnia warstwę pośrednią (middleware) pomiędzy eksperymentalnymi modelami backendowymi a front-endami WWW10,11. W podejściu do automatycznego generowania interfejsu użytkownika (UI) w oparciu o RIP, opisanym w poprzednich pracach, serwer RIP dostarcza metadane dla każdego eksperymentu, obejmujące nazwy zmiennych, atrybuty wejścia/wyjścia, typy danych, wartości minimalne i maksymalne, precyzję, opisy oraz dostępne metody odczytu i zapisu11. Klient WWW może następnie wykorzystać te metadane do utworzenia odpowiadających im elementów HTML, takich jak etykiety, numeryczne pola wprowadzania, suwaki, przełączniki logiczne oraz wyświetlacze wyjściowe, podczas ładowania lub odświeżania strony11. Niniejszy protokół nie implementuje ponownie ani nie redefiniuje specyfikacji RIP. Zamiast tego wykorzystuje istniejącą usługę RIP o otwartym kodzie źródłowym oraz logikę generowania UI HTML na podstawie metadanych RIP jako fundament do komunikacji i generowania interfejsów, skupiając się na powtarzalnej konstrukcji, rejestracji, wdrożeniu proxy i weryfikacji dwóch przykładów VI w środowisku LabVIEW.
W porównaniu z konwencjonalnym tworzeniem niestandardowych interfejsów WWW, automatyczne generowanie interfejsu użytkownika (UI) w oparciu o RIP ogranicza konieczność implementowania układów sterowania, logiki wiązania zmiennych oraz podstawowych funkcji komunikacyjnych w sytuacjach, gdy wiele eksperymentów w LabVIEW wykorzystuje porównywalne skalarne zmienne wejściowe i wyjściowe8,9,10,11. Po zarejestrowaniu nowego VI i udostępnieniu jego zmiennych serwerowi RIP, ta sama logika odczytywania metadanych i generowania elementów sterujących może zostać ponownie wykorzystana do budowy podstawowego interfejsu WWW10,11. Funkcja ta jest przydatna przy szybkim wdrażaniu, pokazach dydaktycznych oraz w platformach laboratoriów zdalnych, które wymagają spójnego dostępu do kilku podobnych eksperymentów3,8,9. Jednak automatycznie generowany interfejs posiada również ograniczenia. Nie wnioskuje on w pełni o relacjach fizycznych między zmiennymi, nie określa automatycznie mapowań wykresów ani nie projektuje specyficznych dla danej dziedziny wizualizacji i interakcji bezpieczeństwa11. Dlatego ręczne tworzenie interfejsu WWW pozostaje preferowane, gdy eksperyment wymaga wysoce spersonalizowanej grafiki, złożonych przepływów pracy użytkownika, zaawansowanej wizualizacji, sprzętowych blokad bezpieczeństwa lub arbitrażu zapisu dla wielu użytkowników.
Ogólny schemat procedury przedstawiono na Rysunku 1. W tym schemacie instrument wirtualny (VI) LabVIEW definiuje najpierw wymagane sterowniki wejściowe i wskaźniki wyjściowe na Panelu Przednim. Następnie VI jest rejestrowany w Konfiguracji Serwera RIP poprzez określenie nazwy eksperymentu i ścieżki do VI. Po rejestracji Serwer RIP odczytuje metadane wybranego eksperymentu i zapewnia dostęp do odczytu/zapisu dla dostępnych zmiennych. Strona internetowa XHTML wykorzystuje zwrócone metadane do automatycznego generowania odpowiednich sterowników wejściowych i wyświetlaczy wyjściowych, natomiast Caddy zapewnia ujednoliconą ścieżkę dostępu dla statycznej strony internetowej oraz tras komunikacyjnych RIP. Modele wentylatora i silnika prądu stałego zostały wykorzystane w niniejszej pracy jako dwie implementacje tego samego schematu działań. W przypadku innych eksperymentów w LabVIEW, które dostarczają kompatybilne zmienne skalarne, numeryczne i booleowskie, programiści mogą stosować ten sam schemat budowania-rejestracji-wdrażania-weryfikacji w celu stworzenia automatycznie generowanego interfejsu internetowego, dodając przy tym specyficzną dla danego eksperymentu wizualizację, logikę bezpieczeństwa lub złożoną obsługę danych, jeśli jest to wymagane.
Niniejszy artykuł nie proponuje nowej architektury RIP ani nie rozszerza zakresu typów danych obsługiwanych już przez RIP. Zamiast tego wykorzystuje RIP jako uznany mechanizm komunikacji i generowania interfejsu użytkownika (UI) w oparciu o metadane, koncentrując się na walidacji tego procesu w dwóch różnych systemach LabVIEW przy jednoczesnym udokumentowaniu odtwarzalnego protokołu implementacji. Wcześniejsze prace przedstawiły podstawową metodę automatycznego generowania interfejsu Web UI na podstawie metadanych RIP, wykorzystując w ramach studium przypadku eksperyment z serwomotorem online11. W poprzednich badaniach opisano również architektury zdalnych laboratoriów z dostępem przez sieć WWW, łączące interaktywne interfejsy z oprogramowaniem inżynieryjnym i LabVIEW9,12. Jednak podczas praktycznej reprodukcji niektóre modele LabVIEW w pierwotnym przypadku badawczym były obarczone problemami związanymi z wersją oprogramowania i kompatybilnością modułów, co utrudniało ich bezpośrednie zastosowanie w nowszym środowisku. Niniejsza praca rekonstruuje zatem dwa kompatybilne instrumenty wirtualne (VI) back-endu — model wentylatora oraz model sterowania położeniem silnika prądu stałego (DC) za pomocą regulatora proporcjonalno-całkująco-różniczkującego (PID) — i stosuje ten sam proces generowania UI sterowany metadanymi w obu przypadkach. Wkładem pracy jest walidacja uznanego przepływu pracy RIP w różnych systemach oraz szczegółowy protokół reprodukcji tego procesu, a nie rozszerzenie ogólności RIP.
Zamierzonymi użytkownikami niniejszego protokołu są badacze, instruktorzy i twórcy systemów laboratoryjnych, którzy korzystają już z VI LabVIEW i potrzebują udostępnić modele symulacyjne lub niskoryzykowe systemy eksperymentalne za pośrednictwem przeglądarki internetowej, bez konieczności niezależnego wdrażania pełnego, niestandardowego interfejsu front-end dla każdego modelu. Protokół jest szczególnie odpowiedni dla eksperymentów wykorzystujących standardowe zmienne numeryczne i logiczne, regulację parametrów oraz monitorowanie stanu w czasie rzeczywistym10,11. Jest on mniej odpowiedni jako samodzielne rozwiązanie dla eksperymentów wymagających złożonych struktur danych, specjalistycznej wizualizacji, rygorystycznych blokad bezpieczeństwa sprzętowego lub arbitrażu zapisu wieloużytkownikowego11. Celem niniejszej pracy jest walidacja automatycznego generowania interfejsu Web w oparciu o RIP przy użyciu dwóch różnych systemów LabVIEW oraz dostarczenie kompletnego, reprodukowalnego protokołu – od konstrukcji VI back-end po interakcję w przeglądarce. Protokół obejmuje definicję zmiennych wejściowych i wyjściowych, rejestrację eksperymentu w serwerze RIP, generowanie interfejsu użytkownika na podstawie metadanych, wdrożenie serwera proxy Caddy oraz weryfikację zdalnego odczytu i zapisu. Zastosowanie tego samego przepływu pracy dla modeli wentylatora i silnika DC wykazuje, że ustalony proces może zostać zreprodukowany bez konieczności ręcznego przepisywania pełnego front-endu Web dla każdego przykładu9,10,11.