OPC UA protocol and system integration - implementation example

Challenge

Computers or industrial systems communicate with each other using various protocols. If you need to integrate systems, your best bet would be to choose a standardized communication method – like the OPC UA protocol. In fact, we had the pleasure of working with one of our long-term railroad clients on just such a project, utilizing the OPC UA standard to ensure secure data exchange.

The system in question consisted, among others, of a Linux-based embedded computer that collected and stored information relevant to users. Our task was to prepare the software so the computer could make the system state available in the OPC UA standard. In addition, we proposed an auxiliary software tool to facilitate system information model management.

We covered more on the information model, as well as other noteworthy issues concerning the OPC UA standard, in an article on our blog: https://solwit.com/en/blog/opc-ua-in-a-nutshell-standard-and-security/

Solution

Our first step was to create a C++ application to make the system state available via the OPC UA protocol. This way it could be monitored by users. The application acts as an OPC UA server to which authorized clients can connect and view system status.

A container was also prepared that runs the application and can run on the embedded computer of the client. As a result of containerization, today’s client no longer needs to care about software dependencies – it gets a ready-made Docker image that can be used on its own system.

For this project, we also created tools and scripts for converting the Excel (XLSX) information model into C source code. By adopting this approach, the project was greatly facilitated, especially during the maintenance phase, as new information made available by the OPC UA server could be easily incorporated into the application.

Aside from that, a tester and developer public key infrastructure, as well as certificate generation and signing scripts, has been configured so that testing can be performed on the solution we delivered. With this approach, we could test various security modes and policies of the OPC UA standard without obtaining the client’s private key. We provided the customer with precise instructions on configuring the application to work with its final certificate and key.

Additionally, we prepared an environment for building the application and starting the scripts as mentioned above in the form of a Docker image as part of our engineering activities. As a result of containerization, the client seamlessly replicates the infrastructure needed to develop the application and deploy it to production. Containerization today allows the client to quickly build applications from scratch and deploy them production-ready.

Result

The client has extended its system’s capabilities to include OPC UA standard communication. The application and all supporting IT tools were delivered on schedule according to the plan laid out at the beginning of the project. Along with a working solution, the client also received comprehensive training and instructions, enabling them to maintain and update the application themselves. Utilizing our ready-made tools and applications, the client’s system can be quickly and securely integrated with third-party applications.

The tight schedule of the project made it challenging. In a short period, we had to gain an understanding of the client’s needs and its system. Ultimately, we wanted to deliver a solution that met market and client requirements. Having a thorough understanding of each other’s needs enabled us to successfully design, implement, and deploy the solution. This brought us satisfaction and motivation for future activities.

Tomasz Nowicki, Embedded Programmer, Solwit

 

cta_baner_en_looking_gor_solution

OPC UA protocol and system integration - implementation example
INDUSTRY AND COUNTRY
Poland
Railway
Scope
systems integration
Technologies
OPC UA
C
C++
Docker
Linux
Python
GET IN TOUCH WITH US
Let's talk about your project:
Requirements01

Tell us exactly what you need.

Priorities02

Let's set the priorities and the order in which your software's functionalities / features / changes will be implemented.

Time03

What is the estimated timeframe for when you need to have your solution ready?

All your questions
will be answered by
Oksana Wojtkiewicz
SEND REQUEST
Newest case studies
Exploratory testing of web and mobile app for non-profit organization
Software testing
SEE MORE
Testing the virtual cash register mobile application and preparing for certification
Software testing
SEE MORE
Web-Based Tender Platform
Software development
SEE MORE
Analytics Tool for Online Cosmetics Store
Business in the cloud
SEE MORE
Vision-based quality control system in FMCG manufacturing
Software development
SEE MORE
Mobile application for electric bicycles management
Business in the cloud
SEE MORE
CONTACT US
Complete
the form below.
We will contact you to set up
a conversation at the convenient
moment for you.

Contact form EN

Hidden
(Required)