Click or drag to resize

VariableType

Home
VariableType

VariableTypes are used to provide type definitions for Variables. VariableTypes are defined using the VariableType node class. The VariableType node class inherits the base Attributes from the Base node class. The VariableType node class also defines a set of Attributes that describe the default or initial value of its instance Variables. The Value Attribute represents the default value. The DataType, ValueRank and ArrayDimensions attributes provide the capability to describe simple and complex values. The IsAbstract attribute defines if the type can be directly instantiated.

The VariableType node class uses HasProperty References to define the Properties and HasComponent References to define data variables.

VariableType property grid description
Variable Type Property Grid
Figure 1: VariableType Property Grid

VariableType properties:

  1. Browse Name - the name used in the information model. The validator will create the BrowseName automatically from the SymbolicName. The BrowseName is qualified by the namespace used for the SymbolicName.

  2. Description – optionally, a vendor specific description is provided. The validator automatically creates a generic Description from the BrowseName and NodeClass.

  3. Key – an optional key that can be used to look up the Description for other locales in a resource DB.

  4. Value – the value of the Description attribute for the Node.

  5. Display Name – a human readable name for the Node. The validator automatically creates the DisplayName from the BrowseName.

  6. Key – an optional key that can be used to look up the display name for other locales in a resource DB.

  7. Value – the value of the Display Name.

  8. IsDeclaration - this flag indicates that the Node is defined elsewhere and no code will be generated. Nodes that are declarations do not need to be completely defined. They only need to have the information required to generate code for nodes that reference it (e.g. the BaseType).

  9. StringId - an alternate unique identfier for the node. It is used instead of the NumericId if it is specified in the CSV input file.

  10. Symbolic Name - identifies the Node within the ModelDesign or within the containing Node. The SymbolicName should always be specified. It is used to create the BrowseName and SymbolicId if they are not specified.

  11. Is Empty - indicates whether the Symbolic Name is empty.

  12. Name – a name, which is a part of the Symbolic Name.

  13. Namespace – a namespace, which qualifies the Name from the Symbolic Name.

  14. Write access - a bit mask that indicates which attributes are writeable. Optionally the WriteMask Attribute can be provided. If the WriteMask Attribute is provided, it shall set all Attributes to not writeable that are not said to be vendor-specific. For example, the Description Attribute may be set to writeable since a Server may provide a server-specific description for the Node. The NodeId shall not be writeable, because it is defined for each Node in specification.

  15. Base Type - the name of the base type pointed out by the HasSubtype reference. The semantic of the HasSubtype type is to express a subtype relationship of types.

  16. Default value - default BaseType.

  17. Is Empty - indicates if there is no Base Type.

  18. Name - BaseType name.

  19. Namespace – a namespace that qualifies the BaseType name.

  20. Class name - a name for the instance of the type. If not specified, the validator creates it by removing the 'Type' suffix from the SymbolicName for the Node.

  21. Is Abstract - indicates whether this type is abstract.

  22. No Class Generation - indicates whether to suppress class generation for the type.

  23. Access Level - this property defines a value of the AccessLevel attribute of the VariableType node class. The access level for variables used for type definitions is vendor-specific, for all other variables defined in the specification , the access level shall allow a current read; other settings are vendor specific.

  24. Array Dimensions - if the Value Rank does not identify an array of a specific dimension (i.e. ValueRank <= 0) the Array Dimensions attribute can either be set to null or the attribute is missing. This behaviour is vendor-specific. If the Value Rank attribute specifies an array of a specific dimension (i.e. ValueRank > 0) then the Array Dimensions attribute shall be specified in the table defining the Variable.

  25. Data Type - the type of the data.

  26. Is Empty - indicates if the DataType is empty.

  27. Name - DataType name.

  28. Namespace – a namespace that qualifies the DataType name.

  29. Expose Its Children - a value indicating whether the children should be exposed.

  30. Historizing - this attribute indicates whether the Server is actively collecting data for the history of the Variable. This differs from the AccessLevel Attribute which identifies if the Variable has any historical data. A value of TRUE indicates that the Server is actively collecting data. A value of FALSE indicates the Server is not actively collecting data.

  31. Minimum Sampling Interval - Optionally, a vendor-specific minimum sampling interval is provided. It indicates how “current” the Value of the Variable will be kept. It specifies (in milliseconds) how fast the server can reasonably sample the value for changes. A MinimumSamplingInterval of 0 indicates that the server is to monitor the item continuously. A MinimumSamplingInterval of -1 means indeterminate.

  32. Value Rank - this Attribute indicates whether the Value Attribute of the VariableType is an array and how many dimensions the array has. It may have the following values: n>1 - the Value is an array with the specified number of dimensions; OneDimension (1)- the value is an array with one dimension; OneOrMoreDimensions (0) - the value is an array with one or more dimensions. Scalar (-1)- the value is not an array; Any (-2)- the value can be a scalar or an array with any number of dimensions; ScalarOrOneDimension (-3)- the value can be a scalar or a one dimensional array.