The requested page has been moved.

We updated the web site to a responsive design for a better experience on mobile devices.
The page structure and the page URLs have changed.
If you are not redirected to the proper page then please navigate from the home page or search for the information you are looking for.

Please excuse the inconvenience caused by this change.
The Advosol Team

 

Are you looking for:

OPC DA .NET Server Toolkit
OPC DA Server SDK for C# and VB.NET

The HDANS Server toolkit is discontinued but still supported.

 

OPC DA .NET Server Development Toolkit for C# and VB.NET

The OPC DA .NET Server Toolkit (DANSrv) has an OPC DA V2.05 and V3.0 compliant generic server and a .NET customization assembly (NSPlugin.dll).
No COM programming is required. The server customization for a particular application is done in the .NET customization assembly. Many VB.NET and C# samples are provided. Custom applications can be based on these sample applications or be wizard created. The wizard GUI offers choices for the needed customization functions and creates sample code for the selected features.

The DANSrv server toolkit is well suited to quickly implement simple servers or to create high performance OPC servers with ten thousands of items.

The NSPlugin.dll .NET customization assembly interface defines a small number of methods that are called from the generic server and a few callback methods that allow the customization assembly to call methods in the generic server, such as writing new item values into the cache.
The server development is nothing more than building this DLL with C# or VB.NET.
 
Embedded UA Server
The DANSrv Professional Edition can include the uaPLUS generic server DLL to allow parallel access from OPC DA and OPC UA clients.

A license of the uaPLUS server toolkit is required in addition to the DANSrv license.

OPC DA Server Toolkit with .Net customization assembly
The DANSrv OPC DA .NET server toolkit is offered in two editions:

Standard Edition
All basic features for OPC V2/V3 servers with a static item address space.

Professional Edition
Additional features increase the functionality and the performance.

  • The server may have a dynamic address space with items added when they are first accessed by a client.
  • The ConfigBuilder tool/class allow the items to be defined in an XML file.
  • The item refresh can be based on the current client usage and the client sampling rate definitions.
  • Item browsing can be selected to browse the cache or the device/database.
  • The client update handling is selectable for either optimization for frequent data changes or large number of items.
  • can be combined with uaPLUS for a DA / UA server.

Both editions support 32-bit and 64-bit operation. A version of the generic server is provided for each platform. The server customization .Net plug-in assembly built for ANY CPU works on both platforms.

 

The OPC DA .NET Server Features include:

  • OPC DA V2.05 and V3.0 compliant generic server
  • Can be extended with OPC Alarms & Events support
  • High performance and efficiency in large and small applications
  • Free-threaded design and hand-optimized .Net wrappers
  • Fully integrated into Visual Studio .NET.
  • Project Templates with Wizards for Visual Studio 2017,2019
    The wizards generate a C# or VB project with a sample server according the selections in the Wizard GUI. The generated project can be compiled and works as a fully functional OPC server.
  • Many VB and C# sample applications
  • The customization assembly can easily be debugged.
  • The supplied test clients allow the user to interactively test each OPC server function.
  • License with one time fee, no run-time licenses required.
  • Updates/Support subscription included for 90 days.

Additional Features of the Professional Edition Include:

  • Can be combined with the uaPLUS server toolkit for servers that can be accessed by Classic OPC DA and OPC UA clients.
  • ConfigBuilder tool and class.
    The server item address space is defined in an XML file. The XML file is created/edited interactively with the ConfigBuilder tool. It is also possible to import the definitions from a working OPC server and quickly clone this server.
    The ConfigBuilder class reads the XML file and configures the server accordingly.
  • Update optimization features that significantly increase performance.
    The standard configuration optimizes the server for a moderate number of items with frequent value changes. The server processing can be changed to a handling optimized for a large number of items with moderate frequency of value changes.
  • Can handle hundred thousands of items.
    The server is designed for handling a large item address space. Ten thousands of items can quickly be created and accessed, either in a complex tree structure or with a large number of items in a single branch.
  • Dynamic item address space handling and virtual item address space browsing.
    The dynamic item address space is useful in application such as e.g. an OPC server that front-ends a large database. It would not be efficient to add the huge number of database points as items to the server. Instead the virtual item address space browsing does browse directly the database and only items that are read/write accessed by clients are added to the server for efficient OPC compliant handling. Items not used any more can be removed.
  • Access Restrictions.
    Access to items can be restricted based on client credentials.

 

OPC Alarms & Event Option:

The OPC AE .NET Server Toolkit can be combined with this OPC DA .NET Server toolkit to make the server compliant with OPC DA2, OPC DA3 and OPC AE1.1.
OPC AE event sources can be DA server items or any other signal source.

 

Sample Servers

The following sample server customizations are provided as Visual Studio solutions with VB and C# source code:

  • Simple



  • SimpleNET7

  • SimpleUaNet7

This is a simple server with a few items, statically defined within the code.
A simulation thread increments the item values and updates the server cache.
Write calls write the item value into the simulation buffer, forcing the incrementing to continue from the written value.

With project for .NET7 and generic .NET7 main application code.

With project for .NET7  and generic .NET7 main application code.
Configuration files for DCOM registration and UA communication.
Works with the generic DANSrv server with UA combination capability.

Requires DLLs from the
uaPLUS Toolkit for operation.

  • Properties

  • PropertiesNet7

  • PropertiesUA



  • PropertiesUANet7 
This sample works as the 'Simple' sample and additionally defines and handles custom item properties.

With project for .NET7 and generic .NET7 main application code.

With the generic DANSrv server with UA combination capability.
Configuration files for DCOM registration and UA communication.
Requires DLLs from the uaPLUS Toolkit for operation.

With project for .NET7  and generic .NET7 main application code.
Configuration files for DCOM registration and UA communication.
Works with the generic DANSrv server with UA combination capability.

Requires DLLs from the 
uaPLUS Toolkit for operation.

  • Dynamic
This sample is very similar to the 'Properties' sample but implements a dynamic item address space.
At startup no items are defined in the generic server. All items are added dynamically when they are first accessed by a client. The browse mode is set to virtual and the client browse calls are handled in this sample. The return the items that could be added to the server cache.
For the client this handling is invisible. It appears identical to the 'Properties' sample.
Only in the DANSrv Professional Edition because the Standard Edition does not support virtual browsing.

  • ConfigBuilder
This sample loads the item configuration from the file CfgSample.xml and creates the defined items at startup.
The XML file can be modified with the ConfigBuilder application. The new configuration used when the server is restarted. No compilation is required.
The sample does embed the XML file to show this possibility. To use the embedded file the sample has to be modified to use the LoadEmbedded() method in place of LoadFromExeDir(). The method call is in the code as comment.
Only in the DANSrv Professional Edition because the Standard Edition does not support the ConfigBuilder.

  • 20kItems
This sample defines 20000 items at startup and updates the first 1000 items every 100ms.
It should give an impression of the performance and can be used as the base for a custom benchmark application.

  • TCPDevice

This sample uses a TCP socket on port 6500 for device communication. For tests a Device simulator console application is provided.
The IP address is initialized as localhost, allowing both applications to run on the same computer.
At startup the DeviceSimulator sends a line with item names and the server creates these items in it's address space. The DeviceSimulator then periodically increments the item values and sends lines with the values of all items. The server customization reads these lines and updates the server cache. Items written by a client are sent to the DeviceSimulator, which displays them.

 

Tools

The OPCDA.NET server toolkit provides tools for quick and simple server development and testing:

  • Visual Studio 2017/2019 project creation wizards
    The wizards creates a project with small sample code and server registration settings as defined in the user dialog. It also creates unique GUIDs for the server.
  • OPC DA V2 Test Client
    This is an easy to use client that is well suited to test the server for correct item handling.
  • OPC DA V3 Test Client 
    This client uses mainly OPC DA V3 functions and allows most OPC DA V3 features to be tested interactively.
  • Error Lookup
    OPC and related Windows error codes are explained.
  • ConfigBuilder
    The ConfigBuilder Tool creates and changes XML files with item configuration definitions.
    The XML configuration file can be used in the customization module to create the item address space of the server.
    This tool is available only in the Toolkit Professional Edition.

 

System Requirements:

  • Windows 10/11 or Windows Server 2019/2022
  • 32-bit and 64-bit
  • .NET Framework 4.x or .NET6/7
  • Visual Studio 2019/2022, C# or Visual Basic
.Net OPC Solutions

 

Advosol offers a comprehensive set of OPC toolkits and utilities for the .NET platform.

.Net OPC Client Toolkits

The client development components allow .Net client applications to access OPC servers. These software packages are much more than simple .Net wrapper. They provide everything needed for efficient application development. All OPC defined functions can be called through easy to use classes with all data properly converted. Additional software layers offer a number of higher level functions like browsing the server supported items into a .Net TreeNode structure. Visual Studio project and class generation wizards make usage simple and quick.

OPCDA .NET The OPCDA.NET Client Component offers highly efficient and flexible access to OPC DA V2/V3 servers.
XMLDA.NET The XMLDA.NET Client Component  supports access to OPC DA V2/V3 and XML DA servers. The clients are developed as XML DA clients, independent of the type of server.
OPCHDA.NET The OPCHDA.NET Client Component handles access to OPC HDA historian servers and can be used in combination with OPCDA.NET and OPCAE.NET.
OPCAE.NET The OPCAE.NET Client Component handles access to OPC Alarm and Events servers and can be used in combination with OPCDA.NET and OPCHDA.NET.
EasyUA Client SDK  The EasyUA Client SDK handles the communication with UA servers with DA/HD/AC/Methods functionality.

 

.Net OPC Server Toolkits
The .NET server toolkits have a generic server that implements the OPC specified client interface and a application specific .NET plug-in assembly that allows the application specific server functionality to be implemented with C# or VB.Net .

OPC DA .NET Server Toolkit

OPC AE Option

The DANSrv is an OPC DA V2.05 / V3.0 compliant server that can be customized in .Net assembly. OPC servers that e.g. front-end a database or an Ethernet connected device can take advantage of the .Net tools. A simple .Net assembly has to be created, no COM and OPC knowledge is required.
The customization assembly can also be used with the XML-DA and UA server toolkit. No further effort is required to support the new OPC standards.
OPC Historian .NET Server Toolkit With the HDANSrv server toolkit OPC HDA servers can be implemented in C# or VB.Net.
OPC UA Server Toolkit The uaPLUS server toolkit makes the transition to OPC UA simple.  It can use the same application plug-in DLLs as the toolkit for classic OPC DA. Or, the devices can be handles with application specific UA node managers.
 
Converter Servers
The Converter Servers translate between different OPC specifications.

XDAGW-CS

OPC DA server that enables OPC DA clients to access remote XML DA servers.

XDAGW-SS

 XML DA web service that enables XML DA clients to access OPC DA servers.
COMtoUA OPC DA/HDA/AE server that enables Classic OPC clients to access OPC UA servers.
UAtoCOM OPC UA server that enables OPC UA clients to access Classic OPC DA/HDA/AE servers.
OPC XML Webservices

Web Services are a high-level application-to-application communication technology embraced by virtually all platform providers including Microsoft, IBM, Sun, and Linux.
XML (eXtensible Markup Language) is one of the key enabling technologies for achieving global inter-connectivity and it has industry-wide support as a standardized way of handling data among systems using a variety of operating systems. On a higher layer the SOAP specification defines remote procedure call messages in a platform independent fashion, using XML. Web services such as XML DA or UA base on SOAP and are defined in WSDL documents.

XML DA
In October 1999 the OPC Foundation announced that it will publish XML schema based on OPC specifications that define application interoperability and communications between disparate industrial automation devices, systems and applications running across the manufacturing enterprise.
In July 2003 the first version of the XML DA specification was released.
XML DA specifies a rather simple web service with eight methods that handle all of the features typically used in the OPC Data Access applications.

The XML DA specification didn't get the attention it deserves, mainly because the OPC Foundation announced the United Architecture specification shortly after the release of XML DA and allocated its resources on this new specification. Another reason is performance concerns. Due to the XML based communication XML DA is much slower than the COM based OPC DA. This caused users to decide for proprietary tunnel solutions instead of XML DA. However, it needs to be noted that XML DA is actually fast enough for many OPC data access applications.

XML DA Characteristics

  • Simple to implement
  • Limited functionality, Data Access only
  • Covers the requirements of most OPC Data Access applications
  • Can be used with web service extensions for secure communication
  • Much slower than COM based OPC
  • Products available

WCF (Windows Communication Foundation) introduced in .NET3 eliminates many of the web services short comings. The communication can now be configured for either high performance and/or security.

The XML DA specification defines SOAP messages for requests and responses. With .NET2 the communication is restricted the HTTP transport. With .NET3 (WCF) the communication can be configured in a wide range to include TCP and Pipe transports and many security options. The WCF basicHttp binding is compatible with .NET2.

 

Advosol OPC XML DA Products
Advosol offers software development tools for XML-DA clients, XML-DA Servers and Gateways (converters). The products are provided in two version, for IIS web services and for WCF.

  • XML-DA server-side Gateway
    The XDAGW-SS gateway enables OPC-DA servers to be accessed from XML-DA clients. Using the gateway is the quickest way to make an existing OPC DA server accessible from a remote location.
    XDAGW-SS can be configured to restrict access to a item subset or allow only read access.

  • XML-DA client-side Gateway
    The XDAGW-CS gateway allows OPC DA clients to access XML-DA servers. Only minimal configuration is required. XDAGW-CS is OPC DA V2.05 and V3 compliance tested.

  • XML-DA Client Component
    The XMLDA.NET client component allows XML-DA clients to access local OPC DA V2 server directly, without going through XML serialization, offering highly improved performance.
    Clients can be developed as state of the art web services clients even if OPC DA COM server need to be accessed.
     
Client Components

How to develop OPC Clients with .NET?

Developers have many options for the development of .NET OPC client applications. What's best depends on many factors and on personal preferences.
The basic choices are the API and the communication.

Type of Application Interface

OPC client applications increasingly have to access different types of OPC servers. This can be accomplished with wrappers, either embedded in the client or as external converter servers.
The chosen application interface and the servers that need to be accessed determine the needed wrappers. 
OPC defined interfaces are:

Classic OPC

The classic OPC DA, HDA, AE specification define a C++ COM interface and a COM Automation interface. For .NET the OPC Foundation provided sample .Net wrapper code but didn't create a .NET API specification.
Vendors offer .Net client components with widely different APIs:
- Methods that mirror the OPC specified interface functions. The application can use all OPC specified features.
- Usage oriented method that make the server access simple.
- Embedded into an overall product concept.

XML DA

The OPC XML DA specification was created in 2003. It defines .NET2 web service SOAP messages for the functionality of OPC DA (Data Access). See OPC-DA / XML-DA Comparison for an overview and comparison of the two OPC specifications.
There are no corresponding web service specifications for OPC HDA and OPC AE.
The .NET web services WSDL tools create API methods from the specification.

OPC UA

OPC UA was started in 2003 with the ambitious goal of a multi-platform specification with the capability to model all kinds of systems.
The specification was partially released in 2009 and vendors offer UA products, mostly with only DA functionality.
The OPC UA specification defines communication records. The multi-platform capability requires UA specific communication stacks for each platform.
The communication stack implementation defines the application interface.

 

Type of Server Communication

The interface specification defines the communication supported by the server.

(D)COM

 

The Classic OPC Specification defines a COM interface. OPC DA, HDA, AE servers are COM server and need to be accessed through (D)COM.
Microsoft still supports DCOM and for local server access COM is still a good and efficient solutions.
Remote server access is limited and the necessary DCOM configuration is tricky and the cause of most OPC difficulties.

.NET2 web services

The .NET2 web services (ASMX) eliminate the DCOM remote communication limitations and configuration issues. However, the communication is restricted to HTTP and the security options are limited. The .NET2 based XML DA is available since 2003 and is often used to remotely access OPC DA servers through an XML DA gateway server.

OPC UA

OPC UA communication is either TCP or HTTP. The security handling and the upper layer communication are UA specific to make it consistent on all platforms.
The OPC Foundation is working with member companies to make communication stacks and tools available to its members for different platforms, such as PLCs.

 

 

Products are available for many combinations of API and server communication.
Application designers should decide the used API based on:

  • communication (server types) that need to be supported (are converters available?).
  • communication that is mainly going to be used
  • the capability of available wrappers to support all needed features
  • the type of client application (GUI application, web client, Windows service, etc.)

 

Advosol offers the most complete set of client components, converter servers and server toolkits.

OPCDA.NET client component

The Classic OPC DA (Data Access) interface is implemented in .NET classes. All OPC DA V2.05 and 3.0 features are supported. In a layered class structure the upper level classes provide server access features with a minimal amount of code. OPCDA.NET can be combined with OPCHDA.NET and OPCAE.NET for HDA (Historical data access) and Alarm&Events.

  • UA Option
    UA servers can be accessed thru the same API as OPC DA servers. Existing OPCDA.NET based client applications can be upgraded to support UA without application code changes.

OPCAE.NET client component
The Classic OPC AE (Alarms&Events) interface is implemented in .NET classes. All OPC AE V1.1 features are supported. In a layered class structure the upper level classes provide server access features with a minimal amount of code. OPCAE.NET can be combined with OPCHDA.NET and OPCDA.NET for HDA (Historical data access) and DA (Data Access).

  • UA Option
    UA servers can be accessed thru the same API as OPC AE servers. Existing OPCAE.NET based client applications can be upgraded to support UA without application code changes.

OPCHDA.NET client component
The Classic OPC HDA (Historical Data Access) interface is implemented in .NET classes. All OPC HDA V1.2 features are supported. In a layered class structure the upper level classes provide server access features with a minimal amount of code. OPCHDA.NET can be combined with OPCDA.NET and OPCAE.NET for HDA (Historical data access) and Alarm&Events.

  • UA Option
    UA servers can be accessed thru the same API as OPC HDA servers. Existing OPCHDA.NET based client applications can be upgraded to support UA without application code changes.

 

EasyUA Client SDK
EasyUA implements a .NET interface with base layer classes with methods according the UA Communicatin Stack.
The application can full control  of teh server communication.
Upper layer classes simplify the server access.

 

 

XMLDA.NET client component
Thru the XML DA API the client application can access:
     - XML DA servers with .NET web services or WCF communication
     - OPC DA V2.05 and 3.0 servers
XMLDA.NET is especially well suited for web client applications.
Used in combination with XDAGW-SS server-side XML DA gateway, the client application can access local OPC DA servers directly or remote server thru the XML DA gateway.

 

XML-DA Server Side Gateway
OPC XML DA Converter

OPC XML DA converter service that enables XML DA client to access OPC DA DCOM servers

The XML-DA Client to OPC-DA Server Gateway (XDAGW-SS) enables XML DA client applications to access OPC DA servers.
The XDAGW-SS Gateway offers a way to allow existing XML DA client applications access to the wide base of installed OPC DA servers.
The gateway is provided in version for IIS web services  and one for WCF. 
WCF offers more communications options but is useful only when both sides, client and server, are WCF based.

XDAGW-SS is compliance tested for XML-DA V1.0.1 and OPC-DA V2.05 and 3.0. If connected to an OPC-DA V3 server the OPC DA V3 features such as WriteVQT() are used, otherwise the server is accessed OPC-DA V2.05 compliant.

 

Configuration and Diagnostic Utility
The XDAGW-SS gateway configuration settings are defined in the AppSettings section of the web.config file.
The configuration utility displays the settings and changes can be made interactively instead of modifying the web.config file with a text editor.
The diagnostic features test the access to the OPC DA server and the XML DA gateway web service.
The .NET3 configuration is also in the web.config file and is modified with the WCF configuration utility.

 

Security
Web services don't provide a high level of security. Using HTTPS is the only option.
The gateway implements effective security measures. It can be configured to restrict the server access to an item subset. E.g. make some items read-only or allow only a subset of the items to be accessed.

The XDAGW-SS gateway is provided in a version for WCF that can be configured for secure communication.
In communication with WCF based XML DA servers, any WCF communication bindings can be used, including X.509 certificates

 

System Requirements

  • Windows 7, 8.x,10,11, Windows Server 2008,2012,2016,2019,2022
  • .NET 4.x
  • IIS with ASP.NET or WCF
Loading...