**Attention** : Read this resource material carefully and in its entirety before use, to ensure it is understood and used properly. Failure to properly follow the instructions in the resource materials DPAM provides may result in damage to your equipment. As a result, by using the resource materials, you are assuming the risks associated with modifying your equipment. DENSO holds no liability, implied or otherwise, for damage, injury or any legal responsibility incurred, directly or indirectly from the use of the resource materials, including any loss of data or damage to property which may occur by your use of the resource materials. The use of the resource materials are not recommended unless you have technical knowledge and functional experience with the equipment and related software. DENSO is unable to provide support, remote or otherwise, for the information included in the resource material, nor for the ancillary topics relating to the information included in the resource materials. Therefore, if you are not fully comfortable with it, we strongly recommend that you send your unit to one of our Regional Support Centers for repair. The information contained in the resource materials are subject to change at the sole discretion of DPAM.
In order to turn an IO on during a spline move you must use the NEXT option with the spline command (Move S). This is can be used for turning on a device such as a dispense head as the robot is in motion as the robot needs some time and distance to reach its programmed velocity.
You can refer to the link below for more commands relating to spline motions. This type of motion is also known as path or free curve interpolation.
This can be handled in multiple ways. If you want to monitor the spline motion using the same program that executes the motion, you can use the NEXT option. If you want to handle this in separate programs, you can create a monitoring program that runs in parallel to your motion. For this example, we will look into performing this within the same program.
Each number represents a point taught along the spline. Spline motions occur sequentially through these points. We will call this motion spline 1.
In our program we can use the MOVE S, 1 command
'!TITLE "Robot program" Sub Main TakeArm Keep = 0 Move S, 1 End Sub
This program will simply execute spline 1’s motion. It does not monitor once the robot passes through a particular position.
For this test, we will assume the IO needs to be turned on once the robot reach point 5 on spline 1. We will incorporate the NEXT option as well as add in the CURPATHPOINT command to monitor the robot’s current point location on spline 1. The program will look as follows.
'!TITLE "Robot program" Sub Main TakeArm Keep = 0 Move S, 1, Next Wait Curpathpoint = 5 ‘wait for robot to reach point 5 on the spline Set IO128 End Sub
The WAIT condition waits for the spline to reach point 5 and then turns on IO128. In addition, you can use the same command to have the IO turn off at a specified point.
'!TITLE "Robot program" Sub Main TakeArm Keep = 0 Move S, 1, Next Wait Curpathpoint = 5 ‘wait for robot to reach point 5 on the spline Set IO128 Wait Curpathpoint = 26 ‘wait for robot to reach point 26 on the spline Reset IO128 End Sub
If you want the motion to overlap at the end you can simply add more points to your spline and have the last few points overlap the initial points.
Sub Main TakeArm Keep = 0 Move S, 1, Next Wait Curpathpoint = 5 ‘wait for robot to reach point 5 on the spline Set IO128 Wait Curpathpoint = 31 ‘wait for robot to reach point 31 on the spline Reset IO128 End Sub