This mode implements a very simple, easy-to-use method for automatically moving the robot to one of several predefined positions or sequence of positions ("MotionBlocks") in response to digital input signals. One hardware or software digital input signal is assigned to every MotionBlock or group of MotionBlocks.
The system operates by executing a loop that scans the states of the specified digital inputs. When a digital input transitions to the proper state, the corresponding MotionBlock or series of MotionBlocks is executed. At the completion of the MotionBlock(s), the system returns to its scanning loop waiting for the next signal to transition.
The MotionBlocks are stored in the Parameter Database. Depending upon your hardware configuration, there are typically between 5 and 20 blocks available.
To configure this mode of operation, you simply fill in the data in the MotionBlocks and initiate the Automatic Execution Mode per the instructions given previously. The system automatically takes care of scanning the DIN and executing the motions.
The following table summarizes the parameters that constitute a MotionBlock. For more information, please read the “Reference Document” section. With the exception of the "DIN trigger" (DataID 6100), if any of these parameters are modified while the DIO MotionBlocks are being processed, the change will take effect immediately. For the DIN trigger, the DIO Motion automatic execution mode must be stopped and restarted for any changed signal number to be recognized.
Data ID |
Parameter Label | Description |
---|---|---|
6100 |
DIN trigger |
Number of the hardware or software signal that triggers the start of the motion or sequence of motions. Positive channel numbers trigger on logical high signals and negative number trigger on logical low signals. If the channel number is 0, the motion block is ignored unless it is part of a sequence of motions. |
6101 |
Level trigger |
TRUE if the “DIN trigger” (DataID 6100) is interpreted as a level that must be maintained during the entire motion or FALSE if a momentary edge trigger is utilized. |
6102 |
Target position in deg or mm |
This is an array of joint values, either degrees for rotary joints or millimeters for linear axes, that define the final end point of the motion. |
6103 |
Relative position |
TRUE if the “Target position in deg or mm” (DataID 6102) is interpreted as a change in position relative to the previous final position. FALSE if the Target position specification is the joint positions in absolute joint coordinates. |
6104 |
Speed (%sp,%sp2,%acl,%dcl,a_rmp,d_rmp) |
This is the standard speed specification for a motion. It consists of the % speed to be used, a second speed for certain Cartesian motions, the % acceleration and deceleration for the motion, and the s-curve acceleration and deceleration ramp times. |
6105 |
In range |
Specifies if the motion is to come to a complete stop at the final destination (>= 0) before the next motion is started or it is to be blended with the next motion if possible (<0). If the motion is to be stopped, also specifies the position error criteria for determining when each axis is sufficiently close to its target position (1-100). |
6106 |
Post motion delay in sec |
If “Not cp motion” (DataID 6105) is TRUE, this specifies an amount of time that the system delays before executing any subsequent motion. |
6107 |
Delay with torque 0 |
If the “Post motion delay in sec” (DataID 6106) is not zero and if this parameter is TRUE, the motors will be put into torque control mode with a torque command of 0 during the delay period. This allows the motor to freely spin. |
6108 |
Do next motion |
If you wish to execute a sequence of motions in response to a digital input signal, this value should be set TRUE. When TRUE, the next sequential motion block will automatically be execution at the completion of the current motion. An arbitrary number of motion blocks can be executed in sequence. The second and any following motion blocks should have their “DIN trigger” (DataID 6100) set to zero. |
6109 |
Motion done DOUT |
These are optional digital outputs that are signaled at the completion of a motion. If "Not cp motion" (DataID 6105) is TRUE, these are signaled when the robot reaches its final destination and before the delay period commences. For cp motions, these are signaled as soon as the motion begins execution and the pre-processing begins on any subsequent motion. |
6110 |
Straight-line motion |
TRUE if the motion is to follow a straight-line path in Cartesian space. If FALSE, the motion is performed by interpolating the axes positions. Straight-line path generation requires a kinematic model and can be extremely useful for robots with a complex geometry or rotary axes. |
Edge Triggering verse Level Triggering
The setting of the “Level trigger” (DataID 6101) and the “Do next motion” (DataID 6108) affects the execution of the motions in the following manner:
The joint values specified by “Target position in deg or mm” (DataID 6102) are interpreted as either absolute joint positions or relative positions depending up the setting of the “Relative position” (DataID 6103) flag.
If a target position is in absolute coordinates, then the joint angles are defined relative to each joint’s home position. If you execute the same motion to absolute coordinates several times in a row, the robot will just stay the same position.
If a target position is in relative coordinates, the final position of the motion is computed as being relative to the planned final position of the previous motion. For example, if you specify a relative position of 10 mm and you execute this motion several times in sequence, each motion will move the axis 10 mm further.
Please note the following special comments about relative motions: