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.
Download the evaluation version for hands-on tests or study the feature details in the Online Reference Manual.
|
|
|
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. |
The DANSrv OPC server .NET 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.
|
|
|
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.
|
|
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 works on both platforms. No recompile is required, the Visual Studio 2005/../2015 compiled assembly works with either generic server.
Use .NET for OPC Server development
C# and VB.Net are the preferred tools of many software developers. OPC servers can be developed much like any other .NET application, if based on the DANSrv Toolkit. No DCOM issues have to be handled by the developer. The toolkit generic server handles the DCOM client interface and the .NET wrapping. The OPC server can interface devices with TCP/IP or serial communication or front-end another application or a database. The database access or the 'device' communication is what has to be implemented in the customization assembly. Direct I/O port access can also easily be handled through .Net. port access classes usually provided with the hardware.
Increasingly remote OPC server access is necessary. DCOM is not well suited for and OPC XML DA web service OPC UA may have to be used. Advosol Inc. offers the XDASrv XML DA server toolkit and uaPLUS OPC UA server toolkit that use the same customization assembly as the DANSrv OPC DA .NET server toolkit. Your investment in OPC server development is secured and you don't need to worry about high costs for supporting the new OPC standards. The .Net server customization assembly can be linked with existing .Net applications using WCF or TCP/IP. This concept works well for complex servers with e.g. a user interface and works equally well in OPC DA COM servers and XML DA web services. See the White Paper for an overview.
|
|
|
|
Access from UA Clients
Instead of embedding the UA server, the UAtoCOM converter server can be used to enable UA client applications to access the OPC DA server. With access either direct or thru the converter server OPC DA and OPC UA clients can simultanously access the same DA server.
Another option is the use of the DANSrv customization plug-in .NET assembly with the uaPLUS server toolkit. This approach may be preferrable if the server is mainly accessed form UA clients. DA clients can still access the uaPLUS server thru the COMtoUA converter DCOM server.
|
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 2005, ... ,2015.
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 Visual Studio integrated help contains detailed information about the customization interface and includes the OPC specifications. Context sensitive help displays the needed information without long searches.
- The customization assembly can easily be debugged.
- The supplied test clients allow the user to interactively test each OPC server function.
- Site license with one time fee, no run-time licenses required.
- Updates/Support subscription included for 90 days.
Additional Features of the Professional Edition Include:
- 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 thousand 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 the 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 sorces can be DA server items or any other signal source.
|
|
Sample Servers
The following sample server customizations are provided as Visual Studio 2003 solutions with VB and C# source code:
|
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.
|
|
This sample works as the 'Simple' sample and additionally defines and handles custom item properties.
|
|
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. On a 2GHz Pentium the startup takes about 2 seconds and the CPU load is around 6%.
|
|
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.
|
|
This sample application shows how a server can be implemented to handle a huge number of items. The server uses the dynamic address space mode and creates the items when they are first accessed by a client. The current stock quotes are read from the Internet, showing how an OPC server can access the Internet. The client accesses the server with a stock symbol as the item name. The server then tries to read the current quote for this symbol and if successful adds the item to it's address space. The item value is then periodically updated.
|
|
This sample shows how .NET application can be coupled with the OPC DA server using .NET WCF. See the White Paper for an overview. |
Tools
The OPCDA.NET server toolkit provides tools for quick and simple server development and testing:
System Requirements:
- Windows 7, 8.x, 10 or Windows Server 2008, 2012, 2016
- 32-bit and 64-bit
- .NET Framework 4.x
- Visual Studio 2010,2012,2013,2015 or 2017, C# or Visual Basic
Free Evaluation Download the free evaluation version to test the toolkit in your application before you purchase. The evaluation software has the functionality of the Professional Edition. It has a run-time limitation and the server has to be restarted after 30 minutes. Click "Online Store" if you don't see the online-store table below. Then, add the evaluation license to the shopping cart and go through a simple checkout.
Study the Online Reference Manual if you prefer information before downloading the evaluation.
|
|
|
Editor's pick at Top4Download.com
|
|