Stuck with a complex embedded project? Get an expert review ▶

Customisable Utility Based on OPC UA for Data Collection

Project in a Nutshell: We created a specialised Windows utility for a developer of energy-efficient magnetic bearing systems. The software solution works via OPC UA over TCP/IP. It provides multi-day uptime, efficient processing of up to 500,000 data points, and flexible data visualisation with scalable, customisable graphs. Thanks to this customised solution, our client can no longer use third-party complex products. 

quick facts

Client & Challenge

A developer of energy-efficient active magnetic bearing (AMB) systems asked us to create a utility for Windows.

The utility was intended for internal use: collecting data and conducting multi-day testing of their own equipment using the OPC UA protocol via TCP/IP.

Our client needed a tool customised for the company's engineering tasks. Existing off-the-shelf solutions for such systems were too complex and required additional costs for purchasing servers, installing them and developing complex infrastructure. Our client was looking for a simpler and more specialised tool for their industry, which could solve two tasks:

  • collect and analyse data on their field equipment performance; 
  • eliminate the need for client applications. 
Need a custom software solution for your industrial product?

 

Solution

To work on this project and complete all tasks, we formed a team consisting of a software engineer, a UX designer, a tester, and a project manager. The team held weekly online meetings with the client on MS Teams to review completed tasks, discuss the current software version, and incorporate the client's feedback into the development process. The client has also provided access to their OPC UA server via Azure VPN.  

As a result, the Promwad team developed a software solution with the following features:  

  • Reliability and stability. The program is designed for uninterrupted autonomous operation for several days; its connection to the OPC UA server is automatically re-established in case of an interruption.  
  • Efficient data processing. The utility processes and cumulatively visualises a minimum of 500,000 data points.  
  • Performance and optimisation are achieved by using optimised data structures and algorithms to minimise system load. We ensured the efficient use of memory and CPU resources to maintain long-term performance. 
  • Graphical display of data with zooming and analysis capabilities.   
  • Flexibility and expandability. The program can be adapted to different configurations of the OPC UA servers and data types. New functions and modules to expand the programme's capabilities are easily integrated.  
  • Connection status monitoring. 
A Windows utility screen

A Windows utility screen with the details and settings of each session launched from multiple profiles
 

Software Development

To implement all the customer's requirements, the Promwad engineering team worked on a large list of tasks, including the following: 

  • OPC UA integration; 
  • UI development; 
  • generation of databases and processing of data arrays.
     

OPC UA Integration

Our team implemented the connection to the OPC UA server using the OPC UA protocol with certificate and login/password support. At the customer's request, we used their Python code and updated it to ensure smooth integration.

The developers also implemented the ability to obtain a list of variables from the OPC UA server and to select variables for data collection interactively. The UA Python library was used to request variables and objects, and the UaExpert utility from Unified Automation was used to diagnose and visualise the server data.

The function of pausing and resuming reading data from OPC UA was implemented to provide flexibility in testing while still maintaining progress. To do this, the team implemented a background job that can be paused and resumed for any open session. The background job loads metadata from the database, adds current information such as credentials, reads all variables, and continues collecting data from OPC UA into the local database. Each start and stop is logged.

Data for 10-20 variables in the new solution are collected at a frequency of no more than once per second and no less than once per minute. 

 
UI Development

For UI development, we chose AvaloniaUI, an open-source solution with the following advantages:

  • cross-platform approach;
  • ease of “overloading” styles of other components without rewriting the whole style;
  • convenient system of visual hierarchy selectors;
  • the ability to understand the nuances, implementation, layout, and use of ready styles.

Testing & Trouble Shooting

Promwad performed the necessary tests on a dev machine and a clean virtual machine, both manually and automatically using a PowerShell script. For local tests, we used UaCPPServer as a demo server. 

There were some difficulties in developing the utility, but our team successfully addressed them. Here are some of them:

problem solving

Business Value

Our client received a dedicated, easy-to-use software tool for monitoring equipment and analysing data on Windows devices. The proprietary solution reduces expenses associated with third-party complex equipment and enables optimisation to meet current needs.  

Testing and data management are made much easier and more efficient by integrating OPC UA direct data acquisition and visualisation. The result is increased efficiency, reduced reliance on external applications and a simplified approach to data analysis, resulting in improved overall productivity for our client's engineering team. 

business value

More of What We Do for Industrial Networks

FAQ

Can Promwad develop custom OPC UA tools for industrial data collection and analysis??

 

Yes. We develop custom software and hardware for industrial communication projects, including data acquisition and analysis tools, automation and visualisation systems, and network controllers. OPC UA is part of our industrial communication stack, and we are a member of the OPC Foundation.

 
 

 

Can this type of solution be adapted to different industrial network environments?

 

Yes. We design industrial communication solutions for real-time data transfer between distributed devices and support a wide range of protocols and platforms, including OPC UA, Modbus, EtherCAT, PROFINET, CANopen, IO-Link, HART, and MQTT. This allows us to adapt data collection and monitoring tools to the client’s existing infrastructure.

 
 

 

Can Promwad build a custom desktop application for industrial engineers?

 

Yes. We develop custom industrial software across all engineering stages, from proof of concept to full implementation. Our services include desktop application development, GUI development, and UX/UI design for engineering tools, including dashboards, monitoring interfaces, and operator-facing applications.

 

 

 

Can you build a solution for long-running tests and large volumes of engineering data?

 

Yes. In this project, we developed a custom Windows utility for multi-day testing and OPC UA-based data collection, with visualisation and analysis features for large datasets. The solution was designed for stable autonomous operation, including connection monitoring and recovery during long test sessions.

 
 

 

When does a custom utility make more sense than off-the-shelf software?

 

A custom utility is a better fit when standard tools are too complex, too costly, or otherwise not suited to the task. In this case, the client needed a simpler engineering tool focused on data collection, visualisation, and analysis without extra infrastructure or unnecessary functionality.

 
 

 

Tell us about your project

We’ll review it carefully and get back to you with the best technical approach.

All information you share stays private and secure — NDA available upon request.

Prefer direct email?
Write to info@promwad.com

Secured call with our expert in 24h

Other Case Studies