OPCDA.NET is a .NET assembly that wraps the OPC DA V2/V3 custom interface to .NET. All server call arguments and results are converted so that the user can work with the usual .NET data types.
Windows Forms and Service .NET applications only need to reference the OpcDaNet.dll and then can use all the provided classes to access OPC V2 or V3 servers.
Other DLLs are provided to handle special application requirements. See chapter OPCDA.NET Assemblies for an overview of the possibilities.
The provided wizards for C# and VB are selectable in the Visual Studio project type selection. The wizards create a Windows Forms application with sample code according the selections in the wizard GUI. The created application can be compiled and run. It contains the code for the selected OPC access features but not much other code that would make understanding the code difficult.
Other types of applications can be adding references to the proper OPCDA.NET DLL. Another option is to copy one of the sample applications and use it as the project base.
OPCDA.NET offers high flexibility and high performance. It supports all OPC DA V2/V3 defined functions and wraps the client call directly to the OPC custom interface, without using any ActiveX and OPC Automation Interface features. The many OPC DA V2/V3 defined functions can make usage somewhat overwhelming. OPCDA.NET provides additional methods for simplified server access. These reduce the number of functions calls required to access OPC server data, but increase the number of available methods even further. Look first at the QuickUse classes to see if the application can be implemented with the functions on this level.
OPCDA.NET is structured into interface layers. The QuickUse classes offer easy to functions that can handle the common requirements. The BrowseTree classes make item browsing simple and display the result directly in TreeView and ListView controls. The OpcDataBind class binds OPC server items to properties in objects and handles the server callbacks, writing the item value into the associated property. The bound object may be a Windows control, allowing item values to be automatically refreshed in textBoxes, listBoxes, listViews etc., without need for user code. For user objects the property Set accessor is executed as the callback handler.
Thanks to the layered design, the user application is always able to use lower level methods to achieve anything supported by the OPC DA server.
The OPCDA.NET classes that transfer OPC data directly into Windows controls can be used in:
- Forms applications (System.Windows.Forms derived)
- WPF applications (System.Windows.Windows derived)
- WPF web applications ( System.Windows.Controls.Page derived)
OPCDA.NET is offered in a Standard Edition and a Professional Edition. The OPCDA.NET Professional Edition additionally offers:
-
Visual Studio Controls boost development productivity by eliminating most server access specific coding. The controls handle the server access efficiently with extensive error checking and supervision. The controls are invisible and can also be used in Windows Service applications.
- Server: The DAServer control maintains the server connection and supervision
- Group: The DAGroup control handles Read/Write and data change callbacks -
Background server access classes that handle all server access in background threads and prevent the application from becoming unresponsive due to long server handling times or long communications timeouts.
- Core: ServerEnum
- Server: Connect, GetStatus, GetProperties, Browse, AddGoup, AddDataBind
- Group: AddItems, Read, Write, Data Change Callbacks
- DataBind: Subscribe
- BrowseTree: Browse -
BrowseV3Emulaton for OPC DA V2 servers. The more convenient OPC DA V3 methods can be used also with OPC DA V2 servers.
Methods: Browse, GetProperties -
The OPCItemDef List Loader loads OPCItemDef arrays from XML files that were interactively created with the ItemListBuilder utility.
The OPCItemDef arrays are used in the AddItems method call.
Methods: Load, LoadEmbedded, GetItemList
![]() |
The OPCDA.NET Professional Edition can be extended with the DANW-Xi option to allow the application to access OPC Xi servers through the same API as OPC DA servers. OPCDA.NET selects the server type based on the server identification string. For OPC DA server the identification is a DCOM ProgID. For OPC Xi servers its xi:url with url being the URI of the Xi web service. The DANW-Xi option needs to be purchased separately from OPCDA.NET. |
Topics | |
---|---|
Getting started |
Explains how to create a OPC client applications |
VB Applications |
The Wizard creates a VB Windows application project with small sample code. |
C# Applications |
The Wizard creates a C# Windows application project with small sample code. |
NET assembly with the functionality of the OPC DA Custom Interface and OPC Common. It additionally offers classes for quick implementation of typical OPC DA clients. | |
VB Sample Client | Sample VB.NET Windows applications that accesses an OPC DA server. It browses the installed OPC DA V2 servers and displays the ProgId's of the found servers in a combo box for selection. When the CONNECT button is clicked, the server is browsed and all branches and items are displayed in a TreeView control. Clicking an item in the TreeView open a dialog box and the item can either be read, written or added to the asynchronous refresh group. |
C# Sample Client |
Sample C# Windows application with the same functionality as explained above for the VB sample. |
Namespaces
Namespace | Description |
---|---|
OPC | |
OPC.Common | This class contains definitions, common methods and helper methods for security handling. |
OPCDA | OPC DA specific definitions and classes. |
OPCDA.NET | Main class with the OPC server access methods. |