|
|
|
| United States Patent | 5038318 |
| Link to this page | http://www.wikipatents.com/5038318.html |
| Inventor(s) | Roseman; Brooks T. (Asheville, NC) |
| Abstract | Add-in program instructs operable through a general purpose spreadsheet
program in a personal computer to move real-time status and control
messages directly between cells in the displayed spreadsheet and addressed
registers of programmable logic controllers (PLCs) is disclosed. The PLCs
operate such as machine tools for processing stations and connect together
and to an interface card in the personal computer over a network. The
invention facilities a user's real-time monitoring and control of the
manufacturing performed at the machine tools or processing stations
through mathematical and logical features of the spreadsheet, which are
well known and easy for a user to implement. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5038318 |
|
|
Device for communicating real time data between a programmable logic
controller and a program operating in a central controller |
|
|
|
|
|
| Publication Date |
August 6, 1991 |
|
|
|
|
|
| Filing Date |
December 17, 1987 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 4791556 Vilkaitis 715/835 Dec,1988 |      Your vote accepted [0 after 0 votes] | | 4751635 Kret 707/10 Jun,1988 |      Your vote accepted [0 after 0 votes] | | 4648062 Johnson 715/708 Mar,1987 |      Your vote accepted [0 after 0 votes] | | 4517637 Cassell 700/9 May,1985 |      Your vote accepted [0 after 0 votes] | | 4363090 Garcia 700/10 Dec,1982 |      Your vote accepted [0 after 0 votes] | | 4228495 Bernhard 700/7 Oct,1980 |      Your vote accepted [0 after 0 votes] | | 4215398 Burkett 700/7 Jul,1980 |      Your vote accepted [0 after 0 votes] | | 4180860 Driscoll 700/10 Dec,1979 |      Your vote accepted [0 after 0 votes] | | 4149235 Froyd 700/169 Apr,1979 |      Your vote accepted [0 after 0 votes] | | 4038533 Dummermuth 700/7 Jul,1977 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
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  |
|
|
I claim:
1. A system for providing real time control of operating equipment with a
programmable logic controller, said programmable logic controller being
capable of receiving control messages to control operation of said
equipment and being capable of transmitting status messages indicating a
condition of said equipment, said system comprising:
A. a computer having an operably interconnected visual display, keyboard,
memory and central processor, said computer for sequentially executing
instructions contained in said memory in cooperation with characters
received from said keyboard;
B. an interface electrically connected between said computer and said
programmable logic controller for transmitting messages between said
programmable logic controller and said computer;
C. spreadsheet instructions means contained in said memory for effecting a
general purpose spreadsheet program in said computer, said spreadsheet
instruction means providing cells displayable by said visual display, into
which said user can insert information, @ functions that can be inserted
into said cells via said keyboard and selectable menu commands to effect
actions in said spreadsheet instruction means, said spreadsheet
information means normally only being able to effect movement of
information between files of data contained in said memory and said cells;
and
D. add-in instruction means contained in said memory for presenting add-in
@ functions and add-in menu commands operating through said spreadsheet
instruction means, said add-in instruction means for moving messages
directly between said cells and said programmable logic controller via
said interface means, said messages moving from said cells to said
programmable logic controller comprising said control messages for
controlling the operation of said equipment and said messages moving from
said programmable logic controller to said cells comprising said status
messages indicating the condition of said equipment.
2. The system of claim 1 in which said add-in instruction means includes
@read means for causing said programmable logic controller to transmit a
status message to said spreadsheet instruction means.
3. The system of claim 2 in which said @read means includes characters
indicating an @read function and route addresses of said interface means
and said programmable logic controller.
4. The system of claim 3 in which said @read means includes characters
indicating a certain register in said programmable logic controller, the
contents of which are to be sent in said status message.
5. The system of claim 2 in which said cells of said spreadsheet
instruction means are addressable by characters from said keyboard and
said @read means are addressed into a certain cell by characters from said
keyboard.
6. The system of claim 1 in which said add-in instruction means includes
@write means for transmitting a control message to said programmable logic
controller.
7. The system of claim 6 in which said @write means includes characters
indicating an @write function and route addresses of said interface means
and said programmable logic controller.
8. The system of claim 7 in which said @write means includes characters
indicating a certain register in said programmable logic controller that
is to receive said control message.
9. The system of claim 1 in which said add-in instruction means includes
menu initialize means for moving initial system information to said
interface means.
10. The system of claim 1 in which said add-in instruction means includes
first file means for containing local variables used to move messages
directly between said cells and said interface means and for containing
said menu commands, said add-in instruction means also including second
file means for containing said add-in @functions, and said spreadsheet
instruction means including assignment means for assigning said first and
second file means to specific memory locations.
11. A system for operating equipment by an operator, the system comprising:
A. a plurality of programmable logic controllers coupled to the equipment,
said programmable logic controllers each transmitting messages on a
network indicating the condition of said equipment;
B. a computer having operably interconnected visual display, keyboard,
memory, and central processor, said computer for sequentially executing
instructions contained in said memory;
C. interface means electrically connected between said computer and said
network for receiving messages from each of said programmable logic
controllers, said interface means including a plurality of message
registers, of which at least one of said message registers is associated
with each of said programmable logic controllers, the messages from each
of said programmable logic controllers being overwritten on a preceding
message in said registers, said interface means including interrupt means
for interrupting operation of said computer in response to receiving a
message in any one of said message registers;
D. spreadsheet instruction means contained in said memory for effecting a
general purpose spreadsheet program in said computer, said spreadsheet
instruction means providing cells into which said operator can insert
information and menu commands selectable by said operator, said
spreadsheet means normally only being able to effect movement of
information between files of data contained in said memory and said cells;
and
E. add-in instruction means contained in said memory for presenting add-in
menu commands and interrupt selected instructions operating through said
spreadsheet instruction means for said interrupt selected instructions to
move sequentially received messages from said message registers to
respective assigned address locations in said memory upon occurrence of
each interrupt signal, and for said add-in menu commands to move said
messages form said assigned address locations in said memory to respective
assigned cells in said spreadsheet instruction means so that messages from
said programmable logic controllers indicating the condition of said
equipment can be saved and moved directly to said cells.
12. A device for transmitting and receiving electrical signals forming
messages to and from respective addressable registers located in
respective addressable programmable logic controllers that are connected
together over a communications network, said device comprising:
A. process means connected to said communications network for moving said
electrical signals forming messages to and from respective registers
located in said processor means, said respective registers for each of
said respective addressable programmable logic controllers being
addressable form said communications network and accessible from said
processor means;
B. spreadsheet means contained in said processor means, said spreadsheet
means presenting a spreadsheet of cells into which information can be
inserted to facilitate executing actions through said spreadsheet means,
said spreadsheet means being capable of accessing said registers in said
processor means through said actions;
C. add-in program means contained in said processor means for inserting in
at least one cell information including the address of a particular
register in a particular programmable logic controller to which a message
is to be sent and indicating the content of said message; and
d. add-in program means contained in said processor means for executing an
action in said spreadsheet means to cause said spreadsheet means to
transmit said message from said cell through said registers in said
process means to the said addressed particular register in said particular
programmable logic controller.
13. The device of claim 12 in which said means for executing executes an
@WRITE function.
14. A system for permitting real-time operation by a user of operating
equipment with at least one programmable logic controller, said
programmable logic controller including addressable registers, said
programmable logic controller being capable of receiving messages
addressed to said addressable registers to control operation of said
equipment, and for transmitting messages from said addressable registers
indicating the condition of said equipment, said messages being in the
form of electrical signals, said system comprising:
A. process means having an operably interconnected visual display,
keyboard, instruction storage memory and central processor for
sequentially executing instructions contained in said instruction storage
memory;
B. interface means coupled between said processor means and said
programmable logic controller, said interface means including message
registers capable of transmitting and receiving addressed messages to and
from said addressable registers in said programmable logic controller and
being accessible by said processor means, said interface means for
transmitting addressed messages to said addressable registers in said
programmable logic controller, and for presenting to said processor means
information contained in received addressed messages form said addressable
registers in said programmable logic controller, said interface means
including interrupt means for interrupting the operation of said processor
means in response to receiving an addressed message in any one of said
message registers;
C. spreadsheet instruction means contained in said instruction storage
memory for effecting a general purpose spreadsheet program in said
processor means, said spreadsheet instruction means providing a
spreadsheet having cells displayed by said visual display into which said
user can insert information, @ functions that can be inserted into said
cells by said user to effect actions in said spreadsheet program, and menu
commands selectable by said user to effect actions in said spreadsheet
program, said spreadsheet instruction means normally only being able to
effect movement of information between files of data contained in said
instruction storage memory and said cells; and
D. supplemental instruction means contained in said memory for operating
through said spreadsheet instruction means to move messages directly
between said cells and said addressable registers in said programmable
logic controller through said interface means, so that said user can
transmit addressed messages controlling the operation of said equipment
directly from said cells to said addressable registers in said
programmable logic controller, can request messages from said cells
indicating the condition of said equipment, and can receive in said cells
said messages initiated by said programmable logic controller indicating
the condition of said equipment. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
DESCRIPTION
BACKGROUND OF THE INVENTION
This invention generally relates to programmable logic controllers that
direct the automatic operation of such as machine tools, and process
equipment to manufacture goods and chemicals, and particularly relates to
furnishing true real-time control of such programmable logic controllers
(PLCs) through a general purpose spreadsheet program operating in a
personal computer.
Machine tools such as screw machines have come to be operated
automatically. This eliminates the cost of manual labor in operating the
machine and can achieve more uniform products. The automation originally
occurred by arranging relays to perform the logical functions of
proceeding through a manufacturing process. Switches sensed the movement
of tools relative to the work piece and caused the opening and closing of
the relays; the relays in turn caused the sequential selection and
operation of different tools on the work piece.
Much skill is required however to design the system, to set-up the limit
switches at the proper locations, to connect the switches to the proper
relay solenoids and to connect the relay contacts to the proper motors,
timers and solenoid controlled valves in achieving the automated
operation. Changing even one dimension of a part being made or one process
variable in a chemical reaction moreover required skilled labor to re-wire
the control switches or relays. Such systems worked well in producing
large numbers of parts from a single set-up, but the development of
manufacturing fewer numbers of more customized parts on one machine made
the frequent changes of the relay controlled machines too expensive.
Responsive to this rise in cost, PLCs replaced the relay controls. PLCs
furnished a fixed wiring from the switches, motors, and solenoid valves to
a general purpose logic device. This eliminated rewiring the controls for
each different part or variation of a part to be made. The set-up for each
different part or variation of a part then only required changing the
logical commands in the logic device. With the advent of the microcomputer
as the logic device, changing the logical commands in the logic device
became a matter of re-programming the microcomputer. Skilled labor then
only had to write one program to make each different part or variation of
a part, and an unskilled operator then could load the different programs
into the PLC as desired to make a desired part. This substantially
eliminated costly set-up for each different part; the manufacture of that
part or the running of that process was fixed, however, by the fixed
nature of the program.
The fixed nature of the program does not always allow for varying automatic
operation of the screw machine, for example as the material of the work
piece varies, or for example as the characteristics of a process feedstock
vary. Moreover, the fixed program does not allow an operator to vary the
manufacturing or processing parameters as changes occur in the
manufacturing or processing operation to achieve desired efficiencies and
levels of quality.
The PLCs have been linked together in networks over co-axial cable to
co-ordinate the operation of an entire manufacturing or processing plant.
The network require separate interface modules terminating each drop of
the co-axial cable to perform the necessary handshaking for positive
message transfer between the addressable registers of the PLCs. These
messages usually comprise status information indicating the condition of
the sensors and drives of each machine tool or processing station and
control information commanding the operation of the drives or valves of
the tools or stations. The messages also can contain numerical information
indicating the number of parts made or the temperature or pressure of a
point in a process.
A centrally located programming device can also be connected to the network
to change the program or sequence of logical steps to be implemented by
any selected PLC on the network. Such a programming device can be a
personal computer, for example an IBM or IBM-compatible personal computer,
operating a program that displays relay ladder diagram charts that a
skilled user develops to create desired logical steps for a PLC. The
personal computer also contains a network interface circuit card,
connected to the co-axial cable, that handles the network handshaking and
positive message transfer in response to commands by the personal computer
written to and from accessible registers on the circuit card. The
registers of the interface card are available to programs running in the
personal computer able to access them to enable customized programs to
send and receive messages across the PLC network.
Programming the PLC's over the network with the relay ladder diagram chart
program in a personal computer enables a programmer to change the set
operation of a machine or process as desired. The operation at the
personal computer, however, is still one step, the programming step,
removed from personally controlling operation of the machine tool or
process station. Any manufacturing changes desired by the operator must be
implemented through re-programming the individual PLC.
Developing customized programs that directly enable an operator at a
personal computer to supervise and actually control the automatic
operation of the PLCs quickly becomes expensive due to the large amount of
highly skilled labor required. Such custom programs obtain stated
information from the PLCs as it occurs and send control information in
response to changes in the status information. Such information exchange
is described as "real time" to emphasize that there exists little or no
delay in receiving the information after the information becomes "real" or
available. The cost of updating or varying the customized programs to
provide flexibility in the automated operation of an entire plant becomes
prohibitive. Further, varying custom programs often reaches a point where
the cost of making the variation within the restraints of the original
program exceeds the cost of writing a new custom program. The exchange of
"real time" information stands as the key to true operator control of the
manufacturing plant.
Programs have become available that strive to provide this real time
exchange of information in controlling, monitoring and analyzing processes
and instrumentation. The user provides a circuit card interface between
his process or instruments and the personal computer. The user also writes
a device driver program for the personal computer that facilitates the
operating system program to communicate with the circuit card interface.
The user then installs a commercially available information acquisition
program to transfer the desired information between the operating system
program and popular and commercially available spreadsheet, data base and
analysis programs. The user then exercises control of the manufacturing
processes from the spreadsheet, data base or data analysis program through
the information acquisition program. This, however, has some undesirable
aspects.
From the user's perspective, every transfer of information to and from the
spreadsheet, data base or analysis program must occur through menu
selected keystroke commands. Sending information to a PLC occurs by
transfers to the acquisition program, the operating system program, the
device driver program, the interface card, and the network to the
addressed PLC registers. Reading from addressed PLC registers requires
sending a transmit command to the addressed PLC in the described sending
sequence and then sending a read command to the acquisition program to get
the transmitted information from reply registers in the interface card
through the device driver program, the operating system program and the
acquisition program. While the speed of personal computers reduces all of
these transfers to short, almost unnoticeable periods, there are still
some things that cannot be done. For example, the calculation of the
arguments contained in the cells of a spreadsheet program cannot directly
move information between addressable registers of a PLC and the cells of a
displayed spreadsheet. Also, writing a device driver for the interface
card remains a time consuming and highly skilled task.
SUMMARY OF THE INVENTION
The invention furnishes a program or instruction means that operates
through a general purpose spreadsheet program to effect information
transfers to and from the addressable registers of a PLC and assigned
cells of a displayed spreadsheet directly from the spreadsheet program and
without transfers through the operating system program or a specially
written device driver program. This facilitates a manufacturer configuring
a PLC network with a central control of the manufacturing operation from a
spreadsheet program operating in a personal computer. Operator control of
the PLCs connected to the network occurs through the flexible and easily
understood features commercially available in general purpose spreadsheet
programs and facilitates true "real time" control and monitoring of the
manufacturing plant directly from the displayed spreadsheet of the
spreadsheet program.
The invention provides single @ function WRITE commands in cells in the
displayed spreadsheet to transfer information contained in that cell or
information contained in relatively addressed cells to be written into
desired and addressed PLC registers. A single @ function READ command in
cells of the displayed spreadsheet causes the addressed PLC to transmit
the information contained in certain addressed registers directly into
that cell or relatively addressed cells in the displayed spreadsheet.
These @READ and @WRITE functions become executed simply upon recalculating
the displayed spreadsheet to effect the information transfers.
The invention also provides menu selected commands for reading or writing
blocks of information between addressed PLC registers and ranges of cells
in the displayed spreadsheet. These menu selected commands operate through
the spreadsheet program free of any acquisition program or device driver
program.
The invention also provides for automatic storage of information
transmitted to the central controller from the PLCs at regular intervals
or as conditions change in the PLCs. These transmissions from the PLCs to
the central controller usually are initiated by the PLCs. The invention
furnishes an interrupt program that moves the messages received in the
interface circuit card to respective memory locations forming a mailbox
for each PLC. This prevents sequential messages from one PLC from
overwriting the previous message and losing the information content. Thus
the sequential messages initiated from one PLC are stored by the present
invention in one mailbox area of sequential memory locations. Under an
operator selected menu command, the invention moves all of the sequential
messages from each PLC into assigned ranges of cells in the displayed
spreadsheet.
In particular, the invention involves a system for operating equipment in
which a PLC proximate a machine tool or processing station controls the
specific operation of that machine tool or processing station. The PLC
also is connected to a network of PLCs and is able to receive messages
that control operation of the machine tool or processing station and is
capable of transmitting messages indicating the condition of the machine
tool or processing station. These messages are in the form of electrical
signals usually carried on co-axial or twin-axial cable.
A personal computer or processor includes an interface circuit card
electrically connected to the data, address and control leads of the
personal computer. Usually this interface circuit card rests in an
expansion slot of the personal computer. The interface card connects to
the network of PLCs and includes addressable registers to which the PLCs
can transmit messages. The interface card also includes command and reply
registers that can respectively transmit and receive messages to and from
the PLCs. The registers of the interface card are accessible by
instructions executed in the personal computer.
The personal computer typically includes a visual display, a keyboard,
instruction storage memory and a central processor. This central processor
executes instructions, in the form of electrical signals, contained in the
instruction storage memory in cooperation with characters provided to the
displayed and readable by a user and in cooperation with characters
received from the user through the keyboard.
This system also includes a general purpose spreadsheet program contained
in the instruction storage memory for effecting a general purpose
spreadsheet program in the personal computer. This spreadsheet program
causes a spreadsheet to be displayed on the visual display. The displayed
spreadsheet presents cells into which the user can insert information and
@functions to execute desired arguments. The displayed spreadsheet also
provides menu commands selectable by the user to effect desired actions in
the displayed spreadsheet, but the spreadsheet program normally is only
able to effect movement of information between defined files of data
contained in the memory and the cells.
This system further includes add-in instructions for presenting add-in 5/8
functions and add-in menu commands operating through the spreadsheet
program and displayed spreadsheet
for cell contained 5/8 functions and menu commands to move messages
directly between the cells and the interface card with the lo interface
card then moving the messages across the network of PLCs. This obtains a
system in which the user can transmit messages controlling the operation
of the machine tool or process station directly from the cells of the
displayed spreadsheet to the addressed registers of a PLC and can request
messages indicating the condition of the machine tool or processing
station directly from the cells and receive the status information
messages indicating the condition of the equipment directly in the cells.
In another aspect, this system includes add-in instruction means contained
in the memory for presenting add-in menu commands and interrupt selected
instructions. These add-in menu commands and interrupt selected
instructions operate through the spreadsheet program for the interrupt
instructions to move sequentially received messages initiated by the PLCs
and received in the interface card to respective assigned address
locations in memory upon occurrence of an interrupt signal generated by
the interface card indicating receipt of such messages. User selection of
the add-in menu commands move the message from the locations in memory to
respective assigned ranges of cells in the displayed spreadsheet. Messages
initiated from the PLC indicating the condition of the machine tools or
process stations thus can be saved and moved directly to the cells of the
displayed spreadsheet.
The general purpose spreadsheet program in the personal computer becomes
initialized for operation with the message transfer from the cells of the
displayed spreadsheet through a displayed initialization spreadsheet
operating through the spreadsheet program. Add-in instructions contained
in the memory provide this initialization spreadsheet and care for the
loading of address assignments into certain memory locations accessible by
the different parts of the spreadsheet program for effecting and achieving
the desired result.
The invention also encompasses a substrate such as a floppy disk ordinarily
used in personal computer, carrying the add-in instructions for effecting
the transfer of message information to and from the cells of the displayed
spreadsheet through the spreadsheet program.
With this invention, an operator can monitor and control the operation of
many PLCs on a "real time" basis as conditions change in the manufacturing
environment. The spreadsheet program provides many mathematical arguments
that can be arranged to perform complex calculations rapidly in
determining desired efficiencies and qualities of manufacturing. The
ability to obtain "real time" data and give "real time" manufacturing
commands in conjunction with these calculations for controlling large
manufacturing plants achieves manufacturing control not previously
available in an economical and easily understood system.
DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram of a PLC system connected to a personal
computer with an add-in program of the invention operating with a general
purpose spreadsheet program to furnish real time message transfers between
the network and the spreadsheet program;
FIG. 2 is a schematic block diagram of the system of the invention in more
detail than depicted in FIG. 1;
FIG. 3 is a schematic block diagram of three aspects of the add-in program
of the invention;
FIG. 4 is a diagram of the menu commands provided through the add-in
program of the invention;
FIG. 5 is a schematic block diagram of the interaction between the hardware
of a personal computer and the program instructions of a spreadsheet
program including the invention to move received messages to assigned
memory locations in a mailbox area and to dump messages stored in the
mailbox memory locations into assigned ranges of cells in the spreadsheet
program;
FIG. 6 is a schematic block diagram depicting the interaction between the
hardware of a personal computer and a spreadsheet program including the
invention executing an @READ function to read information from an
addressable register in a PLC to a desired cell in the displayed
spreadsheet;
FIG. 7 is a schematic block diagram of the interaction between the hardware
of a personal computer and a spreadsheet program including the invention
executing an @WRITE function to write information from a cell in the
displayed spreadsheet to an addressed register in a PLC;
FIG. 8 is a schematic block diagram depicting the interaction between the
hardware of a programmable computer and the menu commands of a spreadsheet
program including the invention to perform a menu selected READ command of
reading blocks of information from addressed registers in a PLC to
assigned cells in the displayed spreadsheet;
FIG. 9 is a schematic block diagram of the interaction between the hardware
of a personal computer and a spreadsheet program including the invention
to perform a menu selected WRITE command of writing information from
assigned cells in a displayed spreadsheet to addressed registers in a PLC;
FIG. 10 is a schematic block diagram depicting the interaction between the
hardware of a personal computer and a spreadsheet program including the
invention to initialize the operation of the spreadsheet program in the
personal computer through a displayed spreadsheet;
FIG. 11 is a schematic block diagram of the interaction between the
hardware of a personal computer and the program instructions of the
invention similar to that shown in FIG. 5 and further emphasizing the date
and time stamping of received messages initiated from the PLCs;
FIG. 12 is a schematic block diagram showing the interaction between
hardware of a personal computer and program instructions of a spreadsheet
program including the invention in initializing pointers to and the
contents of memory locations for local variables;
FIG. 13 is a schematic block diagram depicting the organization for the
add-in instructions of the invention for forming the add-in file SYL.ADN;
and
FIG. 14 is a schematic block diagram depicting the organization for the
add-in instructions of the invention for forming the add-in file SYLAF.ADN
.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In FIG. 1, a plant network 20 of programmable logic controllers (PLCs) to
operate equipment stands connected to a personal computer 22 through a
circuit card interface 24. The personal computer 22 operates a general
purpose spreadsheet program 26 that has no ability to get or give real
time messages over the plant network of PLCs. This spreadsheet program can
be such as LOTUS 1-2-3 available from Lotus Development Corporation,
Cambridge, Mass. The invention furnishes an add-in program 28 that
operates through the general purpose spreadsheet program 26 to effect real
time message transfers between the plant network of PLCs 20 and cells of
the spreadsheet program 26. The transfer of messages through the
spreadsheet program to the circuit card interface is depicted by double
arrowheaded conductors 30 diagrammatically indicating the message transfer
path, and the connection between the plant network 20 and the circuit card
24 is depicted by conductors 32.
In constructing this system 18, the user interconnects all of the PLCs with
desired co-axial or twin-axial wires and constructs and arranges all the
PLCs to effect positive message transfer between addressed registers of
the PLCs. The user then obtains an interface circuit card 24, and installs
it in an expansion slot of a personal computer 22. The interface card 24
then becomes connected to the network 20 and is assigned suitable network
addresses. The user then loads the general purpose spreadsheet program
into the personal computer using disk drives as desired and finally loads
the add-in program 28 of the invention into the program files of the
spreadsheet program.
The owner of the spreadsheet program known as LOTUS 1-2-3 has provided
suitable instructions in the spreadsheet program for accepting the add-in
program disclosed herein. The developer of the LOTUS 1-2-3 program also
commercially sells program instructions under the trademark LOTUS
Developer Tools used by the inventor of the present invention to effect
the operation he desired. The LOTUS Developer Tools instruction program
enables a programmer to develop instructions that extend or enhance the
capability of the spreadsheet program and to create new 5/8 functions to
be implemented in a LOTUS 1-2-3 spreadsheet. The program instructions of
the LOTUS Developer Tools programs form no part of the invention herein
but were used to develop the program instructions used in the invention.
After all of this preliminary construction and arrangement of the hardware
and program instructions, the user stands ready to program the PLCs and
control the operation of the machine tools and process stations that they
operate.
In FIG. 2, the plant network 20 interface assembly 34 connects to
conductors 32 and is assigned address 45. PLC 36 connects to interface
assembly 34 to operate machine 38 and is assigned address 045. PLC 40 also
connects to interface assembly 34 to operate machine 42 and is assigned
address 145. Interface assembly 44 likewise connects to conductors 32 and
is assigned address 22. PLC 46 connects to interface assembly 44 to
operate machine 48 and is assigned address 022. PLC 50 connects to
interface assembly 44 to operate machine 52 and is assigned address 122.
Interface assemblies 34 and 44 thus provide hardware connections to the
co-axial or twin-axial conductors 32 and provide the two least significant
numbers in the addresses for the PLCs 36, 40, 46 and 50. Conductors 32
connect to interface circuit card 24 at connector 54. In this system,
interface card 24 has been assigned address 009 for purposes of
explanation. Interface card 24 also can connect to an auxiliary or local
PLC 56 through conductors 58 and connector 60. PLC 56 has been assigned
107 and is similar in construction and designed to PLCs 36, 40, 46 and 50.
PLC 56 contains sensor and control registers 62 that connect to sensors
64, controls 66 and machine under control 68. The connections between PLCs
36, 40, 46 and 50 to their respective machines parallel the connection
between PLC 56 and machine 58. PLC 56, its machine under control 68 and
the connection to interface card 24 define what can be called a local
system 70.
Interface card 24 includes command, reply and receiving registers 72 and
can produce an interrupt signal on leads 74 under conditions to be
described.
Personal computer 22 includes RAM memory 76 that contains the spreadsheet
program 26, the add-in 28, mailbox memory locations 78 and pointer to
local variables memory location 80.
Spreadsheet program 26 presents cells, menu driven commands and @ functions
that can be inserted in the cells. Add-in program 28 present three
features: menu commands to initialize the features for moving messages
between the cells and the PLC registers, block moves of information
between the cells and the PLC registers, fixed and floating point
information formats and dumping the contents of the mailbox memory
locations to assigned cells in the spreadsheet; @ functions to move
messages between the spreadsheet cells and the PLC registers, and to
perform logical operations; and interrupt driven information transfers
from the interface card registers to corresponding memory locations in the
mailbox area of the RAM memory 76. The add-in program 28 also includes
memory locations 82 for local variables used in effecting the message
transfers through the spreadsheet program 26.
Personal computer 22 also includes an operator usable keyboard 84, a visual
display 86, a disk drive 88 that can receive a disk 90 carrying the
spreadsheet program 26 or the add-in program 28. Disk 90 comprises a
substrate capable of carrying program instructions in the form of such as
magnetic bits but could be any other kind of substrate desired to carry
the program instructions for loading into the memory of the personal
computer.
It will be understood that software programs and instructions can
constitute structure and materials in many different forms. For example, a
program set of instructions can constitute magnetic signals or indicators
on a magnetic substrate such as a floppy disk. Executing these
instructions effects electrical signals across conductors in the processor
to achieve desired results.
It will be understood that in the arrangement depicted in FIG. 2, the
add-in program 28 operates through the spreadsheet program 26 to perform
the indicated message transfers. After the add-in program becomes
installed, the user operates only through spreadsheet 5/8 functions and
men commands to effect the message transfers to the address registers of
the PLCs. Alternatively, the plant network 20 of PLCs and the local
systems 70 can be arranged as desired to operate desired machine tools and
process stations.
Referring to FIG. 3, add-in program 28 provides menu commands 92 that the
user enters through a keystroke of ALT-F7 on the keyboard of the personal
computer. The interrupt instructions 94 perform a mailbox interrupt
routine identified in the source code listing herein as MAIL.sub.-- INT.
The interrupt instructions 94 also perform a timer interrupt routine
identified in the source code TIMER.sub.-- INT. The user selectable @
functions insertable in the cells of the displayed spreadsheet include
@READ, @WRITE, @BREAD, @BWRITE, @SYLERR, @MAIL, @FPREAD, @FPWRITE, @AND,
@OR, @NOT and @TIMEOUT.
These @ f | | |