/opcua-client-gui

OPC-UA GUI Client

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Simple OPC-UA GUI client.

Scrutinizer Code Quality Build Status Build Status

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'])

Screenshot

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:

  1. Make sure python and python-pip is installed
  2. pip3 install opcua-client
  3. Run with: opcua-client

Windows:

  1. Install winpython https://winpython.github.io/ , install the version including pyqt5!
  2. Use pip to install opcua-client: pip install opcua-client
  3. 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

  1. Make sure python, python-pip and homebrew is installed
  2. brew install pyqt@5
  3. pip3 install opcua-client pyqtgraph cryptography numpy
  4. Run with opcua-client