Jump to content
OMRON Forums

motor minimum velocity in a program


Recommended Posts

Hi, newbie question here,


I'm using a GeoBrickLV NSLS2 controller and an ABTech AT-200 servo motor. In my motion program, I see that my motor won't move any slower than 615cts/sec, while I can use the jog ribbon to move it as slow as 10cts/sec (this motor's encoder has 3.6million counts/360 degrees).


I couldn't find anything obvious that would keep my motor from moving slower than 615cts/sec in a program. Any ideas?




Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Perhaps you should post your program here, as well as any information about your axis definition statements if you are using them.


Sure thing. The program basically rotates the motor, and triggers a shutter with position compare. Variable P1 is where the motor starts (in degrees... 10000cts/degree) P2 is how far it moves, P3 is the time for it to move. Pretty simple program.




Undefine All


#define PosCompA M108

#define PosCompB M109

#define PosCompArm M111

#define PosCompState M112

Open Prog 1 Clear

P99=1 ;alldone


PosCompA=(100000000) ;set distant to avoid stutter

PosCompB=(100000100) ;set distant to avoid stutter

dwell 10

Rapid Inc

X (-0.01) ;backup

dwell 10

Linear Inc

TA 0

TS 0

TM (P3)




X ((P2+0.02)) ;move

dwell 10

PosCompA=(100000000) ;set distant

PosCompB=(100000100) ;set distant

dwell 10

Rapid Inc

X (-0.01) ;backup

P1=(P1+P2) ;increment

P99=0 ;alldone


Link to comment
Share on other sites

The minimum move time for any move in linear blended mode in Turbo PMAC is .5ms. You could try to specify a smaller move distance to get a smaller feed rate. Also note that an indefinite jog move as specified by Ixx22 can be very small.


Thanks for the suggestion. I'll schedule some time on the device on Monday to test that. The troubled moves are typically pretty large (180 degrees, or 1,800,000 counts over 3600 seconds).

Link to comment
Share on other sites

How is the encoder processing done in PMAC? Is there fractional data?

Is it quadrature, sinusoidal, or serial data?


Theoretically, the slowest programmed velocity can be least significant bit (LSB) per servo cycle. e.g.:(1/32) of a count per servo cycle with quadrature and 1/T processing. What is your servo clock set to? The lower the servo clock the lower is the minimum velocity programmable.


In the Turbo SRM (page 455), it is stated that for linear moves TM ranges from 0.5 msec to 2^23 msec (~2 hours 20 minutes). You want to make sure that you are not violating that.


Also, you might want to put some values into TA or TS.

Attached, is a slightly modified version of your program. I went down to 10 cts/sec (at 2.5 KHz servo). There is some quantization noise obviously.

Slow Velocity Move Example.pdf

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...