What's new in QuickOPC 2018.1: Difference between revisions

From OPC Labs Knowledge Base
Line 16: Line 16:
* All callbacks (including event notifications) originating from the {{Style=Identifier|EasyUAClient}} object are now (by default) sent in  a queued manner by a dedicated internal thread, improving resiliency against errors in custom code, and decreasing the possibility of deadlocks. This is similar to what the components for OPC "Classic" were already doing, although the internal implementation is different. This behavior can be turned on or off by the {{Style=Identifier|QueueCallbacks}} property. The idle time before the internal thread executing the queued callbacks is stopped is controlled by the {{Style=Identifier|CallbackQueueIdleTimeToSleep}} property, and the capacity of the callback queue is given by the {{Style=Identifier|CallbackQueueCapacity}} property.
* All callbacks (including event notifications) originating from the {{Style=Identifier|EasyUAClient}} object are now (by default) sent in  a queued manner by a dedicated internal thread, improving resiliency against errors in custom code, and decreasing the possibility of deadlocks. This is similar to what the components for OPC "Classic" were already doing, although the internal implementation is different. This behavior can be turned on or off by the {{Style=Identifier|QueueCallbacks}} property. The idle time before the internal thread executing the queued callbacks is stopped is controlled by the {{Style=Identifier|CallbackQueueIdleTimeToSleep}} property, and the capacity of the callback queue is given by the {{Style=Identifier|CallbackQueueCapacity}} property.
* Added method {{Style=Identifier|IEasyUAClient}}.{{Style=Identifier|BrowseMultiple}}. This method allows to perform browsing with multiple starting nodes at once, giving a performance gain in some browsing scenarios. The method accepts an array of (new) {{Style=Identifier|UABrowseArguments}} objects as an input, and returns an array of (new) {{Style=Identifier|UANodeElementCollectionResult}} objects as an output.
* Added method {{Style=Identifier|IEasyUAClient}}.{{Style=Identifier|BrowseMultiple}}. This method allows to perform browsing with multiple starting nodes at once, giving a performance gain in some browsing scenarios. The method accepts an array of (new) {{Style=Identifier|UABrowseArguments}} objects as an input, and returns an array of (new) {{Style=Identifier|UANodeElementCollectionResult}} objects as an output.
* The {{Style=Identifier|UAQualifiedName}} class now has a {{Style=Identifier|StandardName}} property, allowing the developer to view or select from the standard qualified names.


== Component Refactorings ==
== Component Refactorings ==

Revision as of 13:19, 3 January 2018


See also: Versions; Previous version: What's new in QuickOPC 2017.2

Internal version number: 5.52

Key changes:


OPC Compliance Certification

  • In accordance with the fact that version 2017.1 has been re-certified by OPC Foundation Certification Testing Laboratory for OPC UA compliance (by the means of its Connectivity Explorer tool), the billboard in the standalone installer has been updated to reflect the certification status.

Component Improvements

  • When EasyUAClient receives an OPC UA extension object that it does not recognize, it now returns it (in reads and subscriptions) as an instance of new UAExtensionObject class. This class allows access to the extension object's body (binary or XML), and its data type encoding ID. Conversely, UAExtensionObject instance can be passed in as a value to be written. This feature establishes basic support for OPC UA complex data types.
  • All callbacks (including event notifications) originating from the EasyUAClient object are now (by default) sent in a queued manner by a dedicated internal thread, improving resiliency against errors in custom code, and decreasing the possibility of deadlocks. This is similar to what the components for OPC "Classic" were already doing, although the internal implementation is different. This behavior can be turned on or off by the QueueCallbacks property. The idle time before the internal thread executing the queued callbacks is stopped is controlled by the CallbackQueueIdleTimeToSleep property, and the capacity of the callback queue is given by the CallbackQueueCapacity property.
  • Added method IEasyUAClient.BrowseMultiple. This method allows to perform browsing with multiple starting nodes at once, giving a performance gain in some browsing scenarios. The method accepts an array of (new) UABrowseArguments objects as an input, and returns an array of (new) UANodeElementCollectionResult objects as an output.
  • The UAQualifiedName class now has a StandardName property, allowing the developer to view or select from the standard qualified names.

Component Refactorings

  • The IEasyUAClient.BrowseNodes method has been renamed to Browse and reimplemented as an extension method instead.
  • Added UAEnhancedSessionParameters.EnableStatusSubscription property, which now controls whether or not the server status monitoring subscription is enabled. Earlier, disabling the subscription was done by setting the StatusSubscriptionSamplingInterval property to Timeout.Infinite (-1).

User Interface

  • When UANodeId or UAQualifiedName is presented in a Property Grid, its StandardName property row now contains a drop-down with list of all available standard names. For UANodeId, these are data types, methods, objects, object types, reference types, variables, and variable types.
  • The various browse controls now serve as drag-and-drop sources, and individual nodes or selected sets of nodes can be dragged (in text format) to applications that are drag-and-drop targets.
  • The "Back" toolbar button with various browse controls now has an associated drop-down, allowing the user to go back not just by one step, but also select from a history of recently visited nodes.
  • In the Notifier window, a new tall button to the right of the notification list (with green check-mark) allows the user to "default" all pending notifications at once.
  • In browsing dialogs and controls that contain the node information pane, the user can now show or hide the pane using the "Node information pane" command on the new Layout drop-down on the toolbar.
  • Browsing dialogs that allow multi-selection now show in the status bar the numbers of branches and leaves currently present in the list view.
  • The toolstrip buttons now show their associated shortcut key combination in their tooltips.
  • When multiple related notifications requiring user acceptance are shown in the parallel notifier window, and the user rejects one of them, the remaining notifications now automatically disappear as well. Notifications requiring user acceptance now also disappear when the acceptance becomes irrelevant due to internal status change. For example, the notification requiring the user to accept a certificate with suspicious domain name now disappears when the certificate needs to be accepted by the user for other reasons, and the user rejects the certificate in the other notification.
  • Gained more useful screen space in OpcBrowseControl, OpcBrowseDialog, UABrowseControl, UABrowseDialog, in "Browse for Point" dialog, and in Connectivity Explorer (Point Editor) by rearranging control (status bar information moved to the right of the toolbar, and mini-controls over the tree view and list view replaced by context menu items and a Layout drop-down).

Excel Real Time Data

  • The name of connectivity configuration file has been changed from ConnectivityConfiguration.xml to ConnectivityConfiguration2.xml, and its format has changed.

Tools

Connectivity Explorer

  • The "Any Computer" and "Any Host" nodes have been removed. It is now possible to add OPC servers and OPC-UA endpoints directly under the "roots" for the OPC-DA and OPC-UA connectivity.
  • Added special "command nodes" invoked by double clicking on them. "Add Computer" and "Add Server" command nodes have been added under OPC-DA connectivity node, and "Add OPC-UA Endpoint" and "Add Host" have been added under OPC-UA connectivity node.
  • The name of connectivity configuration file has been changed from ConnectivityConfiguration.xml to ConnectivityConfiguration2.xml, and its format has changed.