How To Turn ON I/O while doing a spline

Modified on Wed, 28 Apr 2021 at 03:01 PM

**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. 


Overview

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.
https://www.fa-manuals.denso-wave.com/en/usermanuals/005756/

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.

Example

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

Owner's Manual Reference

https://www.fa-manuals.denso-wave.com/en/usermanuals/004559/

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article