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.
variables.json
file when the server is stopped, and reloaded upon startup, ensuring data persistence across sessions.
users.json
file.
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.
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.
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.
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.
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.)
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.
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.
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.
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.
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 the compiled applications to run them directly on your Windows machine run them from same folder.
Download Server & Client (ZIP)