Patent US5984499A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5984499A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for a numerical control system for processing multiple job streams

Assignee: MDSI ACQUISITION CORP
•
Filing: 1997-09-12
•
Granted: 1999-11-16
•
Expires: 2017-09-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A software-based controller implemented on a generic computer hardware platform for dynamically allocating and controlling multiple job streams for anumerically controlling a machine tool. The software-based controller includes a first module for performing a set of first operations corresponding to a first job stream, a second module for performing a set of second operations corresponding to said first job stream, and a third module for performing a set of third operations corresponding to a second job stream. Each of the first, second and third modules are collectively defining a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams. A shared memory accessible to the first, second and third modules is further defined as having a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system. The first, second and third modules communicating through the shared memory by: (a) using the vertical data system to point operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using the horizontal data system to point operations in a different job streams to a second common shared memory location in said horizontal data structure.

Inventors

  • 👤 Bruce E. Nourse
  • 👤 Charles S. Hutchins

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 16:40
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/414; G05B19/4145; G06F9/545; G05B2219/00; G05B2219/30; G05B2219/34; G05B2219/34279; G05B2219/34381

Claims Analysis

Total Claims: 44
Claim 1
Independent Claim 206 words
A computer-implemented system to facilitate multiple job streams in a numerically controlled machine, comprising: a first module for performing a set of first operations corresponding to a first job stream; a second module for performing a set of second operations corresponding to said first job stream; a third module for performing a set of third operations corresponding to a second job stream; said first, second and third modules collectively defining a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams; a shared memory accessible to said first, second and third modules, said shared memory having a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system; and said first, second and third modules communicating through said shared memory by; (a) using said vertical data system to point from operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using said horizontal data system to point from operations in different job streams to a second common shared memory location in said horizontal data structure.
Claim 2
Dependent Claim 206 words
A computer-implemented system to facilitate multiple job streams in a numerically controlled machine, comprising: a first module for performing a set of first operations corresponding to a first job stream; a second module for performing a set of second operations corresponding to said first job stream; a third module for performing a set of third operations corresponding to a second job stream; said first, second and third modules collectively defining a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams; a shared memory accessible to said first, second and third modules, said shared memory having a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system; and said first, second and third modules communicating through said shared memory by; (a) using said vertical data system to point from operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using said horizontal data system to point from operations in different job streams to a second common shared memory location in said horizontal data structure.
Claim 3
Dependent Claim 43 words
The apparatus according to claim 1 wherein said vertical data system includes a vertical variable referenced by said first module for mapping to a first pointer associated with said first module, whereby said first pointer maps to said first common shared memory location.
Claim 4
Dependent Claim 37 words
The apparatus according to claim 2 wherein said second module references said vertical variable for mapping to a second pointer associated with said second module, whereby said second pointer maps to said first common shared memory location.
Claim 5
Dependent Claim 32 words
The apparatus according to claim 2 wherein said first memory location is identified by a unique identifier coupled to an addendum identifier, where addendum identifier is indicative of said first job stream.
Claim 6
Dependent Claim 43 words
The apparatus according to claim 1 wherein said horizontal data system includes a horizontal variable referenced by said second module for mapping to a second pointer associated with said second module, whereby said second pointer maps to said second common shared memory location.
Claim 7
Dependent Claim 37 words
The apparatus according to claim 5 wherein said third module references said horizontal variable for mapping to a third pointer associated with said third module, whereby said third pointer maps to said second common shared memory location.
Claim 8
Dependent Claim 39 words
The apparatus according to claim 5 wherein said second common shared memory location in said horizontal data structure is further defined as an array data structure, where said horizontal variable includes an index for accessing said array data structure.
Claim 9
Dependent Claim 28 words
The apparatus according to claim 1 wherein said first module, said second module and said third module are further defined as application modules for performing numerical control tasks.
Claim 10
Dependent Claim 21 words
The apparatus according to claim 8 wherein said application modules includes an interrupt handler for interfacing with said numerically controlled machine.
Claim 11
Dependent Claim 33 words
The apparatus according to claim 9 wherein said interrupt handler must execute and complete control tasks within said interrupt interval, where said interrupt interval is a predetermined duration for monitoring feedback control signals.
Claim 12
Dependent Claim 78 words
The apparatus according to claim 10 further comprising a real time layer having at least one application module that must execute and complete numerical control tasks within said interrupt interval, and a real time database defined in shared memory and accessible by said application modules in said real time layer, where said real time database further includes said vertical data structure associated with said vertical data system and said horizontal data structure associated with said horizontal data system.
Claim 13
Dependent Claim 91 words
The apparatus according to claim 10 wherein said application modules in said real time layer includes a first move interpolator associated with a first process and a second move interpolator associated with a second process, each coupled to said interrupt handler for supplying motion commands, a first sequencer associated with said first process coupled to said first move interpolator for issuing motion commands relating to said first process, and a second sequencer, associated with said second process, coupled to second move interpolator for issuing motion commands relating to said second process.
Claim 14
Dependent Claim 84 words
The apparatus according to claim 10 further comprising a pre-processing layer having at least one application module that execute control tasks, where execution of said numerical control tasks is longer than said interrupt interval, and a near real time database defined in said shared memory and accessible by said application modules in said pre-processing layer, where said near real time database further includes said vertical data structure associated with said vertical data system and said horizontal data structure associated with said horizontal data system.
Claim 15
Dependent Claim 52 words
The apparatus according to claim 13 wherein said application modules of said pre-processing layer includes a first block parser associated with said first process coupled to said first sequencer and a second block parser associated with said second process coupled to said second sequencer, each for converting source code into motion commands.
Claim 16
Dependent Claim 38 words
The apparatus according to claim 13 wherein said application modules of said pre-processing layer includes a soft programmable logic controller component coupled to at least one of said first seqencer and said second sequencer for issuing motion commands.
Claim 17
Dependent Claim 49 words
The apparatus according to claim 13 further comprising a user interface layer having application modules for capturing user control commands and for initiating transmission of a first message to at least one of said application modules of said pre-processing layer and said application modules of said real time layer.
Claim 18
Dependent Claim 58 words
The apparatus of claim 16 wherein said application modules of said user interface layer reside on a first computing unit, and said application modules of said pre-processing layer and application modules of said real time layer reside on a second computing unit, where said first computing unit and said second computing layer are coupled by a network channel.
Claim 19
Dependent Claim 44 words
The apparatus of claim 17 wherein said application modules of said pre-processing layer includes a first messager module for at least one of receiving said first message from said application modules of said user interface layer and for accessing said near real time database.
Claim 20
Dependent Claim 221 words
A computer-implemented system to facilitate multiple job streams in a numerically controlled machine, comprising: a first module for performing a set of first operations corresponding to a first job stream; a second module for performing a set of second operations corresponding to said first job stream; a third module for performing a set of third operations corresponding to a second job stream; messenger module communicating with said first, second and third modules that implements a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams; a shared memory accessible to said first, second and third modules and said messenger module; said messenger module defining in said shared memory a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system; and said first, second and third modules communicating with said messenger module through said shared memory: (a) using said vertical data system to point from operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using said horizontal data system to point from operations in different job streams to a second common shared memory location in said horizontal data structure.
Claim 21
Dependent Claim 221 words
A computer-implemented system to facilitate multiple job streams in a numerically controlled machine, comprising: a first module for performing a set of first operations corresponding to a first job stream; a second module for performing a set of second operations corresponding to said first job stream; a third module for performing a set of third operations corresponding to a second job stream; messenger module communicating with said first, second and third modules that implements a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams; a shared memory accessible to said first, second and third modules and said messenger module; said messenger module defining in said shared memory a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system; and said first, second and third modules communicating with said messenger module through said shared memory: (a) using said vertical data system to point from operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using said horizontal data system to point from operations in different job streams to a second common shared memory location in said horizontal data structure.
Claim 22
Dependent Claim 56 words
The apparatus of claim 19 wherein said application modules of said real time layer includes a second messager module for receiving at least one of said first message from application modules of said user interface layer and said second message from said application modules of said real time layer, and for accessing said real time database.
Claim 23
Dependent Claim 43 words
The apparatus according to claim 20 wherein said vertical data system includes a vertical variable referenced by said first module for mapping to a first pointer associated with said first module, whereby said first pointer maps to said first common shared memory location.
Claim 24
Dependent Claim 37 words
The apparatus according to claim 21 wherein said second module references said vertical variable for mapping to a second pointer associated with said second module, whereby said second pointer maps to said first common shared memory location.
Claim 25
Dependent Claim 31 words
The apparatus according to claim 21 wherein said first memory location is identified by a unique identifier coupled to an addendum identifier, where addendum identifier indicative of said first job stream.
Claim 26
Dependent Claim 43 words
The apparatus according to claim 20 wherein said horizontal data system includes a horizontal variable referenced by said second module for mapping to a second pointer associated with said second module, whereby said second pointer maps to said second common shared memory location.
Claim 27
Dependent Claim 37 words
The apparatus according to claim 24 wherein said third module references said horizontal variable for mapping to a third pointer associated with said third module, whereby said third pointer maps to said second common shared memory location.
Claim 28
Dependent Claim 39 words
The apparatus according to claim 24 wherein said second common shared memory location in said horizontal data structure is further defined as an array data structure, where said horizontal variable includes an index for accessing said array data structure.
Claim 29
Dependent Claim 28 words
The apparatus according to claim 20 wherein said first module, said second module and said third module is further defined as application modules for performing numerically controlled tasks.
Claim 30
Dependent Claim 21 words
The apparatus according to claim 27 wherein said application modules includes an interrupt handler for interfacing with said numerically controlled machine.
Claim 31
Dependent Claim 33 words
The apparatus according to claim 28 wherein said interrupt handler must execute and complete control tasks within said interrupt interval, where said interrupt interval is a predetermined duration for monitoring feedback control signals.
Claim 32
Dependent Claim 79 words
The apparatus according to claim 29 further comprising a real time layer having application modules that must execute and control tasks with said interrupt interval, and a real time database accessible by said application modules in said real time layer and defined in shared memory and defined in said shared memory, where said real time database further includes said vertical data structure associated with said vertical data system and said horizontal data structure associated with said horizontal data system.
Claim 33
Dependent Claim 91 words
The apparatus according to claim 29 wherein said application modules in said real time layer includes a first move interpolator associated with a first process and a second move interpolator associated with a second process, each coupled to said interrupt handler for supplying motion commands, a first sequencer associated with said first process coupled to said first move interpolator for issuing motion commands relating to said first process, and a second sequencer, associated with said second process, coupled to second move interpolator for issuing motion commands relating to said second process.
Claim 34
Dependent Claim 75 words
The apparatus according to claim 29 further comprising a pre-processing layer having application modules that execute control tasks, where execution is longer than said interrupt interval, and a near real time database accessible by said application modules in said pre-processing layer and defined in shared memory, where said near real time database further includes said vertical data structure associated with said vertical data system and said horizontal data structure associated with said horizontal data system.
Claim 35
Dependent Claim 52 words
The apparatus according to claim 32 wherein said application modules of said pre-processing layer includes a first block parser associated with said first process coupled to said first sequencer and a second block parser associated with said second process coupled to said second sequencer, each for converting source code into motion commands.
Claim 36
Dependent Claim 38 words
The apparatus according to claim 32 wherein said application modules of said pre-processing layer includes a soft programmable logic controller component coupled to at least one of said first seqencer and said second sequencer for issuing motion commands.
Claim 37
Dependent Claim 48 words
The apparatus according to claim 29 further comprising a user interface layer having application modules for capturing user control commands and initiating transmission of a first message to at least one of said application modules of said pre-processing layer and said application modules of said real time layer.
Claim 38
Dependent Claim 59 words
The apparatus according to claim 35 wherein said application modules of said user interface layer reside on a first computing unit, and said application modules of said pre-processing layer and application modules of said real time layer reside on a second computing unit, where said first computing unit and said second computing layer are coupled by a network channel.
Claim 39
Dependent Claim 105 words
The apparatus according to claim 35 further comprising a startup module for implementing said pointer architecture by reading a script file and initiating said messager module, whereby based upon commands from said script file said messager module executes said application modules for registering module variables with said messager, blocking said application modules, defining said horizontal data structure and said vertical data structure in said shared memory, reading at least one tune file for setting initial module variables, assigning pointers into said shared memory, and unblocking said application modules, where said application modules get corresponding pointer values from said messager before performing said numerically controlled tasks.
Claim 40
Dependent Claim 49 words
The apparatus according to claim 35 wherein said startup module initiates a first messager module for implementing a first pointer architecture in said real time layer, and upon completing implementation of said first pointer architecture initiate a second messager module for implementing said pointer architecture in said pre-processing layer.
Claim 41
Dependent Claim 42 words
The apparatus of claim 38 wherein said second messager module of said pre-processing layer facilitates communication by at least one of receiving said first message from said application modules of said user interface layer and for accessing said near real time database.
Claim 42
Dependent Claim 54 words
The apparatus of claim 38 wherein said first messager module of said real time layer facilitates communication by receiving at least one of said first message from application modules of said user interface layer and said second message from said application modules of said real time layer, and for accessing said real time database.
Claim 43
Dependent Claim 202 words
A computer-implemented method of facilitating multiple job streams in a numerically controlled machine, comprising the steps of: providing a first module for performing a set of first operations corresponding to a first job stream; providing a second module for performing a set of second operations corresponding to said first job stream; providing a third module for performing a set of third operations corresponding to a second job stream; implementing a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams; communicating through a shared memory accessible to said first, second and third modules, said shared memory having a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system, whereby said first, second and third modules communicate by: (a) using said vertical data system to point operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using said horizontal data system to point operations in a different job streams to a second common shared memory location in said horizontal data structure.
Claim 44
Dependent Claim 202 words
A computer-implemented method of facilitating multiple job streams in a numerically controlled machine, comprising the steps of: providing a first module for performing a set of first operations corresponding to a first job stream; providing a second module for performing a set of second operations corresponding to said first job stream; providing a third module for performing a set of third operations corresponding to a second job stream; implementing a pointer architecture that includes a vertical data system to facilitate communication between operations in the same job stream and a horizontal data system to facilitate communication between operations in different job streams; communicating through a shared memory accessible to said first, second and third modules, said shared memory having a vertical data structure associated with said vertical data system and a horizontal data structure associated with said horizontal data system, whereby said first, second and third modules communicate by: (a) using said vertical data system to point operations in a common job stream to a first common shared memory location in said vertical data structure; and (b) using said horizontal data system to point operations in a different job streams to a second common shared memory location in said horizontal data structure.

References Cited (Backward Citations)

US5113502A Cited
US5291416A Cited
US5742824A Cited
US5808432A Cited
US5796986A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-15 2003-05-17 2003-11-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-15 2007-05-17 2007-11-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-15 2011-05-17 2011-11-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag