TechyRich OPCUA Server

The TechyRich OPCUA Server is a Python-based application built with the opcua and PyQt5 libraries. It provides a user-friendly graphical interface (GUI) for managing an OPC UA server, allowing for easy creation and management of OPC UA tags.

Key Features:

This application is ideal for quickly setting up a test OPC UA server, for educational purposes, or for small-scale industrial automation applications where a simple and flexible server is needed.

TechyRich OPCUA Client

The TechyRich OPCUA Client is a companion application designed to interact with any OPC UA server, including the TechyRich OPCUA Server. Built with Python and PyQt5, it offers a simple and powerful GUI for connecting to a server, reading and writing variable values, and managing connections.

Key Features:

This client is perfect for testing OPC UA servers, for debugging purposes, or as a foundational tool for learning about the OPC UA protocol and its practical applications in industrial environments.

Bug Highlight & Disclaimer

Unreliable Authentication in Compiled Executables: There is a known issue where authentication becomes unreliable when the OPC UA Client and Server applications are compiled into standalone executable (.exe) files. The authentication process works correctly when the code is run directly from Python scripts, but may fail when launched from an executable.

This problem is likely due to the compiled environment's handling of file paths for the necessary cryptographic certificates and keys. The security protocols for authentication and encryption may not be able to locate these files, causing the connection to fail when authentication is selected. It is recommended to use the applications by running the Python scripts directly for reliable secure connections.

Gallery

A look at the application in action and the files it creates. (Note: As a large language model, I cannot generate live images. The following are placeholders with descriptive text for what a user would see.)

The Application Upon Opening

This image shows the GUI of the OPC UA Server after it has been launched. The interface is clean and ready for user input, with fields for the endpoint and options to enable security before starting the server.

serverAndClient

Application After Connection

This image depicts the server's GUI after a client has successfully connected. The live variables list is populated with tags, and the "Connected Clients" text box displays the IP address of the connected client.

 OPC UA Server GUI after a client has connected.

Certificates Folder

A view of the `certificates` folder automatically generated by the application. This folder contains the `server_cert.der` and `server_key.pem` files, which are essential for enabling secure connections.

certificates folder created by the application.

JSON Files

A look at the `users.json` and `variables.json` files that the application creates to ensure persistence. The `users.json` file stores user credentials for authentication, while `variables.json` saves the state of all created OPC UA tags.

variables.json and users.json files.

Upcoming Tutorial

I will be creating a tutorial demonstrating how to use the TechyRich OPCUA Server. This tutorial will show how to connect **Factory I/O** and **Codesys** as clients to the OPCUA Server simultaneously, highlighting a practical application of this tool in an industrial automation context.

Download

Download the compiled applications to run them directly on your Windows machine run them from same folder.

Download Server & Client (ZIP)