BASIC Moves Development Studio
06/2005
Danaher Motion
16 Rev
E
M-SS-005-03l
2.2.4. Data
Types
MC-BASIC has two
numeric data types
: Long and Double. Long is the only
integer form supported by MC-BASIC. Long and Double are MC-BASIC's
primitive data types.
Type
Description
Range
Long
32 bit signed integer
-2,147,483,648 (MinInteger)to
2,147,483,647 (MaxInteger)
Double
Double precision floating point
(about 16 places of accuracy)
±1.79769313486223157 E+308
MC-BASIC provides the
string data type
which consists of a string of ASCII-
coded characters. MC-Basic strings are dynamic. Reallocation of memory for
new strings is preformed through a simple assignment of the string variable,
and there is no need to specify the length of the new string. A full
complement of string functions is provided to create and modify strings.
Type
Description
Range
String
ASCII character string (no string length limit)
0 to 255 (ASCII code)
MC-BASIC has two
point data types
: JOINT and LOCATION. A point
variable is related to a robot type. Robot type examples: XY – two axes XY
table, XYZ – three axes XYZ system, XYZR – three cartesian axes + roll, etc.
Type
Description
Range
Joint
A set of 2-10 double precision
floating point joint (motor)
coordinates
±1.79769313486223157 E+308
for each coordinate
Location
A set of 2-10 double precision
floating point cartesian coordinates
±1.79769313486223157 E+308
for each coordinate
MC-Basic enables definition of
structure-like data types
, composed of a
limited number of long, double, string and point (joint and/or location) scalar
and array elements. Array elements can have only a single dimension. Name
of structure type and composition of elements are defined by the user within
configuration file (Config.Prg).
Type
Description
Range
0-100 longs
32 bit signed integer
-2,147,483,648 (MinInteger) to
2,147,483,647 (MaxInteger)
0-100 doubles
Double precision floating point
(about 16 places of accuracy)
±1.79769313486223157 E+308
0-100 strings
ASCII character string (no
practical limit to string length)
0 to 255 (ASCII code)
0-100 points
(joints and/or
locations)
A set of 2-10 double precision
floating point coordinates
±1.79769313486223157 E+308
for each coordinate
0-10 long
arrays
1-32,767 32 bit signed integers
-2,147,483,648 (MinInteger) to
2,147,483,647 (MaxInteger)
0-10 double
arrays
1-32,767 double precision
floating point elements
±1.79769313486223157 E+308
0-4 string
arrays
1-32,767 ASCII character
strings
0 to 255 (ASCII code)
1-2 point
(joints and/or
locations)
arrays
1-32,767 sets of 2-10 Double
precision floating point
coordinates
±1.79769313486223157 E+308
for each coordinate