What's new in OPC Studio 2024.2: Difference between revisions

From OPC Labs Knowledge Base
No edit summary
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 15: Line 15:
= Technology =
= Technology =
* OPC UA Client-Server parts are now based on OPC Foundation UA-.NETStandard 1.5.373.121.
* OPC UA Client-Server parts are now based on OPC Foundation UA-.NETStandard 1.5.373.121.
= Licensing =
* The {{Style=Identifier|LicenseInfo}} property on the main components now returns the dictionary alphabetically ordered.
<!--
<!--
= Licensing =
= Packaging =
= Packaging =
= Delivery =
= Delivery =
-->
-->
= Installation and Uninstallation =
= Installation and Uninstallation =
* The Setup wizard now offers a choice of "express installation" for Python development. When selected, only the setup components relevant for Python developers are installed.
* The Setup wizard for QuickOPC now offers a choice of "express installation" for Python development. When selected, only the setup components relevant for Python developers are installed.
<!--
* The .NET examples group is split into sub-groups for C#, C++/CLI, F#, PowerShell and VB.NET.


= Component Improvements =
= Component Improvements =
<!--
== OPC Classic ==
== OPC Classic ==
== OPC Data Access and OPC XML-DA ==
== OPC Data Access and OPC XML-DA ==
== OPC XML-DA ==
== OPC XML-DA ==
== OPC Alarms&Events ==
== OPC Alarms&Events ==
-->
== OPC UA ==
== OPC UA ==
* Added static method {{Style=Identifier|UANodeId}}.{{Style=Identifier|FromUABuiltInType}}, and an implicit conversion operator, for conversion from {{Style=Identifier|UABuiltInType}} to a {{Style=Identifier|UANodeId}} representing the datatype Id for the built-in type.
* Added method {{Style=Identifier|UANodeId}}.{{Style=Identifier|ToUABuiltInType}}, and an explicit conversion operator, for conversion from {{Style=Identifier|UANodeId}} representing the data type Id to {{Style=Identifier|UABuiltInType}} that corresponds to the data type.
* Added static property {{Style=Identifier|ObjectsStrict}} to the {{Style=Identifier|UABrowseParametersClass}}, and modified the behavior of the {{Style=Identifier|Objects}} static property. The {{Style=Identifier|ObjectsStrict}} static property now returns browse parameters according to strict interpretation of the OPC UA specification, and browses only the '''HasComponent''' references. The {{Style=Identifier|Objects}} static property uses a loose interpretation (needed for some non-compliant servers), and browses any '''HierarchicalReferences'''.
<!--
== OPC UA Client-Server ==
== OPC UA Client-Server ==
== OPC UA Complex Data ==
== OPC UA Complex Data ==
== OPC UA File Transfer ==
== OPC UA File Transfer ==
-->
-->
== OPC UA PubSub ==
== OPC UA PubSub ==
* The "tls" scheme can now be used in resource addresses, and is equivalent to "mqtts" or "ssl".
* The "tls" scheme can now be used in resource addresses, and is equivalent to "mqtts" or "ssl".
Line 41: Line 50:
== Services ==  
== Services ==  
== Specialized Client Objects ==
== Specialized Client Objects ==
-->
== OPC UA Administration and PKI ==
== OPC UA Administration and PKI ==
* On Windows, certificate directory store paths that are too long to work normally are automatically detected and transformed to Windows extended-length paths.
<!--
== Performance ==
== Performance ==
== Other ==
== Other ==
-->


= Component Refactorings =
= Component Refactorings =
* Renamed properties in {{Style=Identifier|NotifyingWidget}}: {{Style=Identifier|QueueCallbacks}} to {{Style=Identifier|QueueNotifications}}, {{Style=Identifier|CallbackQueueCapacity}} to {{Style=Identifier|NotificationQueueCapacity}}, and {{Style=Identifier|CallbackQueueIdleTimeToSleep}} to {{Style=Identifier|NotificationQueueIdleTimeToSleep}}.
<!--
== OPC Classic ==
== OPC Classic ==
== OPC XML-DA ==
== OPC XML-DA ==
== OPC Alarms&Events ==
== OPC Alarms&Events ==
-->
== OPC UA ==
== OPC UA ==
* Renamed classes (generally by adding the word "Client", in order to achieve the necessary distinction from classes used in server development); corresponding COM interfaces have been renamed in the same way:
** {{Style=Identifier|EasyUAAdaptableParameters}} to {{Style=Identifier|EasyUAClientAdaptableParameters}}.
** {{Style=Identifier|EasyUAEngineParameters}} to {{Style=Identifier|EasyUAClientEngineParameters}}.
** {{Style=Identifier|EasyUAInstanceParameters}} to {{Style=Identifier|EasyUAClientInstanceParameters}}.
** {{Style=Identifier|EasyUASharedParameters}} to {{Style=Identifier|EasyUAClientSharedParameters}}.
** {{Style=Identifier|UAEnhancedSessionParameters}} to {{Style=Identifier|UAEnhancedClientSessionParameters}}.
** {{Style=Identifier|UASmartEngineParameters}} to {{Style=Identifier|UASmartClientEngineParameters}}.
** {{Style=Identifier|UASmartSessionParameters}} to {{Style=Identifier|UASmartClientSessionParameters}}.
<!--
== OPC UA PubSub ==
== OPC UA PubSub ==
== Specialized Client Objects ==
== Specialized Client Objects ==
-->
== OPC UA Administration and PKI ==
== OPC UA Administration and PKI ==
* The default application URI template string has changed. It now uses canonicalized host name, and "http" scheme instead or "uri". For more information, see [[OPC UA Application URI Derivation]].
<!--
== COM Components ==
== COM Components ==
== Services ==
== Services ==
-->


= User Interface =  
= User Interface =  
== OPC UA Administration and PKI ==
== OPC UA Administration and PKI ==
* In the methods that invoke the "Administer OPC UA Application" dialog, you can now programmatically control whether the Pull Certificate Management features are allowed in the dialog (the Pull Certificate Management is typically used with OPC UA clients, but not with OPC UA servers).
* The "Administer OPC UA Application" now allows the user to specify Host names that go into the application instance certificate (used with applications that are Servers).
* The property grid on the "Application certificate" tab of the "Administer OPC UA Application" dialog now also has a dedicated row for the the Domain Component element of the certificate Subject Name.
== Windows Forms Dialogs ==
== Windows Forms Dialogs ==
* Added {{Style=Identifier|LooseReferenceTypes}} property to the {{Style=Identifier|UADataDialog}} class. When {{Style=Keyword|true}} (the default), it causes the dialog to browse following very wide set of reference types, in order to cope with non-compliant servers.
<!--
== Windows Forms Controls ==
== Windows Forms Controls ==


= Developer Tool Integration =  
= Developer Tool Integration =  
= Excel Connector =  
= Excel Connector =  
-->


= Configuration and Instrumentation =  
= Configuration and Instrumentation =  
<!--
== OPC Classic ==
== OPC Classic ==
-->
== OPC UA ==
* There are now three separate event log sources: '''"OPCLabs-UAClientEngine"''' for events coming from the OPC UA client part of QuickOPC, '''"OPCLabs-UAPubSubEngine"''' for events comings from OPC UA PubSub part, and '''"OPCLabs-UAServerEngine"''' for event coming from the OPC UA server part of OPC Wizard (previously, single '''"OPCLabs-UAEngine"''' event source was used).
<!--


= Development Productivity =
= Development Productivity =
Line 72: Line 114:


= Application Deployment =
= Application Deployment =
-->


= Tools and Online Services =
= Tools and Online Services =
== Connectivity Explorer ==  
== Connectivity Explorer ==  
* Added two new endpoints under "Well-known" OPC UA Client-Server points: One for the standard OPC UA server endpoint on the local computer ("opc.tcp://localhost:4840"), and the other for default server endpoint of servers created with OPC Wizard ("opc.tcp://localhost:48040").
<!--
== Demo Servers and Publishers ==
== Demo Servers and Publishers ==
== License Manager ==
== License Manager ==
Line 94: Line 140:
== Platform: .NET ==
== Platform: .NET ==
* Wherever feasible, converted the C# and VB.NET example projects for Console and Windows Forms to the "SDK" (multi-target) format, allowing them to be built for and run on either .NET Framework 4.7.2+, or .NET 6+.
* Wherever feasible, converted the C# and VB.NET example projects for Console and Windows Forms to the "SDK" (multi-target) format, allowing them to be built for and run on either .NET Framework 4.7.2+, or .NET 6+.
* Split the example solutions to separate client development, subscriber development, and server development. Some common projects are shared between the solutions.
* Renamed project folders, adopting a naming convention which clearly distinguishes between common, client, server, and subscriber examples (using "Common-", "Client-", "Server-", and "Subscriber-" prefix).
<!--
<!--
== Platform: COM ==
== Platform: COM ==
== Platform: Python ==
== Platform: Python ==
== OPC Classic ==
== OPC Classic ==
-->
== OPC UA Client-Server ==
== OPC UA Client-Server ==
* Added C# example showing how to read the build information of the server.
* Added C# example showing how to remove the own application certificate.
<!--
== OPC UA PubSub ==
== OPC UA PubSub ==
== Excel Connector ==
== Excel Connector ==
Line 107: Line 160:


= Documentation and Help =
= Documentation and Help =
* Moved all Python (.NET) examples to their own group, separate from .NET and COM.
* Significantly improved the reference documentation.
<!--
<!--
== COM Components ==
== COM Components ==

Latest revision as of 12:05, 23 June 2024

See also: Versions; Previous version: What's new in OPC Studio 2024.1

Internal version number: 5.81

Key changes:


Targeting

  • .NET 7 is no longer supported (Microsoft end of support May 14, 2024), but will likely work. .NET 6 and and .NET 8 continue to be supported.

Technology

  • OPC UA Client-Server parts are now based on OPC Foundation UA-.NETStandard 1.5.373.121.

Licensing

  • The LicenseInfo property on the main components now returns the dictionary alphabetically ordered.

Installation and Uninstallation

  • The Setup wizard for QuickOPC now offers a choice of "express installation" for Python development. When selected, only the setup components relevant for Python developers are installed.
  • The .NET examples group is split into sub-groups for C#, C++/CLI, F#, PowerShell and VB.NET.

Component Improvements

OPC UA

  • Added static method UANodeId.FromUABuiltInType, and an implicit conversion operator, for conversion from UABuiltInType to a UANodeId representing the datatype Id for the built-in type.
  • Added method UANodeId.ToUABuiltInType, and an explicit conversion operator, for conversion from UANodeId representing the data type Id to UABuiltInType that corresponds to the data type.
  • Added static property ObjectsStrict to the UABrowseParametersClass, and modified the behavior of the Objects static property. The ObjectsStrict static property now returns browse parameters according to strict interpretation of the OPC UA specification, and browses only the HasComponent references. The Objects static property uses a loose interpretation (needed for some non-compliant servers), and browses any HierarchicalReferences.

OPC UA PubSub

  • The "tls" scheme can now be used in resource addresses, and is equivalent to "mqtts" or "ssl".

OPC UA Administration and PKI

  • On Windows, certificate directory store paths that are too long to work normally are automatically detected and transformed to Windows extended-length paths.

Component Refactorings

  • Renamed properties in NotifyingWidget: QueueCallbacks to QueueNotifications, CallbackQueueCapacity to NotificationQueueCapacity, and CallbackQueueIdleTimeToSleep to NotificationQueueIdleTimeToSleep.

OPC UA

  • Renamed classes (generally by adding the word "Client", in order to achieve the necessary distinction from classes used in server development); corresponding COM interfaces have been renamed in the same way:
    • EasyUAAdaptableParameters to EasyUAClientAdaptableParameters.
    • EasyUAEngineParameters to EasyUAClientEngineParameters.
    • EasyUAInstanceParameters to EasyUAClientInstanceParameters.
    • EasyUASharedParameters to EasyUAClientSharedParameters.
    • UAEnhancedSessionParameters to UAEnhancedClientSessionParameters.
    • UASmartEngineParameters to UASmartClientEngineParameters.
    • UASmartSessionParameters to UASmartClientSessionParameters.

OPC UA Administration and PKI

  • The default application URI template string has changed. It now uses canonicalized host name, and "http" scheme instead or "uri". For more information, see OPC UA Application URI Derivation.

User Interface

OPC UA Administration and PKI

  • In the methods that invoke the "Administer OPC UA Application" dialog, you can now programmatically control whether the Pull Certificate Management features are allowed in the dialog (the Pull Certificate Management is typically used with OPC UA clients, but not with OPC UA servers).
  • The "Administer OPC UA Application" now allows the user to specify Host names that go into the application instance certificate (used with applications that are Servers).
  • The property grid on the "Application certificate" tab of the "Administer OPC UA Application" dialog now also has a dedicated row for the the Domain Component element of the certificate Subject Name.

Windows Forms Dialogs

  • Added LooseReferenceTypes property to the UADataDialog class. When true (the default), it causes the dialog to browse following very wide set of reference types, in order to cope with non-compliant servers.

Configuration and Instrumentation

OPC UA

  • There are now three separate event log sources: "OPCLabs-UAClientEngine" for events coming from the OPC UA client part of QuickOPC, "OPCLabs-UAPubSubEngine" for events comings from OPC UA PubSub part, and "OPCLabs-UAServerEngine" for event coming from the OPC UA server part of OPC Wizard (previously, single "OPCLabs-UAEngine" event source was used).

Tools and Online Services

Connectivity Explorer

  • Added two new endpoints under "Well-known" OPC UA Client-Server points: One for the standard OPC UA server endpoint on the local computer ("opc.tcp://localhost:4840"), and the other for default server endpoint of servers created with OPC Wizard ("opc.tcp://localhost:48040").

OpcCmd Utility

OPC UA Client-Server

  • The uaClient collectSoftwareInfo command now also collects the new server capabilities introduced in OPC UA 1.05 (such as MaxSessions, MaxSubscriptions, etc.).

Examples

Platform: .NET

  • Wherever feasible, converted the C# and VB.NET example projects for Console and Windows Forms to the "SDK" (multi-target) format, allowing them to be built for and run on either .NET Framework 4.7.2+, or .NET 6+.
  • Split the example solutions to separate client development, subscriber development, and server development. Some common projects are shared between the solutions.
  • Renamed project folders, adopting a naming convention which clearly distinguishes between common, client, server, and subscriber examples (using "Common-", "Client-", "Server-", and "Subscriber-" prefix).

OPC UA Client-Server

  • Added C# example showing how to read the build information of the server.
  • Added C# example showing how to remove the own application certificate.

Documentation and Help

  • Significantly improved the reference documentation.