Protokół OPC UA i integracja systemów - przykładowe wdrożenie

Wyzwanie

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. 

Więcej o modelu informacji, a także innych istotnych kwestiach odnośnie standardu OPC UA opisaliśmy w jednym z artykułów na naszym blogu: https://solwit.com/blog/protokol-opc-ua-w-pigulce-standard-i-bezpieczenstwo/

Rozwiązanie

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

Efekt

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

 

Szukasz podobnego rozwiązania?

Protokół OPC UA i integracja systemów - przykładowe wdrożenie
Branża i kraj
Polska
kolejnictwo
Zakres projektu
integracja systemów
Technologie
OPC UA
C
C++
Docker
Linux
Python
POROZMAWIAJMY O TWOIM PROJEKCIE
Porozmawiajmy o Twoim projekcie:
Wymagania01

Powiedz nam czego dokładnie potrzebujesz.

Priorytety02

Ustalmy priorytety i kolejność wykonywanych funkcjonalności / funkcji / zmian Twojego oprogramowania.

Czas03

Chcemy wiedzieć, na kiedy potrzebujesz gotowego rozwiązania.

Z przyjemnością odpowiemy na każde pytanie
WYŚLIJ ZAPYTANIE
Najnowsze Case Studies
Testowanie bankowych aplikacji mobilnych i webowych
Testowanie oprogramowania
WIĘCEJ
Aplikacja webowa i mobilna do obsługi NTP
Rozwój oprogramowania
WIĘCEJ
Przygotowanie do wdrożenia systemów CSMS & SUMS – ocena zgodności w zakresie cybezpieczeństwa w kontekście regulacji R155 i R156
Cyberbezpieczeństwo
WIĘCEJ
Rozwój i utrzymanie systemu IoT do zarządzania energią w budynkach
Rozwój oprogramowania
WIĘCEJ
Rozbicie systemowego monolitu na mikroserwisy
Biznes w chmurze
WIĘCEJ
Refaktoring aplikacji webowej i nowy framework do szybkiego tworzenia aplikacji bankowych
Rozwój oprogramowania
WIĘCEJ
SKONTAKTUJ SIĘ
Wypełnij
formularz.
Skontaktujemy się z Tobą,
żeby umówić rozmowę
w dogodnym dla Ciebie terminie.