Cel i założenia

Urządzenia przemysłowe wykorzystują różne interfejsy, które są często niekompatybilne między sobą i nie są w stanie komunikować się bez dodatkowego wyposażenia. By rozwiązać ten problem zaprojektowaliśmy konwerter, którego główną funkcją jest umożliwienie wymiany danych między sterownikami linii produkcyjnych, robotami, ekranami HMI i serwerami. Oparcie projektu na mikrokontrolerze pozwala dodatkowo sterować przepływem danych i przekierować je na chmurę za pomocą interfejsów sieciowych. Technologia ta jest niezbędną częścią zbudowania nowoczesnego systemu przemysłu 4.0.

Niejedno zastosowanie

Stworzyliśmy uniwersalny układ gotowy wykonywać różne funkcje w zależności od oprogramowania i wersji sprzętowej.

Wykorzystanie szybkiego interfejsu pozwalającego na komunikację z siecią komputerową pozwala na szeroki zakres dynamicznego dostosowania urządzenia do pojawiających się potrzeb i zadań. Zastosowano przewodowe rozwiązanie interfejsu Ethernet wyprowadzone na gniazdo w popularnym standardzie RJ45 8-pin. Dodatkowo rozbudowano układ dodając możliwość łączności bezprzewodowej za pośrednictwem modułu Bluetooth i WiFi.

Podstawowa praca urządzenia przewiduje dwa tryby działania:

  1. Bezpośrednie połączenie
    Zaprojektowaliśmy oprogramowanie umożliwiające łatwą kontrolę komunikacji za pomocą ustawienia parametrów na serwerze. Cały proces konfiguracji protokołu zachodzi w przeglądarce internetowej – użytkownik ustala prędkość transmisji, ilość bitów danych, bity stopu, parzystości oraz kontrolę CRC.
  2. COM port – hub
    Stworzona przez nas aplikacja desktopowa do przeźroczystej obsługi wirtualnych portów szeregowych (COM) umożliwia wygodną integrację urządzenia z istniejącymi narzędziami wykorzystującymi ten rodzaj komunikacji. Zapewniliśmy kompatybilność cross-platform z systemami operacyjnymi MS Windows, Linux i MacOS.

Kompatybilność EMC, testy klimatyczne, bezpieczeństwo

Odpowiedzialna funkcja urządzenia narzuca obowiązek zagwarantowania odporności na zaburzenia elektromagnetyczne występujące w środowiskach przemysłowych i spełnienie wymogów emisji zgodnie z unijną dyrektywą EMC. Zastosowano liczne układy odsprzęgające zakłócenia zarówno niskoczęstotliwościowe jak i te pochodzące od sygnałów szybkich. Dodano zabezpieczenia przed przepięciami i wyładowaniami elektrostatycznymi na każdym przyłączu wejścia/wyjścia. Urządzenie zostało wyposażone w dodatkowe złącza uziemienia w celu zapewnienia najwyższej ochrony. 

Wykonaliśmy testy klimatyczne pod pełnym obciążeniem układu w zakresie temperatur i wilgotności przekraczającym wymagania norm przemysłowych. Doświadczenie naszych inżynierów pozwoliło osiągnąć ponadprzeciętne rezultaty i zapewnić gwarantowaną niezawodność w każdych warunkach.

Dodatkowo zadbano o najwyższe bezpieczeństwo urządzeń podłączonych do naszego konwertera. Dzięki wprowadzeniu izolacji optycznej portów wejścia/wyjścia w razie awarii jednego z komunikujących się ze sobą przyrządów pozostałe nie są narażone na przepięcia o poziomie nie przekraczającym 3kV. Interfejsy pozostające w stanie wstrzymania komunikacji lub te, które w danej konfiguracji w ogóle nie zostały podłączone podlegają dopasowaniu impedancji z użyciem aktywnej terminacji przyłączy. Zabieg ten poprawia jakość sygnału reszty urządzeń na wspólnej magistrali oraz stanowi ochronę przed odbiciem fali elektromagnetycznej niosącej potencjalne zagrożenie uszkodzenia źródła sygnału.

Mechanika

Dzięki małym rozmiarom urządzenia, wytrzymałej obudowie izolującej, solidnym złączom śrubowym oraz praktycznym zatrzaskom na szynę DIN osiągnięto bardzo wygodne i dopracowane rozwiązanie mechaniczne. Przemyślane i ergonomiczne rozłożenie gniazd wejścia/wyjścia pozwala na elastyczną konfigurację podłączenia nawet w najtrudniej dostępnych miejscach zakładu. Dodatkowo układ został przystosowany do prac serwisowych dzięki ułatwieniom bazującym na konstrukcji modułowej.

Front-end

Zaprojektowaliśmy i wykonaliśmy intuicyjny i przejrzysty front-end aplikacji, który sprawia, że obsługa konwertera jest jeszcze przyjemniejsza. Doskonałe doświadczenia użytkownika osiągnęliśmy korzystając z poniższych technologii:

  • Javascript
  • Vue.js
  • Bootstrap
  • Protocol Buffers
  • Python
  • Flask
  • C++
  • libserialport
frontend of converter

Second view, converter

Hardware

Zdecydowaliśmy się na adaptację dwóch wersji jednostki obliczeniowej – Cortex-M4 STM32 lub Xtensa ESP32. Wybór montowanego mikrokontrolera uzależniony jest od konfiguracji wykorzystywanych interfejsów i oprogramowania dedykowanego pod zastosowanie produktu. Zaimplementowano fizyczną obsługę standardów RS232, RS485, USB, M-Bus, Ethernet, Wifi oraz Bluetooth. Taka elastyczność pozwala na wygodny dobór technologii oraz umożliwia optymalizację kosztów produkcji i eksploatacji. Dopracowano działanie w szerokim zakresie warunków zasilania, zarówno z napięciem stałym DC jak i zmiennym AC. Zaawansowana optymalizacja pozwala na niski pobór mocy i wdrożenie zasilania akumulatorowego.

Firmware

Wszystkie procesy urządzenia kontrolowane są w oparciu o system operacyjny czasu rzeczywistego FreeRTOS. Łączność za pomocą sieci została zrealizowana przez zastosowanie otwartego stosu LwIP, co oznacza możliwość komunikacji wielu urządzeń bez względu na ich fizyczne różnice. Dodatkowo stos cechuje się automatyczną stabilizacją połączenia w razie problemów energetycznych lub komunikacyjnych. Pełne przywrócenie funkcjonalności następuje bez konieczności interwencji użytkownika. Zaimplementowano obsługę różnych protokołów TCP/IP, między innymi telnet, modbus-tcp, http i https. Do asynchronicznej transmisji szeregowej użyto modbus-RTU/ASCII. Wykorzystano również metodę szeregowania danych Google’s Protobuf.

Podsumowanie

Projektując konwerter, chcieliśmy stworzyć układ, który posiadałby następujące cechy:

  • uniwersalność – możliwość użytkowania z różnym oprogramowaniem i sprzętem;
  • dynamika i możliwości adaptacji;
  • stabilność i bezpieczeństwo.

Urządzenie, które stworzyliśmy, spełniło wszystkie podstawowe założenia, a jego pierwsza partia już trafiła do produkcji.