Difference between revisions of "What's new in QuickOPC 2023.2"

From OPC Labs Knowledge Base
Jump to navigation Jump to search
Line 1: Line 1:
[[Category:What's New]]  
+
[[Category:Python]] [[Category:What's New]]  
 
<div style="text-align: right; direction: ltr; margin-left: 1em;">See also: [[Versions]]; Previous version: [[What's new in QuickOPC 2023.1]]</div>
 
<div style="text-align: right; direction: ltr; margin-left: 1em;">See also: [[Versions]]; Previous version: [[What's new in QuickOPC 2023.1]]</div>
 
Internal version number: 5.72
 
Internal version number: 5.72

Revision as of 09:10, 6 November 2023

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

Internal version number: 5.72

Key changes:

  • Support for Python.NET
  • User Interface Runtime in .NET 6+


Targeting

  • Python (with help of the Python.NET library) on Windows is now officially supported.
  • PyCharm is listed as one of the primary development environments.
  • Windows Server 2012 R2 (x64) is no longer supported.
  • Provided workaround for a change made by Microsoft in some Visual Studio 2022 revision after 17.4.0 that breaks QuickOPC VS Toolbox/designer support. As a consequence of the workaround, the VS extension now requires at least Visual Studio 17.6.3.

Technology

  • OPC UA Client-Server parts based on OPC Foundation UA-.NETStandard 1.4.372.56.

Licensing

  • In .NET applications, added a possibility to deploy the license key in a file located in the file system (the so-called File License Store).

Packaging

  • Added assemblies OpcLabs.BaseLibComponents, OpcLabs.EasyOpcClassicComponents and OpcLabs.EasyOpcUAComponents, and moved some top-level (those that appear in Visual Studio toolbox) components to them. Also, added corresponding COM type libraries. This change is largely invisible to most .NET developers, because they reference the NuGet packages, and not the individual assemblies. It is also does not affect the code itself in COM languages. However, in COM language or tools that import type libraries, such as C++, Object Pascal (Delphi), Visual Basic 6.0 or Visual Basic for Applications (VBA), the developer needs to add reference to the new type libraries. Also, during application deployment for COM, the new assemblies and possibly also type libraries need to be installed.
  • In addition to NuGet packages, for ease of use in Python, the software is now also packaged in Python packages. The main package name is opclabs_quickopc. The packages hide away from the developer the fact that behind the scenes, Python.NET is used to wrap the .NET types and make them available to Python.

Delivery

  • The Python packages (opclabs_quickopc etc.) are available on the Python Package Index (https://pypi.org/ ).
  • The Setup program installs a copy of Python packages (opclabs_quickopc etc.) locally.

Component Improvements

OPC Alarms&Events

  • Added AEEventData.ActiveTimeTicks property, and added alternate extension overloads of the IEasyAEClient.AcknowledgeCondition method. The new property and extension method overloads represent the event active time in UTC ticks rather than as DateTime. This is useful with Python.NET, which represents .NET DateTime as 'datetime' Python object, and thus reduces the required resolution (100 nanoseconds) to microseconds.

User Interface

  • The controls for password input now have an "eye" icon to their right, allowing the user to reveal the actual password characters in the field. Clicking the "eye" icon again hides the password again; this also happens automatically after 5 seconds.

Examples

Platform: COM

  • Examples that use Python over the COM API remain in the product, but such usage is now deprecated. The recommendation is to use the new Python support (via Python.NET).

Platform: .NET

  • Added a set of more than 270 .NET examples in Python using the Python.NET package (https://github.com/pythonnet/pythonnet ). The previously provided smaller set of OPC Python examples using the Python for Windows (pywin32) extensions package (over COM API) remains in the product and continues to work, but we recommend using the Python.NET approach.

Documentation and Help

  • Methods and properties of all commonly used types are now consistently annotated with exceptions they may throw.
  • The documentation has been updated to take into account the usage from Python (using Python.NET). Python is now treated as "first-class citizen", with its own Getting Started articles etc.