Motion control systems
1 Assignment
0 Petitions
Accused Products
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.
114 Citations
231 Claims
-
1-157. -157. (canceled)
-
158. (canceled)
-
159. A system for exchanging data with at least one motion control device, comprising:
-
a set of motion data items, where each motion data item is either a primitive data item which is stored on a motion control device and cannot be emulated by using the value of at least one other motion data item, or a non-primitive data item that does not meet the definition of a primitive data item; a motion control device capable of storing at least one motion data item; a set of selectable first software modules, where each selectable first software module is associated with at least one motion control device, is capable of communicating with at least one associated motion control device, and exposes a first interface, where the first interface is associated with a first identifier used to acquire the first interface, is capable of being used while communicating across software processes, and contains at least one program element that is associated with at least one motion data item, where at least one selected first module is selected from the set of selectable first modules and configured to exchange data with at least one motion control device; a second module, where the second module exposes a second interface, where the second interface is associated with a second identifier used to acquire the second interface, is capable of being used while communicating across software processes, and contains at least one program element that is associated with at least one motion data item, uses the first interface to exchange at least one motion data item with the at least one selected first module; and a third module that uses the second interface exposed by the second module to communicate at least one primitive motion data item or at least one non-primitive motion data item with the second module. - View Dependent Claims (160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179)
-
-
180. A system for exchanging data with at least one motion control device, comprising:
-
a set of motion data items; a motion control device capable of storing at least one motion data item; a set of selectable first modules, where the selectable first modules are each associated with at least one motion control device, are each capable of communicating with at least one associated motion control device, and each exposes a first interface, where the first interface is associated with a first identifier used to acquire the first interface, is capable of communicating across software processes, and contains at least one program element that is associated with at least one motion data item, where at least one selected first module is selected from the set of selectable first modules and configured to exchange data with at least one motion control device; a second module, where the second module exposes a second interface that; is associated with a second identifier used to acquire the second interface, is capable of communicating across software processes, and contains at least one program element that is associated with at least one motion data item, and uses the first interface to communicate at least one motion data item with at least one selectable first module; and a third module that uses the second interface to exchange at lease one data item with the second module. - View Dependent Claims (181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205)
-
-
206. A system for exchanging data with at least one motion control device, comprising:
-
a set of motion data items; a motion control device capable of storing at least one motion data item; a set of selectable first modules, where each selectable first module is associated with at least one motion control device, is capable of communicating with at least one associated motion control device, and exposes a first interface, where the first interface is associated with a first identifier that allows the first interface to be acquired, employs a replaceable proxy stub to communicate across software processes over a network without changing any of the selectable first modules that expose the first interface, and contains at least one program element that is associated with at least one motion data item, where at least one selected first module is selected from the set of selectable first modules and configured to communicate with at least one motion control device; a second module configured to communicate with the at least one selected first module using the first interface to exchange at least one motion data item between the second module and the at least one selected first module; a third module configured to communicate with the second module to exchange at least one motion data item with the second module. - View Dependent Claims (207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231)
-
Specification