Komputery czy systemy przemysłowe komunikują się między sobą, wykorzystując różne protokoły. Jeśli zachodzi potrzeba integracji systemów, trzeba wybrać ustandaryzowany sposób komunikacji – jednym z nich jest protokół OPC UA. Mieliśmy przyjemność realizować właśnie taki projekt u jednego z naszych wieloletnich klientów z branży kolejowej, wykorzystując standard OPC UA, który zapewnił bezpieczny i szybki przesył danych.
Wspomniany system składał się m. in. z komputera wbudowanego z Linuxem, który zbierał i przechowywał informacje istotne dla użytkowników. Naszym zadaniem było takie przygotowanie oprogramowania, żeby komputer mógł udostępnić stan systemu w standardzie OPC UA. Dodatkowo zaproponowaliśmy przygotowanie pomocniczego narzędzia informatycznego ułatwiającego zarządzanie modelem informacji systemu.
Zaczęliśmy od stworzenia aplikacji w języku C++, której zadaniem jest udostępnienie stanu systemu za pomocą protokołu OPC UA, a co za tym idzie umożliwienie użytkownikom jego monitorowania. Aplikacja działa jako serwer OPC UA, na który autoryzowani klienci mogą łączyć się i podglądać stan systemu.
Przygotowaliśmy również kontener, który uruchamia aplikację i sam może być uruchomiony na komputerze wbudowanym klienta. Dzięki wykorzystaniu konteneryzacji klient nie musi dziś dbać o zależności oprogramowania – dostaje gotowy obraz Dockera, który może uruchomić w ramach swojego systemu.
Na potrzeby tego projektu stworzyliśmy również dedykowany zestaw skryptów i narzędzi pozwalających konwertować model informacji w formacie XLSX (Excel) na kod źródłowy w języku C. Takie podejście znacząco ułatwiło realizację projektu, szczególnie na etapie utrzymania systemu, ponieważ pozwala łatwo rozszerzać aplikację o nowe informacje udostępniane przez serwer OPC UA.
Dodatkowo skonfigurowaliśmy testerską i deweloperską infrastrukturę klucza publicznego oraz zestaw skryptów generujących i podpisujących certyfikaty, które mogą zostać użyte do testowania dostarczonego rozwiązania. Dzięki takiemu podejściu byliśmy w stanie testować różne tryby i polityki bezpieczeństwa standardu OPC UA bez dostępu do klucza prywatnego klienta. Klient otrzymał od nas precyzyjne instrukcje dotyczące sposobu konfiguracji aplikacji, aby współpracowała z jego finalnymi certyfikatami i kluczami.
Do kompletu działań inżynierskich dołożyliśmy również przygotowanie środowiska budowania aplikacji i startowania wyżej wspomnianych skryptów w formie dedykowanego obrazu Dockera. Wykorzystanie konteneryzacji pozwala dziś klientowi bardzo szybko odtwarzać infrastrukturę potrzebną do zbudowania aplikacji i wdrażania jej na produkcję.
Klient rozszerzył możliwości swojego systemu o komunikację w standardzie OPC UA. Aplikacja i wszystkie pomocnicze narzędzia informatyczne zostały dostarczone zgodnie z harmonogramem ustalonym na początku projektu. Klient otrzymał nie tylko działające rozwiązanie, ale także instrukcje i kompleksowe przeszkolenie, pozwalające mu utrzymywać aplikacje i wprowadzać do niej bieżące zmiany z wykorzystaniem własnych zasobów. Dostarczone przez nas rozwiązanie pozwala szybko i bezpiecznie integrować system klienta z systemami firm trzecich – wystarczy wykorzystać gotowe, przygotowane przez nas narzędzia i aplikacje.
Projekt był dużym wyzwaniem ze względu na napięty harmonogram. W krótkim czasie musieliśmy zrozumieć potrzebę klienta i jego system, aby finalnie dostarczyć rozwiązanie spełniające wymagania zarówno klienta jak i rynku. Dobra współpraca i zrozumienie nawzajem swoich potrzeb pozwoliło sprawnie zaprojektować, zaimplementować i wdrożyć rozwiązanie, co przyniosło bardzo dużo satysfakcji i motywacji do dalszych działań.
Tomasz Nowicki, Programista Embedded, Solwit
Powiedz nam czego dokładnie potrzebujesz.
Ustalmy priorytety i kolejność wykonywanych funkcjonalności / funkcji / zmian Twojego oprogramowania.
Chcemy wiedzieć, na kiedy potrzebujesz gotowego rozwiązania.