QuickOPC 是一種全新存取OPC數據的方式軟體。是個用來在網路上發布OPC數據或是整合OPC至涉及到工業自動化和控制過程的自定義應用程序的理想工具。QuickOPC提供了令人難以置信的短碼來創建OPC客戶端。 此外,使用複雜的啟發式演算法去優化自生的功能,QuickOPC工具包提供了最有效,最快速的方法去存取OPC數據。
- Tested for compliance with OPC protocol standards, and for interoperability.
- Integration with Visual Studio development environment.
- Internal messaging layer provides isolation between OPC communications and the custom client code, resulting in high resiliency.
- Automatically connects to and disconnects from OPC Servers.
- No limits to number of connections, subscriptions, or tags.
- Supports all flavors of OPC synchronous and asynchronous reads and writes internally, subscriptions, discovery, browsing, and property access.
- Wide range of developer productivity features: Intellisense, ReSharper annotations, serialization support, and many more.
- Browsing Dialogs: Ready-made set of rich user interface (UI) components for browsing the OPC world.
Architecture 架構
QuickOPC具有模組化的架構,職責明確分離。
QuickOPC Parts
The QuickOPC product allows development of clients for OPC protocols in various tools under Windows. It consists of three basic parts:
- QuickOPC.NET, for OPC "Classic" specifications (COM- and XML-based), and Microsoft .NET Framework technology
- QuickOPC-COM, for OPC "Classic" specifications, and use with Microsoft COM (OLE automation)
- QuickOPC-UA, for OPC Unified Architecture specifications (for use from within .NET or COM-based tools)
Why QuickOPC?
- It works in a wide range of programming languages and tools. C# and Visual Basic are the most obvious, but the list is very long.
- OPC Specifications: QuickOPC supports OPC Data Access 1.0, 2.0 and 3.0, OPC Alarms and Events 1.10 and earlier, OPC XML-DA 1.01, and OPC Unified Architecture (natively, or through UA COM Proxy - included).
- You can develop on Microsoft Windows in .NET, or with a use of COM-based tools. Read more about the platforms.
- You can pick from, or combine multiple development models. When developing user interfaces, you can replace or supplement the traditional procedural coding by a codeless Live Binding model. More advanced models such as Live Mapping, or Reactive Programming, are available as well.
- QuickOPC toolbox is suitable for a wide range of usage areas in process control and industrial automation. For example, developing HMIs, dynamic recipe loading, or customized data loggers, is straightforward.
QuickOPC OPC Library Features
OPC-enable your .NET or COM applications with QuickOPC. Access OPC-DA, OPC-A&E and OPC UA servers with ease, and without previous knowledge of the OPC standard.
Developer API
- Integration with Visual Studio development environment.
- Wide range of developer productivity features: Intellisense, contextual help, ReSharper annotations, serialization support, and many more.
- Browsing Dialogs: Ready-made set of rich user interface (UI) components for browsing the OPC world.
- Browsing Controls: Highly flexible, visually appealing controls that you can place on your forms and integrate OPC browsing into your app.
Internals
- Multi-threaded, non-blocking OPC library design for high performance.
- Internal messaging layer provides isolation between OPC communications and the custom OPC client code, resulting in high resiliency.
- Conserves resources behind-the-scenes by automatically disposing of objects that are not being used.
- The OPC library has no hard-coded limits to number of connections, subscriptions, or tags.
- Intelligent OPC Group parameter optimization.
On The OPC Side
- OPC client functionality tested for compliance with OPC protocol standards and interoperability.
- Automatically connects to and disconnects from OPC Servers.
- Automatically adds, removes and maintains OPC groups (subscriptions, in OPC-UA) and monitored items.
- Automatic server status checking, detection of connection problems and server failures, and automatic reconnects.
- Maintains OPC client state and reconstructs the internal state of OPC server after reconnection.
- Supports all flavors of OPC synchronous and asynchronous reads and writes internally, subscriptions, discovery, browsing, and property access.
- Multiple independent OPC server connections.
Footnote & required disclosure: QuickOPC (including its Options) is a software development kit (SDK) for development of OPC clients. Installing QuickOPC or its Options does not change system settings.
QuickOPC Editions
Following table will help you to understand the features of different QuickOPC editions, and assist in selecting the edition that is best for you.
Product Edition: | Standard | Professional | Enterprise | Ultimate | |
Unlimited run time | The trial version delivers valid data for 30 minutes since you have started your application. You then need to re-start the process in order to receive valid data again, and so on. Paid editions have no such limitation. Contact us if you need a longer run time for your evaluation. | ✓ | ✓ | ✓ | ✓ |
OPC Specifications | |||||
OPC Data Access (3) | OPC-DA is the original specification. It is commonly used to move real-time data from PLCs, DCSs, and other control devices to HMIs and other clients, for display purposes and further processing. More... | ✓ | ✓ | ✓ | ✓ |
OPC XML-DA | OPC XML-DA specification builds on the OPC-DA specifications to communicate data in XML. It incorporates SOAP and Web services. More... | ⨯ | ✓ | ✓ | ✓ |
OPC Alarms and Events (3) | OPC-A&E provides alarm and event notifications on demand (in contrast to the continuous data flow of Data Access). These include process alarms, operator actions, informational messages, and tracking/auditing messages. More... | ⨯ | ✓ | ✓ | ✓ |
OPC Unified Architecture (Generic/Data) | OPC-UA is the next generation of OPC. It brings the existing specifications together with a unified data model and uses Web services, rather than Microsoft COM, for messaging. More... | ✓ | ✓ | ✓ | ✓ |
OPC Unified Architecture (Methods) | The Method Service Set in OPC Unified Architecture allows the client to make function calls on OPC UA objects. | ⨯ | ✓ | ✓ | ✓ |
OPC Unified Architecture (Alarms & Conditions) | This standard deals with event subscriptions and notifications, Conditions, Dialog Conditions, and Alarms, including acknowledgement capabilities. Also includes specialized OPC UA Alarms and Conditions client object. More... | ⨯ | ✓ | ✓ | ✓ |
OPC UA PubSub | Subscriber functionality for OPC UA dataset messages distributed by message-oriented middleware, with support for resolution of parameters from the PubSub information model. This feature does not refer to subscriptions in OPC UA Client-Server model. They are available in all editions. |
⨯ | ⨯ | ⨯ | ✓ |
Development Models | |||||
Imperative Programming Model | This is the traditional programming. You write code to instantiate objects, and call methods to perform the OPC operations. More... | ✓ | ✓ | ✓ | ✓ |
Live Binding Model (2) (5) (7) | Simply use the Visual Studio Designer to configure bindings between properties of visual or non-visual components, and OPC data. For Windows Forms and WPF, code-less. More... | ⨯ | ✓ | ✓ | ✓ |
Live Mapping Model (1) | Allows you to write objects that correspond logically to a functionality provided by whatever is “behind” the OPC data. You map your objects and members to OPC by annotating them with attributes. More... | ⨯ | ⨯ | ✓ | ✓ |
Reactive Programming Model (1) | High-level abstraction that allows you to compose asynchronous and event-based programs using data streams and LINQ-style query operators. Uses Microsoft Reactive Extensions (Rx) for .NET. More... | ⨯ | ⨯ | ⨯ | ✓ |
Features | |||||
Browsing Dialogs (7) | Pre-made, highly configurable OPC browsing dialogs for Windows Forms (callable from WPF or COM applications as well). Provide interactive viewing and selection features. More... | ⨯ | ✓ | ✓ | ✓ |
Browsing Controls (2) (7) | Configurable OPC browsing controls for Windows Forms. Can be combined with other controls on the form to achieve the desired functionality. More... | ⨯ | ✓ | ✓ | ✓ |
OPC UA Discovery | Local Discovery (LDS) | ✓ | ✓ | ✓ | ✓ |
Network Discovery (LDS-ME) | ⨯ | ✓ | ✓ | ✓ | |
Global Discovery (GDS) | ⨯ | ⨯ | ✓ | ✓ | |
Specialized Client Objects | OPC UA Certificate Management Client OPC UA File Transfer (6) OPC UA Global Discovery Client |
⨯ | ⨯ | ✓ | ✓ |
OPC UA Publish-Subscribe Client. Provides access to PubSub information model in an OPC UA client, or to PubSub configuration stored in a file. | ⨯ | ⨯ | ⨯ | ✓ | |
API Services | Operation Monitoring Services | ✓ | ✓ | ✓ | ✓ |
Operation Control Services OPC UA Node Registration Service |
⨯ | ✓ | ✓ | ✓ | |
Extensions | |||||
OPC UA Complex Data | Encodes and decodes OPC UA extension objects, according to data type dictionaries and data type definitions in the OPC UA information model. More... | ⨯ | ⨯ | ✓ | ✓ |
StreamInsight (3) | Allows you to bring in streaming data from OPC sources into StreamInsight, analyze them and process them further, and even feed the results back to OPC servers. Data from OPC can be combined with data from multiple other sources. You can monitor the data for meaningful patterns, trends and exceptions. Streaming OPC data can be analyzed and correlated while they are in-flight. | ⨯ | ⨯ | ⨯ | ✓ |
Development Platform Targeting | |||||
COM (3) | For languages or tools that supports Microsoft OLE Automation, e.g. Delphi, VB6, VBScript (such as in ASP), JScript, Perl, PHP, Python, VBA (such as in Excel), Visual FoxPro, REALbasic, Xbase, T-SQL, and many others. Also works from native C/C++. More... | ⨯ | ⨯ | ✓ | ✓ |
.NET Framework (3) | For languages and tools based on Microsoft .NET Framework on Windows. Typical usage is from Visual Basic (VB.NET) or C#, but other languages can be used as well (e.g. PowerShell, managed C++, or F#). More... | ✓ | ✓ | ✓ | ✓ |
.NET 6+ | Multi-platform API. Allows development in .NET languages for the .NET 6 or 7 runtime on Windows, Linux or macOS. | ⨯ | ✓ | ✓ | ✓ |
Python | Using Python.NET, allows development of OPC applications in Python, running on .NET Framework or .NET 6 or 7 on Windows. | ✓ | ✓ | ✓ | ✓ |
Tools | |||||
Connectivity Explorer (3) | Allows to navigate through hierarchy of OPC Data Access and OPC Unified Architecture servers and data nodes. You can subscribe to data changes, and view the results live. | ✓ | ✓ | ✓ | ✓ |
other tools | Launcher(3), License Manager(3) (GUI and Console), OPC UA Demo Publisher, OpcCmd Utility, UA Configuration Tool(3). | ✓ | ✓ | ✓ | ✓ |
Product Options (must be purchased as additional items) | |||||
Excel Option (3) | Allows you to set up a communication link between Excel and any OPC server. It is possible to subscribe to and view real-time data, and also write the data back. No programming, macros or add-ins are necessary. With just drag-and-drop or copy-and-paste, you can create Microsoft Excel sheets with live, animated OPC data. More... | ✓ | ✓ | ✓ | ✓ |
Note (1): Only available under .NET Framework or .NET 6+ development platforms. Not available in COM, not available in Python.
Note (2): Only available under .NET Framework development platform (Windows). Not available in COM, not available in Python..
Note (3): Only on Windows.
Note (4): Only available under COM or .NET Framework development platforms (Windows).
Note (5):
WPF design-time features are not available in QuickOPC version 2023.2. This affects the ability to use Visual Studio to configure Live Binding in WPF applications, and to configure properties of QuickOPC WPF controls.
You can still use XAML editing to configure properties of QuickOPC WPF controls. QuickOPC version 2023.2 still fully supports WPF in run-time, i.e. the functionality of QuickOPC WPF controls in run-time is not affected, and also existing applications that use WPF Live Binding run correctly.
We are evaluating the feasibility of supporting the WPF design-time features in a future version.
Note (6): Only available under .NET Framework or .NET 6+ development platforms. Not available in COM.
Note (7):
In runtime, all user interface features (such as controls, dialogs, and live binding; Windows Forms and WPF) and nonvisual components are supported both under .NET Framework and .NET 6+. However, "designing" them (this includes tasks like dragging from the Toolbox, or configuring in Properties window) in Visual Studio is only possible in .NET Framework 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.
.NET Runtimes
NET Framework, COM, and Excel Development
If you are developing under .NET Framework or COM development platform, and also for Excel development with the Excel Option, (at least) one of the following .NET runtimes must be installed on your development and production computers:
- .NET Framework 4.7.2
- .NET Framework 4.8
- .NET Framework 4.8.1
Note that
- .NET Framework 4.7.2 is included with Windows 10 version 1803 (April 2018 Update), version 1809 (October 2018 Update), Windows Server versions 1803 and 1809, and Windows Server 2019.
- .NET Framework 4.8 is included with Windows 10 version 1903 (May 2019 Update) and later.
.NET Standard Development
If you are developing under .NET Standard development platform, (at least) one of the following .NET runtimes must be installed on your development computer:
- .NET 6 or 7
Windows-specific technologies (Windows Forms, WPF) and feature that depend on them (Live Binding, Browse Dialogs and Browse Controls, ...) are not yet supported in .NET 6 or 7.
On the production computers, you can either use framework-dependent deployment (FDD), and in such case one of the above runtimes must be installed on the production computer, or you can use a self-contained deplyment (SCD), in which case the .NET runtime you have selected does not have to be preinstalled on the production computer (but it is deployed along with your application). See .NET application publishing overview for more information.
.NET
On Linux, you may find Install .NET on Linux page useful, in order to check the supported Linux distributions/versions, and what other dependencies exist. Related to this, you may also want to review:
- Overview of how .NET is versioned article
- .NET Supported OS Policy article
- Microsoft Support for .NET article
If you want to verify the version of .NET on your computer, use the dotnet --info command in the command prompt, and look for the Version field under ".NET runtimes installed:" in the generated output. Do not use dotnet --version, because this command only returns the version of the .NET command-line tools.
Other Runtimes for .NET Standard
Other .NET runtimes for the .NET Standard that are not listed here (Mono, Xamarin, UWP, .NET Framework) are not supported. It is possible that QuickOPC will work on such .NET runtimes as well, but if you decide to use them, you are on your own... QuickOPC may support them in the future.
Remarks
For a (incomplete) list of .NET Runtimes QuickOPC has been tested with, consult Knowledge Base article QuickOPC Compatibility Test List.
The features discussed here, or some of them, may not be available in all editions of the product. Check the Product Editions page for differences between the editions. The trial license has all features enabled (and is limited in period for which it provides valid data), but licenses for specific commercial editions may have functionality limitations.
'Support' means that QuickOPC is designed to work and tested on the environment, and vendor's technical support may be contacted for assistance with QuickOPC on the environment. Support may be not available for operating systems, .NET runtimes and other dependencies that are past their active lifecycle at the time of support request, even if they were supported at the time of product release.
Operating Systems
.NET Framework, COM, and Excel Development
This chapter describes the operating systems supported if you are developing under .NET Framework or COM development platform, and also for Excel development with the Excel Option.
The product is supported on following client operating systems:
- Microsoft Windows 10 (x86 or x64) version 1809 - 22H2.
- Microsoft Windows 11 (x64) version 21H2 - 22H2.
The product is supported on following server operating systems:
- Microsoft Windows Server 2012 R2 (x64)
- Microsoft Windows Server 2016 (x64)
- Microsoft Windows Server 2016 Core (x64) (see Server Core Systems for limitations on this type of system)
- Microsoft Windows Server 2019 (x64)
- Microsoft Windows Server 2019 Core (x64) (see Server Core Systems for limitations on this type of system)
- Microsoft Windows Server 2022 (x64)
On x64 platforms, QuickOPC can run in 32-bit or 64-bit mode.
.NET Standard Development
This chapter describes the operating systems supported if you are developing under .NET Standard.
With .NET 6 or 7 runtime, QuickOPC supports following operating systems in general:
- Linux
- macOS
- Microsoft Windows
The precise versions supported depend on the .NET runtime you have chosen, and on its version. Refer to the documentation of the particular .NET runtime for more information.
Hardware
QuickOPC minimal hardware requirements are the same as those for the operating system and the development tools you are using.
For installation on Windows using the Full Installer, you should have at least 680 MB of free hard disk space before installing QuickOPC.
StreamInsight Option for QuickOPC
The StreamInsight Option for QuickOPC allows you to bring in streaming data from OPC sources into StreamInsight, analyze them and process them further, and even feed the results back to OPC servers. With OPC StreamInsight, data from OPC can be combined with data from multiple other sources. You can monitor the data for meaningful patterns, trends and exceptions. Streaming OPC data can be analyzed and correlated while they are in-flight.
Microsoft StreamInsight is a platform for writing and running complex event processing (CEP) applications. Such application can e.g.:
- Acquire events from multiple data streams, process them, search for correlations, and pinpoint important conditions in the monitored processes.
- Provide centralized means for processing of high volume, real-time data.
- Make complex analysis of the data in the time domain.
- Aggregate data streams originating in different sources.
- Gain continuous operations performance insight.
OPC/StreamInsight Features
The StreamInsight Option for QuickOPC supports connections to OPC servers with following specifications:3D box - StreamInsight Option - transparent
- OPC Data Access
- OPC XML-DA
- OPC Alarms and Events
- OPC Unified Architecture (data access)
Excel Option for QuickOPC
The Excel Option for QuickOPC allows you to set up a communication link between Excel and any OPC server. It is possible to subscribe to and view real-time data, and also write the data back. No programming, macros or add-ins are necessary. With just drag-and-drop or copy-and-paste, you can create Microsoft Excel sheets with live, animated OPC data.
Features
The Excel Option for QuickOPC supports connections to OPC servers with following specifications:3D box - Excel Option - transparent
- OPC Data Access
- OPC XML-DA
- OPC Unified Architecture (data access)
The Excel Option is a product from the QuickOPC family, while technically it is contained in the same installation package. You can also easily combine the Excel Option easiness of development with all other options and features provided by QuickOPC, such as to add VBA code to handle more complicated tasks.