WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Database access machine for factory automation network    
United States Patent4831582   
Link to this pagehttp://www.wikipatents.com/4831582.html
Inventor(s)Miller; William L. (Chagrin Falls, OH); Horton; Robert E. (Hudson, OH); Hayward; Peter J. (Hudson, OH)
AbstractA cell controlling computer is interfaced to a group of station-level computers through an access machine which stores a database of data that is continually being updated from the station-level computers in response to conditions on machines and industrial process equipment. The access machine communicates with the station-level computers using messages addressed to each respective station. The access machine communicates with the cell controlling computer through database operations messages that allow data to be communicated for many stations at once. During on-line reconfiguration, new data items in the station-level computers can be added to the database in the access machine using other database operations messages.
   














 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 4831582
Database access machine for factory automation network - US Patent 4831582 Drawing
Database access machine for factory automation network
Inventor     Miller; William L. (Chagrin Falls, OH); Horton; Robert E. (Hudson, OH); Hayward; Peter J. (Hudson, OH)
Owner/Assignee     Allen-Bradley Company, Inc. (Milwaukee, WI)
Patent assignment
All assignments
Publication Date     May 16, 1989
Application Number     06/928,529
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     November 7, 1986
US Classification     707/104.1 700/5 700/9 707/9 707/101
Int'l Classification     G06F 013/00 G06F 012/00
Examiner     Shaw; Gareth D.
Assistant Examiner     Kulik; Paul
Attorney/Law Firm     Quarles & Brady
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/468 364/300 364/900 MS File 364/200 MS File 364/130 364/131 364/132 364/133 364/134 364/135 364/136 364/137 364/138 364/146
Patent Tags     database access factory automation network
   
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
4694396
Weisshaar
719/313
Sep,1987

[0 after 0 votes]
4628478
Henderson, Jr.
710/305
Dec,1986

[0 after 0 votes]
4539655
Trussell
710/100
Sep,1985

[0 after 0 votes]
4413319
Schultz
710/30
Nov,1983

[0 after 0 votes]
4314334
Daughton
710/3
Feb,1982

[0 after 0 votes]
4162520
Cook
710/1
Jul,1979

[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
 


We claim:

1. An access machine computer which is a first of a plurality of access machine computers for connection in a factory automation cell that includes a cell controlling computer and a plurality of station-level computers located at a corresponding plurality of stations, the plurality of station-level computers including at least one station-level computer controlling an industrial machine in real time, the first access machine computer comprising:

an access machine module outside the cell controlling computer for communicating upstream within the factory automation cell to the cell controlling computer and for communicating downstream within the factory automation cell to a plurality of station-level computers, the access machine module including

database means for storing at least a portion of a database associated with the first access machine computer, the database including data items, computer accessing the data items on a basis that is independent of the addresses which are assigned to the data items at the stations for reference by respective station-level computers;

first network communication means coupled to the database means for communicating the data items associated with the first access machine computer through a first network communication link to and from the cell controlling computer via messages in which data items are stored in and retrieved from the database independent of the addresses which are assigned at the stations at which the data items are monitored or controlled;

second network communication means for communicating the data items through a second network communication link to and from the station-level computers via messages which include station-related blocks of information that are related to addresses of the stations of the respective station-level computers; and

database interface means interfacing the database means to the second network communication means for translating the data items between the station-related blocks of information and the station-independent organization of the database.

2. The access machine of claim 1 in which each data item includes a field of tag data that is unique within the factory automation cell and in which the data items are accessed via the tag data.

3. The access machine of claim 1, wherein the first network communication link is a first local area network.

4. The access machine of claim 1, wherein the second network communication link is a second local area network.

5. The access machine of claim 1, further comprising means coupled to the first network communication means to receive and load the database into the database means.

6. An access machine computer which is a first of a plurality of access machine computers for connection in a factory automation cell that includes a cell controlling computer and a plurality of station-level computers located at respective stations, the plurality of station-level computers including at least one computer controlling an industrial machine in real time, the first access machine computer comprising:

a data access link processor module including

database means for storing at least a portion of a database associated with the first access machine computer, the database including data items which are associated with stations of respective station-level computers during communication to and from the stations, the cell controlling computer accessing the data items on a basis that is independent of the addresses which are assigned to the data items at the stations for reference by respective station-level computers,

first network communication means coupled to the database means for communicating the data items associated with the first access machine computer through a first network communication link to and from the cell controlling computer via messages in which data items are stored in and retrieved from the database independent of the addresses which are assigned at the stations at which the data items are monitored or controlled,

second network communication means for communicating the data items through a second network communication link to and from the station-level computers via messages which include station-related blocks of information that are related by station to the respective station-level computers, and

database interface means interfacing the database means to the second network communication means for translating the data items between the station-related blocks of information and the station-independent organization of the database;

a communication link interface module including third communication means for communicating the messages with station-related blocks of information associated with the respective station-level computers through a second communication link to and from the station-level computers; and

means for conveying the messages with station-related blocks of information associated with the respective station-level computers between the data access processor module and the communication link interface module.

7. The access machine of claim 6, wherein the first network communication link is a first local area network.

8. The access machine of claim 6, wherein the second network communication link is a second local area network and wherein the communication link interface module is a local network interface module.

9. The access machine of claim 6 in which each data item includes a field of tag data that is unique within the factory automation cell and in which the data items are accessed via the tag data.

10. An access machine which is a first of a plurality of access machines for connection in a factory automation cell that includes a cell controlling computer and a plurality of station-level computers located at a corresponding plurality of stations, the plurality of station-level computers including at least one station-level computer controlling an industrial machine in real time, the first access machine comprising:

an access machine module outside the cell controlling computer for communicating upstream within the factory automation cell to the cell controlling computer and for communicating downstream within the factory automation cell to a plurality of station-level computers, the access machine module including

database means for storing a database in which data items are associated with respective station-level computers, computer accessing the data items on a basis that is independent of the addresses which are assigned to the data items for reference by the respective station-level computers;

first network communication means coupled to the database means for receiving a configuration message associated with the first access machine through a first network communication link from the cell controlling computer, wherein the configuration message includes a new data item to be added to the database;

second network communication means for communicating data items through a second network communication link to and from the station-level computers via messages which include station-related blocks of information that are related to addresses of the stations of the respective station-level computers;

database interface means for interfacing the database means to the second network communication means, the database interface means including linkages between the station-related blocks of information and the station-independent organization of the database; and

database on-line configuration means responsive to receipt of the configuration message through the first network communication link for storing the new data item in the database means and for establishing a corresponding linkage in the database interface means between the station-related blocks of information and the station-independent organization of the database.

11. The access machine of claim 10, wherein the first network communication link is a first local area network.

12. The access machine of claim 10, wherein the second network communication link is a second local area network.

13. The access machine of claim 10 in which each data item includes a field of tag data that is unique within the factory automation cell and in which the data items are accessed via the tage data.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The field of the invention is computer equipment for linking a plurality of machine or process controllers in a factory automation network.

2. Description of the Background Art

In factory automation, more complex functions could be performed and coordinated if the programmable or computerized machines presently used to control mechanical equipment could be connected in a network with each other and with higher level supervisory computers. A network would allow the "reconfiguring" of the assembly line by communicating new programs to the programmable systems from a central computer. The network would also provide numerous monitoring and report functions at designated locations and these would provide managers with information to further improve efficiency of manufacturing operations.

Many programmable tools, instruments and control systems are now installed in industry, however, many of these programmable machines cannot communicate with each other. It has been estimated that to establish such communication through custom hardware and software interfaces may account for up to 50 percent of the cost of factory automation.

In anticipation of acquiring a large amount of programmable equipment to automate its factories, certain large manufacturers have established MAP (Manufacturing Automation Protocol). MAP is a seven-layer communications specification for interconnection of general purpose mainframe computer equipment to specialized computer controllers that control individual machines or processes. The MAP standard is not complete at all seven of its layers and is still in the process of development. The MAP standard is also being implemented in phases as equipment has not been available to meet all of the MAP specifications, and new equipment is being designed to provide the MAP-networking capability.

Demonstrations of early phase MAP networks have pointed to possible problems that have not as yet been addressed or solved. One problem has been the time involved in downloading programs and data from supervisory computers to stations on the factory floor. Even if computers are able communicate, communication networks can develop bottlenecks where too many messages are required to accomplish a certain task, where redundant data is being communicated or where too many protocol translations are required. Another problem has been the need for central computers to recompile entire application programs to implement simple changes in data tables or in the arrangement of discrete devices on equipment being controlled by station-level controllers.

When an application program is written on a central computer, items of data or variables stored at station level are represented by certain labels rather than specific addresses or locations in memory where they will be found. When the application program is compiled, the items of data in the program are assigned addresses in the memory of the central computer.

At the stations some data variables are related to the physical connection of devices on the controlled machine. When an additional device, such as a photoelectric sensor, is connected the programmable controller, a new data item is created in the memory of the programmable controller. Other new data items such as timing variables may be created in the memory of the programmable controller without connecting additional devices to the controller.

In one MAP demonstration, the incorporation of the new data item or variable at the station level required a recompilation of application programs and data files at the level of the central computer. In this instance recompilation was required to relate the address or location of the new variable at the station level to an address or location in the data files of the central computer.

Although standardization of communication network standards is an important development, reaching the goals of factory automation will also require innovative solutions such as those offered by the present invention.

SUMMARY OF THE INVENTION

The invention is incorporated in a database access machine for connection in a factory automation cell that includes a cell controlling computer and a plurality of machine controlling computers located at a corresponding plurality of stations. The access machine is also a computer--one that assists communications within the cell.

The access machine stores a database in which data items are organized on a basis that is independent of the addresses which are assigned to the data items for reference by the respective machine controlling computers.

The access machine has a first communication means for accessing the database and for communicating the data items through a first local area network to and from the cell controlling computer via messages in which the information is organized as a portion of the database.

The access machine also has a second communication means for communicating the data items through a second local area network to and from the machine controlling computers via messages which include station-related blocks of information that are organized according to the stations of the respective machine controlling computers.

And, the access machine has a means interfacing the database to the second communication means for translating the organization of data items between the station-related blocks of information and the station-independent organization of the database.

The access machine could be imagined as a huge set of pigeonholes such as those used in an old post office. Station-level devices insert and retrieve information (data, messages, graphic images) from one side of the pigeonholes on a schedule determined by the needs of the control devices. The cell controlling computer inserts and retrieves information from the other side of the pigeonholes on a different schedule determined by the needs of the human interfaces and higher level computers connected through the cell controlling computer. Each pigeonhole is identified by a unique name or tag.

Because the access machine is a computer that is separate from the cell controlling computer, it provides distributed processing. The cell controlling computer handles communication with the user through a work station having a video display, a keyboard and a mouse, while the access machine handles data collection from the remote stations. The cell controlling computer and the access machines communicate with each other when necessary, but generally the access machine relieves the cell controlling computer of the burden of real-time data collection activities. The cell controlling computer can therefore concentrate on its user interface functions.

The invention also enables the cell controlling computer to add or delete items from the database while the access machine remains "on-line" and in control of machine controlling computers. This is referred to as "on-line reconfiguration".

The invention removes any need to recompile application programs or to reorganize large amounts of data in the cell controlling computer when simple changes are made to the arrangement of equipment at the stations. The invention also provides the basis for avoiding similar problems in higher level computers supervising the operation of the cell controlling computers.

Other objects and advantages besides those discussed above shall be apparent to those skilled in the art from the description of a preferred embodiment of the invention which follows. In the description, reference is made to the accompanying drawings, which form a part hereof, and which illustrate an example of the invention. Such example, however, is not exhaustive of the various embodiments of the invention, and therefore reference is made to the claims which follow the description for determining the scope of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a data flow diagram showing the propagation of data in a control system provided by the background art;

FIG. 2 is a hardware-to-memory map schematic diagram of a programmable controller of a type known in the art;

FIG. 3 is a block diagram showing the management of data items in a factory cell automation system that incorporates an access machine of the present invention;

FIG. 4a shows the screen of the video display of FIG. 3 as a new data item is being entered into the database of the access machine of FIG. 3;

FIG. 4b shows the screen of the video display of FIG. 3 as a new station record is being entered into the database of the access machine of FIG. 3;

FIG. 5 is a map diagram showing the relationship of certain records in the database maintained by the cell controlling computer and the access machine of FIG. 3;

FIG. 6 is a map diagram showing the organization of data items in a database residing in the access machine of FIG. 3;

FIG. 7 is a data flow diagram showing the communication of one type of database-related information in a system that incorporates the access machine of FIG. 3;

FIG. 8 is a data flow diagram showing the communication of another type of database-related information in a system that incorporates the access machine of FIG. 3;

FIGS. 9-15 are maps of the database-related information contained in messages communicated between the cell controlling computer and the access machine in FIGS. 7 and 8;

FIG. 16 is a hardware-firmware schematic showing the architecture of the access machine of FIG. 3;

FIGS. 17 and 18 are block diagrams illustrating the operation of data collection software in the access machine of FIG. 3;

FIG. 19 is a schematic diagram of a processor board in the data access link processor module seen in FIG. 16;

FIG. 20 is a schematic diagram of a memory board in the data access link processor module seen in FIG. 16;

FIG. 21 is a schematic diagram of the circuitry in an access machine processor module seen in FIG. 16; and

FIG. 22 is a schematic diagram of the circuitry in a local area network interface module seen in FIG. 16.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIGS. 1 and 2 show a system representing the art prior to the invention. A plurality of station-level devices such as a robot controller 10 at Station 1 and a programmable controller 11 at Station 2 are connected via a first local network 12 to a gateway machine 13. The gateway machine 13 in turn is connected via a second network 14 to a supervisory computer 15 which may be of the mainframe or minicomputer class. The second network 14 conforms to the layers 1-3 of the MAP standard and in particular provides a token-passing broadband network conforming to IEEE Std. 802.4.

The supervisory computer 15 executes a number or application programs 16 which utilize a hardware and software communication interface 17 to send and receive messages 18 over the second network 14. The data in these messages is organized as a series of bytes according to a protocol meeting the MAP standard. As an example, it shall be assumed that four words of data are of particular interest. In the application programs these will assigned labels of MOTOR, SWITCH, ACCUM.sub.-- 1 and PRESET.sub.-- 1. These four words of data correspond to four items of data stored in the memory of the programmable controller 11 at Station 2.

There are two basic issues in handling the four words of data labeled MOTOR, SWITCH, ACCUM.sub.-- 1 and PRESET.sub.-- 1. The first issue is how to organize and store the data in the memory of the supervisory computer 15 in relation to its location in the programmable controller 11 at Station 2. The second issue to how to organize the data for communication between the supervisory computer 15 and the programmable controller 11.

The labels are assigned to the four items of data when an application program 16 is written in source code. When the application program 16 is compiled to object code, the data variables in the program 16 are assigned addresses in the memory of the supervisory computer 15, such as 10516-10519 (hex) based on the set of addresses available to the CPU within the supervisory computer 15. When this data is communicated to the programmable controller 11, it is organized in a message 18 with a station address. The station address is detected and compared by the stations to determine that a message is being sent to it. When the programmable controller 11 communicates the data in the other direction--to the supervisory computer 15--the programmable controller 11 includes an address for the supervisory computer 15 in the message.

Typically, the gateway machine 13 is "initialized" during startup operations to recognize the addresses of the supervisory devices and station-level devices with which it must communicate. The gateway machine 13 may store message data for the respective stations in assigned areas of its memory while it is performing protocol translation and other message handling functions. It may store message data moving downstream to the stations in one set of memory areas and message data moving upstream to the supervisory computer 15 in another set of memory areas. For messages 18 moving downstream, the station addresses are carried through to messages 18 on the local network 12. For messages moving upstream an address for the supervisory computer 15 is usually included in the messages returned through the MAP network 14.

Besides a station level address, each item of data has a particular address where it is located within the station. This address may be expressed as a higher-level user program address or as a lower-level machine address. The user programming address is expressed in the octal numbering system which has been developed for programmable controllers. The addresses "010", "030", "110" and "130" are the user programming addresses for the four items of data to be communicated to and from Station 2. These user programming addresses are translated within the programmable controller 11 to a set of machine-level addresses used by the microelectronic CPU within the programmable controller 11. For purposes of this discussion, reference will be made to the user programming addresses.

In the prior art exemplified in FIG. 1, some form of data addressing or identification is provided for each item of data in addition to the station-level address. A message is formed with station-level and data-level addresses and is sent from the supervisory computer 15 to the programmable controller 11, with any necessary protocol translations being made along the way. This would require considerable time for the values of data items in the memory of the supervisory computer 15 to be sent downstream to the programmable controller 11 and for the values of data times in the memory of the programmable controller 11 to be sent upstream to the memory of the supervisory computer 15. If the data items were located at four different stations, the number of messages and comunication time would be multipled by a factor of four.

FIG. 2 illustrates the nature of the particular data items in this example. The programmable controller 11 is connected to control a conveyor motor 27 in delayed response to signals from a limit switch 23. The delay has been incorporated solely for the purposes of illustrating the different types of data in the controller 11, and this example should not be taken as a suggested program for reallife operation of such equipment.

The programmable controller 11 includes a processor 20 with a main memory 21 for storing the data items. The processor 20 is connected through an input module 22 to the limit switch 23. The limit switch 23 contacts are normally closed. These contacts will be opened when the switch arm is contacted by a package 25 moving along the conveyor 24. This will change the logic state of a signal that is sent to the processor 20 through the input module 22. The processor 20 is also connected through an output module 26 to a motor 27 for moving the conveyor 24. The processor 20 can generate a signal to start the motor 27, and in response to the opening of the limit switch contacts, and after a programmed delay, it will remove the signal to stop the motor 27 and the conveyor 24.

To accomplish this operation, a status bit of data that represents the state of the limit switch 23 is stored in an input image table 29 in the memory 21 of the programmable controller 11. The status bit for the limit switch 23 is stored at bit "10" (octal) in the high byte of a 16-bit data word at address "110". A status bit of data that represents the "on" or "off" state of the motor 27 is stored in an output image table 28 of the memory 21. The status bit for the motor 27 is stored as bit "00" in the low byte of a 16-bit data word at address "010" (octal). The processor 20 executes a control program 30, which is represented in the symbolic language that has been developed in the art of programmable controllers, to check the input status of the limit switch 23 and set the output status of the motor 27 according to the logic of the program 30.

The execution of the control program is sometimes referred to as the control program "scan". The processor 20 also periodically executes an "I/O scan" to read the status of the limit switch 23 and to control the operating state of the motor 27. The I/O scan is executed many times per second so that the response of the programmable controller 11 to actual operating conditions on the conveyor 24 appears instantaneous to the naked eye.

Status bits representing physical devices such as the limit switch 23 and the motor 27 are one type of data used by a programmable controller 11. Another type of data exists in the memory 21 of the programmable controller 11, but does not correspond too an external physical device. This type of data is exemplefied by the preset and accumulated values for timers and counters.

As seen in the memory map of FIG. 2, the output image table 28 is followed by an area 31 for storing the accumulated values for timers and counters that begins as address "030" (octal) in the memory 21. The accumulated value ACCUM.sub.-- 1 is stored at word "030" as three binary-coded decimal (BCD) digits with four control bits as the four highest order bits (bits "17"-"14"). Preset values for the timers and counters are stored in an area 32 following the input image table 29. The preset value PRESET.sub.-- 1 is stored at word "130" as three binary-coded decimal (BCD) digits with four control bits as the four highest order bits (bits "17"-"14").

With this background, the function of the timer and counter data can be explained with reference to the example control program, which is presented in a ladder diagram with two rungs, Rung A and Rung B. If all of the conditions in a rung are "true", then an output action for the rung will be executed. The first and only conditional instruction in Rung A is an XIO instruction for the limit switch 23. The XIO instruction is interpreted as "examine the limit switch status bit at bit "00" of memory location "010" to see if the limit switch contacts are opened." If so, the condition is satisfied, and the output action represented by the next instruction is executed. The next instruction in Rung A is a TIMER ON DELAY (TON) instruction.

The TIMER ON DELAY (TON) instruction is represented in the ladder diagram program as follows. The "030" above the symbol "(TON)" means that the accumulated value for this program timer is stored at address "030" (octal) in the memory 21. The number "1.0" below the symbol "(TON)" means that the timer is operated at 1.0 second time base. Each time the timer runs for a second the accumulated count is advanced by one. The legend "PR 010" means that the preset number is a decimal "10", and that after 10 counts the accumulated value will equal the preset value to indicate that the timer has timed out. When this occurs bit "15" (octal) in word 030 will be set.

To summarize Rung A of the ladder diagram program, if the limit switch contacts are open for 10 seconds elapsed time, set bit "15" in data word "030" to signal completion of a timing cycle. In Rung B, a second XIO instruction is programmed with an "energize output" (OTE) instruction. When this rung is true, this instruction will maintain the output status bit "00[ of word "010" in a set state to energize the motor 27. When the XIO instruction becomes false (signalling the timer has timed out) Run B is interrupted and the motor status bit is reset to deenergize the motor 27. Of course, other logic instructions would be added to this example to be sure that the motor did not run continuously.

As seen from the above example, the status bits in the input and output image tables 28,29 are related to physical devices on the controlled machine. The locations in the programmable controller memory 21 correspond to terminals on the input and output modules 22, 26 so that status data can be transmitted between the processor 20 and the physical devices during the I/O scan. The I/O address of the limit switch 23 and the motor 27 and the address of their status bits in memory depends upon which terminals on the input module 22 and output module 26 are wired to the limit switch 23 and to the motor 27. When an additional device, such as a photoelectric sensor, is connected to a terminal on the programmable controller 11, a new data item is created in the memory of the programmable controller 11.

The preset and accumulated values for timers are program data variables rather than "status" data variables corresponding to the the physical connection of control devices on the conveyor 24. Nevertheless, the programming of such values creates new data variables with an address in the memory of the station level device.

Returning to FIG. 1, it can now be appreciated that new data variables can be created at Station 2 in several ways. An application program 16 might be written for the supervisory computer 15 to monitor execution of the user control program at Station 2 and depending upon the status of certain variables at Station 2, it might signal the robot controller at Station 1 to begin execution of a user control program. If, however, a new variable is added to the variables MOTOR, SWITCH, ACCUM.sub.-- 1 and PRESET.sub.-- 1, there had not been an easy way to alter the application program 16 without recompiling the application program 16 to assign a new memory location to hold the value of the new variable.

Besides the recompilation problem, the system in FIG. 1 causes a great number of messages to be communicated, where there are many application programs 16 and many more stations than shown. The large number of communication messages lengthens the system response time in the real-time factory environment.

In FIG. 3, there are two levels or tiers above the station level as compared with one higher level in FIGS. 1 and 2. A cell controlling computer 40 is located at a cell level that is one level above the station level. The cell controlling computer 40 is connected for communication with a supervisory computer 56 at the factory level through an I/O bridge module 53. The supervisory computer 56 may be of the mainframe or minicomputer class.

The cell controlling computer 40 comprises a work station 41, a power supply unit 42, a cell processor and memory unit 43 and a hard disk memory unit 44. These units 41-44 are housed in separate enclosures. The control center or brain of the cell computer system is the cell processor and memory unit 43. This unit 43 contains processor and memory modules. Within the processor module is a microelectronic CPU from the 68000 Series of CPU's manufactured by Motorola, Inc. of Phoenix, Ariz., and Austin, Tex. The memory modules contain four megabytes (8 Mb) of random access memory (RAM) storage capacity. The work station 41 and the hard disk memory unit 44 are peripherals connected to the cell processor and memory unit 43. The power supply unit 42 provides power to the other units in the system. The work station 41 includes a color video display 45 and a separate keyboard 46 and mouse (not shown). The hard disk memory unit 44 provides seventy-one megabytes (71 Mb) of storage capacity and is useful for saving application programs, databases and other data files and reloading these items into the 8-megabyte RAM on startup.

The cell controlling computer 40 is compatible with the Series 5500 Computer Systems available from Massachusetts Computer Corporation, Westford, Mass. It runs under the UNIX operating system available from AT&T Bell Laboratories, Short Hills, N.J.

The cell controlling computer 40 is connected through a data access baseband network 49 to two access machines of the present invention, referred to as ACCESS MACHINE 1 and ACCESS MACHINE 2. The baseband network 49 is a carrier sense multiple access/collision detection (CMSA/CD) type as specified in IEEE Std. 802.3.

The IEEE 802.3 specification is a development of the Ethernet Version 1.0 specification, published by DEC, Intel and Xerox on Sept. 30, 1980. The IEEE 802.3 specification has three additional features:

HEARTBEAT, which requires the transceiver to send back a "heartbeat" signal to the controller immediately after the successful transmission of a packet;

JABBER, a transceiver function which requires that the transceiver stop transmission if the controller attempts to transmit a packet of much greater length than allowed by the specification (12,144 bits plus preamble); and

HALFSTEP SIGNALLING which allows the transceiver to be used with controllers having AC-coupled input/output circuits.

The data access baseboard network (49) consists of the following functional blocks:

1. A passive broadcast medium (coaxial cable),

2. A transceiver (transmitter-receiver for the coaxial cable),

3. Connectors for connecting transceivers to a coaxial cable segment and for connecting coaxial cable sections together,

4. A channel clock,

5. A channel data encoder and decoder,

6. A preamble generator and remover, and

7. Carrier and collision detect circuits.

The coaxial medium is the common element in the entire network. A transceiver is required for each station connected to the medium.

The data access baseboard network 49 is connected through an I/O bridge module 53 to a broadband network 55 conforming to the MAP protocol as specified to date and conforming to IEEE Std. 802.4 for a token-passing bus network. Through the MAP network 55, the cell controlling computer is connected to the factory level supervisory computer 56.

A system database 62 is stored in the cell controlling computer 40 and would be substantially duplicated in ACCESS MACHINE 1, if it were the only access machine in the system. The system database 62 can be expanded through ACCESS MACHINE 2, so that PART 1 of the system database 62 is stored in ACCESS MACHINE 1 and PART 2 of the system database 62 is stored in ACCESS MACHINE 2. The database 62 serves as an interface between a plurality of station-level devices 10, 11 and 57-60 and the cell controlling computer 40.

The programmable controller 11 at Station 2 is connected to ACCESS MACHINE 1 through one of two baseband local area networks (LAN's), referred to as BASEBAND LAN 1 and BASEBAND LAN 2 in the drawing. Information, including the four items of data discussed in relation to FIGS. 1 and 2, is communicated through BASEBAND LAN 2 between the programmable controller 11 at Station 2 and ACCESS MACHINE 1, where it is reorganized according to the structure of the database 62. The preferred networks are offered under the trade designation Data Highway by Allen-Bradley Company, Inc. of Highland Heights, Ohio. For a description of the construction and operation of these networks, reference is made to Grudowski et al., U.S. Pat. No. 4,319,338, issued Mar. 9, 1982, and the commercial literature available from Allen-Bradley Company, Inc.

During startup operations, the database 62 is downloaded from the cell controlling computer 40 to ACCESS MACHINE 1. As operations continue, messages are transmitted over the data access baseband network 49. As will be explained in more detail later herein, the character of these messages is substantially different than the messages discussed earlier in relation to FIGS. 1 and 2 and substantially different than the character of the messages transmitted over BASEBAND LAN 2 to and from the programmable controller 57. The messages transmitted over the data access baseband network 49 are organized as database operations messages.

As seen in FIG. 3, a second access machine, ACCESS MACHINE 2, can also be connected to the data access baseband network 49. PART 2 of the database 62 is downloaded to ACCESS MACHINE 2 through the baseband network 49. This part of the database 62 serves as an interface to station level devices 58-60 which communicate with ACCESS MACHINE 2 through BASEBAND LAN 4. Still other station-level devices can be interfaced to the database 62 and ACCESS MACHINE 2 through BASEBAND LAN 3.

As explained in relation to FIGS. 1 and 2, there is a problem in the art of multiple-tier computer systems in relating the addresses of data items in a higher level computer to the addresses of the same data items in a station-level device. The transportation and translation of messages from the highest level to the lowest level of the system slows system response time.

The invention provides a database machine as an interface between the station level devices and higher levels of the system. The database is constructed to serve the entire system with each item of data in the computer system of FIG. 3 being assigned a "tag", or global identifier. The tag provides an identifier of the type used in database operations and also serves as a convenient cross-reference for relating the item of data to various address locations in various machines in the computer system.

Generally, a database is organized with different types of data files. Data files are the largest groupings of information in the database. A database management program organizes the links and relationships between separately identified files. Within a file are a plurality of records and within each record are a number of fields which are the headings for items of information in the record. One of the fields is usually designated as an identifier, and the identifier field is included in each record that is to be linked to the identifier. In the present computer system, the identifiers are the tag names.

Some particular records used by the database 62 are illustrated in FIG. 4a. Information is entered into the system through the work station keyboard 46 and reviewed on the video display 45. FIG. 4a shows the record creation form as it would be viewed on the video display 45.

One by one the field or "atom" labels are highlighted on the screen. The name of the highlighted field ("TYPE") appears next to a cursor field 63 at the bottom of the screen 45, where letters are typed in as a cursor 64 moves from left to right to indicate the location of the next letter. Also shown in the cursor field 63 between the symbols "< >" is the number of characters allowed in the field. When the information has been entered and verified to the satisfaction of the user, the "f3 COMMIT" command is entered to add the record to the files in the database 62. The labels "f1 NEXT TAG . . . f4 DELETE" in FIG. 4a signify commands that can be entered by operating keys "f" and "1" or by touching the screen where the command is displayed.

A record is created for each data item such as the four data items in the programmable controller 11 described in FIGS. 1 and 2. As seen in FIG. 4a, the fields are grouped in four sections which include a general section, a parameter section, a description section and an alarm parameter section. Within the general section, for example, there are fields for tag name, data type, a textual description and "in service" status. The "Tag Name" assigned to the MOTOR data item from FIGS. 1 and 2 is "MOTOR". Some of the various types of data items for the "Type" field are BIT, N