Variables are always based on a VariableType, i.e. they have a HasTypeDefinition Reference pointing to its VariableType.
Clients can create Variables using the AddNodes Service defined in OPC 10000-4. The Service requires specifying the TypeDefinitionNode of the Variable. A Variable created by the AddNodes Service contains all components defined by its VariableType dependent on the ModellingRules specified for the components. However, the Server may add additional components and References to the Variable and its components that are not defined by the VariableType. This behaviour is Server dependent. The VariableType only specifies the minimum set of components that shall exist for each Variable of a VariableType.