Skip to main content

QuickOPC Client and Subscriber Toolkit for OPC UA and OPC Classic.

Project description

QuickOPC

  • NuGet package: OpcLabs.QuickOPC
  • Python package: opclabs_quickopc

QuickOPC is a suite of OPC Client/Subscriber Development Components for .NET, COM and Python. These components are for OPC "Classic" (COM/DCOM-based), OPC XML-DA, and OPC Unified Architecture (including OPC UA PubSub) specifications.

QuickOPC is a commercially licensed product. Without a license key, it runs in a trial mode. The trial provides valid data to client or subscriber applications for 30 minutes; after that period, the component (your app) needs to be re-started, and so on. You must also comply with licensing terms for 3rd-party material redistributed with QuickOPC. For details, see the documentation.

Remember that NuGet or Python packages are primarily a tool for resolving build-time dependencies. The amount of functionality that you get through QuickOPC NuGet or Python packages is smaller than what QuickOPC can actually do for you. If you want a full coverage of the features, you would be better off downloading the Setup program from OPC Labs Web site. Further below you will find a list of differences between the two distribution forms.

QuickOPC requires .NET Framework 4.7.2, .NET Core 3.1 or .NET 6.0 as a minimum. Under .NET Core and .NET 6.0+, it is supported on Linux, macOS and Microsoft Windows. QuickOPC can also be easily used from Python.

PLEASE DO NOT USE PRE-RELEASE PACKAGES UNLESS INSTRUCTED TO DO SO.

List of available NuGet/Python packages

  • OpcLabs.QuickOpc/opclabs_quickopc: OPC client and subscriber components for all environments and project types.

  • OpcLabs.QuickOpc.Forms: Components that are specific for Windows Forms (can be partially used from WPF as well).

  • OpcLabs.QuickOpc.Sample.CS: Console-based QuickOPC examples in C# (source code).

  • OpcLabs.QuickOpc.Sample.VB: Console-based QuickOPC examples in VB.NET (source code).

What is included in the NuGet/Python packages

  • Runtime assemblies for all OPC specifications and programming models.
  • OPC browsing dialogs and browsing controls for Windows Forms.
  • NuGet: IntelliSense support (XML comments).
  • NuGet: LINQPad examples.

What is only available from the Setup program

  • Support for COM development (VB6, PHP, Excel, Delphi and similar tools).
  • Documentation and Help.
  • Visual Studio integration, including Live Binding design-time support (codeless creation of OPC applications).
  • Complete set of Examples and Demo applications, bonus material.
  • OPC Data Access simulation server, test tools.

What is only available from the Setup program or the Web site

Knowledge Base link - Tool Downloads

  • Various tools, such as Connectivity Explorer, Launcher, OPC UA Demo Publisher, OpcCmd Utility, UA Configuration Tool.
  • License Manager (GUI or console-based) utility.

How to start

If you do not mind reading the documentation: Getting Started. Or, the whole User's Guide.

Otherwise, just instantiate one of the following objects (depending on the OPC specification), and explore its methods:

  • OpcLabs.EasyOpc.DataAccess.EasyDAClient (for OPC DA, OPC XML-DA)
  • OpcLabs.EasyOpc.AlarmsAndEvents.EasyAEClient (for OPC A&E)
  • OpcLabs.EasyOpc.UA.EasyUAClient (for OPC Unified Architecture)
  • OpcLabs.EasyOpc.UA.PubSub.EasyUASubscriber (for OPC UA PubSub)

Example code

C#:

using OpcLabs.EasyOpc.UA;
...

var client = new EasyUAClient();
object value = client.ReadValue(
    "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer",
    "nsu=http://test.org/UA/Data/ ;i=10853");

Python:

import opclabs_quickopc
from OpcLabs.EasyOpc.UA import *

client = EasyUAClient()
value = IEasyUAClientExtension.ReadValue(client,
                                         UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:51210/UA/SampleServer'),
                                         UANodeDescriptor('nsu=http://test.org/UA/Data/ ;i=10853'))

Examples on GitHub

Using the example packages (NuGet)

In order to run the code from console-based example packages, you need to call it from your project. The examples are organized by the OPC specification, and each example is a static method that you can directly invoke. For easier exploration, there are also methods that provide the user with a menu of methods to choose from.

For OPC Alarms&Events examples, call method: DocExamples.AlarmsAndEvents.AEExamplesMenu.Main1

For OPC Data Access examples, call method: DocExamples.DataAccess.DAExamplesMenu.Main1

For OPC XML-DA examples, call method: DocExamples.DataAccess.Xml.XmlExamplesMenu.Main1

For OPC Unified Architecture examples, call method: UADocExamples.UAExamplesMenu.Main1

For OPC UA PubSub examples, call method: UADocExamples.PubSub.PubSubExamplesMenu.Main1

Alternatively, you can call just a single selected example, e.g. for reading an OPC UA node, call the UADocExamples._EasyUAClient.Read.Main1 method.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opclabs_quickopc-5.80.75.tar.gz (42.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page