uaPLUS Reference
Server with AE Functionality
Send comments on this topic.

Glossary Item Box

AE features are implemented in NSPlugin.dll as an extension of the DA features.

First create a NSPlugin.dll implementation as explains in chapter Server With DA Functionality and the add the AE functionality according AE Plug-in Development Steps.

uaPLUS uses the same plug-in DLL interface as the Advosol DANSrvAE OPC DA/AE .NET Server toolkit.

The OPC DA and UA specifications define data management features that are application independent. The DANSrv DA server toolkit and the uaPLUS UA server toolkit implement these data management features in the generic server and define a rather simple interface to NSPlugin.dll. The user only has to implement this interface to provide the application specific device access.
The OPC AE specification is different. Most features depend more or less on the kind of events that are to be handled. Therefore, the generic AE server contains less functionality than the generic DA server. Most functionality is in the plug-in DLL. For this reason the AE handler is split into two layers:

 

The provided AE handler sample implementation:
- tries to load NSPluginAEBase.Net4.dll and uses it if found.
- otherwise, it uses the uaPLUS internal AE base

 

The AE handler implements a .NET interface according the Classic OPC AE specification. To make it usable with UA, the uaPLUS UA server implements a UA to COM wrapper server. The UA specification part 9, Annex D specifies guidelines for the wrapper implementation.

 

UA Mapping

The AE areas and sources managed by the plug-in are mapped to UA objects.
The NSPlugin.dll AE part is represented as the root object with the default name    AEplugin
The name can be changed with a definition in the AppSettings section of the application configuration file (uaPLUS.Net4.exe.config)
      <add key="AErootName" value="myName"/>
 The AE area structure is mirrored under this UA object.

 Servers with an application specific main program can instead define the root name in the static property  uaPLUS.aeRootName

 

The plug-in for UA servers with DA and AE functionality can be developed:

 

The NSPlugin assembly for DA and AE must implement the following event server related classes in addition to the DA functionality.

 

To add AE functionality to an existing DA server project do:

Note: The two provided AE sample servers differ in how the DA items and the event sources are defined. Use the sample server that best matches your DA server.

 

 

Class members declared as public may NOT be modified. These are used by the generic server and any change would require an adaptation of the generic server. The public defined member are not application specific and there is actually no need for changes except for supporting new specification versions that may be released in the future.

© 2010-2018 Copyright Advosol Inc. All Rights Reserved.