Sets or changes the specific mode, axis and speed during jog (manual) control mode.
Move.SetJogComand (jog_mode, jog_axis, jog_speed)
Prerequisites
Parameters
jog_mode
A required expression that evaluates to an Integer value. This value specifies the manual control mode that should now be in effect.
jog_axis
A required expression that evaluates to an Integer value. This defines the robot or Cartesian axis that is to be moved under manual control.
jog_speed
A required expression that evaluates to a percentage value between +100 and -100. This specifies the target speed and direction for the manual control motion. The system automatically generates a motion profile to accelerate up to this speed and to decelerate to a stop after the manual motion is completed.
Remarks
After a robot has been placed into jog (manual) control mode, this method must be executed to define the manual control mode, the axis to be manually controlled and the speed at which the axis is to be moved. This method can be executed at any time during jog control mode and as many times as desired. It simply posts the parameters to the trajectory generator for execution. If multiple commands are posted in the same trajectory cycle, the trajectory generator will only use the information from the last command posted before the start of the cycle. The trajectory generator automatically smoothly transitions between modes and target speeds.
For example, if the robot is being moved in World manual control mode and a new command to move in joint manual mode is received, the trajectory generator will decelerate the World manual mode motion to a stop prior to starting the acceleration up to the target joint manual mode speed. As another example, if the robot is being moved in any mode and a new command is posted that changes the target speed, the trajectory generator will smoothly accelerate or decelerate to achieve the new speed.
The interpretation of the parameters to this method are as follows.
Jog_Mode | Jog_Axis | Jog_Speed | Description |
---|---|---|---|
0 |
Ignored. |
Ignored. |
Idle, robot not moving. |
1 |
Robot joint number, 1-n |
Joint speed and direction. |
Joint manual control mode. A single robot axis can be moved. The robot does not need to be homed. Axes that are out-of-range can be moved into range. |
2 |
Cartesian axis: 1:X, 2:Y, 3:Z, 4:RX, 5:RY, 6:RZ |
Cartesian speed and direction. |
World manual control mode. Translates or rotates along or about a single world (base) Cartesian coordinate axis. The robot must be homed. |
3 |
Cartesian axis: 1:X, 2:Y, 3:Z, 4:RX, 5:RY, 6:RZ |
Cartesian speed and direction. |
Tool manual control mode. Translates or rotates along or about a single tool (gripper) Cartesian coordinate axis. The robot must be homed. |
4 |
Robot joint number, 1-n, or -1 to free all joints |
Positive values free the joint and negative values lock the joint. |
Free manual control mode. Puts any number of axes into torque control mode to permit the axes to be manually pushed into position. |
For Joint, World and Tool control modes, if the magnitude of the speed is set to 5% or less, the robot will move a discrete increment and then stop rather than move continuously. In order to move an additional small increment, the speed must be set to 0 and then to a value of 5% or less. This is very convenient for fine positioning the robot.
|
|
---|---|
Any axis commanded to move at greater than 5% speed will continue to do so until stopped. It is responsibility of the GPL Project to have suitable safe guards and time outs to ensure that a motion is terminated when required. |
![]() |
Examples
Robot.Attached = 1 ' Get control of robot #1
Move.StartJogMode() ' Initiate jog control mode
Move.SetJogCommand(3, 3, 50) ' Set tool mode, Z-axis, 50% speed
Thread.Sleep(4000)
Move.SetJogCommand(2, 1, -50) ' Change to world mode, X-axis, -50% speed
Thread.Sleep(4000)
Move.StopSpecialModes ' Terminate jog mode
Robot.Attached = 0 ' Release control of robot
See Also