Claims
- 1. A method, comprising:
obtaining a first position, a second position, and a maximum motion parameter for a movement between the first position and the second position; creating a table of values comprising a plurality of target frequencies for the movement, the table of values also comprising a pulse width, a pulse count, and a differential pulse width corresponding to each of the target frequencies from the plurality of target frequencies; outputting at least a portion of the values from a pulse generator.
- 2. The method of claim 1, further comprising constraining at least a portion of the values by the maximum motion parameter.
- 3. The method of claim 1, further comprising determining each target frequency from the plurality of target frequencies.
- 4. The method of claim 1, wherein the plurality of target frequencies are semi-logarithmically distributed.
- 5. The method of claim 1, further comprising transmitting the values to a motion device.
- 6. The method of claim 1, further comprising transmitting the values via the Internet.
- 7. The method of claim 1, wherein the pulse generator is integral to a programmable logic controller.
- 8. A method, comprising:
obtaining a first frequency and a second frequency; creating a table of values comprising a plurality of target frequencies intermediate to the first and second frequencies, the table of values also comprising a pulse width, a pulse count, and a differential pulse width corresponding to each of the target frequencies from the plurality of target frequencies; outputting at least a portion of the values to a motion device.
- 9. The method of claim 8, further comprising transmitting the at least a portion of the values over the Internet.
- 10. The method of claim 8, wherein the first and second frequencies are included in a motion control profile.
- 11. The method of claim 8, wherein the first and second frequencies are included in a curvilinear motion control profile.
- 12. The method of claim 8, further comprising determining each target frequency.
- 13. The method of claim 8, wherein the target frequencies are semi-logarithmically distributed.
- 14. The method of claim 8, wherein the target frequencies follow an acceleration-limited, semi-logarithmic distribution.
- 15. The method of claim 8, wherein the target frequencies are separated by a constant predetermined percentage.
- 16. The method of claim 8, wherein each adjacent pair of target frequencies from the plurality of target frequencies are separated by a predetermined percentage.
- 17. The method of claim 8, further comprising determining each pulse width.
- 18. The method of claim 8, further comprising determining each differential pulse width.
- 19. The method of claim 8, further comprising determining each pulse count.
- 20. The method of claim 8, further comprising deriving at least one pulse count from incremental and sub-incremental clock counts.
- 21. The method of claim 8, further comprising adjusting at least a portion of the values to limit frequency to a predetermined amount.
- 22. The method of claim 8, further comprising adjusting at least a portion of the values to limit pulse count to an integer number.
- 23. The method of claim 8, further comprising adjusting at least a portion of the values to limit speed to a predetermined amount.
- 24. The method of claim 8, further comprising adjusting at least a portion of the values to limit acceleration to a predetermined amount.
- 25. The method of claim 8, further comprising adjusting at least a portion of the values to limit jerk to a predetermined amount.
- 26. The method of claim 8, further comprising adjusting at least a portion of the values to limit a change in jerk with respect to time to a predetermined amount.
- 27. The method of claim 8, wherein the values are output from a pulse generator of a programmable logic controller.
- 28. A method, comprising:
obtaining a plurality of target pulse widths; calculating a plurality of intermediate pulse widths between two time-adjacent target pulse widths from said plurality of target pulse widths, said intermediate pulse widths determined from incremental and sub-incremental clock counts; and outputting the plurality of intermediate pulse widths to a motion device.
- 29. A device, comprising:
a pulse generator adapted to produce a plurality of pulses, each pulse created by interpolating between pre-computed targets, a width of each pulse determined by incremental and sub-incremental addition of clock counts.
- 30. A device, comprising:
a pulse generator adapted to produce a change from a first pulse output frequency to a second pulse output frequency by repeatedly interpolating between a plurality of pre-computed intermediate pulse output frequencies, each pre-computed intermediate pulse output frequency from the plurality of pre-computed intermediate pulse output frequencies varying from an immediately previous pulse output frequency by a predetermined percentage.
- 31. A system, comprising:
a sub-incremental clock count derived, variable-frequency pulse generator connectable to a programmable logic controller, said pulse generator comprising:
a data processor connected to said pulse generator; and a memory connected to said data processor, said memory storing a plurality of motion control profiles, an execution of each of said plurality of motion control profiles by said pulse generator computable by said data processor.
- 32. A system, comprising:
means for obtaining a plurality of target pulse widths; means for calculating a plurality of intermediate pulse widths between two time-adjacent target pulse widths from said plurality of target pulse widths, said intermediate pulse widths determined from incremental and sub-incremental clock counts; and means for outputting the plurality of intermediate pulse widths to a motion device.
- 33. A system, comprising:
means for obtaining a semi-logarithmically distributed plurality of target pulse widths; means for calculating a plurality of intermediate pulse widths between two time-adjacent target pulse widths from said plurality of target pulse widths, said intermediate pulse widths determined from incremental and sub-incremental clock counts; and means for outputting from a pulse generator of a programmable logic controller a plurality of pulses corresponding to the plurality of intermediate pulse widths.
- 34. A computer-readable medium containing instructions for activities comprising:
obtaining a first position, a second position, and a maximum motion parameter for a movement between the first position and the second position; creating a table of values comprising a plurality of target frequencies for the movement, the table of values also comprising a pulse width, a pulse count, and a differential pulse width corresponding to each of the target frequencies from the plurality of target frequencies; outputting at least a portion of the values from a pulse generator.
- 35. A computer-readable medium containing instructions for activities comprising:
obtaining a plurality of target pulse widths; calculating a plurality of intermediate pulse widths between two time-adjacent target pulse widths from said plurality of target pulse widths, said intermediate pulse widths determined from incremental and sub-incremental clock counts; and outputting the plurality of intermediate pulse widths to a motion device.
- 36. A computer-readable medium containing instructions for activities comprising:
obtaining a semi-logarithmically distributed plurality of target pulse widths; calculating a plurality of intermediate pulse widths between two time-adjacent target pulse widths from said plurality of target pulse widths, said intermediate pulse widths determined from incremental and sub-incremental clock counts; and outputting from a pulse generator of a programmable logic controller a plurality of pulses corresponding to the plurality of intermediate pulse widths.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to, and incorporates by reference herein in its entirety, the following pending provisional applications:
[0002] Serial No. 60/346,488 (Attorney Docket No. 2002P00150), filed 7 Jan. 2002; and
[0003] Serial No. 60/384,979 (Attorney Docket No. 2002P08887US), filed 3 Jun. 2002.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60346488 |
Jan 2002 |
US |
|
60384979 |
Jun 2002 |
US |