The UaExpert is a full-featured OPC UA Client demonstrating the capabilities of our C++ OPC UA Client SDK/Toolkit. The UaExpert is designed as a general purpose test client supporting OPC UA features like DataAccess, Alarms & Conditions, Historical Access and calling of UA Methods. The UaExpert is a cross-platform OPC UA test client programmed in C++. It uses the sophisticated GUI library QT form Nokia (formerly Trolltech) forming the basic framework which is extendable by Plugins.
Free version of UaExpert comes with following Plugins:
The UaExpert is available for Windows and Linux.
The basic framework of UaExpert includes general functionality like certificate handling, discovering UA Servers, connecting with UA Servers, browsing the information model, displaying attributes and references of particular UA Nodes.
The Project pane (upper left window) shows the connected UA Servers and the open document plugins. The Address Space pane (lower left window) shows the UA Servers information model. Depending on the Node selected in the Browser the Attribute and Reference Windows (upper right and lower right windows) show the attribute of the selected Node and its references within the meshed network of the servers address space.
This plugin is shown in the center pane of UaExpert by default. You can (multi-) select UA Nodes in the Address Space window and drag-and-drop them into the DA View. The DA View cerates a subscription and monitors the Nodes. Sampling rate and subscription interval can be changed by right-click into the DA View.
When double-clicking into the Value column of a specific Node you can write new values to that Node, writing of scalar, array and matrix types is supported. The DA View was designed to show the classic view on OPC Servers solely concentrating on item monitoring and displaying values, timestamp and status of individual nodes.
The Event View document can be added using the Add Document button in the menu bar. The Event plugin will be displayed in the center pane and consists of three major groups, the Configuration, the Event/Alarm view and the Details view showing the detailed information of an individually selected alarm.
You need to select a UA Node (this object must have the HasEvents attribute) in the Address Space browser an drag-and-drop it into the Configuration group of the Event View. Now you can select EventFields you are interested in for this eventing object, some fields are already configured by default (check boxes in the tree view). Whenever the object fires an event it will be displayed in the center group of the Event View. Here you can switch tabs beween Events and Alarm showing you the historical list of events or the current state of pending alarm. When clicking on an event the lower pane group will show you all the details of this particular event according to the selected event fields you ticked in the configuration.
The Historical View document can be added using the Add Document button in the menu bar. The Historical plugin will be displayed in the center pane and consists of two major groups, the Configuration and the historical data view showing the values in a graphical trend view related to the requested time frame.
You need to select a UA Node (this object must have set the HistoryReadable flag of the (User)AccessLevel) in the Address Space browser an drag-and-drop it into the Configuration group of the Historical View. Here you can select the drawing color, especially when you add several Nodes to the list. TheHistorical Trend View supports two modes for fetching the data from the UA Server, the Single Update and the Cyclic Update.
For Single Update you need to specify the time frame, defined by start and end date/time and the UaExpert will perform an historical read raw when pressing the Update button. In the Cyclic Update mode you must specify the time span (backwards from now) and the interval the UaExpert should fetch new data. When pressing the Start button the UaExpert will cyclic (interval) perform an historical read raw using now as end time and now-timespan and end time. This will give a typical chart recorder use case.
The Performance View document can be added using the Add Document button in the menu bar. The performance plugin will be displayed in the center pane and consists of three major groups, the Configuration, the list of used nodes and the results showing the measurement in a graphical view.
First you need to select the UA Nodes that should be used for testing (they all must have proper accessrights for write tests and they should move - automonously change data - for subscription tests). You can (multi-) select the nodes in the AddressSpace browser and drag-and-drop them into the centerlist of nodes. All nodes must be from the same UA Server and should have the same data type for easier interpretation of the results. Now the performance measurement must be configured, you need to select the UA services you want to measure and you must configure the number of nodes used for the set of measurements. The number of cycles gives you the number of calls performed for each measurement (high number will give acurate average measurement, but may take long time). The UaExpert will call the UA Service and measure the duration of each call. Alternatively you can choose the Duration option instead. Here the UaExpert will call the UA service as fast as possible in that time span and count how many calls could be performed (this option should be used on very fast operation to give an accurate result).
The results will be displayed in the lower graphical pane. The cumulative graphic shows the comparison between different UA services (comparing calculated average values). In addition every individual UA service measurement is displayed separately to validate constancy and trustability of the measurement.