This section is meant only for users of older versions of Kapow Katalyst. It will further the understanding of the new variables and type system in version 8.1.
As of version 8.1, the terms "object" and "model" are no longer used. A robot can now contain a number of variables, and each variable has a type. This new terminology is meant to make things more clear, as the term "object" was previously used rather loosely. Overall, the following changes have been made:
The terminology is changed, so that what was in the model editor called objects is now called types, and what was in the robot called objects is now called variables. The Model Editor is therefore now called the Type Editor.
Types and variables do not work in the same way as objects did. A type should only be viewed as a blueprint for a variable, that is, variables can be created from a certain type. The old terminology indicated that "objects" were in fact created in the model editor, and could then be added to the robot, if necessary. This is no longer the case. Therefore, it is an important difference to understand: types do NOT define variables, but only blueprints, and to make use of a type in a robot, a variable OF that type must be created.
A type file, as opposed to an old model file, only defines a single type. Previously, model files could define any number of objects, making it difficult to maintain an overview.
It is possible to create more than one variable of a certain type. This is opposed to previously, where an object defined in a model file could only be added to the robot once.
A number of simple types exist that can be used for storing a single value. The purpose of these, among other things, is to replace the "ScratchPad" object. Also, in many cases, they make creating a robot easier as they can be used instead of having to create types simply for storing temporary data. To be able to distinguish, the types created by the type editor are referred to as complex types. Only variables of complex types can be used as input to the robot, or returned as output. Variables of simple types should thus be considered internal robot variables.
A complex type is not defined as being used for either "input" or "output". Instead, it is possible on a variable to set whether it should be used as input. The "output" term is no longer used; all variables can be output (except variables of simple types which, as mentioned above, cannot be used as either input or output).
The old model files can still be used, but can no longer be edited. The contents of the model files is now interpreted as types, and not as objects. This means that the types defined in a model file can be used to create variables - just as types defined in the new type files. In model files, objects were defined as being either input or output. This information is no longer needed, as input is defined on variables. Therefore, it is simply discarded when loading model files. As an example of when to be aware of this is when creating a variable from a type defined in an old model file. If the object from which the type is derived was previously an input object, it is important to note that the variable created from the corresponding type will NOT automatically be set to input. This must be done manually.
Model files can be converted to type files. This creates a single type file for each type (object) defined in the model files, and these can then be edited if necessary. A Model is converted into Types by right clicking the model in the project view (in Design Studio) and selecting 'Expand Domain Model File' from the context menu.
The old concept of global variables has been changed. Now, any variable can be set as global. Being able to make any kind of variable global provides a higher degree of freedom in how to structure a robot. When opening a robot using the old global variables, these are converted into the new kind of global variables of the simple type "Short Text".