TypeGenerator

The subfolder TypeGenerator contains LabVIEW™ classes that are responsible for generating a supported LabVIEW™-Data types. The following graphic shows the relationship or inheritance between the TypeGenerator classes.

TypeGenerator 1:
TypeGenerator 2:

Use of the classes

The TypeGnerator classes of the respective data types were derived from the Base class and have inherited the functions. See also the information about the wrapper block Utilities.

CBaseTypeDescriptor class

The CBaseTypeDescriptor class is the top class in the hierarchy. This class provides general methods and properties for the other classes that inherit from it. The table presents general information about the public properties and methods. The LabVIEW™ blocks provide further detailed information.

VI

Property/method

Access (Scope)

Meaning

TypeGenerator 3:

Read m_TCName

Public

Reads the property m_TCName (name of the loaded type)

TypeGenerator 4:

Write m_TCName

Public

Writes the property m_TCName (name of the loaded type)

TypeGenerator 5:

Read m_TypeCode

Public

Reads the property m_TypeCode (defines a numeric value for the loaded type)

TypeGenerator 6:

Read m_TypeID

Public

Reads the property m_TypeID (ID as GUID of the loaded type)

TypeGenerator 7:

Read m_TypeStyle

Public

Reads the property m_TypeStyle (LabVIEW™ Enum: Describes how the loaded type should be generated)

TypeGenerator 8:

Write m_TypeStyle

Public

Writes the property m_TypeStyle (LabVIEW™ Enum: Describes how the loaded type should be generated).

TypeGenerator 9:

Load

Public, Static Dispatch

Loads TwinCAT3 type information into memory based on TypeResolver or TypeInfo.

TypeGenerator 10:

Create Type

Public, Dynamic Dispatch

The method is empty. The classes that inherit from this class implement this method.

TypeGenerator 11:

Create SubType

Public, Dynamic Dispatch

The method is empty. The classes that inherit from this class implement this method.

TypeGenerator 12:

Unload and Save

Public, Static Dispatch

Unloads the loaded type from memory and saves the new type (if Ctl).

CBooleanTypeDescriptor class

The CBooleanTypeDescriptor class generates a Boolean type as a constant or control (in a block diagram) or as a ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Method

Access (Scope)

Meaning

TypeGenerator 13:

Init

Public, Static Dispatch

Initializes a Boolean type based on the loaded TypeInfo.

TypeGenerator 14:

Create Type

Public, Static Dispatch

Generates a Boolean type based on the loaded TwinCAT 3 type information.

TypeGenerator 15:

Create SubType

Public, Static Dispatch

Generates a Boolean type as a sub-type, e.g. the element of a cluster.

TypeGenerator 16:

IEC 61131-3 BIT data type

The CBooleanTypeDescriptor class supports BOOL and BIT data types and can therefore be used to generate both.

CNumericTypeDescriptor class

The CNumericTypeDescriptor class generates a numeric type with proper representation (I8, I16, I32, Single, ...) as constant or controls (in a block diagram) or as ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Method

Access (Scope)

Meaning

TypeGenerator 17:

Init

Public, Static Dispatch

Initializes the numeric type, based on the loaded TypeInfo.

TypeGenerator 18:

Create Type

Public, Static Dispatch

Generates a numeric type based on the loaded TypeInfo.

TypeGenerator 19:

Create SubType

Public, Static Dispatch

Generates a numeric type as a sub-type, e.g. the element of a cluster.

CStringTypeDescriptor class

The CStringTypeDescriptor class generates a LabVIEW™ string as a constant or control (in a block diagram) or as a ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Property/method

Access (Scope)

Meaning

TypeGenerator 20:

Read m_Length

Public

Reads the property m_Length (length of the TwinCAT 3 string of the loaded TypeInfo).

TypeGenerator 21:

Init

Public, Static Dispatch

Initializes a LabVIEW™ string based on the loaded TypeInfo.

TypeGenerator 22:

Create Type

Public, Static Dispatch

Generates a LabVIEW™ string based on loaded TypeInfo.

TypeGenerator 23:

Create SubType

Public, Static Dispatch

Generates a LabVIEW™ string as a sub-type, e.g. an element of a LabVIEW™ cluster.

CTimestampTypeDescriptor class

The CTimestampTypeDescriptor class generates a timestamp LabVIEW™ type as a constant or control (in a block diagram) or as a ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Method

Access (Scope)

Meaning

TypeGenerator 24:

Init

Public, Static Dispatch

Initializes the timestamp based on the loaded TypeInfo.

TypeGenerator 25:

Create Type

Public, Static Dispatch

Generates a timestamp based on the loaded TypeInfo.

TypeGenerator 26:

Create SubType

Public, Static Dispatch

Generates a timestamp as a sub-type, e.g. an element of a LabVIEW™ cluster.

CArrayTypeDescriptor class

The CArrayTypeDescriptor class generates an array LabVIEW™ type as a constant or control (in a block diagram) or as a ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Property/method

Access (Scope)

Meaning

TypeGenerator 27:

Read m_ArrayInfo

Public

Reads the property m_ArrayInfo (information regarding TwinCAT 3 Array Dimension elements)

TypeGenerator 28:

Read m_BaseTypeID

Public

Reads the property m_BaseTypeID (ID as GUID of the loaded base type)

TypeGenerator 29:

Read m_Dimensions

Public

Reads the property m_Dimensions (number of TwinCAT 3 Array Dimensions)

TypeGenerator 30:

Read m_SubTypes

Public

Reads the property m_SubTypes (for arrays of LabVIEW™ clusters, this property specifies the number of cluster elements generated)

TypeGenerator 31:

Init

Public, Static Dispatch

Initializes the array based on the loaded TypeInfo.

TypeGenerator 32:

Create Type

Public, Static Dispatch

Generates an array based on the loaded TypeInfo.

TypeGenerator 33:

Create SubType

Public, Static Dispatch

Generates an array as a sub-type, e.g. an element of a LabVIEW™ cluster.

TypeGenerator 34:

Get Tot SubTypes

Public, Static Dispatch

Returns information about the number of complex sub-types of the array and their IDs as GUID (e.g.: array with complex BaseType, where the BaseType contains further arrays with complex BaseTypes).

TypeGenerator 35:

Get Sub-TypeInfo

Public, Static Dispatch

Reads TypeInfo of the complex BaseType or SubType with entered ID as GUID.

TypeGenerator 36:

Create Type From Existing BaseType

Public, Static Dispatch

Generates an array of a ctl from a path.

CClusterTypeDescriptor class

The CClusterTypeDescriptor class generates a cluster LabVIEW™ type as a constant or control (in a block diagram) or as a ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Property/method

Access (Scope)

Meaning

TypeGenerator 37:

Read m_SubItems

Public

Reads the property m_SubItems (the number of elements in the current cluster).

TypeGenerator 38:

Read m_GeneratedSubItems

Public

Reads the property m_GeneratedSubItems (the number of generated elements in the current cluster).

TypeGenerator 39:

Read m_NestedLevel

Public

Reads the property m_NestedLevel (the nested level of the current cluster).

TypeGenerator 40:

Read m_RemainingSubItems

Public

Reads the property m_RemainingSubItems (the number of elements of the current cluster that are yet to be generated).

TypeGenerator 41:

Read m_ActualPosition

Public

Reads the property m_ActualPosition (iterator of the SubTypes in the cluster).

TypeGenerator 42:

InitC

Public, Static Dispatch

Initializes the clusters, based on the loaded TypeInfo.

TypeGenerator 43:

Create Type

Public, Static Dispatch

Generates a cluster based on the loaded TypeInfo.

TypeGenerator 44:

Create SubType

Public, Static Dispatch

Generates a cluster as a sub-type, e.g. an element of a LabVIEW™ cluster.

CEnumTypeDescriptor class

The CEnumTypeDescriptor class generates an Enum LabVIEW™ type as a constant or control (in a block diagram) or as a ctl on the hard disk. The table presents general information about public methods. The LabVIEW™ blocks provide further detailed information.

 

Property/method

Access (Scope)

Meaning

TypeGenerator 45:

Read m_Keys

Public

Reads the property m_Keys (All text elements of the Enum).

TypeGenerator 46:

Read m_Representation

Public

Reads the property m_Representation (The underlying memory of the Enum).

TypeGenerator 47:

Init

Public, Static Dispatch

Initializes the Enum, based on the loaded TypeInfo.

TypeGenerator 48:

Create Type

Public, Static Dispatch

Generates an Enum based on the loaded TypeInfo.

TypeGenerator 49:

Create SubType

Public, Static Dispatch

Generates an Enum as a sub-type, e.g. an element of a LabVIEW™ cluster.