Abstract:
A system for moving an object comprising a motion control device, an application program, a computer processor, and a data exchange system. The application program identifies a predetermined set of data items associated with the motion control device. The computer processor is in communication with the motion control device and the application program to operate the motion control device by sending control commands to the motion control device. The data exchange system updates the application program when any of the data items in the predetermined set of data items changes.
Abstract:
An apparatus for controlling a mechanical system in response to messages from a host computer system. The apparatus includes a conventional communications link for communicating messages from the host computer system to a motion control processor and interface and driver circuits for converting digital signals generated by the motion control processor in response to messages from the host computer system into control signals having appropriate waveforms and timing for controlling a particular mechanical system. The motion control processor is programmed to perform a number of tasks in accordance with a schedule downloaded from the host computer system. The host computer system downloads profiles which consist of series of segments consisting of data structures which define elements in the mechanical system to be controlled, identify functions to be performed and include necessary data. Tasks performed by the motion control processor include a communications interface task for handling messages from the host data system, a profile handler task for executing profiles, a motion control task for controlling motors in the mechanical system, and a read sensors task for reading sensor in the mechanical system. Other conventional, non-critical tasks may be performed by the motion control processor on a less frequently scheduled basis or in a background mode of operation. New profiles, schedules, and tick period duration may be down loaded from the host computer system dynamically, during operation of the mechanical system to provide highly flexible, adaptive control of the mechanical system.
Abstract:
A motion control interface device includes an FPGA configured to implement a step generation algorithm that generates step control signals for a motion device. The signals are not determined based directly on time, but instead are determined from the position of the motion device. More particularly, the step generation algorithm operates to keep track of a position fraction based on the position. The position fraction is incremented (or decremented) at each clock tick of the FPGA. The algorithm generates rising edge signals when the position fraction crosses a particular threshold value, referred to as the rising edge threshold value. Similarly, the algorithm signals direction changes when the position fraction crosses a threshold referred to as the direction change threshold value.
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.
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.
Abstract:
A method for automatically creating a customized motion controller based on user input specifying desired characteristics of the motion controller. The method may compile the program into executable code and download the executable code to a target platform, thus enabling the target platform to function as the specified customized motion controller. User input may specify characteristics of the motion controller system such as: the target platform; the configuration of motors, sensors and I/O devices to be used; the supervisory control functions to be implemented; and the target language for the motion control program.
Abstract:
A system for controlling at least one selected motion control device selected from a group of supported motion control devices. The system comprises a set of software drivers, a selection component, and a software system. Each software driver in the set of software drivers is associated with one motion control device in the group of supported motion control devices, and a selected software driver is associated with at least one selected motion control device. The selection component identifies at least one selected software driver from the set of software drivers. The software system calls a series of component function calls to control the at least one selected motion control device associated with the at least one selected software driver based on the at least one selected software driver such that the at least one motion control device moves in a desired manner.
Abstract:
A system for communicating with at least one motion control device, comprising a set of software drivers, a motion control component, and a network protocol. At least one software driver is selectable and associated with at least one motion control device. The motion control component exposes component functions for commanding at least one selected motion control device based on at least one selected software driver and the exposed component functions. The component functions exposed by the motion control component may be used through the network protocol.
Abstract:
A flexible closed-loop controller capable of being quickly and easily configured for a broad range of applications. The controller contains a set of control elements that may be configured or reconfigured for any specific application. Built-in configuration management automates configuration of the control elements dependent on user commands or operating conditions. The controller is autonomous after initial configuration, although it may be used interactively. This flexible closed-loop controller is suitable for switching power supplies, linear amplifiers, AC inverters, battery chargers, electronic loads, temperature and pressure management, motor or actuator drives, as well as industrial automation, data acquisition, and automatic test equipment. The controller reduces development time and cost, reduces parts count and cost, and improves performance and reliability of real-time closed-loop systems.
Abstract:
A system for allowing communication between a software application and at least one motion controller in a set of motion controllers comprising a set of selectable software modules, a software system, and a driver administrator. At least two selectable software modules expose a common software interface. The software application comprises at least one motion command associated with a primitive motion operation. The software system uses the driver administrator to select at least one selected software module and to load the selected software module. The software system commands at least one selected motion controller to perform the desired motion sequence using the plurality of motion commands of the software application and the common software interface.