A FLEXIBLE METHOD FOR BUILDING A RECIPE IN A PROCESS CONTROL SYSTEM

Abstract: A process plant has a process control system and a plurality of production lines, each production line having a predetermined equipment configuration. The process control system further includes a controller for interfacing to each production line. The process control system has information pertaining to the equipment configuration of each production line stored in an equipment data base, the operations performed by each production line stored in an operations data base, and raw materials information of the process plant stored in a raw materials data base. A method for controlling the production of a product by a production line comprises the steps of building a formula based on the product to be produced. The formula data provides information relating to relative quantities of raw materials included in the product and the manner of combining the raw materials. The formula also provides a sequence of operations for combining the raw materials compatible with production line operations and consistent with the formula data, the formula being independent of equipment. Based on the formula and a selected production line, a recipe is built for the product, the recipe being a set of procedures unique to the selected production line necessary to produce the product. The recipe is executed by the controller, the controller causing the equipments of the production line to perform the specified operations in the specified sequence as called for in the recipe to generate the product.

Description: A FLEXIBLE METHOD FOR BUILDING A RECIPE IN A PROCESS CONTROL SYSTEM BACKGROUND OF THE INVENTION The present invention relates to a method of process control of a process control system, and more particularly, to a method of generating a recipe which will be utilized by the process control system wherein the process control system includes a plurality of production lines of varying configurations, a recipe being automatically generated for each production line to match the equipment configuration of the production line. In existing systems, the configuration of the production line is inputted by the production supervisor (i.e., user) and the desired process (formula) is also inputted to a microprocessor, the microprocessor generating the recipe to be utilized by the production line to generate the product (of the formula) . In these existing systems, the recipe includes dependencies on an equipment class such that the recipe generated is specific to that class of production line. The generated recipe contains all the information for the control software to run the class production line. A recipe is also generated for each production line. In the existing systems, there is a recipe for each product -and each class of production line. Thus, for example, a system having four (4) formulas (i.e., 4 products which are manufactured) and five (5) production lines, there are twenty (20) recipes which must be generated and maintained. Thus, any changes in the formula or the equipment requires the recipe to be regenerated. Any change to the formula requires the recipe for each equipment (i.e., production line) to be reexecuted, and any change to the equipment requires all recipes for that equipment to be regenerated. Thus there exists a need to simplify the recipe generation and maintenance process. The present invention achieves the desired simplification by essentially separating the equipment information from the formula i.e., the equipment information, the operations information, and raw materials information are each stored in a separate equipment data base, operations data base, and a raw materials data base, respectively. The present invention maintains the formula and data bases as separate entities. The formula for generating the product is completely independent of equipment. The "recipe builder" of the present invention automatically generates a recipe from the formula which includes equipment information. The equipment data base is specific to a production line and doesn't change (unless the equipment is changed) . Any change to the formula (which may change for a variety of reasons such as varying texture, quality, ... of the output product) require a reexecution of recipe builder process which is done at run time in order to get the new recipe but the simplification is achieved by the separation of the equipment information from the formula and does not require the user to input all the information as is required by the existing systems. Thus, in the present invention, any changes to the formula only requires editing the formula, and any changes to the equipment only requires modifying the equipment data base. SUMMARY QF THE INVENTION Therefore, there is provided by the present invention a method which simplifies the recipe generation and maintenance of a process plant . A process plant has a process control system and a plurality of production lines, each production line having a predetermined equipment configuration. The process control system further includes a controller for interfacing to each production line. The process control system has information pertaining to the equipment configuration of each production line stored in an equipment data base, the operations performed by each production line stored in an operations data base, and raw materials information of the process plant stored in a raw materials data base. A method for controlling the production of a product by a production line comprises the steps of building a formula based on the product to be produced. The formula data provides information relating to relative quantities of raw materials included in the product and the manner of combining the raw materials . The formula also provides a sequence of operations for combining the raw materials compatible with production line operations and consistent with the formula data, the formula being independent of equipment . Based on the formula and a selected production line, a recipe is built for the product, the recipe being a set of procedures unique to the selected production line necessary to produce the product. The recipe is executed by the controller, the controller causing the equipments of the production line to perform the specified operations in the specified sequence as called for in the recipe to generate the product . Accordingly, it is an object of the present invention to provide a method for simplifying the recipe generation and maintenance of a process plant . This and other objects of the present invention will become more apparent when taken in conjunction with the following description and attached drawings, wherein like characters indicate like parts, and which drawings form a part of the present application. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a block diagram of a process control system in which the method of the present invention may be utilized; Figure 2 shows a block diagram of a process controller, the preferred embodiment of the interface apparatus of the present inven ion; Figure 3 shows a block diagram of a controller of the process controller of the preferred embodiment of the present invention; Figure 4 shows a block diagram of the I/O module of the preferred embodiment of the present invention; Figure 5 shows a typical plurality of production lines; Figure 6 shows a prior art production plant having seven production lines and prior to implementing the method of the present invention; Figure 7 shows the same production plant of Figure 6 after implementing the method of the present invention; Figure 8 shows an overview of the total system operation which includes the method of the present invention; Figure 9 shows a flow diagram of the formula build process of the preferred embodiment; Figure 10 shows a sample English representation of information supplied in a formula record; Figure 11 shows a sample production line having a predetermined configuration and a resultant output of recipe builder (recipe) from a formula inputted to recipe builder; and Figure 12 shows an overview flow diagram of the process of the recipe builder. DETAILED DESCRIPTION Before describing the present invention, it will be helpful in understanding a system environment in which the method of the present invention can be utilized. Referring to Figure 1, there is shown a block diagram of a process control system 10 of the preferred embodiment in which the present invention can be found. The process control system 10 includes a plant control network 11, and connected thereto is a data highway 12, which permits a process controller 20' to be connected thereto. In the present day process control system 10, additional process controllers 20' can be operatively connected to the plant control network 11 via a corresponding highway gateway 601 and a corresponding data highway 12. A process controller 20, an interface apparatus which includes many new, additions, improvements, and features over the process controller 20' , is operatively connected to the plant control network 11 via a universal control network (UCN) 14 to a network interface module (NIM) 602. In the preferred embodiment of the process control system 10, additional process controllers 20 can be operatively connected to the plant control network 11 via a corresponding UCN 14 and a corresponding NIM 602. The process controllers 20, 20' interface the analog input and output signals, and digital input and output signals (A/I, A/0, D/I, and D/O respectively) to the process control system 10 from the variety of field devices (not shown) of the process being controlled which include valves, pressure switches, pressure gauges, thermocouples, .... The plant control network (or more simply network) 11 provides the overall supervision of the controlled process, in conjunction with the plant operator, and obtains all the information needed to perform the supervisory function, and includes an interface with the operator. The plant control network 11 includes a plurality of physical modules, which include a universal operator station (US) 122, an application module (AM) 124, a history module (HM) 126, a computer module (CM) 128, and duplicates (backup or secondary) of these modules (and additional types of modules, not shown) as necessary to perform the required control/supervisory function of the process being controlled. Each of these physical modules is operatively connected to a local control network (LCN) 120 which permits each of these modules to communicate with each other as necessary. The NIM 602 and HG 601 provide an interface between the LCN 120 and the UCN 14, and the LCN 120 and the data highway 12, respectively. Physical modules 122, 124, 126, 128, ... of network 11 of the preferred embodiment are of various specialized functional types. Each physical module is the peer, or equivalent, of the other in terms of right of access to the network's communication medium, or LCN 120, for the purpose of transmitting data to other physical modules of network 11. Universal operator station module (US) 122 of network 11 is a work station for one or more plant operators. It includes an operator console which is the interface between the plant operator, or operators, and the process or processes of the plant for which they are responsible. Each universal operator station module 122, is connected to the LCN 120, and all communications between the universal operator station module 122, and any other physical module of network 11, is via the LCN 120. Universal operator station module 122 has access to data that is on the LCN 120 and the resources and data available through, or from, any of the other physical modules of network 11. The universal station module 122 includes a cathode ray tube display (CRT) (not shown) which includes a video display generator, an operator keyboard (KB) (not shown) , a printer (PRT) (not shown) , and can also include (but not shown) a cartridge disk data storage device, trend pen recorders, and status displays, for example. A history module (HM) 126 provides mass data storage capability. The history module 126 includes at least one conventional disk mass storage device such as a Winchester disk, which disk storage device provides a large volume of nonvolatile storage capability for binary data. The types of data stored by such a mass storage device are typically trend histories, event histories, ....or data from which such histories can be determined, data that constitutes or forms CRT type displays, copies of programs for the physical modules.... An application module (AM) 124 provides additional data processing capability in support of the process control functions performed by the controllers associated with the process control subsystem 20, 20' such as data acquisition, alarming, batch history collection, and provide continuous control computational facilities when needed. The data processing capability of the application module 124 is provided by a processor (not shown) and a memory (not shown) associated with the module. Computer module (CM) 128 uses the standard or common units of all physical modules to permit a medium-to-large scale, general purpose data processing system to communicate with other physical modules of network 11 and the units of such modules over the LCN 120 and the units of process control subsystems 20, 20' via the highway gateway module 601, and the NIM 602, respectively. Data processing systems of a computer module 128 are used to provide supervisory, optimization, generalized user program preparation and execution of such programs in higher level program languages. Typically, the data processing systems of a computer module 128 have the capability of communicating with other such systems by a communication processor and communication lines. The local control network 120 (LCN) is a high-speed, bit serial, dual redundant communication network that interconnects all the physical modules of plant control network 11. LCN 120 provides the only data transfer path between the principal sources of data, such as highway gateway module 601, application module 124, and history module 126, and principal users of such data, such as universal operator station module 122, computer module 128, and application module 124. LCN 120 also provides the communication medium over which large blocks of data, such as memory images, can be moved from one physical module such as history module 126 to universal station module 122. LCN 120 is dual redundant in that it consists of two coaxial cables that permit the serial transmission of binary signals over both cables. A more complete description of the plant control network 11, and the physical modules can be had by reference to U.S. Patent No. 4 , 607 , 256 . Referring to Figure 2 there is shown a block diagram of the process controller 20, i.e., of the preferred embodiment. The process controller 20 of the preferred embodiment includes a controller A30 and a controller B40, which effectively operate as a primary and secondary controller. Controller A30 and Controller B40 are connected to the UCN 14, the UCN 14 in the preferred embodiment comprising for communication redundancy purposes, a UCN(A) 14A and a UCN(B) 14B. Input output (I/O) modules 21 interface to field devices, field devices being various valves, pressure switches, pressure gauges, thermocouples, ... which can be analog inputs (A/I) , analog outputs (A/0) , digital inputs (D/I) , and digital outputs (D/O) . The controller A30 interfaces to each I/O module 21 via a bus A22, and controller B40 interfaces to each I/O module 21 via a bus B23. In addition, once again for communication redundancy purposes, controller A30 is also connected to bus B and controller B40 is connected to bus A22. Controller A and controller B, 30, 40, can communicate with each other via three mediums, the UCN 14, a link 13 between the controllers, and the busses A, B, 22, 23, bus A and bus B in the preferred embodiment being serial I/O links. One controller (controller A30 or controller B40) operates as a secondary controller (in more of a reserve mode than a back-up, in that if a failure of controller A30 should occur, controller B is ready to take over the control function with essentially no start-up or initialization time) . On a predetermined time basis, point processing is performed by the controller designated as the primary controller and communicates with the I/O modules 21. In addition, the controller acting as the primary controller communicates with the plant control network 11 reporting status, history, and accepting inputs from the plant control network such as commands from the operator via the universal station 122. In addition, a data base maintained by the primary controller is communicated to the secondary controller via link 13. In the preferred embodiment, as mentioned above one controller operates as a secondary controller; however, it will be understood by those skilled in the art that a secondary controller is not necessary for the process controller 20. In the preferred embodiment, the secondary controller is optional and operates in a mode intended by the invention. It will further be understood by those skilled in the art that various configurations can exist for interfacing the controller A, B30, 40 to the UCN 14A, 14B. Controller A30 can be interfaced to UCN 14A and controller B40 can be interfaced to UCN 14B; however, in this case a bus (UCN) of event that causes UCN A 14A to fail can cause a switch-over to the backup controller, i.e., controller B40. But in the preferred embodiment, controller A30 is connected to both UCN 14A and 14B. Likewise, controller B40 is connected to both 14A and 14B. In this configuration, a communication event does not force the system to a processor failover situation. Referring to Figure 3, there is shown a block diagram of the controller 30, 40. A modem 50 is connected tot he UCN 14, the . modem having two inputs, one connected to UCN 14A and the other connected UCN 14B. In preferred embodiment, the modem is a Concord Data Systems 5 mega-bit carrier band modem having two ports which allows interfacing with a communication unit (COMM) 60 which in turn interfaces with a global memory 70, an I/O interface unit 80, and a control unit 90 via global bus 72. The communication unit 60 includes a communication control unit, in the preferred embodiment a token bus controller (TBC) 61, Motorola type 68824, which is connected to a local bus 62. Connected to the local bus 62 is a processor A63 (which essentially performs the communication function) and a local memory A64. The processor A63 via the TBC 61, communicates with the plant control network 11 via modem 50. The local memory A64 stores information, including personality image which is downloaded from the plant control network 11, for use by processor A63 and TBC 61. The global memory 70 stores information which is common to both processors A63 and B91. It also stores all the data received from bus A22 and B23. The global memory 70 also serves as an interprocessor communication vehicle between processors A63 and B91. Control unit 90 includes a processor B91 and a local memory B92. Processor B91 performs the control function (i.e., control processing) relating to the field devices. This essentially includes performing the point processing, and updating the local memory B92 and global memory 70. Also coupled to the local bus 93 of control unit 90 is a track unit 94 which is utilized to implement the data base transfer via link 13 to the other controller 30, 40 of the process controller 20. The I/O interface unit 80 includes a receiver-transmitter device, in the preferred embodiment this device being a UART (Universal Asynchronous Receiver/Transmitter) 81. In the preferred embodiment the UART utilized is a circuit within the Intel 80C31 microcontroller. The UART 81 is coupled through drivers 82, 83, to bus A22 and bus B23, respectively. (As mentioned previously, control unit 90 can be eliminated, the control processing being performed by another processor within the plant control network 11, such as AM124. In this configuration, the interface apparatus of the present invention functions as a data acquisition unit) . Processor B91 receives data from the various field devices through global memory 70, performs the necessary point processing and control function, and then updates the local memory B92 and global memory 70, as required. The communication unit 60, in response to commands from the control unit 90 via global memory 70, inputs and outputs data between the I/O modules 21 (via the I/O interface unit 80) and the global memory 70, thereby relieving the control unit 90 from the burden of I/O module management. In this manner the control processing is performed by the control unit 90 within the process control 20 for the predefined attached field devices, and the communication (i.e., the I/O control) is handled by the communication unit 60 through the UART 81. Referring to Figure 4 there is shown a block diagram of the I/O module of the preferred embodiment. A transceiver (anti-jabber circuit) 201 interfaces with bus A22 and bus B23. The transceiver 201 interfaces with a microcontroller (u-controller) 202. In the preferred embodiment the micro-controller 202 is of the type, Intel 80C31. The micro-controller is coupled to a local bus 203, and includes an EPROM 204 and a RAM 205 also attached to the local bus 203. The RAM 205 also attached to the local bus 203. The RAM 205 also attached to the local bus 203. The RAM 205 contains the information which forms the database for the I/O module 21. The EPROM 204 contains the program information utilized by the microcontroller 202. (It will be recognized by those skilled in the art that the EPROM and RAM comprise a memory unit and any type memory unit which can interface with the micro-controller 202 may be utilized.) Also attached to local bus 203 is an input buffer which receives the I/O link address information from the I/O link (bus A, bus B, 22, 23) . Connected to the input buffer (BUFFER IN) 206 is a hardware revision code unit 207 which identifies the hardware and revision of the I/O module 21 which can be read by the micro-controller 202 in order to verify the revision of the hardware. The output buffer (BUFFER OUT) 208 is also connected to the local bus 203. The application specific circuits 209 is also connected to the local bus 203 and interfaces with the input and output buffers 209 is also connected to the local bus 203 and interfaces with the input and output buffers 206, 208, and microcontroller 202 via the local bus 203. The application specific circuits vary from I/O module to I/O module depending on the field device to which the I/O module is to be coupled. If the field device is of a type which requires a digital input, then the application specific circuit 209 will include the logic in order to place the digital input into a predefined format which will interface with the remainder of the I/O module. Likewise, if the field device is such that requires an analog input, then the application specific circuit contains a logic which converts the analog input signal (via an A/D converter) into a format again consistent with predefined formats. In this manner, the I/O modules are referred to as a specific I/O module type. The microcontroller 202 performs the I/O processing (or preprocessing) for the application specific circuits 209. The preprocessing will vary from each I/O module 21 depending on the type (i.e., A/I, A/0, ...) the preprocessing essentially consisting of translating the signals from the application specific circuits to a format compatible with the controller 30, 40 (and more specifically with control unit 90) , and putting the signals from controller 30, 40 in a format compatible with the I/O module 21. Some of the preprocessing performed includes zero drift, linearization (linearizing thermocouples) , hardware correction, compensation (gain compensation and zero compensation) , reference junction compensation, calibration correction, conversions, checking for alarms (limits) ... and generating a signal in a predetermined format having predetermined scale (i.e., engineering units, normalized units, percent of scale, ...) . In the preferred embodiment of I/O module 21, seven types of applications specific circuits are currently provided for, these include a high level analog input, low level analog input, analog output, digital input, digital output, smart transmitter interface, and pulse input counter. The process control system 10 described above controls a plurality of production lines. Each production line has predetermined equipment and a predetermined interconnection between equipments. Referring to Figure 5, there is shown a typical plurality of production lines each production line having predetermined equipment contained therein and a predetermined interconnection between equipments. For example purposes only, production line 1 200 includes vat A201 and a vat B202. Vat A201 has a valve 203 which permits raw material (MAT A) to flow into vat A201. Vat B202 receives the raw material from vat A201 when a valve 204 is opened and/or raw material (B, MAT B) when pump 205 is active. Vat B also contains an agitator 206. Again for example purposes only production line 2 210 includes a vat C211 and a vat D212. Vat D also includes an agitator 213. Material from vat C211 flows into vat B212 when valve 214 is opened. Vat C receives material A and material B when the corresponding pump 217 and corresponding vale 218 in the pipeline to vat C211 is on, and the corresponding pump 219 in the pipeline is on. Thus each production line has its own predetermined equipment set and interconnection of the equipment. It is obvious to one skilled in the art that a plurality of production lines can each have various equipments and equipment configurations. The interconnection between the equipment is essentially fixed by the hardware (pipelines) but the flow between equipments is controllable by the valves, pumps, ... included in the equipment configuration of the production line. When a predetermined product is to be made by the production line(s) the production line is controlled in accordance with a "recipe". The recipe is generated as some time prior to production run. In the preferred embodiment the recipe is generated by the plant control network 11 based on the inputs from an operator at the universal station 122. The recipe is generated in accordance with the method of the present invention based on inputs/information which include the formula of the product (the formula being equipment being independent) , an operations data base, raw materials data base, and equipment data base for a predetermined production line, which will be described hereinunder. After the recipe is generated it is stored; in the preferred embodiment the recipe is stored in preestablished files of the history module 128. When the production run is commanded, the recipe is down loaded to a predetermined controller 30, 40 which then executes the control of the field devices of the production line connected thereto via the appropriate I/O modules 21, as described above. A different recipe is required for each product of each production line. Referring to Figure 6, there is shown a prior art production plant having seven production lines and prior to implementing the method of the present invention. For example purposes only, assuming there are 10 formulas, and since each formula includes equipment data (E) , there are 140 equipment-formula records to be stored, and thus 140 recipes. Any time a change to the formula is made, 140 equipment-formula records must be changed and also 140 recipes. Referring to Figure 7, there is shown the same production plant as in Figure 6 having seven production lines but now includes the method of the present invention. Assuming again for example purposes only there are 10 formula's, the formula management problem identified above is essentially eliminated since all that is stored in the present invention are the 10 formulas. At one time, that is just prior to a production run, the method of the present invention, the recipe builder, utilizes the equipment there for the production line selected and the formula which corresponds for the product to be generated, and generates the recipe. The recipe can be stored as described above, and then downloaded from the plant control network, or it will be recognized by one skilled in the art can be generated as a preliminary to the production run. Also after the recipe is generated the recipe may or may not be stored as desired by the plant supervisor, i.e., the operator. Thus it can be seen that the method of the present invention eliminates the formula management (and recipe management) problem identified with prior art systems. The present invention will now be described. Referring to Figure 8, there is shown an overview of the total system operation which includes the method of the present invention; namely, the recipe builder. Stored in the process control system is included a raw material data base 220 (RMDB) an operations data base 221 (OPDB) , and an equipment data base 222 (EQDB) . The raw materials data base 220 includes global raw material data, that is raw material excisable by all the production lines within the plant, systems specific raw material data and advance control information which is system specific. The global raw material data includes the name of the raw material, an identifier code, a description, .... The systems specific raw material data includes whether the raw material is available, source identifier, engineering units, conversion factors from batch units to feed units, .... The systems specific advance control information includes minimum time for valve to open, average flow during feed, .... The operations data base 221 includes operations pertaining to the formula and operations pertaining to the recipe. In both instances the operations are identified in the operations data base and includes such operations as agitation, recirculation, material feed, blend, .... These are the operations which can be performed by the production lines within the physical plant. Includes information about each production line. The production line is a system which is the set of process equipment required to produce a product. Within the system is a subsystem which identifies the vessel (s) or process units within a system, and a gauge tank which is an addition system which delivers a raw material to a subsystem with a fill and dump type action. The system portion of the equipment data base include information such as in use/not in use, path for recipe build files, ..., and the subsystem information includes the dump destination, dump raw material, maximum vessel capacity, .... The gauge tank portion of the equipment data base includes maximum vessel weight, minimum capability, zero flow start, .... Formula data for a product is inputted to the process control system. The formula data (or formula card) is the product specification and procedures to make the product as produced in a laboratory by a product development group. At the plant, the formula (or formula data) must be adapted to the plant location, or site. The formula builder essentially translates the information of the formula data to a formula which is compatible with the process control system. The formula build operation is a manual operation which incorporates operations which can be performed at the plant, in the preferred embodiment the operator interacts with the process control system at the universal station 122 to generate the formula. Essentially the operator compares the data to the available equipment of the production line and examines the operation which is needed to performed in order to generate the product, and from this operation generates a formula. For example the formula data may indicate which raw materials are to be added to a vat (or vessel) where order is not important. The formula may indicate to mix predetermined quantities in percentages or materials A, B, C, and D. However, the operator (or plant engineer) has to determine an order which will accomplish the desired result. If for example a quantity of dry material is dumped into a vat before adding a liquid, the combination may not mix because the agitator may be unable to perform its agitating system of the combination i.e., the dry material. Therefore, being generated by the formula builder process generates a formula which is compatible with the production lines of the plant, but does not include equipment information in the formula. The recipe builder 224 merges the formula data (operations list, systems specific raw materials data, and equipment data base data to generate a recipe. Recipes are the systems specific procedures required to make the product . The recipe builder builds one recipe against one system (or production line) . The recipe can be saved in appropriate storage or can be executed by a process controller of the process control system as described above. The controller operates control sequences in accordance with the sequence of the recipe and performs any arbitration needed when a resource is shared. Lot tracking consists of passing the amount of a material that was fed to a vessel data base the vessel data base totalize the materials the materials and supplies a lot usage report to the activity log. The activity log is a sequence of events reporting function and captures step data before execution. Each activity log contains time stamps which indicate the time and operation was started and the time at which it was completed. Once the recipe execution is complete, the activity log is written into the history module (or history archives) 126. Referring to Figure 9, there is shown a flow diagram of the formula build process of the preferred embodiment . The operator, from the US122 of the preferred embodiment makes the various entries from the keyboard and interacts with the process control system from the universal station US122. Once the formula buildup process is selected from a menu, the interaction process includes determining if a new formula is to be built (lock 301) . If a new formula is to be built, a new record is opened and global data is supplied such as the formula ID, ... (blocks 302, 303) . If an old formula is to be reviewed or modified the old formula is called from its stored location (block 304) . From the operation data base, the operator selects the desired operation (block 305) , and default information is inserted into the record (block 306) . If a feed operation was selected (block 307) the raw material required to be fed is selected from the raw materials data base (block 308) . Other data is then inputted into the record (block 309) , which includes quantity, in relative amounts, .... If the formula build process is completed the process is exited (block 310) otherwise the formula build process continues back at the select operation (block 305) . When the formula is completed, the formula will take on the appearance as shown in Figure 10. Quantities are in percentages or relative amounts, and operations including the sequence of operations and the duration of the operation is also included. It will be obvious to one skilled in the art that the formula as shown in Figure 10 is a sample English representation of information supplied in the record which is in a format compatible with the processing system of the process control system (i.e., the microprocessor or engine) and is compatible in an engine which can be utilized by the recipe builder operation included in the process control system 10. The method of the recipe builder of the preferred embodiment of the present invention will now be described. As described above the recipe builder merges the formula data (operation list) , the systems specific raw material data (that is links the source of the raw material to the raw material identified in the formula) and the equipment data base data to generate the recipe, as previously mentioned above. The output of the recipe builder is a recipe which is a set of specific control procedures for the selected system (i.e., production line required to make the product of the formula) . Referring to Figure 11, there is shown a sample system (production line) having a predetermined configuration. Also shown is an example of a recipe (output) of the recipe builder from a formula. It will be understood by those skilled in the art that if the equipment configuration of the production line is different from that of Figure 11, the recipe is different and corresponds to the equipment configuration. If a production line does not have a connection to receive raw material A, then the production line cannot be used to produce the production of the formula. Referring to Figure 12, there is shown an overview flow diagram of the process of the recipe builder. The first step of the recipe builder is to select the product (or formula, the product specifying the formula) , and to select the production line to be used to produce the product. Once this information is obtained all the necessary data is fetched into memory so it can be utilized by the processor performing the recipe build operation. In particular, the formula information is selected based on the formula picked, and the equipment data is fetched based on the production line selected above. This information is obtained from the various data bases being maintained by the process control system. All the information is incorporated into single temporary data structure which is used by the recipe builder. The second step, or second pass, i.e., pass 2, is responsible for identifying material feed groups within the batch and inserting START, READY TO DUMP, REQUEST TO DUMP, ... steps (operations) into the recipe when necessary. Pass 2 employs logic which views the recipe as a sequential series of operations even though the final result of the recipe built is a set of recipes which can be executed in parallel . Pass 2 employs a concept called chaining. A chain is defined as a group of vessels a material must travel through in order to reach the primary substation. Pass 2 also employs a concept called the first common ancestor. To determine the first common ancestor between two vessels, the chains generated by each vessel are examined the first vessel that is common to both chains is the first common ancestor. The pass 2 logic views the recipe as a series of sequential operations. On this bases a logic always keeps track of the vessel which is currently active, and is so marked. When a task is encountered that is marked as being "group defining" or "group ending" within its typed definition, then the active vessel and current chain are reevaluated. When ever a step is examined in the recipe a check is performed to make sure that the vessel into which the step will be located as already been started if it has not, then a start step is added to the recipe to that vessel. Whenever a vessel is changed, it results in a change to the current chain the logic checks that every vessel in the chain is started. Dumps can be generated in the recipe build through one of three cases these are the group defining tasks, group ending tasks and force secondary group dump request. When a vessel dumps, its status is changed from "STARTED" to "NOT STARTED" this is because any further actions in that vessel will be part of another group and will require an insertion of another start step into the vessel recipe. The pass 3 of the recipe builder examines each start step within the recipe to determine if the start step should be made conditional . For each START step that is made conditional, a corresponding INITIATE step must be added to the vessel to which containing the start step dumps . The pass 3 logic scans through the steps in the pass 2 results and perform two basic functions. First it maintains a flag to indicate whether the steps being examined are currently inside of an analysis task or not. Second, it examines each start step encountered, categorizes the start step into one of five categories. The five categories include start step of preliminary vessel, material residency restriction (no inside analysis task) , material residency restriction (inside analysis task) , no material residency restriction and not inside analysis task, and no material residency restriction (inside analysis task) . Pass 4 of the recipe builder sorts all the steps in the pass 3 results according to the vessel they are located in. Steps located in vessel 1 come first, and steps located in vessel 20 come last. Pass 5 of the recipe builder inserts initiate gauge fill steps into the recipe. For each gauge tank feed present in the recipe, the corresponding gauge tank fill step must be inserted into the recipe somewhere prior to the gauge tank feed. Gauge tank fill steps are placed at the beginning of a vessel recipe (immediately after the start step) with the following exceptions: A. Initiate step for any gauge tank with a material residency restriction is placed immediately before the corresponding gauge tank feed step, and B. The initiate step for any gauge tank feed that is within a group with a conditional start is placed immediately after the start step for the group in which the material is fed. The logic for inserting the gauge tank fill step is now described the steps and the recipe are searched by the logic until a gauge tank feed step is located. If the gauge tank feed step is a material residency restriction, then the gauge tank fill step is inserted immediately prior to the gauge tank feed. If there is not material residency restriction, then the logic search is backwards through the steps in the recipe until either a conditional start up step or the first start step in the recipe is located. The initiate gauge tank fill step in inserted immediately after the start step. The remaining passes of the recipe build logic do not generate any more steps or change the order of any steps. The order of steps after pass 5 results in the order of the steps as they will appear in the finished individual vessel recipes. In the subsequent passes, material feed steps retrieve the default value for the detailed enumeration code from there type definition point. Setpoint limits for all start steps are set to zero maximum vessel weight . The engineering unit setpoints, setpoints limits, and material tolerance are recalculated for all material feeds in the recipe. In the last step the recipe builder calculates group setpoints. These setpoints are written into the engineering units setpoints values of all START STEPS and all requested TO DUMP STEPS. A more detailed description of the operation of recipe builder of the preferred embodiment can be had by referring to Appendix A (pages A-0 through A-71) , and in particular pages A-55 through A-59. It will be obvious to one skilled in the art that the process described above directed to a chemical type process and that the above described process can also be adapted to mechanical type processes such that the operation data base includes mechanical type operations such as sanding, drilling, ..., the raw material data base defines parts, stock, ... , to be processed from a predetermined source, and the equipment data base includes laths, sanders, drillers, .... Also, assembly type processes can be drilled via the above described process such that the source defined location of the part..., operation defines insert, bolt, solder, ... , and raw material defines the part to be inserted, .... Further, while a batch ' type process is described in the example of the preferred embodiment, it will be understood by one skilled in the art that the method described herein is equally adaptable to a continuous process such as DUMP steps are replaced by "material transfer" so that a device is defined to continually transfer material, .... While there has been shown what is considered to be the preferred embodiment of the present invention, it will be manifest that many changes and modifications can be made therein without departing from the essential spirit and scope of the invention. It is intended, therefore, annexed claims to cover all such changes and modifications which fall within the true scope of the invention.

Claims: £L M£ 1. In a process plant having a process control system and at least one production line, each production line having a predetermined equipment configuration, the process control system further including a controller for interfacing to each production line, the process control system having information pertaining to the equipment configuration of each production line stored in an equipment data base, the operations performed by each production line stored in an operations data base, and raw materials information of the process plant stored in a raw materials data base, a method for controlling the production of a product by a production line comprising the steps of: a) based on the product to be produced, building a formula from formula data, the formula data providing information relating to relative quantities of raw materials included in the product, the order of combining the raw materials, and the process operations, the formula providing a sequence of operations for combining the raw materials compatible with production line operations and consistent with the formula data, the formula being independent of equipment; b) based on the formula and a selected production line, building a recipe for the product, the recipe being a set of procedures unique to the selected production line necessary to produce the product; and c) executing the recipe by the controller, the controller causing the equipments of the production line to perform the specified operations in the specified sequence as called for in the recipe to generate the product .

Inventors: CHAPPELL DAVID A, CLEMENTS EMORY C, KLINE ROBERT C JR, KREHBIEL GRETCHEN, STRILICH DAVID A, TANNER DARRELL, CHAPPELL, DAVID, A., CLEMENTS, EMORY, C., KLINE, ROBERT, C., JR., KREHBIEL, GRETCHEN, STRILICH, DAVID, A., TANNER, DARRELL
Applicants: CHAPPELL DAVID A, HONEYWELL INC, CHAPPELL, DAVID, A., HONEYWELL INC.
Application year: 1993
Main classification: G05B15
IPC codes: B23Q41, G05B15, G05B19