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