Simple OPC-UA GUI client.
Written using freeopcua python api and pyqt. Most needed functionalities are implemented including subscribing for data changes and events, write variable values listing attributes and references, and call methods. PR are welcome for any whished improvments
It has also a contextual menu with a few usefull function like putting the mode id in clipboard or the entire browse path which can be used directly in you program: client.nodes.root.get_child(['0:Objects', '2:MyNode'])
What works:
- connecting and disconnecting
- browsing with icons per node types
- showing attributes and references
- subscribing to variable
- available on pip: sudo pip install opcua-client
- remember connections and show connection history
- subscribing to events
- write variable node values
- gui for certificates
- gui for encryption
- call methods
- plot method values
- remember last browsed path and restore state
TODO (listed after priority):
- detect lost connection and automatically reconnect
- gui for loging with certificate or user/password (can currently be done by writting them in uri)
- Maybe read history
- Something else?
How to Install
Note: PyQT 5 is required.
Linux:
- Make sure python and python-pip is installed
pip3 install opcua-client
- Run with:
opcua-client
Windows:
- Install winpython https://winpython.github.io/ , install the version including pyqt5!
- Use pip to install opcua-client:
pip install opcua-client
- Run via the script pip created:
YOUR_INSTALL_PATH\Python\Python35\Scripts\opcua-client.exe
To update to the latest release run: pip install opcua-client --upgrade
MacOS
- Make sure python, python-pip and homebrew is installed
brew install pyqt@5
pip3 install opcua-client pyqtgraph cryptography numpy
- Run with
opcua-client