← Back to Patent Explorer
US5339425A Expired / Lapsed US ⏱️ 0.0 years remaining

Operating system for a process controller

Assignee: Fisher Controls International LLC
•
Filing: 1993-12-22
•
Granted: 1994-08-16
•
Expires: 2013-12-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A controller of the type used in process control includes a plurality of modular I/O units. The I/O units includes I/O circuits which may be of four basic types: digital input circuits, digital output circuit, analog input circuits and analog output circuits. The controller is microprocessor-controlled and has an operating system that controls the performance of a number of tasks relating to the control of a plurality of I/O devices to which the controller is connected. Each of the tasks is allocated to one of a plurality of successive time slots, and each task is performed during its associated time slot. The controller includes a priority routine for determining which of the tasks should be performed in each of the time slots. If a task is not completely performed during the time slot to which the task is allocated, the current status of the task is saved to memory so that the task can be completed during a subsequent time slot. If a task is completely performed during its allocated time slot, then one or more unfinished tasks can be performed during that time slot.

Inventors

  • 👤 Richard J. Vanderah
  • 👤 John G. Kern

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 15:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 158 words
A process controller for interfacing with a plurality of I/O devices, said process controller performing a number of tasks related to the operation of the I/O devices, said process controller comprising: a plurality of I/O circuits that are connectable to a plurality of I/O devices; a processor coupled to periodically communicate with said I/O circuits, said processor periodically executing a plurality of tasks related to the operation of the I/O devices in a plurality of successive time slots; means coupled to said processor for establishing said plurality of successive time slots, each of said plurality of tasks being allocated to a different one of said successive time slots; means for determining whether a first of said tasks was completely performed during a first time slot to which said first task was allocated; and means for executing a second of said tasks during said first time slot if said first task was completely performed during said first time slot.
Claim 2
Dependent Claim 158 words
A process controller for interfacing with a plurality of I/O devices, said process controller performing a number of tasks related to the operation of the I/O devices, said process controller comprising: a plurality of I/O circuits that are connectable to a plurality of I/O devices; a processor coupled to periodically communicate with said I/O circuits, said processor periodically executing a plurality of tasks related to the operation of the I/O devices in a plurality of successive time slots; means coupled to said processor for establishing said plurality of successive time slots, each of said plurality of tasks being allocated to a different one of said successive time slots; means for determining whether a first of said tasks was completely performed during a first time slot to which said first task was allocated; and means for executing a second of said tasks during said first time slot if said first task was completely performed during said first time slot.
Claim 3
Dependent Claim 38 words
A process controller as defined in claim 1 additionally comprising means for allocating at least one time slot to the performance of a task that may be preempted by another task having a high priority than said task.
Claim 4
Dependent Claim 30 words
A process controller as defined in claim 1 wherein said I/O circuits comprise a digital input circuit, a digital output circuit, an analog input circuit, and an analog output circuit.
Claim 5
Dependent Claim 27 words
A process controller as defined in claim 1 wherein said tasks include an I/O routine during which communication between said processor and said I/O circuits is performed.
Claim 6
Dependent Claim 54 words
A process controller as defined in claim 4 wherein said tasks additionally include: a communication routine for communication with a host computer at a location remote from the process controller; a database routine for updating a database in the process controller: and a process control routine related to the performance of process control functions.
Claim 7
Dependent Claim 16 words
A process controller as defined in claim 1 wherein said time slots are initiated by interrupts.
Claim 8
Dependent Claim 137 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a plurality of successive time slots of predetermined duration in which a plurality of tasks are executed, each of said plurality of tasks being allocated to a different one of said time slots; (b) executing one of said plurality of tasks during one of said time slots; (c) determining if the execution of said one task is completed before the end of said one time slot; and (d) if the execution of said one task in said step (b) is completed before the end of said one time slot, executing another of said plurality of said tasks during said one time slot.
Claim 9
Dependent Claim 137 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a plurality of successive time slots of predetermined duration in which a plurality of tasks are executed, each of said plurality of tasks being allocated to a different one of said time slots; (b) executing one of said plurality of tasks during one of said time slots; (c) determining if the execution of said one task is completed before the end of said one time slot; and (d) if the execution of said one task in said step (b) is completed before the end of said one time slot, executing another of said plurality of said tasks during said one time slot.
Claim 10
Dependent Claim 57 words
A method as defined in claim 7 wherein said plurality of tasks include: an I/O routine; a communication routine for communication with a host computer at a location remote from the process controller; a database routine for updating a database in the process controller; and a process control routine related to the performance of process control functions.
Claim 11
Dependent Claim 229 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a plurality of successive time slots of predetermined duration; (b) executing said plurality of tasks during said plurality of time slots; (c) determining if the execution of a first of said tasks is interrupted at the end of a first of said time slots before said first task is completed; (d) if the execution of said first task is interrupted at the end of said first time slot before said first task is completed, storing data relating to said first task in a memory portion dedicated exclusively to said first task so that the performance of said first task can be resumed during a subsequent time slot (e) determining if the execution of a second of said tasks is interrupted at the end of a second of said time slots before said second task is completed; and (f) if the execution of said second task is interrupted at the end of said second time slot before said second task is completed, storing data relating to said second task in a memory portion dedicated exclusively to said second task so that the performance of said second task can be resumed during a subsequent time slot.
Claim 12
Dependent Claim 229 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a plurality of successive time slots of predetermined duration; (b) executing said plurality of tasks during said plurality of time slots; (c) determining if the execution of a first of said tasks is interrupted at the end of a first of said time slots before said first task is completed; (d) if the execution of said first task is interrupted at the end of said first time slot before said first task is completed, storing data relating to said first task in a memory portion dedicated exclusively to said first task so that the performance of said first task can be resumed during a subsequent time slot (e) determining if the execution of a second of said tasks is interrupted at the end of a second of said time slots before said second task is completed; and (f) if the execution of said second task is interrupted at the end of said second time slot before said second task is completed, storing data relating to said second task in a memory portion dedicated exclusively to said second task so that the performance of said second task can be resumed during a subsequent time slot.
Claim 13
Dependent Claim 20 words
A method as defined in claim 9 wherein the number of time slots generated in said step (a) is predetermined.
Claim 14
Dependent Claim 149 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a predetermined number of successive time slots of predetermined duration, each of said time slots being allocated for the performance of one of said plurality of tasks, each of said time slots being of equal duration; (b) during one of said successive time slots, performing the task allocated to that time slot; (c) determining whether said task was completely performed during said one time slot; (d) determining the priority of one of said plurality of tasks; and (e) if said task was completely performed during said one time slot as determined at said step (c), performing another of said tasks during said one time slot based on the priority determining in said step (d).
Claim 15
Dependent Claim 149 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a predetermined number of successive time slots of predetermined duration, each of said time slots being allocated for the performance of one of said plurality of tasks, each of said time slots being of equal duration; (b) during one of said successive time slots, performing the task allocated to that time slot; (c) determining whether said task was completely performed during said one time slot; (d) determining the priority of one of said plurality of tasks; and (e) if said task was completely performed during said one time slot as determined at said step (c), performing another of said tasks during said one time slot based on the priority determining in said step (d).
Claim 16
Dependent Claim 22 words
A method as defined in claim 11 wherein one of said tasks is allocated to more than one of said time slots.
Claim 17
Dependent Claim 22 words
A method as defined in claim 11 wherein each of said time slots is reserved for a respective one of said tasks.
Claim 18
Dependent Claim 34 words
A method as defined in claim 11 wherein the performance of one of said tasks allocated to one of said time slots may be preempted by another of said tasks having a higher priority.
Claim 19
Dependent Claim 15 words
A method as defined in claim 11 wherein said time slots are initiated by interrupts.
Claim 20
Dependent Claim 41 words
A method as defined in claim 11 additionally comprising the step of: (c) if the performance of one of said tasks is completed during the time slot allocated to said one task, performing another of said tasks during said time slot.
Claim 21
Dependent Claim 87 words
A method as defined in claim 11 additionally comprising the steps of: (c) if the performance of one of said tasks is completed during the time slot allocated to said one task, determining whether at least two tasks were not completed during their allocated time slots; (d) if there are at least two uncompleted tasks as determined in said step (c), determining which of said two tasks has higher priority; and (e) performing said task having higher priority during the time slot allocated to said one task.
Claim 22
Dependent Claim 103 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a predetermined number of successive time slots of predetermined duration, each of said time slots being allocated for the performance of a respective one of said plurality of tasks; (b) determining the priority of one of said plurality of tasks; and (c) executing of said plurality of tasks during one of said time slots based upon the priority of said one task as determined in said step (b).
Claim 23
Dependent Claim 103 words
A process control method performed by a process controller in which a plurality of tasks related to the communication with a plurality of I/O devices are performed, said method comprising the steps of: (a) generating a predetermined number of successive time slots of predetermined duration, each of said time slots being allocated for the performance of a respective one of said plurality of tasks; (b) determining the priority of one of said plurality of tasks; and (c) executing of said plurality of tasks during one of said time slots based upon the priority of said one task as determined in said step (b).
Claim 24
Dependent Claim 34 words
A method as defined in claim 18 wherein the performance of one of said tasks allocated to one of said time slots may be preempted by another of said tasks having a higher priority.
Claim 25
Dependent Claim 22 words
A method as defined in claim 18 wherein each of said time slots is reserved for a respective one of said tasks.
Claim 26
Dependent Claim 52 words
A method as defined in claim 18 additionally comprising the steps of: (d) determining if the execution of said one task is completed during said step (c); and (e) if the execution of said one task is completed during said step (c), executing another one of said tasks during said one time.
Claim 27
Dependent Claim 89 words
A method as defined in claim 18 additionally comprising the steps of: determining if the performance of said one task is interrupted at the end of said one time slot before said one task is completed; and (e) if the performance of said one task is interrupted at the end of said one time slot before said one task is completed, storing data relating to said one task in memory so that the performance of said one task can be resumed during a subsequent one of said time slots.
Claim 28
Dependent Claim 63 words
A method as defined in claim 18 additionally comprising the steps of: (d) determining whether at least two tasks were not completed during their allocated time slots; (e) if there are at least two uncompleted tasks as determined in said step (d), determining which of said two tasks has high priority; and (f) performing the one of two said tasks having higher priority.
Claim 29
Dependent Claim 125 words
A process controller for interfacing with a plurality of I/O devices, said process controller performing a number of tasks related to the operation of the I/O devices, said process controller comprising: a plurality of I/O circuits that are connectable to a plurality of I/O devices; a processor coupled to periodically communicate with said I/O circuits, said processor periodically executing a plurality of tasks related to the operation of the I/O devices during a plurality of successive time slots of predetermined duration, each of said plurality of tasks having a priority thereto; means for determining the priority assigned to one of said tasks; and means for performing one of said tasks during one of said time slots based upon the priority determined by said determining means.
Claim 30
Dependent Claim 125 words
A process controller for interfacing with a plurality of I/O devices, said process controller performing a number of tasks related to the operation of the I/O devices, said process controller comprising: a plurality of I/O circuits that are connectable to a plurality of I/O devices; a processor coupled to periodically communicate with said I/O circuits, said processor periodically executing a plurality of tasks related to the operation of the I/O devices during a plurality of successive time slots of predetermined duration, each of said plurality of tasks having a priority thereto; means for determining the priority assigned to one of said tasks; and means for performing one of said tasks during one of said time slots based upon the priority determined by said determining means.
Claim 31
Dependent Claim 18 words
A process controller as defined in claim 24 wherein said means for determining priority comprises a computer program.
Claim 32
Dependent Claim 125 words
A process controller for interfacing with a plurality of I/O devices, said process controller performing a number of tasks related to the operation of the I/O devices, said process controller comprising: a plurality of I/O circuits that are connectable to a plurality of I/O devices; a processor coupled to periodically communicate with said I/O circuits, said processor periodically executing a plurality of tasks related to the operation of the I/O devices; and random-access memory means coupled to said processor, said memory means being logically organized into a plurality of portions, each of said memory portions being dedicated exclusively to a respective one of said tasks so that the execution of a plurality of said tasks can be temporarily suspended and resumed at a later time.
Claim 33
Dependent Claim 125 words
A process controller for interfacing with a plurality of I/O devices, said process controller performing a number of tasks related to the operation of the I/O devices, said process controller comprising: a plurality of I/O circuits that are connectable to a plurality of I/O devices; a processor coupled to periodically communicate with said I/O circuits, said processor periodically executing a plurality of tasks related to the operation of the I/O devices; and random-access memory means coupled to said processor, said memory means being logically organized into a plurality of portions, each of said memory portions being dedicated exclusively to a respective one of said tasks so that the execution of a plurality of said tasks can be temporarily suspended and resumed at a later time.
Claim 34
Dependent Claim 17 words
A process controller as defined in claim 26 wherein each of said memory portions includes a stack.
Claim 35
Dependent Claim 34 words
A process controller as defined in claim 26 wherein each of said memory portions includes a location for storing data relating to the status of execution of the task associated with that memory portion.

References Cited (Backward Citations)

US4393465A Cited
EP0196032A2 Cited
US4780631A Cited
US4819149A Cited
US4954948A Cited
WO1989006389A1 Cited
EP0352683A2 Cited
US4969120A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-08-15 1998-02-14 1998-08-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-08-15 2002-02-14 2002-08-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-08-15 2006-02-14 2006-08-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag