|
|
|
| United States Patent | 3969723 |
| Link to this page | http://www.wikipatents.com/3969723.html |
| Inventor(s) | Kennicott; Philip R. (Scotia, NY) |
| Abstract | A programmable data processor or controller serving as the main control in
a control system contains an executive program for controlling the
transfer of information between the processor and system equipment,
updating that information during on-line control of the equipment and
modifying the executive program to change operating parameters of the
system while the data processor is controlling the system equipment.
Modification of the executive program and displaying of system parameters
related to the executive program and the system equipment is accomplished
through the use of an operator's console which communicates with the data
processor and system equipment as a result of operator intervention. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 3969723 |
|
|
On-line modification of computer programs |
|
|
|
|
|
| Publication Date |
July 13, 1976 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
1. In a controlled equipment system of the type operable in response to
signals resulting from logical operations based upon operating parameters
of the controlled equipment, a control system comprising:
a. a programmable controller including a store having stored therein an
executive program serving to,
1. direct on-line communication between said controller and equipment
external thereto, and
2. simulate an equipment control circuit having a format comprised of a
plurality of logic strings, each logic string comprised of a conductor
including at least one switch element disposed in a designated position
and a continuity status means controlled by the condition of the switch
elements of its associated logic string, said continuity status means
serving to effect output signals from said controller to the equipment
external thereto; and,
b. a programming console in communication with said controller comprising:
1. means for specifying to said controller a one of the simulated logic
strings to be modified,
2. means for directing said controller to copy the simulated specified
logic string into a predetermined region in said store while retaining the
specified logic string in the executive program,
3. means for specifying to said controller a position in the conductor of
the logic string copied,
4. means for modifying the copied logic string by specifying to said
controller a type of switch element,
5. means for directing said controller to test the modified logic string
on-line as a part of the executive program in place of the retained
specified logic string, and
6. means for directing said controller to replace the retained specified
logic string with the modified logic string while maintaining the modified
logic string on-line whereby the modified logic string becomes an integral
part of the executive program to control the external equipment in
accordance with the logic now defined by the modified logic string.
2. The invention in accordance with claim 1 wherein said programming
console further includes means for specifying to said controller a
location in said store of a condition referenced by the switch element at
the specified position.
3. A controlled equipment system as recited in claim 1 wherein a plurality
of types of switch elements may be specified to said controller by the
means for modifying the copied logic string, said switch types comprising
normally open and normally closed series and parallel switch contacts,
said continuity status means comprises a relay coil and wherein said means
for modifying a copied logic string comprises a plurality of switches
mounted on said programming console, which switches are individually
identified to correspond to a particular type of switch and relay coil.
4. A controlled equipment system as recited in claim 2 wherein said means
for modifying a copied logic string further includes two switches mounted
on said programming console, the first, when activated, deleting the
switch element in the specified position of the specified logic string and
the second, when activated, inserts a space creating a position in the
specified logic string between two adjacent switch elements for the
inclusion of an additional switch element.
5. In a controlled equipment system of the type operable in response to
signals resulting from logical operations based upon operating parameters
of the equipment, a control system comprising:
a. a programmable controller including a store having stored therein an
executive program serving to,
1. direct on-line communications between said controller and equipment
external thereto,
2. simulate an equipment control circuit having a format comprised of a
plurality of logic strings, each logic string comprised of a conductor
including at least one switch element disposed in a designated position
and a continuity status means controlled by the condition of the switch
elements of its associated logic string, said continuity status means
serving to effect output signals from said controller to the equipment
external thereto; and,
b. a programming console in communication with said controller comprising,
1. means for selectively specifying to said controller simulated logic
strings to be modified,
2. manually operable copy means for directing said controller to copy a
selected simulated logic string into a predetermined region in said store
each time said copy means is operated while retaining all such logic
strings in the executive program,
3. means for specifying to said controller the identity of a logic string
copied and a position in the conductor of that copied logic string,
4. means for modifying the selected copied logic string by specifying to
said controller one type of a plurality of types of switch elements to
change the type of switch element at the specified position,
5. means for directing said controller to test all copied logic strings on
line as a part of the executive program in place of the retained specified
logic strings, and
6. means for directing said controller to replace the retained specified
logic strings with their corresponding copied logic strings while
maintaining the copied logic strings on-line whereby the copied logic
strings become a permanent part of the executive program to control the
external equipment in accordance with the logic now defined by the copied
logic strings.
6. A control system for controlling equipment of the type operable in
response to signals resulting from logical operations performed by a
portion of an equipment control circuit, said system comprising:
a. a programmable controller including a store having stored therein an
executive program for directing communication between said controller and
equipment external thereto, said executive program further simulating an
equipment control circuit having a format comprising a plurality of logic
strings, each logic string comprised of a conductor including a plurality
of positions for the inclusion of one type of a plurality of types of
switch elements, the conditions of which determine the status of
continuity of the conductor, and each of said conductors further including
a continuity status means controlled in accordance with the continuity of
its associated conductor, said continuity status means serving to control
output signals from said controller to said external equipment;
5. a programming console in communication with said controller comprising,
1. means for specifying to said controller a one of said logic strings,
2. means for directing said controller to copy the specified simulated
logic string into a predetermined region in said store while retaining the
specified logic string in the executive program,
3. means for specifying to said controller a position in the conductor of
the logic string copied,
4. means for modifying the copied logic string by specifying to said
controller one type of the plurality of types of switch elements to change
the type of switch element at the specified position,
5. means for specifying to the controller the location in store of a
condition referenced by the switch element at the specified position,
6. means for specifying to said controller to test the modified logic
string on-line as part of the executive program in place of the retained
specified logic string, and
7. means for specifying to said controller to replace the retained
specified logic string with the modified logic string whereby the modified
logic string becomes a permanent part of the executive program to control
the external equipment in accordance with the logic now defined by the
modified logic string.
7. A system for controlling process equipment of the type having electrical
devices which respond to electrical control signals selectively provided
to said electrical devices, said system comprising:
a. a programmable controller in communication with said process equipment,
said controller including a store having an executive program stored
therein for selectively controlling the transfer of signals between said
controller and said process equipment for the control thereof, said
program simulating an electrical control circuit having a format
comprising a plurality of logic strings, each of said logic strings
including a plurality of logic elements in specified positions thereof and
each logic element representing one logic condition of a plurality of
logic conditions, the outputs of said logic strings serving to provide
said electrical control signals; and,
b. an operator's console in communication with said programmable controller
for programming simulated electrical control circuit information into the
store of said controller, said operator's console comprising,
1. selection means for designating to said controller one of said plurality
of logic strings, the position of one of said plurality of logic elements
in the one designated string, and the logic condition of that designated
logic element,
2. means for specifying to said controller to copy from the program the
designated logic string and all of the logic elements in that one
designated string as data into specified store locations without altering
the executive program,
3. means for specifying to said controller that the data in the specified
store locations is to be selectively altered as designated by said
selection means,
4. means for specifying to said controller to effect the testing of altered
data in the specified store locations by causing the executive program to
recognize the altered data as a part of the program, and
5. means for specifying to said controller to transfer the altered data
from said specified store locations into said executive program to
substitute the data previously copied from said program into the specified
store locations.
8. The invention in accordance with claim 7 wherein said console further
includes means for specifying to said controller that the program is to
effect the allocation of additional store locations for receiving the
electrical control circuit information from the specified store locations.
9. A system for controlling process equipment of the type having electrical
devices which respond to electrical control signals selectively provided
to said electrical devices, said system comprising:
a. a programmable controller in communication with said process equipment,
said controller including a store having an executive program stored
therein for selectively controlling the transfer of signals between said
controller and said process equipment, said program simulating an
electrical control circuit for the production of said electrical control
signals having a format comprising a plurality of logic strings, each of
said logic strings including a plurality of logic elements in specified
positions thereof and each logic element representing one logic condition
of a plurality of logic conditions;
b. an operator's console in communication with said programmable controller
for programming simulated electrical control circuit information into the
store of said controller, said operator's console comprising,
1. selection means for designating to said controller one of said plurality
of logic strings, the position of one of said plurality of logic elements
in the one designated string, and the logic condition of that designated
logic element,
2. means for specifying to said controller to copy from the program the one
designated plurality of logic strings and all of the logic elements in
that one designated string as data into specified store locations without
altering the executive program,
3. means for specifying to said controller in a first instance that the
data in the specified store locations is to be selectively altered as
designated by said selected means, and specifying in a second instance
that electrical control circuit information for entry into the program is
to be stored into certain ones of the specified store location as
designated by the selection means,
4. means for specifying to said controller that the program is to effect
the allocation of store locations for receiving altered data and the
electrical control circuit information from the specified store locations,
5. means for specifying to said controller to effect the testing of the
altered data and the electrical control circuit information in the
specified store locations by causing the executive program to recognize
the altered data and the control circuit information as a part of the
program, and
6. means for specifying to said controller to transfer the altered data and
the control circuit information from said specified store locations into
said executive program and into the additional store locations allocated
by the program whereby the altered data and the electrical control circuit
information form a part of the program; and,
c. means for effecting the running of said executive program whereby said
electrical control signals are produced.
10. A programming console for selectively communicating information to a
programmable controller, the controller having stored therein a program
representative of a control circuit in electrical diagram form, the
electrical diagram having a format comprising a plurality of strings of
logic elements contained in specified positions in said strings, each
logic element being in the form of an instruction word, certain ones of
the instruction words in each logic string specifying one type of a
plurality of logic functions to be performed and at least one other
instruction word in each logic string referencing a logic condition which
it is to control the condition of said programming console comprising:
a. means for selecting a string of logic elements of the control circuit in
which the logic function of a logic element is to be changed;
b. a keyboard comprising individual keys, each key, when activated
selecting one type of the plurality of types of logic elements;
c. means for displaying the type of logic element selected and the position
of the logic element in the selected string of logic elements;
d. means for testing the operation of the selected information transmitted
to said programmable controller prior to changing the selected information
in the program; and,
e. means for entering the selected information into the program to effect a
change therein in the selected logic element of the selected logic string.
11. A programming console for a programmable controller, said controller
including a memory having stored therein a program for communicating with
said console and simulating a control circuit in ladder diagram format,
the ladder diagram format comprising a plurality of logic strings, each
ligic string comprised of a conductor including at least one switch
element in a designated position therein and a continuity status means
controlled by the condition of the switch elements of its associated logic
string, said programming console comprising:
a. selection means for specifying to said controller a one of the simulated
logic strings;
b. copy means for directing said controller to copy the simulated selected
logic string into a copy region of said memory while retaining the
selected logic string in the program;
c. means for specifying to said controller a position in the conductor of
the logic string copied;
d. means for modifying the copied logic string by specifying to said
controller one type of a plurality of types of switch elements to change
the type of switch element at the specified position;
e. means for directing said controller to test the modified logic string as
a part of the program in place of the retained specified logic string;
and,
f. means for directing said controller to replace the retained specified
logic string with the modified logic string while the program continues to
execute the modified logic string whereby the modified logic string
becomes a permanent part of the program as defined by the modified logic.
12. A programming console for a programmable controller, said controller
including a memory having stored therein a program for communicating with
said console and a replica of a control circuit in ladder diagram format,
the ladder diagram format comprising a plurality of circuit conductors
having position, each position capable of including one type of a
plurality of logic functions, some of which perform logical operations and
others which perform no operations, said programming console comprising:
a. selection means for selecting a circuit conductor of the control circuit
which is to be modified;
b. copy means for specifying to said controller to make a copy of the
conductor of the control circuit selected by said selection means to a
copy region of said store for the modification thereof;
c. means for selecting one of the positions in the copied conductor into
which a logic function is to be placed;
d. means for selecting one type of the plurality of types of logic
functions for placement in the selected position of the copied conductor;
e. means for specifying to said controller to test the modified copied
conductor as a part of the control circuit in place of the originally
selected circuit conductor; and,
f. means for entering the test copied conductor into the originally
selected circuit conductor, said copied conductor replacing the originally
selected conductor to form a modified control circuit.
13. A method of providing modification to a program located within a store
of a data processing system including a programmable controller comprising
the steps:
a. storing a program within said store, said program including first and
second portions respectively, to
1. direct on-line communication between said controller and equipment
external thereto, and
2. simulate an equipment control circuit having a format comprised of a
plurality of logic strings, each logic string comprised of a conductor
including at least one switch element disposed in a designated position
and a continuity status means controlled by the condition of the switch
elements of its associated logic string, said continuity status means
serving to effect output signals from said controller to the equipment
external thereto; and,
b. effecting the modification of the second portion of said program through
the use of an operator console by
1. specifying a one of the simulated logic strings to be modified,
2. copying the specified simulated logic string into a predetermined region
in said store while retaining the specified logic string in the first
portion,
3. specifying a position in the conductor of the logic string copied,
4. modifying the copied logic string by specifying a type of switch
element,
5. testing the modified logic string on-line as a part of the program in
place of the retained specified logic string, and
6. replacing the retained specified logic string with the modified logic
string while maintaining the modified logic string on-line whereby the
modified logic string becomes a integral part of the program to control
the external equipment in accordance with the logic now defined by the
modified logic string.
14. The method as provided in claim 13 wherein the modifying of the copied
logic string is accomplished by specifying which of several types of
simulated switch elements including normally open and normally closed,
series and parallel types are to be placed into the specified location.
15. The method as provided in claim 13 in which the modifications are
achieved under operator control by the selected setting of manual
operating elements. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to on-line stored-program computer systems
for controlling industrial processes or the like and more particularly to
a control computer system capable to making changes in a program while the
computer is actually in control of a process.
2. Description of Prior Art
It is well known in the art that the computer in automated control systems
generally contains a control program for controlling a process. It is also
well known by engineers and programmers that it is difficult to make
changes in the program of a stored-program computer while the computer is
actually in control of a real-time process. This is due to the likelihood
of errors being made, the effects of which can be disastrous in the
process. Frequently, the magnitude of these changes is large which
generally signifies that those changes are difficult to implement quickly.
The magnitude of the changes also makes it difficult to remove those
changes, if their effect on the process under control proves undesirable.
Accordingly, it is desirable to provide a method and means for making
changes to a program in an orderly way with the option of quickly removing
changes to restore the program to its original state while controlling a
real-time process.
SUMMARY OF THE INVENTION
It is, therefore, a primary object of the invention to provide an on-line
data processing system having enhanced program modification capabilities.
Another object is to provide a method and means in an on-line
stored-program computer system for modifying the program while the system
is in real-time control of a process.
A still further object is to provide a method and means in an on-line
stored program computer system for modifying a computer program or any
portion thereof while the system is in real-time control of a process.
Still a further object is to provide means for communicating information to
an on-line stored-program computer system for selectivelly modifying a
program while the system is in real-time control of a process.
Another object is to provide a method a means in a stored program data
processing system for making changes in the program, testing those
changes, removing undesired changes, and entering those changes into the
program while the system is on-line controlling a process.
Briefly stated, in carrying out the invention, a stored-program computer or
controller for controlling process equipments is provided with a stored
executive program for directing communications between the computer and
the equipment which further includes a control or application program for
controlling the process equipments is stored in the computer. The
application program simulates system control circuitry for controlling the
operations of the equipment. The application program is comprised of
segments of instructions stored in contiguous locations in the computer
memory.
One of the equipments in the system comprises an operator's console for
programming the computer to effect modification of the application
program. By virtue of the fact that the operator's console exists in the
system as a process equipment, it can communicate with the computer and
the executive program like all other equipments in the system.
Through operator intervention, the operator's console provides the
capability to make a copy of any segment or segments of the application
program which is to be modified in a copy region of memory not currently
in use. The copied segment(s) can be modified (added to, deleted or
complete new segments added) without disrupting the original state of the
application program. While the modifications are being performed, the
application program continues to run in its unmodified state.
After the desired modifications have been made in the copy region the
console operator can cause the modified segments to be executed on-line as
a part of the application program in place of each corresponding segments
in the application program.
In a like manner, if the modified segments do not operate the process as
desired, the console operator can remove the modified segments from
on-line leaving the application program in its original state.
When the console operator desires to enter the modified segments into the
application program he can do so. This activation specifies to the
executive program in the computer to replace those application program
segments with their corresponding modified segments from the copy region.
BRIEF DESCRIPTION OF THE DRAWINGS
While the novel features of this invention are set forth with particularity
in the appended claims the invention both as to organization and content
will be better understood and appreciated along with other objects and
features thereof from the following detailed description taken in
conjunction with the drawings in which:
FIG. 1 is a major block diagram of a programmable data processor control
system of the type disclosed herein.
FIG. 2 is a memory map drawing showing the organization of programs and
data as they reside in the memory of the data processor of FIG. 1.
FIG. 3 illustrates the format of the various instructions of which the data
processor of FIG. 1 is capable of executing.
FIG. 4 shows a front panel view of an operator's console, shown as an I&MM
of FIG. 1.
FIGS. 5, 33, 35, 36, 37 and 38 are electrical schematic drawings of typical
ladder type diagram circuits useful in understanding the operation of the
invention.
FIGS. 6 and 7 are memory maps showing the greater detail the organization
of instructions and data in the memory of the data processor of FIG. 1.
FIGS. 8 and 9 are high level flow charts depicting typical operating cycles
of the system of FIG. 1.
FIG. 10 is a legendary drawing showing the relationships between FIGS. 10A
and 10B.
FIGS. 10A and 10B are detailed block diagrams of a bus controller of FIG. 1
for controlling the transfer of information between the computer and a
plurality of remote terminals and the operator's console of FIG. 1.
FIGS. 11, 12 and 13 are representative instruction formats of those words
of which the bus controller of FIGS. 10A and 10B utilizes in transferring
information between the computer and process equipment.
FIG. 14 is a listing of equations defining the functional logic structure
within the various blocks of the block diagram of FIGS. 10A and 10B.
FIGS. 15, 16, 17 and 18 are timing diagrams useful in understanding the
operation of the bus controller of FIGS. 10A and 10B.
FIGS. 19 through 29 are program flow charts describing the operation of the
executive program of the present invention for directing the transfer of
information between the computer and the remote terminals of FIG. 1.
FIG. 31 is another memory map of the memory of FIG. 1 showing in detail how
various data is organized within that memory.
FIG. 32 is a functional diagram showing the flow of the execution of
instructions during the execution of a program by the computer and is
useful in conjunction with FIG. 31.
FIG. 34 is also a memory map showing in detail how instructions and data
are organized in the computer memory as related to the operation of the
operator's console (I&MM) of FIG. 1.
FIGS. 39 through 67 are flow charts describing the operation of various
subroutines comprising a part of the executive program to effect
communications between the computer and the operator's console of FIG. 1.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Reference is now made to FIG. 1 which shows a process control system
generally designated 10. The control system includes a programmable data
processor including units shown as a sequencer 12, a main store 14, an
installation and maintenance module store 16 (I&MM store) and a digital
bus controller 18. Each of these units connects in a modularized fashion
to a common bi-directional data bus 20. The sequencer 12 exercises primary
control over the entire system by controlling the proper execution of
instructions and the transference of data over the data bus 20.
Functioning as an active element or module in the system, the sequencer
provides virtual memory address signals and data to the main and I&MM
stores and to the bus controller. It also receives data from these latter
units. The two stores and the bus controller each operate as passive
elements or modules by responding to read/write control signals from the
sequencer over a control bus 22 to transfer data over bus 20.
The bus controller functions as an interface control unit to control the
flow of information between the data processor and a plurality process
equipments 24. In response to instruction words from the sequencer the
controller provides addressing and control signals to a plurality of
addressable units shown as remote terminals 26 and an I&MM (Installation
and Maintenance Module) 28 to control the transferring of data between the
data processor and those units. All addressing, control and data signals
are transferred between the bus controller 18 and the addressable 26 units
via a bus interface 30 through interconnecting input/output buses 32 and
34. The data processor may be any one of several types of general purpose
digital computers or programmable logic controllers, sometimes referred to
as "mini-computers". Exemplary of these types of controllers or computers
are the models PDP-8/L and the PDP-11 manufactured by Digital Equipment
Corporation. Also the Directo-matic logic controller manufactured by the
General Electric Company. The sequencer 12 comprises the main portion of
the processor and contains well known computer hardware. It is comprised
of an instruction address register a K register or counter, an arithmetic
logic unit, an A register, and suitable control or gating logic for
controlling register operations and the flow of information within and
external to the sequencer.
The instruction address register (hereinafter called the IAR) is
controllable to receive information from the arithmetic logic unit and
from the control or gating logic. Also, the IAR is controllable to serve
as a memory address register (MAR) for writing information to and
retrieving information from either the main store, the I&MM store or the
bus controller. Further, the contents of the IAR can be written into
either the main store or the I&MM store or loaded from these units in
accordance with address information specified by either the IAR or the
gating logic within the sequencer.
The K register serves as a BCD counter for timing functions and for
counting the number of shifts performed by the sequencer during the
execution of shift-type instructions. Additionally, the K register can be
loaded from either the main store or the arithmetic logic unit. Dependent
upon the type of instruction being executed by the sequencer, the contents
of the K register are representative of either instruction addresses,
shift-count information, or a BCD number.
the arithmetic logic unit (subsequently referred to as the ALU) contains
logic making it selectively controllable to receive information from the
IAR and K register to perform arithmetic operations and register to
register transfers.
The A register is basically an arithmetic register. It is controllable to
be shifted a number of bit positions during the execution of shift
instructions by the sequencer. Also, the A register is controllable to
communicate with either the main store, the I&MM store, or the bus
controller during store (memory) read and write operations. Thus, the
contents of the A register may be stored into or loaded with information
from specified locations in either the main store or the I&MM store or
from addressable registers in the bus controller. The output of the ALU is
also gated into the A register during the execution of certain sequencer
instructions. Information transfer between the sequencer and the main
store, the I&MM store and the bus controller is via the data bus 20. This
information transfer is effected by control signals which flow between the
sequencer and each of these units over the control bus 20.
Like all programmable data processors or controllers, the sequencer of the
present invention is capable of executing a variety of instructions. Many
of the instructions of which the sequencer is capable of executing are
generic to the several types of previously cited programmable data
processors or controllers. Additionally however, the present sequencer
contemplates the incorporation of logic for the execution of bit
addressable type instructions. This special logic is shown and described
in U.S. Pat. No. 3,921,146 entitled "Programmable Data Processor and
Controller System", to William J. Danco and assigned to the assignee of
the present invention which is a continuation-in-part of abandoned patent
application Ser. No. 321,260, filed Jan. 5, 1973. This application being
incorporated specifically herein by reference.
In that application there is disclosed a programmable controller having
means to sequentially accumulate the status of a plurality of logic
operations performed by a controller to generate a final result
representative of the conducting status of a conductor in a ladder-type
diagram whereby the final result is utilized to provide a control signal
to external equipment to control a process. The programmable controller
includes a store, such as the main store of the present application, for
containing a program representative of a logic configuration or circuit to
be simulated. A logic configuration having the format of an electrical
ladder-type diagram is stored in the computer store. Each conductor in the
electrical ladder-type diagram may comprise a variable number of
electrical elements such as switches or relay contacts of an unrestricted
number. A logic operation or first type of control word is utilized to
specify a particular type of logic operation to be performed and a
condition of the electrical element represented by the type of logic
operation. The control words are sequentially placed in the store and
collectively represent the number of switches or relay contacts in a
single string of contacts associated with one of the conductors in the
electrical ladder-type diagram. The termination of any given string of
switch contacts or a conductor is identified in the program by a second
type control word. This latter control word effects the storing of a
status condition representative of the conducting status of the conductor
to a location in the store as specified by that control word.
Each of the first type control words also specifies a location in the store
to retrieve a status condition, the state of which controls the conduction
of the relay contact represented by that instruction.
The programmable controller of the previously referenced application also
includes means for sequentially addressing the store to retrieve the
control words. Each control word is placed in an instruction register
which generates output signals representative of an operation code and an
address. The address is used to retrieve a status condition from the
store. This status condition is combined with the operation code signals
in suitable logic (defined as R-logic in the application) of the
controller wherein a logic operation is performed to effect the
accumulation of a status condition in an accumulator designated F.sub.R.
The accumulator provides a final output status condition representative of
the result of a plurality of logic operations performed by the R-logic.
This final status condition has a state representative of the conducting
status of one of the conductors. This final status condition is then
stored by the execution of the second type of instruction, the state of
which serves to develop a control signal to be provided by the controller
to external equipment.
The previously mentioned application also discloses means for placing a
simulated permissive logic element or switch in a bus which is common to a
plurality of conductors in the electrical ladder diagram. By the execution
of a particular command, inserted at the beginning of any string of logic
in the control program, the status of this permissive contact is stored in
a storage means identified as F.sub.L. The storage means communicates with
the R-logic as one input variable and serves in the determining of the
accumulated status for the accumulator F.sub.R.
The sequencer of the present invention executes instructions utilizing the
R-logic, the accumulator (F.sub.R) and the storage mans (F.sub.L) just
described in connection with the aforementioned patent application.
Reference is therefore made to that patent application for specific
details regarding the aspect of the operation of the sequencer 12 of the
present invention.
The sequencer, like many present-day data processors is capable of
performing the functions of base addressing and address modification
through indexing. Also, the sequencer contains a P register, or place
counter, for keeping track of instructions presently under execution.
These functions are performed by the sequencer by a plurality of registers
residing in dedicated locations in the main store as shown in FIG. 2.
Referring to the top portion of FIG. 2 there are listed several locations
identifying various registers residing in a scratch (read/write) area of
the store. The first location contains the P register, or place counter
which always contains the address of the current instruction under
execution. A B.sub.p base register (procedure reference) at location 1 is
utilized to contain an address referencing a store location during
execution of programs to access various sub routines within procedure
segments of the various programs. The third location 2 designated B.sub.d
base register (data reference) always contains an address referencing some
data base location in the store.
As previously mentioned, the sequencer is capable of bit addressing.
Location 3 designated B.sub.b base register (bit reference) always
contains a bit address in a word at a location specified by register
B.sub.d. Location 4 of index register (reference reference) X.sub.p
always contains an address which is added to the contents of B.sub.p
during the execution of certain instructions to effect instruction address
indexing of the base register B.sub.p. Additionally, location 5 contains
X.sub.d an index register data and bit reference which always contains an
address which is added to the contents of registers B.sub.d and B.sub.b
during the execution of certain instructions.
Like most all data processors, the sequencer also requires registers for
saving the contents of the P register and the base register during the
execution of certain types of branch instructions. These registers reside
in locations 6 and 7 as the SAVE location for P and the SAVE location
for B.sub.p respectively.
Reference is now made to FIG. 3 which shows three instructions formats of
types 1, 2 and 3 which the sequencer is capable of executing. The
sequencer utilizes a 16 bit word with hexidecimal notations identifying
each of the bits in the words. Type 1 instructions are those which address
a specified bit in a store location addressed by that instruction. Bits 0
through 3 of the type 1 instructions specify a bit address y and bits 4
through 9 specify a word address Y. When a type 1 instruction is executed,
the contents of the word address field Y addresses a location containing a
data word and the bit address field y specifies a particular bit in that
data word. Bit B of the type 1 instructions contains the designation X for
indexing. The contents of bit B are examined during instruction execution
to see if the address field of that instruction is to be index address
modified. Similarly the contents of bit A are examined to see if that
instruction is to be address base modified (B for basing). Bits C through
F comprise the OP code field of the instruction, the contents of which
identify the particular instruction.
Reference is now made to the type 2 instruction. Bits 0 through 9 contain a
word address Y for addressing specified locations in the main store, the
I&MM store and also for addressing the bus controller during the execution
of a program. The type 2 instruction is utilized when bit addressing is
not necessary (full 16 bit word). Bit A in the type 2 instruction serves
the same purpose as Bit B in the type 1 instruction. The only difference
between the op code field in the type 1 instructions and the type 2
instructions is that the OP code field in the type 2 instructions
comprises bits B through F.
The sequencer is programmed to execute the type III instructions when it is
desirable to perform counter and timing functions in response to signals
derived from the operation of switches and frequency generators. Type III
instructions are two word instructions. The first word of these types of
instructions contains word (Y) and bit(y) address fields like the Type 1
instructions. Bits A and B also serve the same purpose as described for
the Type I instructions. The OP code field (Bits C-F) identifies the first
word as a counter/timer unit instruction for initializing a counter/timer
in store.
The word address field Y of the second word specifies a word location in
store like the Type II instructions. Bits A and B are used for address
indexing and basing however reversed compared to the Type I instructions.
Bits C-F of the second word contains a micro-code which specifies whether
a counter or timer is being simulated in store to effect incrementation
thereof in accordance with the contents of the micro-code.
To provide a complete understanding of the operation of the invention, the
instruction repertoire of the sequencer will now be described. In the
following description of these instructions, the following nomenclature
will be used.
A represents the A register (accumulator)
Y represents the value in the operand field (normally the word address)
y Represents the value in the bit address portion of the operand field.
K represents the K register (used for BCD counting and shift count
operations).
Y/y Bit of word Y.
R.sub.s Reset control flag loaded during the execution of the first word of
Type III instructions.
() Contents of
Cv location in store of a word (current value) in BCD form representing the
current state (count) of a counter or timer.
B.sub.i Represents a base register; i represents the base register location
(such as B.sub.p, B.sub.d, B.sub.b)
X.sub.i Represents an index register and i represents the index register
location (such as X.sub.p or X.sub.d).
I represents the instruction address register IAR
(b.sub.i).I.sub.j This term represents the contents of the indicated base
register such as B.sub.b if Bit J of the instruction address register (I)
is a binary 1. (Example I.sub.A, where A represents Bit A of the
instruction address register. If I.sub.j is a binary zero then the next
address is taken from the P - place counter register.
(X.sub.i).I.sub.j This term represents the contents of the indicated index
register such as X.sub.d if Bit J of the instruction address register (I)
is a binary 1. If I.sub.j is a binary zero the next instruction is taken
from the P place counter register.
Z represents the value resulting from address computation.
z Represents a bit in value Z resulting from the address computation.
Z/z This term represents an effective memory address, Bit Z of value z.
R represents the result bit of the F.sub.R flip-flop as described in
aforementioned patent application.
L represents the F.sub.L or left bus bit as described in the aforementioned
patent application.
Each of the sequencer's instructions is listed by type below. Each
instruction is listed by a descriptive name which is followed by the
mnemonic code which identifies that instruction.
Type 1 Instructions
Load L Register (LDL)
Function: This instruction copies the contents of the indicated (addressed)
bit to the L register F.sub.L.
Effective Address: Z/z = [(Y/y) + (X.sub.d) I.sub.B)] + (B.sub.b.I.sub.A)
Definition: (Z/z) into L
Logic or False (LOF)
Logic or True (LOT)
Logic and False (LAF)
Logic and True (LAT)
Function: These instructions each logically operate on the (R).sub.r result
bit, the (L), left bus bit, and the indicated (addressed) status bit, with
the results of the logical operation going into R.
Effective Address: Z/z = [Y/y +) X.sub.d.I.sub.B)] + (B.sub.b.I.sub.A)
Definition:
Lof: (r)+[(z/z).(L)] into R
Lot: (r)+[(z/z).(L)] into R
Laf: (r).[(z/z).(L)] into R
Lat: (r).[(z/z).(L)] into R
Store Status (SST)
Function: This instruction stores the contents of R into the indicated
(addressed) bit location.
Effective Address: Z/z = [Y/y + (X.sub.d).I.sub.B )] + (B.sub.b).I.sub.A
Definition: (R) into Z/z
Type 2 Instructions:
Load A Normal (LAN)
Function: This instruction copies the indicated (addressed) word to A
register.
Effective Address: Z = Y + (X.sub.d).I.sub.A
Definition: (Z) into A
Load from Data (LAD)
Function: This instruction copies the indicated (addressed) data word to
the A register.
Effective Address: Z = Y + (X.sub.d).I.sub.A + (B.sub.d)
Definition: (Z) into A
Load A from Procedure (LAP)
Function: This instruction copies the indicated (addressed) procedure word
to the A register.
Effective A | | |