Data Type Hierarchy
Many functions and function blocks can use various types of values. To make things simpler, the data types are grouped into categories. For example, the SUB function can use LREAL, REAL, DINT, INT, SINT, UDINT, UINT, USINT, and TIME inputs. These data types are part of the ANY_MAGNITUDE category. This means that when we state that the SUB function has inputs that can be of the type ANY_MAGNITUDE, its inputs can be of any data type that is in the ANY_MAGNITUDE category (as shown below).
The categories for the various data types are organized in a hierarchy as follows:
So, if a function is described as requiring inputs of the type ANY_BIT, it means that the function's inputs can be DWORD, WORD, BYTE, or BOOL. ANY_BIT is the name of a category; it is not a data type in its own right.
For information on the data types supported by each function and function block, see Built-in Functions, Function Blocks, and Conversions.