How To Turn ON I/O while doing a spline

Modified on Fri, 11 Oct at 9:19 PM

Please read our Legal Disclaimer before executing any steps on this article. 



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 at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article