(Deprecated) use vcMotionStatement

vcRslMotionStatement

vcRslMotionStatement is a statement used for robot motions.

Inherits: vcRslStatement

Common Properties

The following properties are common to all motion type statements.

Name Type Access Descriptions
Base String RW Defines the name of a base frame used by statement.
CycleTime Real RW Defines the total elapsed time for executing motion statement, which may scale speed and acceleration of joints.

If zero, this property is ignored.

ExternalTCP Enumeration RW Defines the interpolation mode for targeting motion.

0 = False
Default setting that uses Base to Tool configuration; position created at tool frame.

1 = True
Interpolation from Tool to Base; position created at base frame.

Joint1 to JointN Real RW Defines the value of each joint driven by robot controller in statement.
JointForce Real RW Defines the percentage of joint acceleration and deceleration values to use in statement.
JointSpeed Real RW Defines the maximum speed for joints driven by robot controller as a percentage of nominal joint speed.
MotionType Enumeration RW Defines the motion type of statement.

0 = Joint

1 = Linear

See Motion Constants for more information.

Synchronize Boolean RW Defines if joints driven by robot controller are synchronized to reach Target at CycleTime.

If False, robot might reach Target, and then wait for CycleTime to elapse until executing next statement.

Target vcMatrix RW Defines the position matrix of statement.
Tool String RW Defines the name of tool frame used by statement.

Statement Specific Properties

Linear Motion

Name Type Access Description
Acceleration Real RW Defines the maximum Cartesian acceleration of motion (units/s^2) used to calculate target trajectory.
AngularAcceleration Real RW Defines the maximum angular acceleration of motion (degrees/s^2) used to calculate target trajectory.
AngularDeceleration Real RW Defines the maximum angular deceleration of motion (degrees/s^2) used to calculate target trajectory.
ConfigurationMode Enumeration RW Defines the configuration mode for joints driven by robot controller during linear motion interpolation.

0 = Fixed
No change. That is, current configuration is used and does not change.

1 = Follow frame
Configuration closest to previous joint values is used.

2 = Interpolate joint values
Configuration is determined by point-to-point interpolation of joint values.

Deceleration Real RW Defines the maximum Cartesian deceleration of motion (units/s^2) used to calculate target trajectory.
MaxAngularSpeed Real RW Defines the maximum angular speed (degrees/s^2) used to calculate target trajectory.
MaxSpeed Real RW Defines the maximum Cartesian speed (units/s) used to calculate target trajectory.
OrientationInterpolationMode Enumeration RW Defines the orientation interpolation mode for linear movement.

Point to Point (Joint) Motion

Name Type Access Description
Configuration String RW Defines the joint configuration by name of robot at target.

Configuration names are defined in robot's kinematics behavior and can be manufacturer specific.

JointTurns1 to JointTurnsN Integer RW Defines joint turn mode for robot based on joint count (1...4...6) and type, for example articulated and scara robots.

-1
Angle < minus 180 degrees

0
Angle plus/minus 180 degrees

1
Angle > 180 degrees

Methods

Name Return Type Parameters Description
readFromTarget None vcMotionTarget target Sets the Target property of statement to equal Target property of a given target.
writeToTarget None vcMotionTarget target Sets the Target property of a given target to equal Target property of statement.

Examples

Example. Access and edit statements in robot program

from vcScript import *
 
#Access main program via Executor
comp = getComponent().findBehaviour('Executor')
mainroutine = comp.MainRoutine
 
#Access statements and return type and order
def exampleRsl():
  for i in mainroutine.Statements:
    print i.Name, i.Type, i.Index
 
#Create and delete statement via events
def OnRun():
  my_statement = mainroutine.createStatement(VC_STATEMENT_COMMENT)
  my_statement.Comment = "Example Comment"
  exampleRsl()
 
#deletes the last statement when user hits reset button
def OnReset():
  mainroutine.deleteStatement(len(foo.Statements)-1)
  exampleRsl()