Programmable sequence controller with drum emulation and improved power-down power-up circuitry
First Claim
1. A programmable sequence controller for control of at least one external device or system, the device or system generating ON/OFF inputs and analog voltage inputs to the controller and the controller generating ON/OFF digital output drivers for driving said device or system through solid state switches or other power amplifying devices, if necessary;
- said controller comprising;
(A) signal conditioning circuitry for receiving the digital and analog inputs from the external device or system;
(B) a data and addressing bus;
(C) digital input circuitry communicating with the signal conditioning circuitry and the data bus and responsive to the external device or system digital inputs for providing selected digital inputs onto the data and addressing bus;
(D) an analog multiplexer for receiving the analog inputs from the signal conditioning circuitry so as to select a desired analog input;
(E) an analog to digital converter, controller, and comparator interconnected to the data and addressing bus and the analog multiplexer for comparing a selected analog input with a desired value or for converting an analog input into a number representing the analog input magnitude;
(F) a memory, interconnected with the data and addressing bus;
(G) a clock-calendar for generating a number representing time;
(H) digital output driver circuitry, including signal conditioning circuitry, interconnected to said data and addressing bus and to the solid state switches, if present, or to the device or system, for driving said external device or system with desired ON-OFF signals;
(I) means, interconnected to the data and addressing bus, for interconnecting the controller to an external data communications device for user programming, monitoring, and debugging a control program; and
(J) a central processing unit interconnected to said data and addressing bus for communicating with the digital input circuitry, digital output driver circuitry, analog input multiplexer, analog to digital converter, controller and comparator, memory, clock-calendar, and data communications interconnecting means, said central processing unit programmed to accept a user generated control program representing the desired state of said digital output drivers in relationship to the state of selected digital inputs, and values of selected analog inputs, and value of the clock-calendar, said control program comprising a plurality of addressable drum lines defining a simulated sequence drum, each drum line defining selected output drivers as being in the ON or OFF state and said drum line able to specify at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed by the controller, the sets of exit conditions specifying at least one of the states of specified digital inputs, specified digital output drivers, specified analog input values, or time represented by the clock-calendar, the central processing unit further programmed to execute one of the drum lines during each scan of the simulated sequence drum, and to examine the sets of exit conditions of the executed drum line so as to next execute a drum line specified by a set of exit conditions if these exit conditions are satisfied;
whereby the controller executes one line of at least two specifiable different lines of said drum if one of the sets of exit conditions for the presently executed line is satisfied and thereby providing for branching capability.
0 Assignments
0 Petitions
Accused Products
Abstract
A programmable sequence controller is disclosed utilizing digital and analog inputs in order to generate digital output driver signals for the control of external systems or devices. The controller emulates mechanical sequence drums so that at any one time each of the simulated drums within the controller executes one of the addressable drum lines programmed within the drum. Each line of each simulated drum can be programmed to specify the energization or deenergization of any output driver as well as the energization or de-energization of any memory bit utilized by the controller in order to provide communication between drums. Each drum may also be programmed to have one or two sets of exit conditions, which if met, cause the controller to effectively rotate the drum to a specified drum line and execute this new drum line during the next scan of the controller. The controller can also sense emergency conditions and cause any or all of the drums to rotate to a specified line regardless of the drum line then being executed by the controller for each of the drums. An improved power-down, power-up circuitry insures an ordered and complete shutdown of the controller if any of a number of conditions exist, including utility AC failure and impending failure of several of the power supply voltages. Handshaking circuitry between the power supply and the remainder of the controller insures that the controller maintains memory validity for all types of shutdown situations, including momentary losses of any supply voltage.
The programmable sequence controller includes a clock-calendar capable of continued operation during periods of extended power outages. The clock-calendar can be utilized in any drum line to form part of the control scheme.
All programming of the simulated drum lines is performed through an interconnected data communication device such as a teletypewriter and utilizes a simple user-oriented language, with monitoring and diagnostic capability to facilitate debugging.
52 Citations
57 Claims
-
1. A programmable sequence controller for control of at least one external device or system, the device or system generating ON/OFF inputs and analog voltage inputs to the controller and the controller generating ON/OFF digital output drivers for driving said device or system through solid state switches or other power amplifying devices, if necessary;
- said controller comprising;
(A) signal conditioning circuitry for receiving the digital and analog inputs from the external device or system; (B) a data and addressing bus; (C) digital input circuitry communicating with the signal conditioning circuitry and the data bus and responsive to the external device or system digital inputs for providing selected digital inputs onto the data and addressing bus; (D) an analog multiplexer for receiving the analog inputs from the signal conditioning circuitry so as to select a desired analog input; (E) an analog to digital converter, controller, and comparator interconnected to the data and addressing bus and the analog multiplexer for comparing a selected analog input with a desired value or for converting an analog input into a number representing the analog input magnitude; (F) a memory, interconnected with the data and addressing bus; (G) a clock-calendar for generating a number representing time; (H) digital output driver circuitry, including signal conditioning circuitry, interconnected to said data and addressing bus and to the solid state switches, if present, or to the device or system, for driving said external device or system with desired ON-OFF signals; (I) means, interconnected to the data and addressing bus, for interconnecting the controller to an external data communications device for user programming, monitoring, and debugging a control program; and (J) a central processing unit interconnected to said data and addressing bus for communicating with the digital input circuitry, digital output driver circuitry, analog input multiplexer, analog to digital converter, controller and comparator, memory, clock-calendar, and data communications interconnecting means, said central processing unit programmed to accept a user generated control program representing the desired state of said digital output drivers in relationship to the state of selected digital inputs, and values of selected analog inputs, and value of the clock-calendar, said control program comprising a plurality of addressable drum lines defining a simulated sequence drum, each drum line defining selected output drivers as being in the ON or OFF state and said drum line able to specify at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed by the controller, the sets of exit conditions specifying at least one of the states of specified digital inputs, specified digital output drivers, specified analog input values, or time represented by the clock-calendar, the central processing unit further programmed to execute one of the drum lines during each scan of the simulated sequence drum, and to examine the sets of exit conditions of the executed drum line so as to next execute a drum line specified by a set of exit conditions if these exit conditions are satisfied; whereby the controller executes one line of at least two specifiable different lines of said drum if one of the sets of exit conditions for the presently executed line is satisfied and thereby providing for branching capability. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
- said controller comprising;
-
25. A programmable sequence controller for control of at least one external device or system, the device or system generating ON/OFF digital inputs and analog inputs to the controller and the controller generating ON/OFF digital type output drivers for driving said device or system through solid state switches or other power amplifying devices, if necessary, said controller comprising:
-
(A) a data and address bus; (B) digital input circuitry for receiving the digital outputs of the external device or system, including buffer circuitry, interconnected with the data and address bus for providing selected digital data onto the data and address bus; (C) an analog multiplexer for receiving the analog inputs of the external device or system so as to select a desired analog input; (D) an analog to digital converter, controller, and comparator circuit interconnected to the data and addressing bus and the analog multiplexer for comparing a selected analog input with a desired value or for converting an analog input into a number representing an analog input magnitude; (E) a memory, interconnected with the data and addressing bus; (F) digital output driver circuitry, including signal conditioning circuitry, interconnected to the data and addressing bus and to the solid state switches, if present, or to the device or system, for driving said external device or system with desired ON/OFF signals; and (G) a central processing unit interconnected to the data and addressing bus for communicating with the digital input circuitry, digital output driver circuitry, analog input multiplexer, analog to digital converter, controller and comparator, and memory, said central processing unit having means for generating addressable internal memory bits and programmed to execute a control program representing the desired state of said digital output drivers in relationship to the state of selected digital inputs and addressable internal memory bits, and the values of selected analog inputs, said control program comprising at least two simulated sequence drums, each drum comprising a plurality of addressable drum lines, each drum line defining selected output drivers as being in the ON or OFF state as well as selected internal memory bits as being in the ON or OFF state, and said drum line able to specify a set of exit conditions, each set of exit conditions specifying a drum line to be next executed by the controller, the sets of exit conditions specifying the states of specified digital inputs, specified digital output drivers, specified internal memory bits, or specified analog input values, the central processing unit further programmed to execute one of the drum lines for each simulated sequence drum during each scan of the simulated sequence drums and further programmed so as to allow drum lines of any particular simulated sequence drum to be able to reference other drum lines in other simulated sequence drums only via the state of selected internal memory bits, and the central processing unit further programmed to examine the set of exit conditions for the presently executed drum line of each simulated drum so as to next execute a drum line specified by the set of exit conditions if these exit conditions are satisfied; whereby the controller executes a different line of any simulated sequence drum if the exit condition for the presently executed line for that sequence drum is satisified and whereby simulated sequence drums may indirectly reference each other via the internal memory bits. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A programmable sequence controller for control of at least one external device or system, the device or system generating ON/OFF digital inputs and analog inputs to the controller and the controller generating ON/OFF digital output drivers for driving said device or system, said controller comprising:
-
(A) a data and address bus; (B) digital input circuitry for receiving the digital inputs of the external device or system, including buffer circuitry, interconnected with the data and address bus for providing selected digital data onto the data and address bus; (C) an analog multiplexer for receiving the analog inputs of the external device or system so as to select a desired analog input; (D) an analog to digital converter, controller, and comparator circuit interconnected to the data and addressing bus and the analog multiplexer for comparing a selected analog input with a desired value or for converting an analog input into a number representing an analog input magnitude; (E) a memory, interconnected with the data and addressing bus; (F) digital output driver circuitry, including signal conditioning circuitry, interconnected to the data and addressing bus and communicating with the external device or system, for driving said external device or system with desired ON/OFF signals; and (G) a central processing unit interconnected to the data and addressing bus for communicating with the digital input circuitry, digital output driver circuitry, analog input multiplexer, analog to digital converter, controller and comparator, and memory, said central processing unit programmed to execute a control program representing the desired state of said digital output drivers in relationship to the state of selected digital inputs and values of selected analog inputs, said control program representing the desired state of said digital output drivers in relationship to the state of selected digital inputs and analog input values, said control program comprising a plurality of addressable drum lines defining a simulated sequence drum, each drum line defining selected output drivers as being in the ON or OFF state and said drum line able to specify at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed by the controller, the sets of exit conditions specifying the states of specified digital inputs, specified digital output drivers, or specified analog input values, the central processing unit further programmed to execute one of the drum lines during each scan of the simulated sequence drum, and to examine the sets of exit conditions of the executed drum line so as to execute a drum line specified by a set of exit conditions if these exit conditions are satisified; whereby the controller executes one line of at least two specifiable different lines of said drum if one of the sets of exit conditions of the presently executed line is satisfied and thereby providing for branching capability. - View Dependent Claims (40, 41, 42, 43)
-
-
44. A programmable sequence controller for the control of at least one external device or system, the device or system generating inputs to the controller and the controller generating output driver signals for driving said device or system, said controller comprising:
-
(A) input circuitry communicating with the inputs from the external device or system, and responsive thereto, for generating signals of selected inputs; (B) output driver circuitry, interconnected to the device or system for generating output driver signals; and (C) a central processing unit communicating with the input circuitry and output driver circuitry, said central processing unit programmed to execute a control program representing the desired state of the output driver signals in relationship to the state of selected inputs from the external device or system, generated by the input circuitry, said control program comprising a plurality of addressable drum lines defining a simulated sequence drum, each drum line defining selected output driver signals as being as selected states and said drum line able to specify at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed by the controller, the sets of exit conditions specifying the states of specified inputs from the external device or system and specified output driver signals, the central processing unit further programmed to execute one of the drum lines during scan of the simulated sequence drum, and to examine the sets of exit conditions of the executed drum line so as to next execute a drum line specified by a set of exit conditions if these exit conditions are satisfied; whereby the controller executes one line of at least two specifiable different lines of said drum if one of the sets of exit conditions for the presently executed line is satisfied and thereby providing for branching capability. - View Dependent Claims (45, 46, 47, 48, 49)
-
-
50. A programmable sequence controller for the control of at least one external device or system, the device or system generating inputs to the controller and the controller generating output driver signals for driving said device or system, said controller comprising:
-
(A) input circuitry communicating with the inputs from the external device or system, and responsive thereto, for generating signals of selected inputs; (B) output driver circuitry, interconnected to the device or system, for generating output driver signals; and (C) a central processing unit communicating with the input circuitry and the output driver circuitry, said central processing unit having means for generating addressable internal memory bits and programmed to execute a control program representing the desired states of said output driver signals in relationship to the state of selected inputs generated by the input circuitry and selected addressable internal memory bits, said control program comprising at least two simulated sequence drums, each drum comprising a plurality of addressable drum lines, each drum line defining selected output driver signals as being in selected states as well as selected internal memory bits as being in selected states, and said drum line able to specify a set of exit conditions, each set of exit conditions specifying a drum line to be next executed by the controller, the sets of exit conditions specifying states of specified inputs, specified output driver signals, and specified internal memory bits, the central processing unit further programmed to execute one of the drum lines for each simulated sequence drum during each scan of the simulated sequence drum and further programmed so as to allow drum lines of any particular simulated sequence drum to be able to reference other drum lines of other simulated sequence drums only via the state of selected internal memory bits, and the central processing unit further programmed to examine the set of exit conditions for the presently executed drum line of each simulated drum so as to next execute a drum line specified by the set of exit conditions if these exit conditions are satisfied; whereby the controller executes a different line of any simulated sequence drum if the exit conditions for the presently executed line for that sequence drum is satisfied and whereby simulated sequence drums may indirectly communicate with each other via the internal memory bits. - View Dependent Claims (51)
-
-
52. A programmable sequence controller for control of at least one external device or system providing a plurality of input state signals indicative of the state of the device or system, and accepting a plurality of output driver signals which drive said device or system toward desired states, said controller comprising:
-
(A) means for communicating with the input state signals from the external device or system, and responsive thereto, for generating signals of selected inputs; (B) means, interconnectable with the device or system, for generating output driver signals; and (C) means, interconnected to the input communicating means and output driver signal generating means, for simulating and executing at least one sequence drum comprising a plurality of selectable drum lines, each defining, (a) specified states for specified output driver signals, and (b) at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed, said sets of exit conditions also specifying the states of selected input state signals and output drum signals for satisfying the set of exit conditions, the executing of the simulated sequence drum comprising execution of one of said drum lines by specifying to the output driver signal generating means the states of specified output driver signals and by examining the drum line'"'"'s sets of exit conditions by comparing the desired states of the specified input state signals and output driver signals with the actual states of these respective signals, and causing the drum line specified by the set of exit conditions to be next executed if said set of exit conditions is satisfied. - View Dependent Claims (53, 54, 55)
-
-
56. A programmable sequence controller for control of at least one external device or system providing a plurality of input state signals indicative of the state of the device or system, and accepting a plurality of output driver signals which drive said device or system toward desired states, said controller comprising:
-
(A) a digital computer having an executive program stored therein for simulating and executing at least one sequence drum comprising a plurality of selectable drum lines, each capable of defining, (1) specified states for specified output driver signals, and (2) at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed, said sets of exit conditions also specifying the states of selected input state signals and output driver signals for satisfying the set of exit conditions, the executive program of the digital computer causing the digital computer to execute one of said drum lines and to examine the drum line'"'"'s sets of exit conditions by comparing the desired states of the specified input state signals and output driver signals with the actual states of these respective signals, and for causing the drum line specified by the set of exit conditions to be next executed if said set of exit conditions is satisfied; and (B) means, communicating with the digital computer, for user defining the selectable drum lines, and for monitoring these drum lines as well as the operation of the programmable sequence controller.
-
-
57. The method of operating a control system for control of at least one external device or system providing a plurality of input state signals indicative of the state of the device or system and accepting a plurality of output driver signals which drive said device or system towards desired states, said method comprising:
-
(A) simulating at least one sequence drum comprising a plurality of selectable drum lines, each defining, (a) specified states for specified output driver signals, and (b) at least two sets of exit conditions, each set of exit conditions specifying a drum line to be next executed, said sets of exit conditions also specifying the states of selected input state signals and output driver signals for satisfying the set of exit conditions; and (B) executing one of said drum lines and examining its sets of exit conditions by comparing the desired states of the specified input state signals and output driver signals with the actual states of these respective signals, and causing the drum lines specified by the set of exit conditions to be next executed if said set of exit conditions is satisfied.
-
Specification