UaModeler  1.3.2.273
 All Pages
Template Set

This section provides the following parts:

Note
The following text describes only the template sets which are designed to work with the current versions of our SDKs. Older template sets are included as well. Please note that these older template sets should only be used with SDKs for which no newer template set exists. For instance, the ANSI C Template Set 1.2.1 is known to work with the ANSI C SDK 1.2.1, but should not be used with the ANSI C SDK 1.3.0 (because there’s a newer Template Set 1.3).

Template Set Cpp 1.3.1

With the Template Set for the C++ SDK 1.3.1–1.3.3, 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.3.1, 1.3.2, and 1.3.3.

The NodeManager includes

  • a NodeManager class derived from NodeManagerBase, that creates the type nodes in the address space as well as the instances;
  • a header file with definitions for the type nodes ([NamespacePrefix]_identifiers.h);
  • a header file with definitions for the enumerations ([NamespacePrefix]_datatypes.h);
  • a base class for each ObjectType containing
    • static methods for creating the type nodes,
    • a beginnCall Method, which selects the method for method call,
    • getters and setters for variables,
    • getters for Objects,
    • 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 Implemenation class derived from its base class for each ObjectType containing the method bodies for implementing the UaMethods;
  • a base class for each VariableType containing
    • static methods for creating the type nodes,
    • getters and setters for variables,
    • and member variables;
  • an Implementation class derived from its base class for each VariableType.

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 Ansi C 1.3

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.3.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,
  • and for string tables.

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 .NET

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.