What's new in QuickOPC 2020.1: Difference between revisions
From OPC Labs Knowledge Base
No edit summary |
No edit summary |
||
(33 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:What's New]] | [[Category:.NET Core]] [[Category:MQTT]] [[Category:OPC UA PubSub]] [[Category:VB.NET]] [[Category:What's New]] | ||
<div style="text-align: right; direction: ltr; margin-left: 1em;">See also: [[Versions]]; Previous version: [[What's new in QuickOPC 2019.2]]</div> | <div style="text-align: right; direction: ltr; margin-left: 1em;">See also: [[Versions]]; Previous version: [[What's new in QuickOPC 2019.2]]</div> | ||
Line 6: | Line 6: | ||
''Key changes: '' | ''Key changes: '' | ||
* | * MQTT transport in PubSub | ||
* JSON mapping in PubSub | |||
<br> | <br> | ||
== Targeting == | == Targeting == | ||
* Operating Systems: Removed Windows 7 (x86 or x64) with SP1 from the list of supported systems. | * Operating Systems: Removed Windows 7 (x86 or x64) with SP1 from the list of supported systems (however, released branded "OPC Data Client" still support this). | ||
* Operating Systems: Windows 10 (x86 or x64) versions 1607 and 1703 are no longer supported. | * Operating Systems: Windows 10 (x86 or x64) versions 1607 and 1703 are no longer supported. | ||
* .NET Runtimes: Added support for .NET Core 2.1.13-2.1.14. | * .NET Runtimes: Added support for .NET Core 2.1.13-2.1.14. | ||
* .NET Runtimes: Added support for .NET Core 3.0.0-3.0.1. | * .NET Runtimes: Added support for .NET Core 3.0.0-3.0.2. | ||
* .NET Runtimes: Added support for .NET Core 3.1.0-3.1.1. | |||
<!-- | <!-- | ||
== Technology == | == Technology == | ||
== | == Licensing == | ||
--> | |||
== Packaging == | == Packaging == | ||
* The OpcLabs.BaseLibVSDesign and OpcLabs.EasyOpcVSDesign assemblies are no longer needed and have been removed. | |||
* More parts of the product made available as separate, additional packages (the MQTT communication packages, and the OPC UA PubSub JSON mapping package). | |||
<!-- | |||
== Delivery == | |||
== Installation and Uninstallation == | == Installation and Uninstallation == | ||
--> | --> | ||
== Component Improvements == | == Component Improvements == | ||
=== OPC UA PubSub === | |||
* Added support for MQTT transport protocol mapping in OPC UA PubSub. Multiple [[MQTT communication packages]] are available. | |||
* Added support for JSON message mapping in OPC UA PubSub (can be used with MQTT transport, besides UADP). | |||
* Added {{Style=Identifier|IEasyUASubscriber}}.{{Style=Identifier|SubscriptionResolved}} event, which allows the developer to inspect and/or modify the resolved dataset subscription descriptor before it is used by the component. | * Added {{Style=Identifier|IEasyUASubscriber}}.{{Style=Identifier|SubscriptionResolved}} event, which allows the developer to inspect and/or modify the resolved dataset subscription descriptor before it is used by the component. | ||
=== Other === | |||
* Added methods {{Style=Identifier|AsEnumerationData}}, {{Style=Identifier|AsOpaqueData}}, {{Style=Identifier|AsPrimitiveData}}, {{Style=Identifier|AsSequenceData}}, {{Style=Identifier|AsStructuredData}} to the {{Style=Identifier|_GenericData}} (COM) interface, and extension methods with the same names into a new {{Style=Identifier|GenericDataExtension}} class. These methods have been introduced primarily for languages like PHP that do not allow down-casting. | |||
* All {{Style=Identifier|Write}} and {{Style=Identifier|WriteValue}} extension methods on the {{Style=Identifier|IEasyUAClient}} (which previously returned {{Style=Keyword|void}}) now return a tuple with {{Style=Identifier|Clamped}} and {{Style=Identifier|CompletesAsynchronously}} result flags. This allows the developer to obtain the same information as with the methods that return {{Style=Identifier|UAWriteResult}} or {{Style=Identifier|UAWriteResult}}[]. | |||
* All COM interfaces that "inherited" from {{Style=Identifier|IFormattable}} have been extended by a method {{Style=Identifier|ToString_3}}({{Style=Keyword|string}}), which converts the value of the current object to its equivalent string representation using the specified format. The method has been added for languages like PHP that have problems with {{Style=Identifier|ToString_2}}({{Style=Keyword|string}},{{Style=Identifier|IFormatProvider}}). | |||
<!-- | <!-- | ||
=== Specialized Client Objects === | === Specialized Client Objects === | ||
Line 36: | Line 48: | ||
=== Services === | === Services === | ||
--> | |||
== Component Refactorings == | == Component Refactorings == | ||
* Replaced the numeric {{Style=Identifier|ErrorCode}} property by a string property {{Style=Identifier|ErrorId}}. This affects, among others: | |||
** The {{Style=Identifier|OperationResult}} and derived classes. | |||
** The {{Style=Identifier|OperationEventArgs}} and derived classes. | |||
** The {{Style=Identifier|ResultArguments}} and derived classes (consequently, Live Binding, and connectivity model in general). | |||
** The formatting of such objects. | |||
** Mapping kinds (in Live Mapping and Live Binding). | |||
** Payload classes in StreamInsight Option. | |||
<!-- | |||
== User Interface == | == User Interface == | ||
Line 49: | Line 70: | ||
== Tools and Online Services == | == Tools and Online Services == | ||
=== License Manager === | |||
* License Manager: Improved error messages given when reading the license from file fails. | * License Manager: Improved error messages given when reading the license from file fails. | ||
* License Manager: Added version number to the main window caption. | * License Manager: Added version number to the main window caption. | ||
* OpcCmd Utility: It is now possible to specify command-line | === OpcCmd Utility === | ||
* UADemoPublisher: It is now possible to specify command-line | * OpcCmd Utility: It is now possible to specify command-line arguments using a response file ('@' syntax). | ||
=== Demo Servers and Publishers === | |||
* A public MQTT server (broker), with data fed by UADemoPublisher (using UADP message mapping), made available on opcua-pubsub.demo-this.com (port 1883), for use in demos and user evaluation. Topic names are | |||
** opcuademo/uadp/none | |||
** opcuademo/json | |||
Note: only for subscriptions - you cannot publish to it yourself. | |||
* UADemoPublisher: It is now possible to specify command-line arguments using a response file ('@' syntax). | |||
<!-- | <!-- | ||
Line 63: | Line 92: | ||
== Examples == | == Examples == | ||
* Added many examples in VB.NET, especially for PubSub. | |||
* Added many examples in Object Pascal (Delphi), especially for PubSub. | |||
* Added larger example in Object Pascal (Delphi): EasyOpcUADemo. Shows how to make a desktop windowed OPC UA client application, mimicking the example that is available in C# and VB.NET. | |||
* Added large number of examples in PHP. | |||
* Added several examples in VB6, including PubSub. | |||
* Added specialized Object Pascal (Delphi) examples showing how to subscribe to, or repeatedly read many variables from Softing OPC UA .NET Demo Server. | * Added specialized Object Pascal (Delphi) examples showing how to subscribe to, or repeatedly read many variables from Softing OPC UA .NET Demo Server. | ||
* Added VBScript example with unsolicited user interaction. | * Added VBScript example with unsolicited user interaction. | ||
* Consistently show proper error handling practices in PHP and VB6 examples. | |||
<!-- | <!-- | ||
Line 72: | Line 107: | ||
== Documentation and Help == | == Documentation and Help == | ||
* Added many examples that were installed only on the disk to the documentation. | * Added many examples that were installed only on the disk to the documentation. | ||
* Included parts of conceptual text right into the corresponding reference documentation. | |||
<br> | <br> |
Latest revision as of 15:31, 20 March 2020
See also: Versions; Previous version: What's new in QuickOPC 2019.2
Internal version number: 5.57
Key changes:
- MQTT transport in PubSub
- JSON mapping in PubSub
Targeting
- Operating Systems: Removed Windows 7 (x86 or x64) with SP1 from the list of supported systems (however, released branded "OPC Data Client" still support this).
- Operating Systems: Windows 10 (x86 or x64) versions 1607 and 1703 are no longer supported.
- .NET Runtimes: Added support for .NET Core 2.1.13-2.1.14.
- .NET Runtimes: Added support for .NET Core 3.0.0-3.0.2.
- .NET Runtimes: Added support for .NET Core 3.1.0-3.1.1.
Packaging
- The OpcLabs.BaseLibVSDesign and OpcLabs.EasyOpcVSDesign assemblies are no longer needed and have been removed.
- More parts of the product made available as separate, additional packages (the MQTT communication packages, and the OPC UA PubSub JSON mapping package).
Component Improvements
OPC UA PubSub
- Added support for MQTT transport protocol mapping in OPC UA PubSub. Multiple MQTT communication packages are available.
- Added support for JSON message mapping in OPC UA PubSub (can be used with MQTT transport, besides UADP).
- Added IEasyUASubscriber.SubscriptionResolved event, which allows the developer to inspect and/or modify the resolved dataset subscription descriptor before it is used by the component.
Other
- Added methods AsEnumerationData, AsOpaqueData, AsPrimitiveData, AsSequenceData, AsStructuredData to the _GenericData (COM) interface, and extension methods with the same names into a new GenericDataExtension class. These methods have been introduced primarily for languages like PHP that do not allow down-casting.
- All Write and WriteValue extension methods on the IEasyUAClient (which previously returned void) now return a tuple with Clamped and CompletesAsynchronously result flags. This allows the developer to obtain the same information as with the methods that return UAWriteResult or UAWriteResult[].
- All COM interfaces that "inherited" from IFormattable have been extended by a method ToString_3(string), which converts the value of the current object to its equivalent string representation using the specified format. The method has been added for languages like PHP that have problems with ToString_2(string,IFormatProvider).
Component Refactorings
- Replaced the numeric ErrorCode property by a string property ErrorId. This affects, among others:
- The OperationResult and derived classes.
- The OperationEventArgs and derived classes.
- The ResultArguments and derived classes (consequently, Live Binding, and connectivity model in general).
- The formatting of such objects.
- Mapping kinds (in Live Mapping and Live Binding).
- Payload classes in StreamInsight Option.
Tools and Online Services
License Manager
- License Manager: Improved error messages given when reading the license from file fails.
- License Manager: Added version number to the main window caption.
OpcCmd Utility
- OpcCmd Utility: It is now possible to specify command-line arguments using a response file ('@' syntax).
Demo Servers and Publishers
- A public MQTT server (broker), with data fed by UADemoPublisher (using UADP message mapping), made available on opcua-pubsub.demo-this.com (port 1883), for use in demos and user evaluation. Topic names are
- opcuademo/uadp/none
- opcuademo/json
Note: only for subscriptions - you cannot publish to it yourself.
- UADemoPublisher: It is now possible to specify command-line arguments using a response file ('@' syntax).
Examples
- Added many examples in VB.NET, especially for PubSub.
- Added many examples in Object Pascal (Delphi), especially for PubSub.
- Added larger example in Object Pascal (Delphi): EasyOpcUADemo. Shows how to make a desktop windowed OPC UA client application, mimicking the example that is available in C# and VB.NET.
- Added large number of examples in PHP.
- Added several examples in VB6, including PubSub.
- Added specialized Object Pascal (Delphi) examples showing how to subscribe to, or repeatedly read many variables from Softing OPC UA .NET Demo Server.
- Added VBScript example with unsolicited user interaction.
- Consistently show proper error handling practices in PHP and VB6 examples.
Documentation and Help
- Added many examples that were installed only on the disk to the documentation.
- Included parts of conceptual text right into the corresponding reference documentation.