K-IDE support forum
Find all information about Kawasaki's Integrated Development Environment

MVWAIT and HERE/DEST problem

#1 by TRapp , Sat Jun 24, 2023 7:46 am

I found that DISTANCE(HERE,DEST) sometimes doesn't work - maybe because the destination is still from the previous movement .... (???)

So I found MVWAIT and thought this integrated function should work properly ... but I still got the same problems

LMOVE pick_pos+TRANS(50, -50,50)
LMOVE #lv1_out
MVWAIT 10 MM
CALL close_l_arm

The CALL should happen close (10mm) to the #lv1_out precision point - but during testing it happens much earlier

Is there any instruction which I should add between the moves ?
How can I start the CALL without stopping the robot in between (like with a "break")


TRapp  
TRapp
Posts: 18
Date registered 06.24.2023


RE: MVWAIT and HERE/DEST problem

#2 by cquante , Mon Jul 10, 2023 3:42 pm

Dear TRapp,

did you think of the switch "PREFETCH.SIGINS"? Please see the manual. Please also note about the accuracy range.


Christian Quante
Technical Sales
Sales Department

Kawasaki Robotics GmbH
Rheiner Landstrasse 195A • 49078 Osnabrück
Germany


 
cquante
Posts: 301
Date registered 12.20.2019


RE: MVWAIT and HERE/DEST problem

#3 by TRapp , Mon Jul 10, 2023 5:23 pm

thanks for your reply

cirint.png - Bild entfernt (keine Rechte)
Yes - I have DEST_CIRINT OFF and PREFETCH.SIGINS ON
so the destinations are #b for the first part of the movement
and #c for the second part of the movement
for example:

1
2
3
4
5
6
7
8
9
10
 
PREFETCH.SIGINS ON
DEST_CIRINT OFF
CP ON
ACCURACY 100 ALWAYS
JMOVE #a
JMOVE #b
JMOVE #c
MVWAIT 10mm
SIG valve1
 
 



I want to switch the output 10mm before reaching #c - but in the code above it might switch already close to #b
Depending on the movement it might work or not (if the movement comes close enough to #b)
It could probably even fail randomly, depending on speed and/or CPU load (if the move touches the 10mm distance to #b tangentially)

Of course I want to run fast speed CP over point #b with low accuracy - I can't waste cycle time with a "BREAK"
I haven't met this problem with other robots - the destination referred always to the very last destination.
So what is the best option to solve this in AS language ?
Doubling the MVWAIT instruction ?
for example:

1
2
3
4
5
6
7
 
JMOVE #a
JMOVE #b
JMOVE #c
MVWAIT 50mm ; waits until the destination has already changed from #b to #c
MVWAIT 10mm ; wait until close to next (final) destination #c
SIG valve1 ; switch the valve 10mm before final destination #c
 
 



Is that a valid solution - or do you have any better idea ?

Thank you


TRapp  
TRapp
Posts: 18
Date registered 06.24.2023


RE: MVWAIT and HERE/DEST problem

#4 by cquante , Tue Jul 11, 2023 6:35 am

We mostly use the following code to find a position with a sensor signal while moving. The DISTANCE function is working well in our case, maybe because there's no blending before JMOVE #c but a BREAK.

1
2
3
4
5
6
7
8
 
    JMOVE #c
.done = FALSE
WHILE NOT .done DO
IF DISTANCE (HERE, DEST) <= 10 AND NOT .done THEN
.done = TRUE
SIGNAL valve1
END
END
 



You may check the above code in your environment. If it is not working well, you can try to replace DEST with a TRANS position that represents #c like this:

1
2
3
4
5
6
 
POINT c = #c
:
WHILE...
:
IF DISTANCE (HERE, c) ...
:
 



Of cause there will be no blending in position #c because the forerun pointer is caught in the WHILE loop until the distance is reached.


Christian Quante
Technical Sales
Sales Department

Kawasaki Robotics GmbH
Rheiner Landstrasse 195A • 49078 Osnabrück
Germany


The following user say thank you: TRapp
 
cquante
Posts: 301
Date registered 12.20.2019


RE: MVWAIT and HERE/DEST problem

#5 by TRapp , Tue Jul 11, 2023 7:31 am

great

I already had a routine like this before
.PROGRAM move_close(.dist1)
WHILE DISTANCE(HERE,DEST) > .dist1 DO
TWAIT 0.1
END
.END

Thanks a lot - I will figure it out.


TRapp  
TRapp
Posts: 18
Date registered 06.24.2023


RE: MVWAIT and HERE/DEST problem

#6 by R.Tumanov , Tue Aug 15, 2023 11:28 am

Hello together,

with RSIGPOINT (see AS-Language Manual) it should also work.


Roman Tumanov
Application Engineer
Technical Department

Kawasaki Robotics GmbH
Rheiner Landstrasse 195A • 49078 Osnabrück
Germany

Attached pictures:
No rights to view attachments. Only file names are shown. Register now!
 F Controller AS Language Manual.png 

The following user say thank you: Taiwantobi
R.Tumanov  
R.Tumanov
Posts: 8
Date registered 01.27.2020


   

Error when loading interface panel to robot
import CSV signal list



Xobor Xobor Community Software
Datenschutz