A manufactured product is typically assembled and packaged through a series of activities on the manufacturer's plant floor in an assembly line setting. Such activities may include fabricating or stamping parts, assembling parts into larger parts and packaging parts. Each activity in the assembly line is typically carried out by a separate machine, part of a machine or group of machines. For example, three machines in a welding assembly line may be involved in welding two parts together, one for loading the parts to be welded, another to weld the parts and a third to unload the parts.
A manufacturer may want to collect data regarding the conditions in the manufacturing process for a machine, part of machine or group of machines to manage and improve manufacturing processes. Such data can include any number of monitored conditions for a machine such as temperature of the part processed by the machine, maximum torque, number of items processed, identification of a fault, identification of idle time, among other things. For example, management may track the amount of idle time a machine experiences and the reasons therefor to determine how to decrease the amount. Or, management may track the number of parts processed to forecast output of the assembly line. To provide this data, typically a device is connected to each machine, part of a machine or group of machines to track and record this data.
Referring to FIG. 1, a typical configuration of a prior art data collection system 100 for tracking such data on plant floor 130 is shown. In such a system 100, data is typically collected for each asset 104 on plant floor 130. An asset 104 is a piece of equipment that is capable of functioning independently from other pieces of equipment and is grouped according to whether all aspects of the asset 104 have the same state, e.g. faulted, idle, starved, at a given time for the same reason. Asset 104 may correspond to a machine, a group of machines or even a part of a machine on plant floor 130.
Data collection system 100 comprises Programmable Logic Controller (PLC) 106, data collector 112, data display module 126 and database 116. Typically, data collector 112 includes an OLE for process control (OPC) server 132 for receiving data from PLCs 106 for eventual storage in database 116. OPC is a standardized protocol for communicating data between systems in a controlled process and its functionalities. The OPC protocol is described in greater detail later.
PLC 106 is a programmable device for accumulating identified data from one or more machines on plant floor 130. Typically, a PLC 106 also controls the operation of its associated asset 104. PLC 106, connected to asset 104 via link 108, contains one or more memory registers 110 to collect data from its associated asset 104. Internal logic of PLC 106 populates its memory registers 110 with data regarding monitored conditions of asset 104. Each memory register 110 records data associated with a separate monitored condition of asset 104. For example, one memory register 110 records the number of items processed by asset 104 while another records the temperature of the part processed by asset 104. Although PLC 106 is shown in FIG. 1 connected to asset 104 through link 108, it will be appreciated that PLC 106 may be integrated with asset 104 providing direct connection between memory registers 110 and the means of gathering the data stored therein.
PLC 106 further connects to OPC server 132 in data collector 112 via link 114. Preferably, data collector 112 is physically located on plant floor 130, however, it may be located almost anywhere, as long as appropriate communications are maintained by link 114. OPC server 132 collects and formats data stored in memory registers 110 of each PLC 106 connected thereto and provides the standardized data to the other modules of data collector 112. Data collector 112 formats the collected data for storage in database 116 and provides it to database 116 via link 114. Although data collector 112 is shown in FIG. 1 connected to PLC 106 via link 114 and to database 116 via link 118, it will be appreciated that data collection may be manually undertaken such that the data from PLC 106 is manually collected and entered into database 116. It will be appreciated that data collector 112 can be embodied in computer software, computer hardware, firmware, among other things or combinations thereof. It will also be appreciated that data collector 112 may use other methods of collecting data from PLCs 106 rather than through OPC server 132 shown.
Database 116 stores configuration information for system 100 concerning the data collected and the data retrieved by data collector 112.
Once database 116 receives the data collected from PLC 106, an operator can access the data using a computer or terminal 120 connected to database 116 via data display module 126 and links 122 and 124. The operator can query database 116 to form the data into meaningful information for use in analysis of the throughput of plant floor 130. Data display module 126 obtains data from database 116 and formats it into reports or queries for the user. Preferably, computer or terminal 120, from which users access data in database 116 through data display module 126, does not form part of system 100 and may be located almost anywhere as long as appropriate communications are maintained by link 124. Data display module 126 provides a mechanism for a user of system 100 to access and analyze data stored in database 116.
It will be appreciated that although one data collector 112 is shown connected to one PLC 106, a typical system 100 may comprise more than one data collector 112 and have one or more PLCs 106 connected to each data collector 112.
Prior art systems typically utilize data elements which are very closely related to operating indices of an asset 104, e.g. temperature of a processed part or count. Such systems lack more abstract and different data models enabling application of these data models in different systems without having to define the new models from the basic data elements for each system. There is a need for a system and method having a data model to provide relationships between data types overcoming these disadvantages.