- Note
- The following text describes the template sets which are designed to work with the currently supported versions of our SDKs. Please note that a template set should only be used with SDKs for which no newer template set exists. For instance, the ANSI C Template Set 1.4 is known to work with the ANSI C SDK 1.4.2, but should not be used with the ANSI C SDK 1.5.1 (because there’s a newer Template Set 1.5.1). Do not use a newer template for an older SDK, e.g. the ANSI C Template Set 1.5.1 should not be used with ANSI C SDK 1.4.2.
Template Set Cpp 1.4
With the Template Set for the C++ SDK 1.4, a whole NodeManager is created. See the Unified Automation C++ Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation C++ Server SDK 1.4.
The NodeManager includes
-
a base class derived from NodeManagerBase, that creates the type nodes in the address space as well as the instances;
-
a NodeManager class implementation derived from the base class, that can be used for custom implementations;
-
a header file with definitions for the type nodes ([NamespacePrefix]_identifiers.h);
-
a header file with definitions for the enumerations and structured data types ([NamespacePrefix]_datatypes.h);
-
wrapper classes for each structured data type;
-
a base class for each ObjectType containing
-
static methods for creating the type nodes,
-
a call method, which selects the UA Method for method call,
-
getters and setters for variables,
-
getters for Objects,
-
methods for accessing child nodes,
-
and member variables;
(If the ObjectType is a subtype of BaseEventType, an event data class is created. See Lesson 5: Adding support for Events for a detailed description. If the ObjectType is a subtype of ConditionType, an event data class is created and the base class additionally contains methods for handling the event. See Lesson 6: Adding support for Alarms & Conditions for a detailed description.)
-
an Implemention class derived from its base class for each ObjectType containing the method bodies for implementing the UaMethods;
-
a class for each VariableType containing
-
static methods for creating the type nodes,
-
getters and setters for variables,
-
methods for accessing child nodes,
-
and member variables;
-
an InstanceFactory that can be used for mapping nodes imported by the XML parser to the generated ObjectType and VariableType classes.
Template Set Cpp 1.5
With the Template Set for the C++ SDK 1.5, a whole NodeManager is created. See the Unified Automation C++ Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation C++ Server SDK 1.5.
The NodeManager includes
- a base class derived from NodeManagerBase, that creates the type nodes in the address space as well as the instances;
- a NodeManager class implementation derived from the base class, that can be used for custom implementations;
- a header file with definitions for the type nodes ([NamespacePrefix]_identifiers.h);
- a header file with definitions for the enumerations and structured data types ([NamespacePrefix]_datatypes.h);
- wrapper classes for each structured data type including
- normal structured DataTypes (without optional fields)
- structured DataTypes with optional fields
- Unions
- wrapper classes for OptionSet DataTypes
- a base class for each ObjectType containing
-
static methods for creating the type nodes,
-
a call method, which selects the UA Method for method call,
-
getters and setters for variables,
-
getters for Objects,
-
methods for accessing child nodes,
-
and member variables;
(If the ObjectType is a subtype of BaseEventType, an event data class is created. See Lesson 5: Adding support for Events for a detailed description. If the ObjectType is a subtype of ConditionType, an event data class is created and the base class additionally contains methods for handling the event. See Lesson 6: Adding support for Alarms & Conditions for a detailed description.)
- an Implemention class derived from its base class for each ObjectType containing the method bodies for implementing the UaMethods;
- a class for each VariableType containing
- static methods for creating the type nodes,
- getters and setters for variables,
- methods for accessing child nodes,
- and member variables;
- an InstanceFactory that can be used for mapping nodes imported by the XML parser to the generated ObjectType and VariableType classes.
Template Set ANSI C 1.4
With the Template Set for the ANSI C SDK a whole data provider is created. See the Unified Automation ANSI C Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation ANSI C based OPC UA Server SDK 1.4.0 and newer.
The provider contains files for
-
initializing and cleaning the provider,
-
creating the address space,
-
the browse service,
-
the read service,
-
the write service,
-
the subscribe service,
-
method handling functions,
-
defining the type identifiers,
-
helper functions,
-
registering the event types and access to event fields,
-
structured data support: type tables to register structures to the stack,
-
string tables,
-
and for defining the browse names.
Template Set ANSI C 1.5.1
With the Template Set for the ANSI C SDK a whole data provider is created. See the Unified Automation ANSI C Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation ANSI C based OPC UA Server SDK 1.5.1 and newer.
The provider contains files for
- initializing and cleaning the provider,
- creating the address space,
- the browse service,
- the read service,
- the write service,
- the subscribe service,
- method handling functions,
- defining the type identifiers,
- helper functions,
- registering the event types and access to event fields,
- structured data support: type tables to register structures to the stack, including
- normal structured DataTypes (without optional fields)
- structured DataTypes with optional fields
- Unions
- helper methods and enumerations for OptionSet DataTypes
- string tables,
- and for defining the browse names.
Template Set ANSI C 1.6
With the Template Set for the ANSI C SDK a whole data provider is created. See the Unified Automation ANSI C Server SDK tutorial for detailed information. The resulting code is compatible with the Unified Automation ANSI C based OPC UA Server SDK 1.6.0 and newer.
The provider contains files for
- initializing and cleaning the provider,
- creating the address space,
- the browse service,
- the read service,
- the write service,
- the subscribe service,
- method handling functions,
- defining the type identifiers,
- helper functions,
- registering the event types and access to event fields,
- structured data support: type tables to register structures to the stack, including
- normal structured DataTypes (without optional fields)
- structured DataTypes with optional fields
- Unions
- helper methods and enumerations for OptionSet DataTypes
- string tables,
- and for defining the browse names.
Template Set .NET 2.3
With the Template Set for the .NET Client SDK some information is generated that a client may need to know:
-
Identifiers and BrowseNames of the Types and InstanceDeclarations;
-
Structured data support: Classes for the DataTypes including methods for encoding and decoding.
The Template Set for the .NET Server SDK creates
- identifiers for static nodes,
- classes for structured data types including encode and decode methods,
- enumerations for enumerated data types,
- a default NodeManager class,
- classes to be used for LinkModelToNode,
- methods for method dispatching and method implementation,
- event handling utilities,
- a default OPC UA server application project.
Template Set .NET 2.4
With the Template Set for the .NET Client SDK some information is generated that a client may need to know:
-
Identifiers and BrowseNames of the Types and InstanceDeclarations;
-
Structured data support: Classes for the DataTypes including methods for encoding and decoding.
The Template Set for the .NET Server SDK creates
- identifiers for static nodes,
- classes for structured DataTypes, including encode and decode methods:
- normal structured DataTypes (without optional fields)
- structured DataTypes with optional fields
- Unions
- helper classes and enumerations with the [flags] attribute for OptionSet DataTypes
- enumerations for enumerated DataTypes,
- a default NodeManager class,
- classes to be used for LinkModelToNode,
- methods for method dispatching and method implementation,
- event handling utilities,
- a default OPC UA server application project.
Modeling Only
This template set is included for users who only want to create a model but not generate code for a specific SDK. All other features of UaModeler are available (e.g. XML export).