What's new in QuickOPC 2018.1: Difference between revisions
From OPC Labs Knowledge Base
No edit summary |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
<br> | <br> | ||
== OPC UA Complex Data == | |||
* An integrated OPC UA Complex Data extension is now included with the product, making it possible to work with types defined in standard and custom data type dictionaries. Documentation for the extension is here: [http://opclabs.doc-that.com/files/onlinedocs/QuickOpc/2018.1/User%27s%20Guide%20and%20Reference-QuickOPC/webframe.html#OPC%20UA%20Complex%20Data%20Extension.html OPC UA Complex Data extension]. | |||
* The extension will work with any pre-existing licenses that cover the QuickOPC 2018.1 version. For newly issued licenses, the OPC UA Complex Data extension is included in Ultimate edition only. | |||
* OPC Binary data type system ("Default Binary") is supported. XML Schema data type system ("Default XML") is not currently supported. | |||
* When the extension is enabled (which is by default), OPC UA complex data is represented by instances of {{Style=Identifier|UAGenericObject}} class. The developer uses the same methods for reading, writing or making subscriptions as normally. | |||
* The OPC UA Complex Data extension provides means of creating and processing data types and generic data. Enumeration, opaque, primitive, sequence and structured data types are available. | |||
== OPC Compliance Certification == | == 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. | * 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. | ||
Line 14: | Line 21: | ||
== Component Improvements == | == Component Improvements == | ||
* The {{Style=Identifier|UAReadParameters}} and {{Style=Identifier|UAMonitoringParameters}} classes now have an {{Style=Identifier|EncodingName}} property, allowing the developer to specify the name of the encoding that the server should use when returning the {{Style=Identifier|Value}} attribute of a variable. | * The {{Style=Identifier|UAReadParameters}} and {{Style=Identifier|UAMonitoringParameters}} classes now have an {{Style=Identifier|EncodingName}} property, allowing the developer to specify the name of the encoding that the server should use when returning the {{Style=Identifier|Value}} attribute of a variable. | ||
* When {{Style=Identifier|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 {{Style=Identifier|UAExtensionObject}} class. This class allows access to the extension object's body (binary or XML), and its data type encoding ID. Conversely, {{Style=Identifier|UAExtensionObject}} instance can be passed in as a value to be written. This feature establishes basic support for OPC UA complex data types. | * When {{Style=Identifier|EasyUAClient}} receives an OPC UA extension object that it does not recognize (and the OPC UA Complex Data extension is disabled), it now returns it (in reads and subscriptions) as an instance of new {{Style=Identifier|UAExtensionObject}} class. This class allows access to the extension object's body (binary or XML), and its data type encoding ID. Conversely, {{Style=Identifier|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 {{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. | ||
Line 43: | Line 50: | ||
* 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. | * 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. | * The name of connectivity configuration file has been changed from '''ConnectivityConfiguration.xml''' to '''ConnectivityConfiguration2.xml''', and its format has changed. | ||
== Documentation == | |||
* Reference documentation for COM components merged back to the main "User's Guide and Reference", and made available in Visual Studio integrated help again. | |||
* The User's Guide now contains index to all examples contained in the documentation. | |||
* The User's Guide now contains a source code (or parts of it) of some examples that were previously only installed with the product, but not included in the documentation. | |||
* Enhanced the documentation by many See Also links. | |||
== Examples == | == Examples == | ||
* For examples in most languages and programming tools, reorganized the examples that are part of the documentation into a folder structure, one per type. | * For examples in most languages and programming tools, reorganized the examples that are part of the documentation into a folder structure, one folder per type (object or interface). | ||
<br> | <br> |
Latest revision as of 11:45, 10 February 2018
See also: Versions; Previous version: What's new in QuickOPC 2017.2
Internal version number: 5.52
Key changes:
- OPC UA Complex Data
OPC UA Complex Data
- An integrated OPC UA Complex Data extension is now included with the product, making it possible to work with types defined in standard and custom data type dictionaries. Documentation for the extension is here: OPC UA Complex Data extension.
- The extension will work with any pre-existing licenses that cover the QuickOPC 2018.1 version. For newly issued licenses, the OPC UA Complex Data extension is included in Ultimate edition only.
- OPC Binary data type system ("Default Binary") is supported. XML Schema data type system ("Default XML") is not currently supported.
- When the extension is enabled (which is by default), OPC UA complex data is represented by instances of UAGenericObject class. The developer uses the same methods for reading, writing or making subscriptions as normally.
- The OPC UA Complex Data extension provides means of creating and processing data types and generic data. Enumeration, opaque, primitive, sequence and structured data types are available.
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
- The UAReadParameters and UAMonitoringParameters classes now have an EncodingName property, allowing the developer to specify the name of the encoding that the server should use when returning the Value attribute of a variable.
- When EasyUAClient receives an OPC UA extension object that it does not recognize (and the OPC UA Complex Data extension is disabled), 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.
Documentation
- Reference documentation for COM components merged back to the main "User's Guide and Reference", and made available in Visual Studio integrated help again.
- The User's Guide now contains index to all examples contained in the documentation.
- The User's Guide now contains a source code (or parts of it) of some examples that were previously only installed with the product, but not included in the documentation.
- Enhanced the documentation by many See Also links.
Examples
- For examples in most languages and programming tools, reorganized the examples that are part of the documentation into a folder structure, one folder per type (object or interface).