Danaher Motion
06/2005
Appendix B
M-SS-005-03 Rev
E
183
Execution of the right side of the JOINT or LOCATION node results in pushing the number of
the vector elements into the stack (as a long type constant). The point’s subtype (determined
by the shape of the vector’s brackets) is pushed to the stack (as a long type constant) by
executing the third side of the JOINT/LOCATION node.
Vectors
Vectors are actually constant points, at which a list of 2 to 10 coordinates is written between
curly brackets {}. In location vectors, the curly brackets are preceded by the # sign. A
coordinate can be any type of expression (constant, variable, mathematical expression,
function call, etc.) of long or double type. Long type coordinates are automatically converted
to doubles. Unlike point variables, vectors are not related to robot types, and characterized
merely by their size (number of coordinates).
{<
expression_1
>, …, <
expression_n
>} ‘ Joint vector
#{<
expression_1
>, …, <
expression_n
>} ‘ Location vector
Point variables and vectors appearing in the same expression must match in type (joint or
location) and size.
Common Shared JointXYZ As Joint Of XYZ
JointXYZ = #{1.5, 2.8, 3}
Æ
Error – type mismatch
PRINT {20, 6.7, 23} + #{8.43, 2, 0}
Æ
Error – type mismatch
JointXYZ = {2, 6}
Æ
Error – size mismatch
PRINT {20, 6.7, 23} - {5, 4, 22.9, 31}
Æ
Error – size mismatch
Properties
Some group properties are points. There are several read-only properties of joint-
(
VELOCITYFEEDBACK
,
POSITIONCOMMAND
,
DEST_JOINT
), and location-type (
DEST
,
HERE
,
SETPOIN
T). There are also some location-type read-write properties, like
TOOL
,
BASE
, etc.
As in point variables, the robot type also characterizes point properties.Point properties
appearing in expressions in a mixture with other points must match in type and robot type to
point properties and variables, or in type and size to vectors.
Common Shared SCARA As Group Axnm = A1 Axnm = A2 Axnm = A3 Axnm = A4 Model = 4
Common Shared PointXYZR As Joint Of XYZR
Dim Shared PointXYZ As Joint Of XYZ
PointXYZR = SCARA.SetPoint
Æ
Error – type mismatch (Setpoint returns a location)
PointXYZ = SCARA.VelocityFeedback
Æ
Error – robot type mismatch
SCARA.Base = #{56.5, -104.7, -90.5}
Æ
Error – size mismatch
Point Dimension
You do not define the size of the vector data type at the declaration of it, but you define the
type of robot related to the point. This gives the point a dimension.