CA2586401A1 - Motion control systems - Google Patents

Motion control systems

Info

Publication number
CA2586401A1
CA2586401A1 CA002586401A CA2586401A CA2586401A1 CA 2586401 A1 CA2586401 A1 CA 2586401A1 CA 002586401 A CA002586401 A CA 002586401A CA 2586401 A CA2586401 A CA 2586401A CA 2586401 A1 CA2586401 A1 CA 2586401A1
Authority
CA
Canada
Prior art keywords
motion
recited
software
primitive
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002586401A
Other languages
French (fr)
Other versions
CA2586401C (en
Inventor
David W. Brown
Jay S. Clark
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roy G Biv Corp
Original Assignee
Roy-G-Biv Corporation
David W. Brown
Jay S. Clark
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/454,736 external-priority patent/US5691897A/en
Application filed by Roy-G-Biv Corporation, David W. Brown, Jay S. Clark filed Critical Roy-G-Biv Corporation
Priority to CA2705404A priority Critical patent/CA2705404A1/en
Publication of CA2586401A1 publication Critical patent/CA2586401A1/en
Application granted granted Critical
Publication of CA2586401C publication Critical patent/CA2586401C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

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.

Claims (18)

1. ~A system for communicating with a motion control device capable of executing at least 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.
2. ~A system as recited in claim 1, in which a definition of the common software interface is programmatically acquirable.
3. ~A system as recited in claim 1, in which a definition of the common software interface is acquirable from at least one of the selectable software modules in the set of selectable software modules.
4. ~A system as recited in claim 1, further comprising an operating system on which the software module is run.
5. ~A system as recited in claim 4, in which a definition of the common software interface is acquirable from the operating system.
6. ~A system as recited in claim 1, in which a definition of the common software interface is acquirable from a persisted storage medium.
7. ~A system as recited in claim 6, in which the persisted storage medium is a disk file.
8. ~A system as recited in claim 1, in which at least one motion operation causes data to be read from the motion control device.
9. ~A system as recited in claim 1, in which at least one motion operation causes data to be received from the motion control device.
10. ~A system as recited in claim 1, in which at least one motion operation causes motion data to be written to the motion control device.
11. ~A system as recited in claim 1, in which at least one motion operation causes an object to move.
12. ~A system as recited in claim 1, in which at least one primitive motion operation causes a motion control device to move.
13. ~A system as recited in claim 1, in which the software system further comprises a user interface for selecting at least one selectable software module.
14. ~A system as recited in claim 1, in which the software system further comprises software functionality that programmatically selects at least one selectable software module.
15~A system as recited in claim 1, further comprising a selection software module comprising a user interface that allows at least one selectable software module to be selected.
16. ~A system as recited in claim 1, further comprising a selection software module comprising software functionality that programmatically selects at least one selectable software module.
17. ~A system as recited in claim 1, in which the motion operations comprise primitive motion operations and non-primitive motion operations, wherein:
functionality of the non-primitive motion operations can be emulated by a combination of primitive motion operations;
functionality of the primitive motion operations cannot be emulated by a combination of primitive motion operations;
each non-primitive motion operation is associated with at least one non-primitive motion command; and each primitive motion operation is associated with at least one primitive motion command.
18. ~A method of generating a software driver for allowing a software system to control a hardware system to perform a desired operation based on an application program defining the desired operation, the method comprising the steps of:
defining at least one driver function for implementing the desired operation;
defining a command format template and a response format template for each driver function;
generating command data strings based on the command format template and the application program; and parsing response data strings based on the response format template and the application program.
CA2586401A 1995-05-30 1996-05-30 Motion control systems Expired - Lifetime CA2586401C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA2705404A CA2705404A1 (en) 1995-05-30 1996-05-30 Motion control systems

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/454,736 1995-05-30
US08/454,736 US5691897A (en) 1995-05-30 1995-05-30 Motion control systems
CA002222235A CA2222235C (en) 1995-05-30 1996-05-30 Motion control systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CA002222235A Division CA2222235C (en) 1995-05-30 1996-05-30 Motion control systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CA2705404A Division CA2705404A1 (en) 1995-05-30 1996-05-30 Motion control systems

Publications (2)

Publication Number Publication Date
CA2586401A1 true CA2586401A1 (en) 1996-12-05
CA2586401C CA2586401C (en) 2010-07-13

Family

ID=38319528

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2586401A Expired - Lifetime CA2586401C (en) 1995-05-30 1996-05-30 Motion control systems

Country Status (1)

Country Link
CA (1) CA2586401C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728479A (en) * 2019-10-12 2020-01-24 珠海格力智能装备有限公司 Robot control method and device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206219A1 (en) 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US5691897A (en) 1995-05-30 1997-11-25 Roy-G-Biv Corporation Motion control systems
US20010032278A1 (en) 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728479A (en) * 2019-10-12 2020-01-24 珠海格力智能装备有限公司 Robot control method and device

Also Published As

Publication number Publication date
CA2586401C (en) 2010-07-13

Similar Documents

Publication Publication Date Title
CA2222235A1 (en) Motion control systems
US5901319A (en) System and methods for generating operating system specific kernel level code from operating system independent data structures
US4509122A (en) Method for controlling the file transfer capability of an interactive text processing system that is emulating a host processing system terminal
CA1313418C (en) User interface with system and method for specifying same
CA2586401A1 (en) Motion control systems
US6928641B1 (en) Method and system for far branch and call instructions
JPH04245545A (en) Method of constituting multi-user virtual computer system and multi-user virtual computer system
KR100514705B1 (en) Macro generation control system based on recording response
CN110471659A (en) Multilingual method and system, human-machine interface configuration software end and equipment end
EP0569902A2 (en) User interface system for computers
JPH02206817A (en) Terminal emulator
US6195708B1 (en) Computer system where giving and receiving a data between programs are controlled
JPH06342351A (en) Entry-field display method
KR100907664B1 (en) Remote document editing device and method
US6631376B1 (en) Exchange servicing development support system with a function of automatic replacement of edited contents
JPS6139134A (en) Program converting method
JPH087600Y2 (en) PROM programmer
JPH04220724A (en) Precompiling processing system
JP2908003B2 (en) Controlled program evaluation system
JPH0715661B2 (en) Message text assembly / edit control method
JPH0212318A (en) User interface preparing system
Ferreira et al. CAD by features systems applied to an industrial reality
Fulbright Moses: An Automatic Code Generation Tool for Client-Server Applications Written in GENISAS
JPH1165857A (en) Macro execution system and storage medium where macro execution program is recorded
Holmes A barely intelligent terminal

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20160530