What's new in QuickOPC 2017.1
From OPC Labs Knowledge Base
Previous: What’s New in QuickOPC 2016.2 (5.41)
Internal version number: 5.50
Key changes:
- Live Binding for WPF
- Excel Real Time Data
Installation and Uninstallation
- New "Command Prompt From Here" links are now being installed into the product folder, JScript Examples in WSH, PHP Console Examples, and VBScript Examples in WSH folders. These links allow the user to quickly start a CMD window with the current directory set to the chosen place, for quick experiments and exploration.
- The Production installer has been extended by a 'productionexcel' setup type, and by an 'options\excel' component.
- The type libraries that were earlier installed under Lib subdirectory have now been moved to SDK\lib.
Targeting
- .NET Framework 4.6.2 added to the official list of supported frameworks.
Technology
- Updated to newer BoxedApp SDK: 2017.3.
Component Improvements
- Added UANetworkDiscoveryQuery object, and [I]EasyUAClient.DiscoverServersOnNetwork methods, for discovering servers on a multicast subnet using LDS-ME (this has been an experimental feature in version 2016.2).
- For array values, the DAVtq.DisplayValue and UAAttributeData.DisplayValue methods now display a list of array dimensions (in angular brackets), and a (possibly shortened) list of array elements. The previous behavior displayed just a type name, but no actual values.
- Added ShortDiscoveryUrl property to EndpointDescriptor (for OPC Classic). The short string is formed by removing the CLSID part, if both the ProgID and the CLSID are present.
- Added UADiscoveryParameters.ReturnSameSites property. When set to true, the network addresses in endpoint URLs returned from discovery will be replaced by that of a discovery endpoint.
- In OPC UA stack configuration, the default value for MaxArrayLength has been increased from 65535 to 655350 (ten-fold). Consequently, for counts up to several hundred thousands of items, developers will not have to resort to custom OPC UA stack configurations.
- Improved error message in UAServiceException, now providing service result information in form of a status code (symbolic, if available; numeric otherwise), and an information about the inner result, if present.
- Improved resiliency of EasyDAClient, EasyAEClient, EasyUAClient components against user's code failures in event handlers and callbacks. Exceptions in event handlers and callbacks are now caught closer to the source, eliminating or limiting their ability to destabilize the client engine.
Component Improvements (COM)
- The default COM interfaces now consistently contain the Clone method, wherever applicable.
Component Refactorings
- Changed type of public properties derived from HashSet<> to Collection<>, in order to facilitate XAML serialization. This affects: UAEndpointDiscoveryQuery.DiscoveryUriStrings, UANetworkDiscoveryQuery.ServerCapabilityFilter, UAApplicationElement.ServerCapabilities, UAQueryServersFilter.ServerCapabilities, UACertificateAcceptancePolicy.TrustedEndpointUrlStrings (used in EasyUAAdaptableParameters.CertificateAcceptancePolicy), UAHostParameters.DiscoveryUriTemplateStrings, and UABrowseParameters.ReferenceTypeIds (here, a new UANodeIdCollection type has been introduced). The collections (as opposed to sets) allow duplicate entries, but we have made sure that duplicates are properly merged (and thus do not cause any harm) wherever the value is interpreted.
User Interface
- Added a context menu with Reset command to all property grids in Windows Forms. This commands allows the user to reset the selected property to its initial value.
- Most "Standard Name" items in property grids now offer a drop-down list with standard values to choose from.
- Added explanatory tooltips to various nodes in browse controls and dialogs.
Live Binding
- In the Binding Collection Editor (in Windows Forms), it is now possible to view and modify the design-time properties of each binding: The name (Name) used in code to identify the object, whether a member variable will be generated for the component (GenerateMember), and the visibility level of the object (Modifiers).
- It is now possible to "subscribe" to OPC-DA property points (DAPropertyPoint). Because OPC "Classic" properties do not support subscriptions and we do not emulate them, this operation behaves as a single "get" of the property value.
- It is now possible to expand and edit the Point property of a binding and its sub-properties directly in the Binding Collection Editor, without necessarily having to invoke the Point Editor dialog (and switch to its Properties tab) for that. This makes the manual/bulk editing scenarios easier.
Live Binding for WPF
- It is now possible to use the Live Binding features also in Windows Presentation Foundation (WPF) applications.
Excel Real Time Data
- An RTD server is now included with the product. This allows Excel users to retrieve OPC data in real time. Our server is called Connectivity RTD Server.
- RTD function topics can be written manually in short, "friendly" format in most cases. Alternatively, for fine-grained settings of all possible parameters, an XML-based topic format is available.
- The Connectivity Explorer application makes it easy generate cells with RTD references. Single cell, or a range of cells can be transferred from Connectivity Explorer to Excel using copy-and-paste od drag-and-drop, and the corresponding RTD syntax will be created automatically.
- Supported OPC specifications are OPC Data Access, OPC XML-DA and OPC Unified Architecture (Data).
- Besides just values, it is possible to address timestamps, qualities, associated error message, and other useful information that comes with the data. It is also possible to access OPC properties.
- By appending a source cell reference to the list of RTD function arguments, it is possible to achieve writing, also without any programming. The RTD server will write the value from the referenced cell into the OPC server automatically whenever it changes.
- Wide range of data types is supported; conversions are made automatically to achieve interoperability with Excel.
Packaging
- For Visual C++ developers, we now install a header file with #import and #define directives referencing QuickOPC type libraries. The file name is QuickOpc.h and is located in the SDK\include subdirectory. Including this header file gives you immediate access to all types defined in the QuickOPC type libraries. It is recommended that you put #include "QuickOPC.h" directive at the beginning of your C++ files, or into your "stdafx.h" file. You may also have to either copy the file to the directory you want, or add the path to SDK\include to your Visual C++ include directories. The Visual C++ examples have been all shortened by #include-ing this file.
- Added assemblies to support Live Binding for WPF; the main new assembly is OpcLabs.BaseLibPresentation. There are also several accompanying design-time and contract assemblies.
Tools
- Added About command (and a descriptive About box) to the Launcher (as a button on the main form, and a command on the system menu).
Connectivity Explorer
- The Connectivity Explorer application allows the user to navigate through hierarchy of OPC Data Access and OPC Unified Architecture servers and data nodes. The user can subscribe to data changes, and view the results live.
- Individual points, or a selected set of points, can be read or written to.
- Selected data can be transferred to Excel, where it continues to stay subscribed, giving cell values that are dynamically updated with live OPC data.
- Point parameters can be edited before a subscription, read or write is made.
- Multiple points can be easily subscribed to at once, using the "Bulk Add" command.
- The live view can be turned online/offline with a single push of a button.
- Single cell, or any range of cells can be copied to clipboard and pasted to other programs.
- Data can be copied to clipboard either statically, using their current value, or (for Excel) dynamically, using RTD function (see Excel Real Time Data).
- The currently displayed list of points can be saved to an XML file, or retrieved from a file.
- Various connectivity options can be configured, and the configuration can be in turn used when the same data is accessed by Excel.
Documentation
- Enhanced the documentation to describe how Live Binding can be used in WPF applications.
- A documentation for the OpcLabs.BaseLibPresentation assembly added to the reference part of the documentation.
Examples
- Added many C# and VB.NET examples showing the various ways in which the OPC UA node IDs can be constructed.
- More (OPC UA) Delphi examples (earlier just in Reference) added right into the conceptual documentation.
- Added COM example (ReadMultipleItems) in Visual C++ 6.0 (Visual Studio 6.0). See Using QuickOPC from Visual C++ 6.0 for more/related information.
- Thanks to an improvement in DAVtq.DisplayValue and UAAttributeData.DisplayValue methods, the demo applications now display array values better. Array values are now displayed as a list of array dimensions (in angular brackets), and a (possibly shortened) list of array elements. The previous behavior displayed just a type name, but no actual values.
Removed Parts
- Removed the obsoleted "OPC Foundation White Papers" from the bonus material.
See also: Versions