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.
|
|
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.
|
|
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.
|
|
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.
|
|
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/8
- Visual Studio 2019/2022, C# or Visual Basic