WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Device for communicating real time data between a programmable logic controller and a program operating in a central controller    
United States Patent5038318   
Link to this pagehttp://www.wikipatents.com/5038318.html
Inventor(s)Roseman; Brooks T. (Asheville, NC)
AbstractAdd-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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5038318
Device for communicating real time data between a programmable logic

     controller and a program operating in a central controller - US Patent 5038318 Drawing
Device for communicating real time data between a programmable logic controller and a program operating in a central controller
Inventor     Roseman; Brooks T. (Asheville, NC)
Owner/Assignee     Square D Company (Palatine, IL)
Patent assignment
All assignments
Publication Date     August 6, 1991
Application Number     07/134,353
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 17, 1987
US Classification     712/30
Int'l Classification     G06F 013/10
Examiner     Heckler; Thomas M.
Assistant Examiner    
Attorney/Law Firm     Femal; Michael J. Stine; Thomas K. ,
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/200 MS File 364/900 MS File 364/308
Patent Tags     communicating real time data between programmable logic controller program operating central controller
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4791556
Vilkaitis
715/835
Dec,1988

[0 after 0 votes]
4751635
Kret
707/10
Jun,1988

[0 after 0 votes]
4648062
Johnson
715/708
Mar,1987

[0 after 0 votes]
4517637
Cassell
700/9
May,1985

[0 after 0 votes]
4363090
Garcia
700/10
Dec,1982

[0 after 0 votes]
4228495
Bernhard
700/7
Oct,1980

[0 after 0 votes]
4215398
Burkett
700/7
Jul,1980

[0 after 0 votes]
4180860
Driscoll
700/10
Dec,1979

[0 after 0 votes]
4149235
Froyd
700/169
Apr,1979

[0 after 0 votes]
4038533
Dummermuth
700/7
Jul,1977

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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