Nova Patents
CA2586401C

Motion control systems

Abstract

A system for motion control in which an application is developed that is independent from the actual motion control hardware used to implement the system. The system comprises a software system that employs an application programming interface comprising component functions and a service provider interface comprising driver functions. A system programmer writes an application that calls the component functions. Code associated with the component functions relates these functions to the driver functions. A hardware designer writes driver code that implements the driver functions on a given motion control hardware product. The driver functions are separated into core and extended driver functions. All software drivers implement the core driver functions, while the software drivers need not contain code for implementing the extended driver functions. If the software driver does not contain code to implement an extended driver function, the functionality of the extended driver function is obtained through a combination of core driver functions. The system programmer may also select one or more streams that allow the control commands to be communicated to, and response data to be communicated from, motion control hardware.

CA2586401C, drawing sheet 1
Sheet 1 of 66

Term

Term ended

Expired 30 May 2016, 10.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

13 claims: 1 independent, 12 dependent

  1. 1
    CA 02586401 2007-05-09 -109WHAT IS CLAIMED IS:1. A system for communicating with a motion control device capable of executing at (east one motion command, comprising: a set of motion commands, where the set of motion commands comprises primitive motion commands and non-primitive motion commands, wherein functionality of the non-primitive motion commands can be emulated by a combination of primitive motion commands, and functionality of the primitive motion commands cannot be emulated by a combination of primitive motion commands;a set of motion operations, where at least one motion operation is associated with at least one motion command;a set of selectable software modules, where at least one software module is associated with at least one motion control device, and at least two selectable software modules expose a common software interface;and a software system that commands at least one motion control device to perform at least one motion operation based on at least one motion command using the common software interface exposed by at least one selected software module associated with at least one motion control device.