What's new in QuickOPC 2023.2
Jump to navigation Jump to search
Internal version number: 5.72
- Support for Python.NET
- User Interface Runtime in .NET 6+
- 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.
- OPC UA Client-Server parts based on OPC Foundation UA-.NETStandard 1.4.372.56.
- 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).
- 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.
- 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.
- 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.
- In runtime, all user interface features (such as controls, dialogs, and live binding; Windows Forms and WPF) are now supported under .NET 6+. However, designing them in Visual Studio is only possible in .NET Framework (4.7.2-4.8.1) projects. In order to achieve visual design for .NET 6+ projects, the developer can make two project files over the same set of source files, one targeting .NET Framework and one targeting .NET 6+, and use the project that targets .NET Framework for visual design tasks.
- 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 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).
- Added a set of more than 270 .NET examples in Python using the Python.NET package (https://github.com/pythonnet/pythonnet ) (for illustration, see the very basic OPC UA example). 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.
- OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python .
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, a dedicated Programming in Python article, a new landing page, etc.
- Added Knowledge Base article Inside the Python support in QuickOPC.
- We are announcing the future deprecation and removal of WPF user interface controls from the product. The ability to invoke self-contained UI dialogs (such as for OPC browsing, or OPC UA application administration) from WPF applications will remain.