+ All Categories
Home > Documents > Steel Billet Reheating: An Expert Approach

Steel Billet Reheating: An Expert Approach

Date post: 01-Feb-2022
Category:
Upload: others
View: 14 times
Download: 0 times
Share this document with a friend
173
Steel Billet Reheating: An Expert Approach By Cliff Mui BASc, The University of British Columbia, 1989 A THESIS SUBMITTED IN PARTIAL FULFULLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in FACULTY OF GRADUATE STUDIES DEPARTMENT OF METALS AND MATERIALS ENGINEERING We accept this thesis as conforming Jp the re^uaired-ssjandard THE UNIVERSITY OF BRITISH COLUMBIA July 1998 ©Cliff Mui, 1998
Transcript

Steel Billet Reheating: An Expert Approach

B y

C l i f f M u i B A S c , The University of British Columbia, 1989

A THESIS S U B M I T T E D I N P A R T I A L F U L F U L L M E N T O F T H E R E Q U I R E M E N T S F O R T H E D E G R E E O F

M A S T E R O F A P P L I E D S C I E N C E

in

F A C U L T Y OF G R A D U A T E S T U D I E S

D E P A R T M E N T O F M E T A L S A N D M A T E R I A L S E N G I N E E R I N G

We accept this thesis as conforming Jp the re^uaired-ssjandard

T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A July 1998

© C l i f f M u i , 1998

In presenting this thesis in partial fulfilment of the requirements for an advanced

degree at the University of British Columbia, I agree that the Library shall make it

freely available for reference and study. I further agree that permission for extensive

copying of this thesis for scholarly purposes may be granted by the head of my

department or by his or her representatives. It is understood that copying or

publication of this thesis for financial gain shall not be allowed without my written

permission.

Department of jA&TALS AMD rAATagvAlS £r>&lMfc£fllMG

The University of British Columbia Vancouver, Canada

Date O C T O B E R IS,

DE-6 (2/88)

ABSTRACT

The manufacturing of steel bar products in mini-mills involves the continuous

casting of billet sections, cooling of the billets, reheating to rolling temperatures and final

shaping and size reduction in rolling mills. The operation of such furnaces can be a

challenge due to the dynamic nature of both the reheating and rolling processes. The

operation of a furnace was analyzed with the use of a S C A D A data collection system,

steady state and transient mathematical models. The new knowledge gathered in this way

was complimented by existing knowledge from experienced mi l l personnel to form the

basis for an expert system designed to offer timely advice to furnace operators. The

result was the development of an industrial expert system leading to an increase in

furnace mi l l productivity.

n

TABLE OF CONTENTS

A B S T R A C T ii

T A B L E O F C O N T E N T S iii

L I S T O F T A B L E S v

L I S T O F F I G U R E S vi

G L O S S A R Y viii

A C K N O W L E D G M E N T S x

C H A P T E R 1. I N T R O D U C T I O N 1

C H A P T E R 2. B A C K G R O U N D A N D P R E V I O U S W O R K 3

C H A P T E R 2.1. T H E S T E E L R E H E A T I N G F U R N A C E : 3

C H A P T E R 2.2. P R O B L E M S A S S O C I A T E D WITH R E H E A T I N G F U R N A C E O P E R A T I O N : 8

C H A P T E R 3. E X P E R T A N D S C A D A S Y S T E M S 19

C H A P T E R 3.1. E X P E R T SYSTEMS: 19

C H A P T E R 3.2. E X A M P L E S OF E X P E R T SYSTEMS: 22

C H A P T E R 3.3. P R O P O S E D I M P L E M E N T A T I O N OF A N E X P E R T S Y S T E M T O T H E R E H E A T I N G F U R N A C E : 2 8

C H A P T E R 3.4. O B T A I N I N G A N D PROCESSING F U R N A C E D A T A - T H E SUPERVISORY C O N T R O L A N D D A T A

AQUISITION ( S C A D A ) S Y S T E M : 33

C H A P T E R 4. S C O P E A N D O B J E C T I V E S 38

C H A P T E R 4.1. S C O P E OF T H E PROJECT: 38

C H A P T E R 4.2. OBJECTIVES OF T H E PROJECT: 39

C H A P T E R 5. - M E T H O D O L O G Y 41

C H A P T E R 5.1. A P P R O A C H T O T H E R E H E A T I N G P R O B L E M : 41

C H A P T E R 5.2. I M P L E M E N T A T I O N O F T H E E X P E R T S Y S T E M : 45

C H A P T E R 5.3. T H E I N S T A L L E D E X P E R T S Y S T E M : 47

C H A P T E R 5.4. A N A L Y S I S OF T H E F U R N A C E OPERATION D A T A : 63

C H A P T E R 5.5. A N A L Y S I S OF T H E O P T I C A L P Y R O M E T E R D A T A : 66

C H A P T E R 5.6. A N A L Y S I S OF T H E B I L L E T GROUPINGS: 67

C H A P T E R 6. R E S U L T S A N D D I S C U S S I O N : 69

C H A P T E R 6.1. T H E E X P E R T S Y S T E M : 69

C H A P T E R 6.2. T H E I N T E R F A C E & O P E R A T O R RESPONSE: 76

C H A P T E R 6.3. BENEFITS OF T H E S Y S T E M T O T H E M I L L OPERATION: 80

C H A P T E R 7. C O N C L U S I O N S 81

B I B L I O G R A P H Y 82

A P P E N D I X A M A T H E M A T I C A L M O D E L I N G R E S U L T S 85

A P P E N D I X B H A R D W A R E 92

i i i

APPENDIX C SOFTWARE 93

APPENDIX D PLANT TRIALS 94

APPENDIX E DATA PROCESSING CODE 95

APPENDIX F FILES ON THE QNX MMI COMPUTER 109

APPENDIX G COMDALE/C KNOWLEDGE BASE CODE 115

APPENDIX H RAW AND PROCESSED DATA FROM 6 OPERATING WEEKS 152

IV

LIST OF TABLES

Table 3.1 Description of Data/Knowledge Stream 32 Table 5.1 Possible Outcomes of Delay Time Estimation and Error Consequences 44 Table 5.2 Possible Outcomes of Delay Time Estimation and Control Responses 44 Table 5.3 Possible Detector Signal Sequences 54 Table 5.4 Child Processes Within the Inference Engine 62 Table 5.5 Reheating Furnace Control Procedure Analysis 65

Appendix Tables

Table A - 1 Basic Post-Delay Firing Strategy 89 Table A - 2 Fine Post-Delay Firing Strategy 89

v

LIST OF FIGURES Figure 2.1 Conversion from Scrap to Billet Steel 4 Figure 2.2 Schematic of the Post-heating Rolling Process 4 Figure 2.3 Side View of the Furnace 5 Figure 2.4 Existing Control Flow Diagram 6 Figure 2.5 End View Schematic of the Billet Support Beams 10 Figure 2.6 Top View of Billets Resting on Support Beams 11 Figure 2.7 Typical Axial Temperature Profile 11 Figure 2.8 Effect of Carbon Content on Steel Melting Temperature 15 Figure 2.9 Schematic of the Migration of Carbon from the Steel into the Combustion Atmosphere 16 Figure 2.10 Limiting conditions of time and temperature for various degrees of decarburization in

3" slab based upon isothermal data. 17 Figure 3.1. Pyrolysis Chamber for Alumina Fibres 24 Figure 3.2 Schematic of the Data and Knowledge Streams 31 Figure 3.3 QNX multitasking operating system 33 Figure 3.4 Knowledge Units Available to Comdale/C 36 Figure 3.5 Independent Application Modules 37 Figure 5.1 Interim Logging System 46 Figure 5.2 Block Diagram of the Current System 46 Figure 5.3 Block Diagram of the Proposed System 46 Figure 5.4 MMI Billet Profile Screen 49 Figure 5.5 SOP Product Selection Screen 53 Figure 5.6 Schematic of the Mill Sensor Layout 53 Figure 5.7 Hot Metal Detector (HMD - an optical position sensor) Signal Quality 54 Figure 5.8 Historical Furnace Operation Screen - Gas Flows 55 Figure 5.9 Historical Furnace Operation Screen - Temperatures 56 Figure 5.10 Advisory Screen 57 Figure 5.11 Inference Logic Cycle applied to the Knowledge Base 61 Figure 6.1 N6 Raw Gap Times 72 Figure 6.2 N6 Gap Time with Arbitrary Ranges 72 Figure 6.3 Example of Furnace Zone Temperature Traces 73 Figure 6.4 Example of Furnace Natural Gas Traces 73 Figure 6.5 Example of Furnace Air Traces 74 Figure 6.6 Example of Furnace Pressure Traces 74 Figure 6.7 Plot of Billet Temperature Profiles Over Time 75

Appendix Figures

Figure A -1 Plant Trial Results as Compared with Modeling Results 85 Figure A - 2 Results of a Basic Strategy with a Null Strategy 90 Figure A - 3 Results of a Fine Strategy with a Null Strategy 90 Figure A - 4 Billet Release Gap Times 153 Figure A - 5 Billet Release Gap times 153 Figure A - 6 Billet Release Gap Times 154 Figure A - 7 Billet Release Gap Times 154 Figure A-8 Billet Release Gap Times 155 Figure A-9 Billet Release Gap Times 155 Figure A -10 Billet Release Gap Times 156 Figure A -11 Billet Release Gap Times 156 Figure A -12 Billet Release Profile - 40 second target 157 Figure A -13 Modified Billet Release Profile - 40 second target 157

vi

Figure A -14 Magnified Billet Release Profile - 40 second target 158 Figure A - 15 Billet Release Profile - 50 second target 159 Figure A - 16 Modified Billet Release Profile - 50 second target 159 Figure A - 17 Magnified Billet Release Profile - 50 second target 160 Figure A-18 Billet Release Profile -100 second target 161 Figure A - 19 Modified Billet Release Profile -100 second target 161 Figure A - 20 Magnified Billet Release Profile - 100 second target 162

v i i

\

GLOSSARY

A l - "Artificial Intelligence is a collection of computer-based techniques, based on the manipulation of symbols rather than numbers, which enable computer to produce behavior which resembles that previously only seen in humans." [1,2]

Bar- Describes a section of billets which has been deformed and is currently being rolled in the rolling m i l l

B E T A - the second phase of software development in which developers w i l l make a limited release of the code in an unfinished form in order to obtain user feedback from final users.

Bil let - A raw steel section prior to rolling typically less than 16 ft long, square section of 4 3/4", 6" or 8" for our mi l l (corresponds to N 2 , N 3 , and N6)

Cobble - A bar misfed or tangled in mid rolling causing a stoppage in the rolling operation

Comdale/C - Real-Time expert system software like Comdale/X but is capable of managing real-time inputs from the processes and making Expert control contributions

Comdale/X - Expert system software including knowledge base generator, inference engine and man/machine interface- written by Comdale Technologies.

Degree of Bel ief - The percentage in which one believes a proposition is correct Degree of Certainty - The percentage certainty that a piece of information is correct Heat - A single batch of heated steel conforming to a set of metallurgical standards which

is destined for casting and rolling. Heuristics - A set of information, knowledge and procedures which is used in problem

solving H M D - Hot Metal Detector - "electric eye" with a narrow range of vision which is

sensitive to infrared radiation, i.e. the radiant energy from the hot billet as it passes a point in front of the detector.

Inference Engine- The C P U of an expert system which performs knowledge based reasoning.

ISO9002 - The international standard which manufacturing companies must comply to be able to carry the ISO9002 qualify insignia.

Key Word Triplet - The sequence of three words link into a symbolic representation of a piece of knowledge, e.g. "object.attribute.value" each with a degree of certainly attached

M M I - M a n Machine Interface - The interface between the process and the operator, can but does not necessary include control

Pace - The distance that the walking beam moves the billets on each walk. This is also equal to the billets spacing or some whole fraction of the billet spacing.

Pace rate - the rate at which the billets are walked through the furnace (i.e. steps/min)

v i i i

PID - Proportional Integral Derivative - Describes the control process in which control changes are made in a fashion which examines not only a non target condition but adjusts control with respect to magnitude of offset, required adjustment, and rate o f change.

P L C - Programmable Logic Controller - a microprocessor designed to accept software instruction sets which adjust control outputs based on control inputs

ProcessVision - Real-time process view and control software capable of accepting real­time inputs from processes and providing a visual interface for the process supervisor.

Process Lore-the false belief in a basic principle or effects of segments of process control Q N X - P C based U N I X operating software which allows real-multitasking of software in

the industrial environment - written by Quantum Software. Quality Assurance - The supervision of the process of producing a product in order to

ensure all process steps contribute to a product which wi l l be within specifications Quality Control - The examination of products after production to ensure that the

products are within specifications. S C A D A - Supervisory Control A n d Data Acquisition - a supervisory system which is

capable of acquiring process information remotely and supplying appropriate control to the process.

Skidmark - a skidmark is a thermal depression on a billet caused by the billet sitting on the relatively cold stationary support beam.

Skidmark Severity - The severity in terms of the absolute temperature drop in the skidmark region in contrast to the surrounding regions.

Slide Wire - a electro-mechanical system which results in a resistance output based on the mechanical position of a detector arm.

Stand - A large piece of machinery housing a vertical stack of rollers in which a bar passes through the inner rollers to deform to a smaller size and/or shape

Steady State - A state in which a conditions are stable and not changing Transient - A state in which conditions are changing Walking Beam - The mobile beam in a walking beam furnace which lifts the charge of

billets off of stationary beams and moves them forward or backward. After the traverse of a Pace the walking beams set the charge back down on the stationary beams.

ACKNOWLEDGMENTS

I would like to express my deepest appreciation to Dr. Peter Barr and Dr. John

Meech for their support and guidance towards the completion of this project. In addition

I would like to thank Dr. Keith Brimacombe, Dr. Indira Samarasekera, and the Centre for

Metallurgical Process Engineering and N S E R C for both financial and moral support in

this endeavor. I owe a debt of gratitude to Vladimir Rakocevic for his invaluable

assistance in creating the hardware drivers required by my system. I would like to

acknowledge the assistance of the personnel at Al ta Steel, Bob Pugh, Doug Ostafichuk,

Dennis Gutknecht, Mark Burrough, E d Duchesne, and the furnace operators for their

support and patience during the system installation and operation.

Special thanks go out to my friends and colleagues for their inspirational

conversations and to my family for supporting all o f my decisions.

x

Chapter 1. In t roduc t ion

In a typical minimil l steelmaking plant, the reheating furnace is situated between

the caster which produces the billets, and the rolling mi l l which shapes the billets, into

finished products. The operation of a steel billet reheating furnace located in Alberta,

Canada w i l l be utilized for our analysis. The production of material such as construction

rebar or rail sections involves the conversion of raw billets into hot rolled products.

Billets must be heated in furnaces in order to bring average temperatures to a point at

which the billets can be rolled with reasonably low forces as well as result in the proper

microstructure at the end of the process. In the ideal world of furnaces operated within

steel rolling mills, all processes run at steady state and no problems occur to disturb this

perfect equilibrium. In this perfect world, steel billets are charged cold into the furnace

and are removed hot at regular intervals, all of which are homogeneously heated prior to

hot rolling in the downstream mi l l rolls. The furnace, of course, would be operated at

optimal steady-state conditions at all times and would never require adjustment. The

rolling mi l l would be able to accept these billets in a timely fashion and would shape all

of the bars successfully into rolled products. Unfortunately, this ideal world does not

exist.

In the real world, furnaces routinely experience transient conditions. For

example, scheduled delays due to regular downstream roll changes or unscheduled delays

due to unexpected cobbles are a few of the conditions that may be encountered during the

initial charging of billets. Furnaces have large thermal inertia - things change slowly and

1

errors take time to recover. Control of the furnace temperatures is critical i f the desired

result is to produce a homogeneously heated product billet at the proper time and proper

temperature. Intelligent control of this process is the responsibility of experienced

furnace operators whom base their decisions on a myriad of different factors.

Consistency of such operator-based control can be poor at the best of times therefore a

systematic, computerized, approach seems to be the solution.

Artificial Intelligence is defined as "a collection of computer-based techniques,

based on the manipulation of symbols rather than numbers, which enable computers to

produce behavior which resembles that previously only seen in humans" [1,2]. Expert

Systems involve the application of Artificial Intelligence concepts to real world

problems. Expert Systems operate very differently from conventional computer

programs in that the problem solving techniques, or "heuristics", mimic human problem

solving. Expert systems would therefore have a distinct advantage over conventional

control schemes in experience laden applications such as steel reheating furnaces. The

ultimate goal of this exercise is to improve product consistency and to lower mi l l

operating costs.

2

Chapter 2. Background and Previous Work

Chapter 2.1. The Steel Reheating Furnace:

The facility chosen for the implementation of this expert system was a mini-mil l

located in Alberta, Canada. The mi l l buys scrap steel on the open market, melts the raw

material in an electric arc furnace and makes metallurgical adjustments to composition

prior to a continuous casting process for the production of steel billets. The billets cast

are square sections with dimension 4 3 / 4 " , 6", or 8" which are cut to lengths up to 16 feet

long. The process from scrap to billet is illustrated in Figure 2.1. These billets are taken

to a storage yard where they are cooled prior to scheduled charging into a natural gas

fired steel reheating furnace. These billets are heated in the furnace to obtain a

homogeneity of temperature prior to hot forming. The hot billets from the furnace are

then shaped in a rolling mi l l to produce bar products such as grinding stock, railway

tracks, rebar, and structural stock. The schematic in Figure 2.2 illustrates the billet

processing from raw billets to final rolled product.

The natural gas fired furnace utilizes a combination of stationary and walking

beams which carry the billets into and out of the heating zones. The furnace is 16 feet,

wide and 57 feet long and handles the billets in an orientation perpendicular to the axis of

movement. The furnace is separated into three distinct control zones in which individual

P L C s (programmable logic controllers) control the zone temperatures in accordance to

the setpoints chosen by the furnace operator on shift. Figure 2.3 illustrates the side cut­

away view of the reheating furnace

3

"From Scrap to billet"

Figure 2.1 Conversion from Scrap to Billet Steel

Reheating Furnace Storage

Yard

Stands

Cooling

Bed

Figure 2.2 Schematic of the Post-heating Rolling Process

4

Flue

Top Fired, Walking Beam, Steel Reheat Furnace

Discharge

gas flow —

soak zone heating zone charge zone

Figure 2.3 Side View of the Furnace

Furnace combustion control is currently left to Programmable Logic Controllers

(PLC's) which utilize Proportional-Integral-Derivative (PID) modules that maintain stable

conditions. The control of the P L C ' s can be overseen by a myriad of supervisory

systems, which may include simple setpoint control, mathematical model-based control,

or variants of mill-wide supervisory control. The control of the furnace in our scenario is

via a manual setpoint, control of which is left to furnace operators whom make control

decisions based on experience and reasonable deductions. Figure 2.4 illustrates the

control diagram of the existing control system. The complexity of this control problem

stems from the fact that a billet may spend in the order of 100's of minutes within the

furnace chamber experiencing a temperature history distinctly different from the majority

furnace temperatures as well as provide simple control logic to avoid dangerous furnace

5

of billets in the furnace under normal mi l l operating conditions. It is therefore very

difficult to manually analyze the furnace operation to the degree of certainty that can be

found in the most efficient operating procedure.

Control of the P L C ' s set points is left to the shift furnace operator who follows

general guidelines for furnace control but relies mainly on experience and "know how" to

select the appropriate measures during both steady state and transient operating

conditions.

walking beam mechanism

Figure 2.4 Existing Control Flow Diagram

Developed in conjunction with the expert systems initiative, the operation of the

steel reheating furnace was examined thoroughly with mathematical models. A steady-

state operation model was developed by Barr [3] to examine the efficiency of current

steady-state operating procedures. A plant trial campaign along with the development of

a transient furnace model was developed and verified on two Canadian reheating furnaces

6

by Scholey [4]. These mathematical models along with the scenario development by

Osinski [3] would become integral to the development of this project.

7

Chapter 2.2. Problems Associated with Reheating Furnace Operation:

In producing bar products, the ideal situation would be to transfer hot billets

directly from the continuous caster to the rolling mi l l in order to utilize the sensible heat

already within the steel [5]. Unfortunately this is not feasible due to the inability to detect

and remove surface defects from the raw billets prior to rolling as well as the enormous

problems involved with scheduling the caster and rolling mi l l to operate in perfect

harmony. A s a result of these problems, steel reheating furnaces are necessary in order to

heat the cold continuously cast steel billets to temperatures at which reasonable forces

can be used in the roll stands since hot rolling stresses are inverse exponential functions

of temperature [6]. The rolling m i l l requires production of homogeneously heated billets

within temperature specifications at intervals dictated by the rate at which the rolling mi l l

can reduce the sections to final dimensions.

The billets must have sufficient time within the furnace in order to absorb enough

heat to attain the target temperature. It is also necessary for the billets to homogenize, or

"soak", for a minimum amount of time to ensure a fair degree of temperature uniformity.

One problem in establishing homogeneity of temperature is a localized depression of

temperature, known as a skidmark, caused by the portion of the billet sitting on the

relatively-cold stationary support beam or skid. Figure 2.5 and Figure 2.6 show the

geometry of the billets with respect to the water cooled support skids. These billet

heating factors result in long minimum furnace residence times. Since the rolling mi l l

8

demands a hot billet every few minutes, the time to temperature plot for each individual

billet presents a furnace operation problem which involves careful scheduling, furnace

temperature control, and considerable experience in order to maximize production and

minimize losses.

Whether operating under steady state or transient conditions, skidmarks are

unavoidable. While a billet is in a reheating furnace, it must rest on stationary beams

designed to aid in the transfer of heat into the billet by exposing the bottom side of the

billet to the hot radiative faces of the furnace as well as the convective heating of the hot

combustion gases. Unfortunately, these support beams are water cooled and do not allow

the same level of heat flux into the contact area. The result is a temperature depression,

or skidmark. Skidmarks can be minimized by design features such as "hot faced" beams

or perhaps staggered support beams which allow the affected area to change as the billet

progresses along the axis of the furnace. However, skidmarks are unavoidable and affect

the ability of the mi l l to roll the billet after discharge, even possibly to the extent of

affecting the local post-rolled tolerances in the skidmark region [5]. The operation of the

furnace in the soak (final) zone does not change the skidmark severity but also does not

allow the feature to worsen (a long soak in a section without cooled supports would

reduce skidmarks but the space and residence time required makes this impractical).

While in the soak zone, skidmark severity is stabilized while the top to bottom

temperatures are allowed to converge. This top to bottom difference is particularly

evident in top fired furnaces. A typical axial furnace temperature profile is shown in

Figure 2.7 [4]. The diagram shows data taken from plant trials which were obtained by

tracking the progress of a billet through the furnace with thermocouples. It is evident

9

from this plot that the billet temperatures taken at different points on the billet exhibit a

divergence prior to reconverging near the exit end of the furnace. The heat flux levels

near the exit of the furnace are lower since the billet is at a stage where the objective is to

homogenize rather than increase the internal temperatures.

hi lie;

walking beams in the raised position moving the billet along the z-axis of the page

Figure 2.5 End View Schematic of the Billet Support Beams

10

Top view

Billet walking direction

Figure 2.6 Top View of Billets Resting on Support Beams

11

In the normal steady state operation of the furnace, issues such as zone

temperatures, charge rate, furnace pace rates, etc. are consistent and do not require much

attention. Once good operating conditions are found for steady state operation, they

usually do not change substantially and become the basis of the furnace "static"

knowledge. Static knowledge is easily quantifiable and can be updated as new factors or

revelations concerning the steady state operation are uncovered. It is in the transient

states such as startup, shutdown, product changes, and unscheduled delays that the

control of the furnace becomes more challenging.

In transient situations such as at startup, the billets are charged and heated in a

variety of ways. In order to maximize the efficiency of the furnace in transferring heat to

the billets in an expedient fashion, the space between billets may be doubled (a practice

known as "double spacing") to increase the view factors thereby increasing heat flux into

the exposed faces (the view factor is the fraction of the furnace which the billet face is

exposed). Unfortunately, this is not the most optimal fuel efficient method due to high

heating rates and low throughputs. In addition, temperature homogeneity may be

sacrificed from such rapid heating rates. A t some point, the furnace charge must be

changed to single spaced causing a transient control situation and subsequently a

nontrivial difference in temperature history for each billet traveling through the

combustion chamber.

Furnace shutdown also presents a problem in that temperature history of the last

billets to be charged w i l l be different from other billets of the same batch. The heat input

12

of the charge end of the furnace may be reduced to prevent overheating due to the loss of

the new input of billets which act as heat sinks in the furnace.

Product changes may require time consuming "roll changes" in the rolling m i l l

causing the reheating furnace to "idle" billets during this scheduled delay in order to have

hot billets ready at the beginning of the next charge cycle as well as to reduce fuel

consumption [7]. This occurrence causes transient control conditions which again result

in a change in thermal history for each of the charged billets which may impact the final

product in terms of tolerances, metallurgy or rollability. Product changes, which may

include changes in billet composition, target temperature or billet size, can also limit the

efficiency of mi l l operations since the feasibility of operating the furnace with two

products in tandem would be questionable with respect to maintaining quality. A t the

beginning of each product change, the roll operator must make several iterations in terms

of roll gap settings prior to steady state rolling operation. Billets requested from the

furnace may be extremely staggered in terms of gap time as the stands are being "setup",

especially i f a cobble is experienced.

In rolling operations, a bar may be "derailed", a situation which is termed a

"cobble". The end result of this event is a delay with a subsequent transient in the normal

scheduling of billet releases from the furnace. The length of time required to clear a

"cobble" can be from a few minutes to as long as many hours depending on the extent of

the tangle as well as the amount of damage it may have caused to the m i l l equipment.

However, a rough prediction of the delay time usually can be made as information is

passed to the furnace operator from the maintenance crew.

13

In the case of unscheduled delays, the furnace operator must assess the delay and

make a decision as to what should be done, i f anything. The various measures which are

possible concerning furnace control during the delay are as follows:

• do nothing i f the delay is short,

• turn down the temperature settings in one or more of the temperature zones, and

• turn the temperature settings back up prior to a billet request

If an error in judgment is made while addressing a delay, the billets may overheat which

can result in decarburization of surface carbon, adversely affecting product metallurgy.

Other problems include excessive scale production, loss of production time while waiting

for billets to reheat to rolling temperatures, excessive fuel consumption, and/or

inhomogeneity of temperature profile.

The temperature history of the individual billets are important as it relates to

factors such as decarburization, scale formation, or possible product failure from

exceeding temperature limits. The furnace processes a considerable amount of ball and

rod stock for producing grinding stock for the mining and mineral processing industry.

This product is high in carbon content, which allows the material to be very hard after

processing. Here, the temperature of the billets must be hot enough so the billets can be

rolled with reasonable forces but not exceed temperature limits which may be very close

to the desired heating temperatures. The temperature limits are designated by the melting

point of the steel in the core of the billets. The core carbon content is higher than the face

because, during casting of the steel, dendrites reject carbon and the carbon migrates

towards the liquid centre of the section. During reheating, the maximum temperature in

the centre of individual billets should be below the local melting point to avoid potential

14

cracking problems. Centre-line melting may adversely affect the rolling operation

downstream of the reheating process. Figure 2.8 shows the effect of increased carbon

content on the melting temperature of the steel [2]. It is clear from the iron-carbon phase

diagram that the melting temperature of steel decreases with increasing carbon content for

the range in which we are concerned.

Figure 2.8 Effect of Carbon Content on Steel Melting Temperature

15

Decarburization is the loss of carbon from the local composition of the steel due

to high temperature diffusion [8]. When mild steel is heated to temperatures below

910°C, the surface layer of ferrite does not allow substantial diffusion of carbon due to

the very low solubility of carbon in ferrite. Above 910°C, the solubility of carbon in

austenite is high enough to allow nontrivial diffusional movement of carbon from the

steel substrate into the combustion atmosphere. Figure 2.9 illustrates the outward

migration of carbon from the steel to combustion atmosphere. Although the movement

of carbon is not instantaneous, care must be taken to avoid extended exposure to a

combination of time and high temperatures. The actual decarburization rates are

dependent not only on time and temperature but also on internal temperature profiles,

metallurgy and furnace gas composition. Figure 2.10 illustrates the effect of time and

temperature on surface carbon content [8].

Combustion atmosphere 0 2

Figure 2.9 Schematic of the Migration of Carbon from the Steel into the Combustion Atmosphere

16

1 0 0 0 1100 1 2 0 0 1 3 0 0 TEMPERATURE , °C

Figure 2.10 Limiting conditions of time and temperature for various degrees of decarburization in 3" slab based upon isothermal data.

The extent o f decarburization can make the metal more susceptible to shear and

spalling. Figure 2.7 shows a typical heating profile for the furnace. It is possible to see

the point at which the furnace temperature reaches 910°C and carbon becomes mobile. It

is at this point that the clock starts for the residence time at temperature with respect to

decarburization.

Increasing the time that billets are subjected to high temperatures results in

excessive formation of scale. Scale is the oxidation of the Fe parent metal to FeO, Fe2C>3

and Fe3C>4 on the surface which is exposed to a hot oxidizing combustion atmosphere.

17

The amount of scale formed, much like the extent of decarburization, is dependent on the

temperature, time at temperature, billet metallurgy, and furnace gas composition. Scale

formation has been shown to decrease the tendency of decarburization but this is not

entirely an asset. Scale directly affects the bottom line, in terms of increasing the amount

of steel lost from the raw billet as final product and increasing the frequency of

maintenance down-time due to the buildup of scale at the bottom of the reheating furnace

[9]. Scale must be removed prior to rolling or it may be rolled into the final product

leading to rejections based on rolled-in surface flaws [6].

Combustion options such as running the furnace in extremely fuel rich conditions

has not proven feasible due to economic as well as operational safety issues. The only

acceptable method thus far to reduce decarburization and excessive scale production is to

minimize the high temperature exposure time [6]. Under normal operating conditions,

decarburization and scale formation are not major concerns because the billet residence

times are low compared with other reheating furnaces but this can change quickly under

conditions of long or multiple delays [10,11].

In the case of common transient conditions, the furnace operator can follow a set

of Standard Operating Procedures created by the mi l l personnel based on experience as

well as simple heat transfer and residence time calculations. In theory, the SOP must be

followed closely to ensure consistency. However, in reality, the SOP cannot account for

all possible conditions which may affect the operating efficiency of the furnace. It is

therefore the operator's experience, reasoning as well as trial and error which help bring

new knowledge to the effective control of the furnace [11].

18

Chapter 3. Expert and SCADA Systems

Chapter 3.1.Expert Systems:

Control problems which are complex and not easily discretized tend to be difficult

to quantify mathematically. It is with these control problems that an expert system can be

beneficial due to the knowledge-based nature of both the problem and solution. Expert

systems are designed to hold information in a system which enables the gathering and

organization of knowledge derived from experts in the exact manner as it is relayed to the

knowledge engineer. This knowledge then can be utilized in the form of rules and

procedures to assess problems and offer possible solutions where one may not have been

available from other control system strategies. It is therefore unnecessary to completely

analyze and understand the scientific and engineering fundamentals of all aspects of a

problem in order to produce a reasonable control regime.

The knowledge engineer is the person who may know something of the problem,

facilitating good comprehension of the knowledge, but not necessarily an expert in the

field [12,13]. It is often preferable i f the knowledge engineer is removed slightly from

the problem in order that knowledge which may be obvious to the expert is not

overlooked by the knowledge engineer [14]. The life cycle of the development of an

expert system involves five distinct stages: Problem domain definition, Knowledge

acquisition, Developmental programming, Testing and Verification [15].

The knowledge engineer must examine the scope of the problem in order to make

decisions on strategy and structure of any subsequent solution. The scope of the problem

19

must be defined in order to move towards a solution which is reasonable and attainable.

The strategy reflects the nature of the problem and directly affects the structure of its

solution. It is in these early stages that the approach to a problem must be defined prior

to any gathering of knowledge.

The knowledge acquisition phase involves the knowledge engineer gathering

information in all its forms including, interviewing experts, mathematical models, process

analysis and historical information. Knowledge can come in many forms including

Procedural, Declarative, Episodic, Semantic and Metaknowledge [12].

• Procedural knowledge is low level knowledge in the form of "know how" and is akin

to a reflex in that the procedure is repetitious to a degree that is essentially automatic.

A good example would be the procedural knowledge required to ride a bicycle.

• Declarative knowledge is often referred to as "know-how" that is easily verbalized.

This knowledge is usually very superficial and does not give insight into the

underlying knowledge which an expert may use.

• Episodic knowledge refers to knowledge in the form of temporal and spatial

anecdotes which the expert may have acquired via experimental information.

• Semantic knowledge is knowledge which contains concepts, definitions, relationships

as well as rules for manipulating this information when reasoning.

• Metaknowledge reflects the awareness of an expert in assessing how knowledge is

used to solve problems. This knowledge also includes the ability to determine i f there

is any solution to a problem.

20

Knowledge in all o f these forms, become the foundation from which a knowledge base

for an expert system is transformed into a symbolic representation usable by a computer,

or inference engine, programmed and designed to manage the knowledge units.

The system developmental programming phase involves placing knowledge into

the knowledge base in a form which allows the system to reach reasonable conclusions

based on analyzing knowledge v ia the inference engine. System development involves

the application of a "Conceptual Model" , in which the knowledge engineer [12]

formalizes the structure of expertise and can layer the knowledge in accordance with

different levels of abstraction and functionality. The conceptual model may include

domain, inference, task and strategic layers. The knowledge domain represents the static

knowledge and is made up of concepts as well as their relationships. The Inference layer

integrates the knowledge in the form of what can be done with the knowledge in the

knowledge domain. The Task layer are methods in which the inferences can be used to

achieve specific goals. The Strategic layer is the generalization of how experts move

towards problem resolution and is the most difficult knowledge to formalize [12].

The testing and verification phase involves testing the system in a real problem

situation and verifying, often with the aid of the expert, to determine that the system is

indeed providing reasonable solutions to problems [12]. It is acceptable to have experts,

in the role of devil's advocate, collaborate with the system builders in the testing phase.

These methods of verification and validation are important during system development

since it allows deficiencies in the system to be identified or [12] facets to be tuned to

provide the best possible solutions.

21

Chapter 3.2. Examples of Expert Systems:

Cement K i l n

Expert Systems have been used to control a wide variety of industrial processes in

the past. For example an expert system was implemented on the control of a rotary

cement k i ln in 1982 [1]. For cement kilns, the general practice was to control heat input

manually with an operator adjusting the burner setpoint temperature in response to gross

internal temperature changes. This process resulted in large fluctuations in process

variables which directly affected the quality of the product as well as fuel consumption.

The quality of the k i ln output is a function of the amount of clinker which is exposed to a

heating environment in the correct temperature range for a correct time-at-temperature.

Due to the long residence times within the k i ln (several hours), the time-temperature

history of one portion of charge may be different from the rest of the charge during

control incidents in which the ki ln may experience substantial temperature variations.

Therefore the narrower the heating profile, the higher the quality of the clinker product

output. A commercial expert system software package " L I N K m a n " was used as the base

for this application. L I N K m a n relied on fuzzy logic, which is the application of logic in

which information is obtained and processed along with calculated degrees of certainty.

The fuzzy logic controller provided greater control of furnace temperatures resulting in

improved product quality, decreased N O x emissions, fewer temperature excursions

within the ki ln and a reduction of 10% in fuel consumption [1]. The expert system was

successful in this case in controlling process temperatures because it was able to examine

22

complex process variables such as the varying composition of feed material, process

delays and unexpected process disturbances based on operator experience. Instruments

placed in extremely hostile environments can be susceptible to giving false readings

which simple instruments cannot adequately filter. The system was able to reduce control

errors induced by false readings created by sensor input fluctuations because it was

possible to examine the signal for validity prior to usage.

Gas Combust ion

The prediction of gas composition in a combustion process can be difficult due to

the complexity of the combustion reactions under different temperatures, varying

pressures, pre-combustion gas compositions and fluid dynamics through the complex

combustion chambers. A process schematic is presented in Figure 3.1. [16]. A fuzzy

logic based controller was utilized to control the combustion gas composition in a

pyrolysis reaction of alumina fibers used in metal matrix composites. Combustion gas

composition directly affects the quality of fiber produced in this furnace therefore the

consistent control of the combustion was paramount. In this system, introducing a

complete furnace model to predict and control the operational parameters was not feasible

and had the drawback of omitting the experience of the operator. In this application, a

finite-element steady-state model of the fluid dynamics was used to define the boundary

conditions for control parameters within a safe zone which would result in good

combustion gas compositional control. These control parameters, along with rules based

on expert operator experience, were programmed into the fuzzy controller which directly

controlled the furnace mass flow valves. This system allowed for good control of

combustion gas composition via knowledge gained from the mathematical model as well

23

as operator experience. While implementation proved useful in this application for

controlling combustion gas composition, necessary refinements such as disturbance

(noise) rejection were needed to complete the control strategy.

flow rate sensor

Thermocouple

Figure 3.1. Pyrolysis Chamber for Alumina Fibres

Autogenous Milling

The operation of an autogenous grinding mi l l at Wabush mines [17] was the

subject of an Comdale/C application in an attempt to improve control and efficiency of

the grinding circuit. In this application, the expert system was provided with access to

output signals from operational PLC ' s . This information was examined in the inference

engine using a set of rules and fuzzy sets developed with the assistance of the mi l l

operators, or experts. This allowed the system to be operated in a manner similar to

human operators but with much better response times and much more consistency. The

addition of efficient computer control was possible without the need to discretely analyze

24

a complex control problem. The operation of this grinding circuit is based on the

knowledge of operation obtained from operator experience and logical analysis of the

process flow. The efficiency of the operation was increased by as much as 20% for

certain products due to the ability of the system to operate the mi l l equipment at closer

and more consistent levels to its full design potential [17].

Continuous Cast ing

The control of continuous casting of steel billets is a process, cloaked in "Process

Lore", understood well in some aspects but poorly understood in others. The control of

such processes has been left to the development of many practices based on sources such

as general casting operator experience as well as researched aspects of the process. A

process devoid of substantive knowledge can be subject to ingrained practices which,

although incorrect, can be difficult to change. It is necessary to separate useful

knowledge from the counterproductive methods based on Process Lore [18]. It is in the

essence of an expert system that the control of such a process can be quantified in such a

vast array of pertinent but sometimes contradictory factors. In the application of an off­

line expert system to the process of continuous billet casting, the knowledge gathered

from research [19] and useful experience was separated from counterproductive practices.

This knowledge was accumulated and structured into a knowledge base written in the

shell Comdale/X. This implementation involved the ability to assess billet quality

problems off-line as well as offer the ability to tutor non-experts in the finer points of

proper billet casting practices [13,20]. The system was brought to the next logical step

with the implementation of the knowledge base in the form of a Comdale/C application.

Real-time and on-line applications are applications which examine process variables

25

directly and produce results which are timely to the control of the process. The

Comdale/C system allowed the expert system to operate in real-time and on-line with a

billet caster and to examine the process variables with a myriad of remote sensors

collecting trend data. This system facilitated assessment of billet quality problems before

the billet left the mould as well as offer advice to the operator on how to remedy

problems during the process operation.

While expert systems can be used to filter out noisy process data and provide

useful process trends, this may not be the most efficient utilization of the system. In

order to increase processing speed and decrease the unnecessary creation of complexity in

the expert system, a separate module to prefilter this data can be implemented. A

computational intelligence (CI) module can feed the expert system vital trend data in a

timely fashion without the need to pass all remotely acquired data. In the application of a

computational intelligence module to the expert system for a billet continuous casting

process [21], data was acquired at a rate of ~20Hz and processed through a CI module

written in a low level processing language (C) using an operating system which allowed

real-time multitasking of both the CI unit and the expert system. The marriage of "hard

code" signal processing intelligence and the "soft code" of the expert system allows for

real-time casting analysis without unnecessarily subjecting the numerical complexity of

the data stream to the inference engine. Only pertinent information gathered by the CI

modules, which may use repetitive artificial intelligence (Al ) techniques, is passed onto

the expert system for processing [22].

It is clear from these examples of expert system applications, that results can be

rewarding. Expert systems allow the collection of operational knowledge from many

26

sources to form a knowledge base. This knowledge is in a symbolic form similar to the

structure humans use in problem-solving processes. The process can therefore be

controlled in a manner similar to human operators without explicitly understanding the

fundamentals of a problem. In addition to offering more efficient control, an expert

system can standardize practices and can become a useful teaching tool for inexperienced

operators. The application of an expert system to this steel billet reheating furnace

therefore would be a logical step forward in solving some control problems.

27

Chapter 3.3.Proposed Implementation of an Expert System to the Reheating Furnace:

In reheat furnace operations, several issues are of concern. The mi l l considers

production as the primary motivation for operating the reheat furnace. In the greatest

sense of the phrase, "Time is Money", rolling mills must not be idly waiting for hot

billets from the furnace i f a profitable operation is to be maintained because of the high

overhead costs of maintaining such facilities [6]. A t the same time, product quality must

be maintained since substandard product billets can potentially lead to higher rejection

rates, or increase the extent of product downgrading after rolling. Finally, fuel

consumption is also important as this constitutes a major part of production cost in the

bottom line of the mill 's financial ledgers. With all of these issues in mind, we can

proceed in providing an educated analysis of the mi l l operation.

To understand the problem requires intimate knowledge of the cause and effect of

furnace operating procedures. Due to the slow speeds at which data is generated for a

wide array of operating conditions, long term data collection is required. Data such as

billet size, grade, product range, as well as temperatures and operator response must be

collected. In order to keep the cost of data acquisition low, the data collection platform

chosen was a PC-based system linked to the plant network in a fashion as to allow the

periodic retrieval of data as required. Figure 3.2 outlines the data collection and transfer

regime within this project. Table 3.1 describes the links between all o f the individual

components/players.

28

The operational knowledge used to control the furnace in the form of furnace

operators experience should be a valuable starting point in building a knowledge base.

Unfortunately, the furnace operators have created different approaches to transient

conditions and their experience under similar experience, while useful, was not consistent

enough to allow for the collection of the "best" knowledge. This "episodic" knowledge

was very disjointed and often clouded by process lore. Therefore it was not directly used

in the knowledge acquisition phase. However, a set of "Standard Operating Practices"

(SOP) by the most experienced operator, the combustion engineer, and through,

discussions with the remaining operators was created to provide congruency in operating

strategy. This agreement in the required furnace operating practices provides a fair

degree of procedural consensus [12]. The majority of this knowledge is in the form of

"declarative" and "procedural" knowledge and is considered significant because it was

carefully scrutinized by the combustion engineer. The SOP was therefore used as the

basis for the creation of the reheat furnace control knowledge base.

Several plant trials were performed in association with the modeling portion of

the Billet Reheating project. These trials involved thermocouple instrumentation of test

billets which were charged into the furnace and heated in accordance with normal

operating procedures [3]. The internal as well as surface billet temperatures were

recorded along with the three zone temperatures, zone gas and air firing rates, gas

temperature, furnace pressure, and gas composition. Information gathered from

instrumented billet plant trials along with long term data gathered from the system

allowed verification of a static as well as a 3-D transient billet furnace model developed

at the University of British Columbia [3]. This model was used in conjunction with mi l l

29

personnel to discuss the ramifications of certain operating procedures on product quality,

operating efficiency and fuel consumption. The new procedures, were intended to

become the basis of new knowledge for the Standard Operating Practices as well as an

online advisory expert system. The knowledge gained in this exercise represents both the

semantic and metaknowledge of the mi l l experts as well as the modeling experts.

The available knowledge fits well into a conceptual model. Basic knowledge,

such as the cause and effect of raising burner rates or increasing production rates make up

the knowledge domain. The inference layer is made up of how this information can be

used, such as what can be accomplished by adjusting these variables. The task layer

involves how we can use these endpoints to solve a specific problem which may not seem

to have a direct relation, such as how one would go about reducing scale formation. The

strategic layer encompasses these concepts " in the big picture" such as the approach of

using data collection and mathematical models to examine furnace operation.

Once sufficient structured knowledge of the process is gathered, an expert system

could be configured to implement control action directly based on information from the

furnace as well as operator input. Unfortunately, due to the extreme scope of such a

project, the primary goal of the system is to provide online advice to the furnace operators

whom w i l l implement the control actions based on the advice and their own experience.

The expert system w i l l be designed to allow basic knowledge to be maintained as

well as the addition of new knowledge as it becomes available. The expert system w i l l

provide timely, online knowledge-based advice through a user friendly man-machine

interface. In addition, the system wi l l create the ability for mi l l management to introduce

a standardized methodology for handling the majority of furnace transients.

30

* DOS

TZ3

Network Server

12

Q \ \

Modeling Experts

Figure 3.2 Schematic of the Data and Knowledge Streams

Knowledge Engineer

31

Table 3.1 Description of Data/Knowledge Stream

Path Description 1 The operators read the data from the mi l l sensors and make adjustments to the

process to suit operating conditions 2 The operators read the data from the P L C ' s and make adjustments to the gas

flows rates and target temperature setpoints to suit the operating conditions 3 The M M I has access to all of the same sensors the operators use 4 The M M I has access to all of the P L C data except for setpoint 5 The M M I and furnace operators interact, exchanging valuable process data 6 The M M I and Bridge computer are linked via a TCP-IP protocol which allows

the two way transfer of data (configured to collate once per day) 7 The Bridge computer is linked with the m i l l network server via Token Ring™,

allowing networked managers to examine operating data 8 The furnace operator interact with the mi l l managers to develop new and more

efficient procedures based on experimentation 9 The mi l l managers can periodically update the M M I with an updated

knowledge base file 10 The mi l l managers have instantaneous access to the M M I from the bridge

machine (bi-directional) 11 The mi l l managers can access via database, all historical operational data 12 The knowledge engineer has remote modem access to the network server to

obtain operational data and upload new knowledge (bidirectional) 13 The modeling experts interact with the mi l l managers to exchange knowledge

concerning procedures and goals 14 The knowledge engineer interacts with the mi l l managers to acquire knowledge

concerning the process 15 The knowledge engineer interact with the modeling experts to facilitate the

development of the knowledge base via modeling results

32

Chapter 3.4. Obtaining and Processing Furnace Data - The Supervisory Control And Data Aquisition (SCADA) System:

The expert system S C A D A package chosen for the implementation of this expert

system was ProcessVision and Comdale/C operating on a P C . The P C , powerful for it's

time, is capable of running the operating system Q N X . Q N X is a microkernel real-time

multitasking operating system designed for efficient file and message handling. Figure

3.3 illustrates the importance of Q N X to our S C A D A system.

Figure 3.3 Q N X multitasking operating system

In simple terms, the operating system is capable o f running different tasks

simultaneously without being restricted to the bottleneck of any slow tasks. This was a

necessary step in order to ensure that all aspects of the system can operate independently.

"ProcessVision is a S C A D A package which allows the expedient development of process

control interfaces as well as provide the framework for Comdale/C. Comdale/C is the

real-time version of Comdale/X (an off-line expert system tool designed to process case

studies) and operates in continuous inference cycles unlike the single session nature of

ProcessVision embodies up to 12 individual modules all interacting with the microkernal in parallel

33

Comdale/X. ProcessVision provides the user interface, data collection and data handling

to the system. Comdale/C is integrated with ProcessVision to provide very efficient data

and knowledge processing. Comdale/C structures knowledge into key-word-triplets

(KWTs) instead of variables. The structure of the triplet name provides insight into its

value. The three segments of the K W T are the object, attribute and value [23]. The

object indicates the piece of information the system is describing, the attribute is the

property of that object in question, and the value is the number or logical operator

assigned to the KWT. Each K W T is assigned a "degree of belief which describes a

percentage assessment of the certainty of the correctness of the knowledge. Figure 3.4

displays the unit of knowledge available in the Comdale/C environment [13].

The knowledge tree structure displayed in Figure 3.4 shows that knowledge

segments which Comdale/C utilizes are discretized into four groupings. The knowledge

is in the form of structural, procedural, external and metaknowledge. The declarative,

episodic, and semantic knowledge as stated previously are defined as the Structural

knowledge which constitutes the rules and facts in the system. The significant addition to

these groupings is external knowledge which refers to knowledge available to the system

from other programs. In the case of our application, this external knowledge comes from

data acquisition drivers which convert sensor information into useful knowledge in the

form of KWTs [24]. This is the key which allows the inference engine to be brought

online to be a real-time application responding to new conditions with new conclusions.

The Comdale/C application can be separated into a series of separate modules

each given specific tasks. Although these modules all operate in the QNX environment

independently, they are linked and influence the operation of each other. This interaction

34

can be seen in Figure 3.5 [25]. Although the modules exist for completing certain

specific tasks, for the sake of user-friendliness, some module tasks were reconstructed in

a form acceptable for operator perusal. A n example of this would be the expert view

module which is a windowed running list of expert processes. This style of information

display was deemed unsuitable by personnel accustomed to retrieving information in a

format and position that does not change. As a result, an advisory screen was created

within the process view module to cement the data in consistent and predictable

locations.

The Comdale system was originally designed to operate efficiently as it controlled

processes with relatively slow reaction times. The inference engine is operated with a

one second or more cycle time which is adequate for moderately paced supervisory

control situations. The cycle times of the system must be fast enough to accurately

sample events which are critical to operation. The reheat furnace system has a myriad of

slow response inputs and one fast input. The input from the pyrometer consists of -2000

points gathered over 1-2 seconds every minute or so. This alone would make the system

unusable i f not for the inclusion of a set of high speed data collection programs operating

in parallel with the Man-Machine Interface (MMI). The data collection drivers

intelligently sample the inputs until an event is detected. After the record of the event has

been buffered internally in the driver, the data is processed and uploaded into the

inference engine at an acceptable rate. The expert system can then use the information

over the subsequent inference cycles to determine an appropriate action plan.

35

Knowledge

|_ Classes I • Objects. .Attributes.

• c Trit

.Values. I

.Degree of Belief

Keywork Triplets

. logical _

. String

.Numeric.

• Exclusive sets . Multichoice sets

.Rules

. Condition Statements.

-Conclusion Statements, -Else Statements

I Fuzzy sets

E Single Double Integer

— Keyword Triplets Logical Connectives Predicates/Operators

— Functions

I—Keyword Triplets _ Certainty Factors _ Assignments _ Functions

.Procedures.

Metaknowledge.

. Search Strategies • Inference Stategies -Input/Output Stategies .Communication Control

. Triplet Representations

. Customized Questions

. Customized Rule Descriptions

.Customized Explanations

Figure 3.4 Knowledge Units Available to Comdale/C

36

Historical Database K—• Database 4 L Event 4 k Trend

Manager 1 • Scheduler J f Manager

Point Database

Inference Engine < •

Alarm Manager H—•

Message Manager

Process Instrumentation

Knowledge Base H—•

Explainer Engine

Process View

Expert View

Figure 3.5 Independent Application Modules

3 7

Chapter 4. Scope and Objectives

Chapter 4.1.Scope of the project:

Steel billet reheating furnaces have larger thermal inertias and are rarely operated

under steady state conditions which makes control a difficult task. The delay

phenomenon is the single largest factor affecting the operation of the furnace. Delays

have the effect of creating varied temperature histories and thus differing temperature

profiles in the billets. Control of the furnace has been left up to the discretion of the

furnace operators who control heat input into crude non-independent heating zones based

on operating experience.

Inefficient operation of the furnace can result in a financial penalty for the steel

mill in terms of fuel costs, product loss, and mill idle time. The goal of furnace control

has been to focus on the production of steel billets at the correct temperature while

ignoring other variables. It is therefore necessary to develop consistent strategies for

furnace control that minimize other losses during delay situations.

Due to the nature of the problem long term data collection is necessary to obtain a

representative sample of the problem. The recording of experimental data from the mill

on a long term basis required that the system be industrially robust in terms of software as

well as hardware.

The knowledge that is used to control the furnace is in the form of experience

acquired by furnace operators; this can be difficult to quantify. A direct algorithm-based

3 8

system is therefore not feasible in this situation. In contrast, an expert system is able to

examine many different facets of a problem and produce an answer based on information

contained in a knowledge base. The information contained within our knowledge base is

made up of knowledge of the furnace operators as well as information gleaned from a 3D

transient mathematical model. This expert system would weigh the various parameters

and produce recommendations based on an embedded knowledge base.

Chapter 4.2. Objectives of the project:

The overall objective of this project was to develop a system which will increase

production, increase product quality, decrease product losses and reduce fuel

consumption by reacting to furnace delays and/or upsets which will minimize deviation

of billet temperatures. To these ends, the following is a set of necessary steps to attain

these goals.

(1) To implement an online data acquisition system to record furnace and billet data

as well as provide a user friendly interface for the furnace operators.

(2) To closely examine the delay phenomenon with respect to billet size and roll

product.

(3) Based on statistical plant data, categorize delays in terms of cause, frequency and

duration and develop case studies for some of them.

39

(4) From this basis, incorporate improved response strategies into knowledge

contained within an online real-time expert system.

(5) To validate the system by obtaining feedback from mill personnel.

40

Chapter 5. - Methodology

Chapter 5.1 .Approach to the Reheating Problem:

The furnace had been operating satisfactorily in processing the billets for the

rolling mill but mill personnel wanted to improve some specific aspects of the reheating

procedure. Delays in the production of hot billets resulted in loss of useful rolling mill

time and subsequently a monetary loss to the mill. As well, poor procedural operation

resulted in low recovery rates or product yields due to rejection as well as product

downgrading. One goal of this project was to attempt to reduce both of these factors as

well as to reduce fuel consumption.

The situation was investigated as a control problem with the major factor being

the ability to accurately predict billet requirements with lead times in the order of hours.

With this in mind, we can approach the problem with the realization that it may not be

possible to completely quantify all transient situations. The best that can be offered in an

operation in which any number of possible control situations are possible, is to

statistically isolate the most frequent transient conditions and produce a suitable response

for each case. While this is a good approach, it is also necessary to understand that the

extent of a transient may not be accurately predicable on the onset of the incident. This

has the effect of infinitely complicating the number of possible outcomes requiring a

conscious restriction of the scope of this project.

41

One of the major problems plaguing the reheating furnace is one of

standardization. In this mill, the reheat furnace is operated by four full-time operators as

well as two temporary operators. The primary furnace operators come from a variety of

backgrounds but most operators are chosen based on union seniority in the mill hierarchy

of maintenance personnel. The operation of the furnace is left to the discretion of these

mill workers who learn their skills from each other as well as some less than reputable

sources (one incident included implementation of psychic billet manipulation!).

The goal of the combustion engineer is to increase the reheat furnace efficiency.

It is believed that part of this goal can be achieved by standardization procedures used by

the furnace operators to delay situations. In order for the mill to conform to quality

standards such as ISO 9002, process control must be standardized and documented. A n

expert system would allow each operator to have access to all of the mill's standard

recommended settings and procedures deemed appropriate by documented experience

and combustion analysis.

An expert system can be used to collect as much static knowledge on the

operation of a reheating furnace as well as make timely assessments of transients based

on the "best guess" of the furnace operators..

The system must be capable of recognizing the start of a delay. Under ideal

situations, the system will be told of a delay by the operator because this allows for the

system to provide advice sooner. Unfortunately, due to the frantic nature of many delays

this option is not reliable. The system is capable of detecting a delay by intelligently

monitoring the gap times between billets and trigger a response regime i f the gap time is

a certain percentage above normal. This trigger needs to be tuned to dynamically adjust

42

the "normal" gap time as a floating average and respond only when a delay of non-trivial

duration is detected.

Upon detection of a delay situation the system flags the operator to provide an

initial estimate of the delay duration. This estimate will be provided to the system in the

form of selecting from one of three choices, short, medium, and long. The range of each

of these delays will be assigned from the knowledge base as defined by the particular

product. The system will then issue an advisory based on this input as well as

information provided by the knowledge base (SOP).

As the delay progresses, the system tracks the actual delay length to determine i f

the initial estimate was incorrect. If the delay terminates prematurely or the delay is

longer than initially estimated, the advice that was issued will not be suitable for the

situation. The system must be able to detect the aberration and issue a revised response

advisory. This advice will dynamically change based on the estimated delay time as well

as the progressive actual time.

Table 5.1 displays the nine possible outcomes based on an initial three choice

estimate. Here, the subsequent advisory control response is valid for 3 of the 9 scenarios

which leaves 6 of the remaining 9 with responses which may not necessarily be

appropriate.

It is possible to create a system which can request the operator to estimate the

transient variables and produce advice based on this guess. If the estimation is not

accurate, the system can adapt itself based on operating conditions or by the operator

updating the estimation. The system can be enriched with knowledge on how to respond

to delay situations after the delay has progressed towards one of 6 remaining scenarios

43

where the actual and estimated delay times are not the same. The overall result would be

the minimization of the impact of poor control decisions and therefore an increase in the

overall furnace and mill efficiencies. [26] An example of possible control advice

outcomes is illustrated in Table 5.2.

Table 5.1 Possible Outcomes of Delay Time Estimation and Error Consequences

Predicted Short Delay

Predicted Medium Delay

Predicted Long Delay

Actual Delay is Short

Accurate delay estimate

Furnace too cold, delay in heating back to temperature

Furnace much too cold, delay in heating

Actual Delay is Medium

Furnace not cooled enough, billets may overheat

Accurate delay estimate

Furnace too cold, delay in heating back to temperature

Actual Delay is Long

Furnace not cooled enough, billets may overheat and spend too much time at high temperatures

Furnace not cooled enough, billets may overheat, possibly long high time at temperature times

Accurate delay estimate

Table 5.2 Possible Outcomes of Delay Time Estimation and Control Responses

Predicted Short Delay

Predicted Medium Delay

Predicted Long Delay

Actual Delay is Short

Well understood and simple control

Furnace too cold, advise heating regiment

Furnace much too cold, advise a rapid heating regiment

Actual Delay is Medium

Furnace not cooled enough, advise lower zones set points

Well understood and simple control

Furnace too cold, advise a heating regiment

Actual Delay is Long

Furnace not cooled enough, advise lower zone set points, track overheat times

Furnace not cooled enough, advise lower zones set points

Well understood and simple control

44

Chapter 5.2. Implementation of the Expert System:

The implementation of the expert system was divided into two distinct phases.

The first was long-term data collection and logging phase. In this phase, inputs from the

furnace controllers were taken along with some inputs seen only by the furnace operator

which are compiled in daily log files. Figure 5.1 shows the control, detection and logging

system. These files were taken and compiled into the cumulative collection of files on

the plant database. These files along with hard copies of schedules were remotely

retrieved and analyzed at U B C .

The final phase of the system installation included compilation of the knowledge

base and insertion into the man/machine interface which the operators were already

familiar with. The system would detect transient conditions and provide timely advice to

the operator in both steady-state and transient operating conditions. Figure 5.2 and Figure

5.3 show the integration block diagram of the current as well as the proposed systems.

45

Operator Interface and Data Logging Computer

Figure 5.1 Interim Logging System

M i l l Sensors PLC controllers

Furnace Operator Figure 5.2 Block Diagram of the Current System

M i l l Sensors

Inference Engine Knowledge Base

Man Machine Interface/PLC controllers

Furnace Operator

Figure 5.3 Block Diagram of the Proposed System

46

Chapter 5.3. The Installed Expert System:

The expert system implementation was divided into two distinct phases. Phase I

involved installation of a data logging system which was not only acceptable to the end

users but also facilitated long term collection of furnace control knowledge. The

development of the man-machine interface was considered to be of utmost importance

due to the need for operator acceptance [12] in the development as well as creation of a

method to verify the expert system. Phase II of the project involved completing the

assembly of the knowledge base as well as installation of the advisory functions of the

man-machine interface.

The billets are scanned for a temperature profile in order to retrieve information

for use in the Expert System or for display to the operators. Information such as

maximum and minimum temperatures as well as the profile shape characteristics are used

by the operator to decide the fate of the billet. A billet that is not up to the rolling mill

standards for a particular job may be rejected prior to rolling or held after final rolling for

quality control assessment. This feature is indispensable in operation of the furnace and

so was implemented in the system as shown in Figure 5.4 . The user interface was created

in a fashion which displayed the most important operational data on a "main" screen and

supplementary information on secondary screens accessible by "clicking" action buttons

on the main screen. This implementation was deemed necessary to minimize the

complexity of the system operation and increase the acceptance of the furnace operators.

Some other features, such as an enlarged high temperature display, large "red oval" visual

4 7

indicator of an alarm condition, and a schematic "billet position indicator" for

determining the billet location, were also added to increase the degree of user acceptance.

48

Li 'c t i k i m j

J ll«J 1127 * IBIS

-1 i z f , ' i n n 1123 Q94 1127 l e w ;

M i n u r i i n u i ) i t r

1825 " "'112 I

10B2ll i l lH

G a p

£1 "• 11 t l t l " " .

s p c

24)

.26) 2b>

1208 1288 ii: ..a • • t l l l l l l l l l l l l l l l t l . I l t l i . l l l l l l l t i • OS i l l . • i i l . l i l l i . 1

1 1 0 e l lIl!i i i i . , e | i l l lIIl l l l!IIIII!IIll l l l!i .llllllllllllllllllllllllllllllllllllllll m i 1 1 0 0

Illllllllllllllllllllllllllllllll'llllllllllllilUlli " i l l l l l l ' l l l i l l l l i l l l l l l l l l l l lHI 1 1 0 0

lBBBj "j" " §1 >il808

T o M i l ] i__ __t

R e j e c t e d H E L t l R e m a i n i n g -m r^jjj

..— HEfti a \&E$D g r o u p «

— .- • ' ' . • V -

Most recent billet temperature profile Current heat information

Max-min Peak Temperature

" - V i s u a l alarm oval.... Message bar Upcoming

heat

Data from the five most Billet position recently scanned billets indicator(red)

information

Gap time Display screen

Historical record of the minimum and maximum temperatures of the last 100

control buttons

billets scanned

Figure 5.4 M M I Billet Profile Screen

49

Traditionally, the furnace operators were accustomed to having a historical

display of the billet minimum and maximum temperatures as each are scanned by an

optical pyrometer prior to movement towards the rolling mill. This trending information

visually allows the operator to "learn" from his own successes as well as mistakes. This

episodic knowledge is useful in the development of general control trends but can be

tainted by "process lore". An operator can look at the consequences of his actions in

terms of the decisions made in the relatively distant past. Although this delayed learning

process is useful, the complexity of furnace operation makes a simple cause and effect

determination very difficult. This feature was important enough to include and is shown

in Figure 5.4. Note that the information which has been deemed important in terms of

trending information is the profile minimum and maximum temperatures because these

two criteria affect the ability of the rolling mill to process the billet.

In addition to the main screen, the operator has access to a heat-tracking screen.

A "heat" represents a batch of steel which has been cast through the continuous caster and

is usually specific in terms of chemistry, thermal history, and as-cast quality. A change

in heat therefore represents a change in the input billets, which may also lead to a change

in the rolled products therefore affecting the furnace operating conditions. If the change

in operating conditions is substantial, the procedures for handling the transient from one

heat to the other may be very different from the steady-state operating conditions of either

heat. In the past, the operators have had to manually keep track of the heats as they

entered and exited the furnace.

50

The heat tracking strip, as shown on the right of Figure 5.4 shows a system in

which the operator is able to enter the current heat name as well as the next 4 heats along

with all pertinent heat information. The billet heating and furnace operating parameters

are selected from the SOP list as illustrated in Figure 5.5. This information is used by the

operators but is also a great help to the expert system in terms of knowing the future

charges in the furnace. This implementation of the automatic billet tracking was difficult

due to the nature of the signals received from the mill (see Figure 5.6).

A billet released from the furnace is seen by the first detector but not necessarily

by the pyrometer and the second detector. The furnace operator may choose to reject the

billet before or after the pyrometer. The pyrometer may see multiple scans of the same

billet which can lead to a miscount. The furnace may drop more than one billet which

will not register as two discrete billets prior to buffering in the reject zone before rolling.

These signal inputs must be examined via a rule structure which attempts to deduce the

actual events in the mill with a high degree of certainty. The expert system can quite

accurately determine the position and condition of a billet with the use of the three

available sensors and a set of rules based on the conditions outlined in Figure 5.4. Due to

the difficulty of being absolutely certain of the result, the system can sometimes

misinterpret the activity, therefore the operator has been provided with the ability to

manually correct the count on the MMI .

In addition to these logistical problems in signal interpretation, noise generated by

the Hot Metal Detectors (HMDs) frequently result in false readings. These readings are

filtered via a CI module, feeding the expert system a billet discharge signal only i f one

has likely occurred. A schematic of an ideal signal as well as examples of noise which

51

may affect event detection is illustrated in Figure 5.7. The low level driver program

acquiring the signal from the mill, filters the signal and only issues a billet passage

condition when it has most likely occurred. The inference engine performs a secondary

determination of billet passage by means of a weighted averaging of the signal over time.

This weighted average is tuned by the operators to ensure the highest degree of accuracy.

The pyrometer signal is also filtered by the drivers to prevent noisy peaks from

affecting the profile which is displayed and recorded. In addition to the filtering process

the driver extracts information such as a minimum temperature for each half of the billet,

maximum temperature and maximum temperature difference.

The implementation of the billet accounting feature alone was sufficient to

convince the furnace operators to abandon the older system and use the new one. The

older system was allowed to remain online so the operators had a transition period in

which they could become accustomed to the new interface and procedures.

In addition to the main screen interfaces, several auditing screens were provided

which offer trends of furnace pressure, zone firing rates, and zone temperatures. These

screens contain data which the system logs to daily files but is left in a form that the mill

combustion engineer can examine on-site without having to download data to a graphing

program in the mill offices. This data is useful in assessing operator performance and

compliance to the SOP as well as providing a firing history necessary to predict the

conditions of billets to be released. Figure 5.8 and Figure 5.9 show the screens as

captured from the mill computer during a Phase II visit. This screen along with the mill

database of operating condition changes proved the most useful tools in encouraging

compliance amongst the operators to the SOP.

52

l i s t l N 6 - 3 1 1 6

c . - n C 3 N 6

H 2 : 6 1 2 - 6 8 4

N 2 : 6 1 2 - 6 8 4

N 2 : 6 1 2 - 6 8 4

N 2 : 6 8 4 - 7 5 6

N 2 : 6 8 4 - 9 5 8

N 2 : 6 8 4 - 7 5 6

N 2 : 7 5 8 - 8 3 0

N 2 : - 7 5 8 - 8 3 0

N 2 : 8 3 0 - 9 7 4

N 2 : 8 3 0 - 9 7 4

N 2 - 9 5 8

HZ: 9 5 8 - 1 0 6 N 2 : 9 8 0 - 1 0 5

N 2 : 9 8 0 - 1 0 5

M 2 : 1 8 6 2 - 1 1 3

M 2 : 1 8 6 2 - 1 1 5

H 2 : 1 0 6 2 - 1 1 3

N 2 : 1 1 1 6 - 1 1 5 u n a

N 2 : 1 1 3 8 - 1 1 5

N 2 1 1 3 2

N 2 : 1 1 3 6 - 1 1 5

N 2 : 1 1 5 4 - 1 2 5

N 2 : 1 1 5 4 - 1 2 5

N 2 : 1 1 5 4 - 1 2 5

N 3 - 1 7 1 8

N 3 - 1 7 1 8

N 3 : 1 8 5 0 - 1 9 9

N 3 : 1 9 1 0 - 1 9 9

N 6 : 3 1 9 6 - 3 3 0

N 6 : 3 3 0 6 - 3 5 3

N 3 - 1 8 5 2

N 3 - 1 9 5 4

N 3 - 1 9 5 4

N 6 - 3 1 6 6

N 6 - 3 1 6 6

N 6 : 3 1 8 0 - 3 1 9

T o M i l l Ri i j tsc t i A Hi-n.t i II i i i i j ;

, I IEAT"S VfcfMay g r o u p i

[ ( P r e s s u r e )

. ( I e w p e y a t u r e )

• f l S & f a r i l iHMD*

HUT

Figure 5.5 SOP Product Selection Screen

Reheat Furnace

Hot Metal Detector -Furnace

Figure 5.6 Schematic of the Mill Sensor Layout

53

Table 5.3 Possible Detector Signal Sequences

Event Conditions #1 - Billet successfully passed from the furnace to the rolling mill

The sequence is: H M D - furnace, optical pyrometer, and H M D - R l

#2 - A billet was rejected after scanning

The sequence is: H M D - furnace, optical pyrometer, optical pyrometer and the next is not H M D - R l

#3 - A billet was rejected before scanning

The sequence is: H M D - furnace, with no optical pyrometer within ~10 seconds

#4 - Double drop - two billets were released

The sequence resembles #1 except the following is: optical pyrometer, H M D - R l for the next billet

#5 - A billet is removed from the system with the overhead crane

This occasional event does not have a sensor sequence that can be discretized, therefore a manual correction on the system is provided for the operator

C L E A N SIGNAL Voltage

Time

Voltage

NOISY SIGNAL

High Limit - Signal is above designated levels

Spike - Short duration noise

Time

Low Limit - Signal is below designated levels

Figure 5.7 Hot Metal Detector (HMD - an optical position sensor) Signal Quality

54

i l l d i f f e r e n c e

C h a r g e Z o n e F l o u s

0 9 : 0 8 1 0 : 0 0 1 1 : 0 0 1 2 : 0 0

H e a t i n g Z o n e F l o u s

0 9 : 0 0 1 0 : 0 0 1 1 : 0 0 1 2 : 0 0

S o a k Z o n e F l o u s

4 "

- 0 . 0 6 " H 2 0

C h r g _ G a s

: V | . t r a c k i n g j

T o M i l l J£ j TjTj; R e j e c t e d Rr-rM i n i n g

_ ^ H E A T i P R g r o u p nm

1 0 / 0 1 • 9

0 . 0 4 " H 2 0

H e a t G a s

fieit m r 0 "

4 " ' '

0 . 0 4 " H 2 0

S o a k G a s

1 0 / 0 1 / 9

A , i :.t.

1 4 ? u i . i ;

11111 i I o n

f B i l l e f ; (Preasur.eJ

ifTenpdra-turej D E L A Y

Trend-line of gas and air flow into the charge zone

Current heat information

Upcoming Upcoming 1 heat Trend-line of gas and air information flow into the heating zone

Display screen

Trend-line of gas and air control buttons flow into the soak zone

control buttons

Figure 5.8 Historical Furnace Operation Screen - Gas Flows

55

1 3 0 8 . 8 9 8 3 . 0 0 C 5 0 0 . 0 0 C } i r g _ T e n p

t »• ic k Micf

T o tTTTi [T -

R e j e c t e d £] R e n a i n i n g risM

— p , M K A T

1%) g r o u p ffsg

(i®&flfcl!EiS? HUD

8 9 : 8 8 1 8 : 8 8 1 1 : 8 8 1 2 : 0 8

r " 1 3 0 0 . 0 1 1 6 5 . 0 C 5 0 0 . 0 0 H e a t _ T e t m p H e a t i n g Z o n e

1

1 3 0 0 . 0 1 1 6 5 . 0 C 5 0 0 . 0 0 H e a t _ T e t m p

J 1

8 9 : 8 8 1 8 : 8 8 1 1 : 8 0 1 2 : 8 8 g IB / 8 1 / 9i

r 1 3 8 8 . 0 1 1 9 7 . 0 5 0 0 . 0 0 S o a k _ T e n p S o a k

1 3 8 8 . 0 1 1 9 7 . 0 5 0 0 . 0 0 S o a k _ T e n p

h h

0 9 : 8 0 1 0 : 0 0 1 1 : 0 0 1 2 : 0 0 1 0 / 0 1 / 9 6 £ s h u t d o w n ;<

Trend-line of temperature in the charge zone

Current heat information

Upcoming heat

information

Display

Trend-line of temperature in the heating zone

Upcoming heat

information

Display

Trend-line of temperature in the soak zone

screen control buttons

System shutdown button

Figure 5.9 Historical Furnace Operation Screen - Temperatures

56

Phase II of the project included installation of the knowledge base containing

knowledge from past procedures of the plant as well as recently altered procedures. This

phase also included installation of an advisory screen which the operator is prompted to

read during transition or transient-operating conditions. The screen, as shown in Figure

5.10, shows a typical product recommendation along with an area in which the operator

can prompt the system to provide advice, once a delay has been detected, based on the

operator's estimation of delay length.

advisory

F i l l s " N n . |M/l: OGU R.B. | P i n i s l i « ; < l L i : n < i t l , | | S h a p i : |

i B i l l u t | M J : <.HJU WLZ l U i l l c - L L e n g t h | L £ U " 1 l - 0 " I C r a r t u | .JHH . I H H . 4 H M K .

UPPT.II iiTi«jM|Ri:ironr.iNn rsnn IBM.I'.M̂RM,/™, WMIRI UI .um iwti i us id" ! 1 .

P r a t t . i i : i ; :!["M"2: 9 5 8 ~ 1 B 6 ~ H e a t : II * ' " p h a " __ - H . i x Ti:ni> 1 1 7 H C i

M a x D i f f I H H t: ! F u r n P r e s . 1 3 0 " " U C

' , i • ' 'isEE8££§> ! ' B H ™ a R E A L •CiSMJ ^ S a ^ J M S C p 1 I B B - 1 3 0 0 s e c G A P :

G r u m i : 14 ' M W U x ' l W J 2HHH -M2HH : : H H , , i a M S e t

S o a k 1 i i L - j L t : C h a r g e O O O X 0 0 0 0 0 0 0

0 0 0 0 0 o oj 0 0 0 0

0 0 0 0 0 o o' 0 0 0 0

o o oj X 0 0 0 0 0 0 0

1 ' 4 0 , nr,R

• " L O U C A M I O N S T E E L O N L Y UITII A P R A C T I C E NUMBER I K f i H H H 0)1 L 0 U E K " ? ? T ( 1 ) : SOAK S O N E : S e t control t o Maintain r o l l i n g tenperature: C>:): H E A T « (-IIAHGE Z O N E S : S e t , : m i l i - . i l s t o " H " output: l-" HIRNCif I P R I S M I K I . S i t ..1 H HUH ' C 4 ) : " A L L S T K E L U I T H A P R A C T I C E NUMHKK A l k H ' E Ill'fiHHW MUST U S E T H E "

" D E L A Y MANAGEMENT THE S A M E A S H I G H ' f iHH' . 'N . Hfi l . I . S T O C K . L i t I N h I N u K O l i : ;

? ! * " H I L L K T S Ml 1ST BE C E N T R E D I N THE F U R N A C E " ! ? ?

Figure 5.10 Advisory Screen

57

The expert system provides advice in the form of static advice as well as advice

based on the condition of a delay. If the operator has made an estimate of the delay

length, the system will provide the appropriate information to handle the situation. If the

time of the delay is longer or shorter than the prediction, the advice changes to suit the

situation based on knowledge added to the system previously. This screen, while not

prominent, does allow the operator to retrieve advice from the system as required and

perform operation changes in accordance with current operating procedures. The advice,

i f not followed may result in a poor heating condition which the combustion engineer can

address after the fact. If the change in procedure has a good effect on billet heating, the.

combustion engineer has the option to assess the situation and change the procedures

accordingly. This is the strength of the system, in that the intuitive skills of the operator

can be merged with standard procedures to optimize reheating and therefore increase mill

efficiency.

The strength of an expert system is its ability to handle a vast amount of

knowledge in a form which is not necessarily linear. This allows an expert system to

operate with any number of rules and procedures. Of course the more information

available to the system, the more reliable the deductions become. However, this non­

linear nature makes the completion of sequential tasks cumbersome since the

sequence of events can sometimes be quite random. Our system required that many

events be completed in very specific sequences in order to maintain logical order in

basic file/data "housekeeping" tasks. The ability of Comdale/C to invoke sequential

procedures aided in this task but did not solve the problem of larger sequential tasks.

A series of flags were therefore established to enable and disable rules within the

58

knowledge base which only allow certain procedures and rules to be active when

required. The expert system implementation therefore ran on a very large inference

cycle which was able to spawn a series of child cycles for accomplishing certain

housekeeping tasks. The large inference cycle is slaved by a series of internal flags to

allow the ordering of certain sequence sensitive tasks. Figure 5.11 outlines the main

inference cycle along with some of the more interesting child cycles. It is important to

note that although this flow chart seems to operate in a directed sequence and flow

like a typical computer program, the flow is quite non-linear. The result is a form of

controlled chaos which, of course, is similar in many ways to human thought.

On startup of the expert system, a large number of key-word-triplets (KWTs)

must be initialized with a set of starting point values. This is necessary to ensure that

the system child processes can be enabled and the ProcessVision man-machine

interface is setup for display. This is a simple procedure in which a series of

Comdale/C procedures are enabled only once prior to being disabled for the duration

of the system's operation. Due to the sequential and mundane nature of the static

knowledge, most of this information is stored not in rule form but in the form of data

files on the Q N X machine. During startup, a series of C programs which are in

themselves child processes, are summoned to glean important knowledge base

reference data from the files and compile a product profile with a series of K W T

arrays.

During normal operation, a series of housekeeping child processes are

periodically invoked which themselves may call on other child process within the

Comdale/C environment or in Q N X level processes. Table 5.4 lists the housekeeping

59

processes and conditions in which they are active. In normal operation, the advisory

portion of the knowledge base is filled with static knowledge based on the input billet and

output product. In a delay situation, the system enables the advisory segment associated

with the tracking of delay time and dynamically adjusts advice based on user input and

actual sensor readings.

60

LOAD

BOP HEAT

CHANGE

BILLET

ACCOUNTING

MANUAL

REJECT

PYROMETER

(timestamp)

0) o >. o T3 C o o <D 03 CD C o I Q. o O _ i LU O z LU CC LU

EXPERT ADVICE ARRAY

short-short short-med short-long

med-short med-med med-long

long-short long-med long-long

FLAG OPERATOR

DISPLAY ADVICE

CASCADE

GAP TIMES

PYROMETER

HMD

FURNACE

HMD

LOAD

BILLET

BUFFER

UNLOAD

BILLET

BUFFER

Figure 5.11 Inference Logic Cycle applied to the Knowledge Base

61

Table 5.4 Child Processes Within the Inference Engine

Process Purpose Effect Temperature Alarms

Watch for static as well as product based temperature violations

The operator is flagged and the event is logged in the data files

Week Day Check

To break the log files into day long files for transfer to the mill network

Weekday named files are assembled into a 2 week buffer zone which is uploaded to the mill network nightly

File Annotizer To create a log file of all furnace operational data

Every 30 seconds all pertinent furnace data is saved to a daily temp file

Gap time calculator

To keep track of billet falls A gap time for the last billet to present time is updated every second until another billet fall

Furnace H M D detector of a billet event at the furnace

Increments the billet tracking buffer until a conclusion can be made of the event detected

First stand H M D

detector of the billet event at the entrance of the first set of rolls

Indicates the billet leaving the sphere of detection of this system. A conclusion is drawn on the events to determine the probable fate of the billet(s)

Pyrometer " H M D "

To indicate a billet event at the pyrometer (internal signal)

Adds to the location logic information that a billet may be moving towards the first stand but makes no deduction until another event is logged.

Pyrometer time stamp

To use the pyrometer as the line at which the gaps are tagged

A l l gap times are based on the billet registering an event at the pyrometer.

Manual reject Operator correction mechanism

In certain rare cases, the three detectors can not deduce the correct event. This allow the operator to manually correct the event error

Billet Accounting

To track billets As events are reduced to actual billet movement the accounting is done in the heat tracking and the billet is logged to a billet event log file

Heat Change Heat changes may affect furnace operation

As a heat change is detected by internal flags, the subsequent heats are chained forward and all pertinent operational knowledge is upload from data files.

Delay detection Internal delay detection invokes a response from the system to prepare advice

A delay is detected, and the system prompts the operator to ask for operational advice based on the operators estimation of delay duration

62

Chapter 5.4. Analysis of the Furnace Operation Data:

In an attempt to understand the delay phenomenon, it is necessary to collect

as much statistical data as possible relating to as many delay conditions as possible.

The furnace, for control purposes, is separated into three independent zones. Of

course each of these zones is not explicitly independent as the temperature in one

zone greatly affects the temperature in the others due to the open design geometry.

The three furnace zones are controlled separately with three feedback loops. Each of

the zones uses a thermocouple as the primary sensor of furnace temperature. The

temperatures of the zones are converted near to the type "R" thermocouples from the

millivolt reading into a 4-20 mA signal which is much more resistant to stray

electrical interference. The milliAmp signals are read by three programmable logic

controllers (PLC's) which adjust the gas and air flow to the individual zones in order

to increase or decrease the zone temperatures. The amount of air and natural gas fed

into each zone is detected with a slide-wire feedback loop connected to the servo-

mechanisms which control the valve openings.

The control of these zones follow basic PID principles in order to obtain target

temperatures with a minimal time delay and temperature oscillation. The target

temperatures are selected by the furnace operators based on historical operational data

as well as current mill demand. Measured variables such as temperature, gas and air

flows therefore provide invaluable amounts of information on the typical operation of

the furnace in both steady-state and transient conditions. The operating information is

63

essential for the modeling portion of this project as the model will provide the new

knowledge to the process. Due to the nature of the data, statistical trending must be

employed. Long term delay and response data on furnace must be examined in order

to seek out frequent scenarios as well as typical responses prior to proposing changes

based on the mathematical model. The magnitude of the data collected in the data

logging regime resulted in a complex process analysis problem. Typical monthly file

sizes are in excess of 100 Megabytes which made traditional data analysis techniques

too cumbersome to be feasible. To address this problem, a series of low level

programs were written in F O R T R A N to scan the data files and retrieve relevant

information or look for trends. This information was used to create a statistical

picture of the furnace operation and control responses for subsequent model analysis.

The procedural flow of this analysis is delineated in Table 5.5.

64

Table 5.5 Reheating Furnace Control Procedure Analysis

Knowledge Engineer Billet Operating Procedure Identification retrieve logged data files

• retrieve heat sheets • Billet size (from heat sheets) . Rolling M i l l Product (from heat sheets)

Knowledge Engineer

Data Extraction Input Date/time band parameters

• Extract logged data from the master files

Knowledge Engineer

Gap Time Plot Analysis • plot gap times • identify frequent delay times

Knowledge Engineer

Scenario Generation • Input gap sequence key

extract response data extract profile data

Modeling Experts Process Modeling Model responses Pose Alternatives

• Model Alternatives Assess results

Knowledge Engineer M i l l Experts

Validation • Propose changes in procedure to the mill • Assess Changes on-line • Add Changes to the Knowledge Base

65

Chapter 5.5. Analysis of the Optical Pyrometer Data:

After reheating, the hot billets are discharged from the furnace to a conveyor

system where the scale is removed using a high pressure water descaling box. The

billet is then moved past the viewing window of a scanning optical pyrometer. The

pyrometer determines the temperature of an object based on the amount of infrared

energy radiated from the object in accordance to a calibration of emmisivity factor.

The scanning optical pyrometer provides a temperature profile along one side of the

billet (usually the trailing side). As the billet drops from the discharge chute onto the

conveyer system, it may perform a quarter turn which brings the bottom face to the

view of the pyrometer. The majority of the pyrometer scans therefore are of the side

of the billets. However, it is not uncommon for the billet to rotate randomly to show

a different face to the pyrometer and give a more or less severe apparent skidmark

(refer to the Statistical Process Control-SPC on Figure 5.4 to see the discontinuity in

the data band). The billets move along the conveyer at a relatively consistent speed

determined by the particular weight and friction with the rollers which generates a

good representation of the profile but not the absolute length of the bar. This profile

is provided to the furnace operators in real-time and provides an instant assessment of

the suitability of the bars for use as well as a post-operational assessment of the past

operational procedure. This information is the only tangible feedback the operators

use. Information which is gleaned from this profile includes maximum temperature,

maximum difference in temperature as well as skidmark severity. In terms of

66

statistical delay analysis, the pyrometer data is vital since it is also a good indicator of

a billet release from the furnace. The time between billet releases is known as the gap

time and statistical analysis of the gap times pinpoints frequent scenarios. This data is

then used to extract furnace operational data which gives an insight into typical

operator responses.

Chapter 5.6. Analysis of the Billet Groupings:

The mill bars can be classified into a number of groupings based on bar size,

metallurgy as well as product. The bar sizes include the three billet classes N2, N3,

and N6 representing square sections of 4.5", 8", and 10" respectively. These are

section sizes which do not include the section length, a statistic which affects overall

heat input required to raise the billets to a target temperatures. Chemistries in which

the main classifications are based on carbon content and other alloying elements,

outline the heating limitations. Billet chemistries for products such as ball and rod

stock is extremely temperature sensitive and overheating can result in product

rejection or even cracking of the billets inside of the furnace.

The product for which the bar is rolled can affect the groupings as target

temperatures and pacing rates can be constrained by rolling rate rather than heating

rate. M i l l personnel indicated that roughly 40% of the production is rolling mill

constrained, leaving the remaining 60% of the bars running the furnace at full

capacity. Control of the furnace under the furnace constrained conditions is relatively

straightforward if the furnace is run at full capacity and billets removed as soon as the

67

temperatures are within rolling specifications. It is during the 40% of production in

which the process is constrained by the rolling mill in which the system is useful in

furnace control.

In order to restrict the possible scenarios, grouping of gap times are obtained

from the statistical analysis of gap times for products with similar product rolling

procedures and temperature requirements. With these gap time groupings, it is then

possible to extract furnace operating conditions in steady-state as well as transient

conditions. Based on these operating procedures, it is then possible to select not only

the most common responses but also responses which may have had a good or bad

effect on billet quality. It is from these responses that the mathematical model can be

utilized to optimize the furnace operating responses under various steady-state and

transient conditions.

68

Chapter 6. Results and Discussion:

Chapter 6.1. The Expert System:

As is quite often the case, delays can be hectic situations in which the ftirnace

operator may become too occupied with delay related tasks to inform the system that a

delay has occurred. Therefore, the system has been given the ability to determine the

existence of a delay based on the examination of a series of sensor signals. Delay

detection is based on the expert system examining the sequence and timing of the three

detector signals available to the computer. The sequence is analyzed and a delay is

flagged internally as well as externally in the form of a flashing button offering advice to

the operator. The advice is offered in a manner which is as non-invasive as possible, the

operator needs only to "click" on the advice button to summon the advisory screen

containing recommended procedures. The system is currently stocked with declarative

and procedural knowledge from the Standard Operating Practices as well as new

knowledge from scenario "role playing" using the U B C transient furnace model. This

knowledge forms the basis for the expert system in terms of providing the operator with

knowledge gathered and refined from years of experience and from recent developments.

When the knowledge based is stocked with appropriate responses pertaining to complex

delay situations, the system will be able to offer timely advice for a myriad of transient

operating conditions in addition to the current static knowledge.

Statistical analysis of the delay data collected over the period of approximately

one year has lead to the isolation of a few statistically significant delay situations.

69

APPENDIX H contains a sunimary of 6 weeks of furnace operation. Of the three billet

size products, it was possible to identify three major categories of delays. In order to

illustrate these categories, an example of arbitrary grouping of N6 gaps times is shown in

Figure 6.1. The actual gap times between billets in shown on the horizontal axis and the

actual number of billets released is shown on the vertical axis. It is evident from these

plots that the three delay groupings can be extracted. The short, medium and long delays

were identified as discernible groups. It is possible to rearrange the delays into arbitrary

ranges and change the scale to focus on statistically frequent ranges. Also, i f we remove

billets which were released on schedule, the groupings become much more evident

(Figure 6.2).

With this in mind, it was possible to retrieve operator control responses to each of

the delay categories. Due to the nature of the data and the lack of details such as delay

cause or overlapping transients, the only feasible approach in addressing these scenarios

was to choose the most frequent delay responses. The system records and archives time-

stamped temperature profiles of the billets for scrutinization. Furnace operating data was

also available to the modeling experts. Figure 6.3 illustrates the zone temperature records

which can be correlated with the billet temperature data. In addition to these traces, gas

flows, air flows, and total furnace pressure stemming from operator control of the PLC's

is shown in Figure 6.4, Figure 6.5, and Figure 6.6 respectively. A n example of the

historical billet temperature profiles is illustrated in Figure 6.7.

The responses can then be analyzed via the mathematical model to determine the

efficiency of the operator's responses as well as the possibility of creating better response

without the need to experiment with the actual furnace controls. The analysis can then be

70

expanded to include theoretical responses to incorrect initial responses based on

inaccurate initial operator delay estimates. This information can then be placed into the

expert system to provide timely new advice as an initially misdiagnosed delay progresses.

Work on different aspects of transient procedural modeling continues.

It had been believed that roughly 40% of the production is rolling mill

constrained, leaving the remaining 60% of the bars operating the furnace at full burner

capacity. Logged furnace operational data from the data provided for model

scrutinization by Osinski showed that this was not that case in that not all of the zones of

the furnace were under heavy firing condition with the large 8" billets. Again the manner

in which the furnace is operated may have been affecting the furnace throughput. Further

examination of these procedures is required to assess the feasibility of increasing furnace

throughput by altering some of the ingrained operating procedures with this new

knowledge. Details of the scenario modeling performed by Osinski are included in

APPENDIX A. It is clear from this example of mathematically modeled delay response

strategies, that the expert system can becomes more effective with the addition of

externally generated knowledge.

71

700 - r

600 -

500 -

i r > o > c o r ~ - i - m c > < o r ^ - < - i o a > o o p - T - i o a > c o c o o c o r ~ - o c o r - ~ o - s r i - ~ o ^ i - r ^ T - ^ i - r ~ -T - T - r - C M C M C M C O C O C O ' ^ - ' ^ ' ' ^ - i r ) l f ) m

Gap time (sec)

Figure 6.1 N6 Raw Gap Times

Gap time (sec)

Figure 6.2 N6 Gap Time with Arbitrary Ranges

72

1400

1200

1000

800

600

400

200

M [I V

Charge zone - Heat zone -Soak zone

4-CO co CO co CM CM CM ro •0- o CO CO o CM in O CM <b 1— CO cb 66 o O CM o CO m CO CM OO CO ur> in <b CO 1

•— 1— 1— *— T— —̂ Temperature (°C)

Figure 6.3 Example of Furnace Zone Temperature Traces

Figure 6.4 Example of Furnace Natural Gas Traces

73

Figure 6.5 Example of Furnace Air Traces

Figure 6.6 Example of Furnace Pressure Traces

74

Time

Note: This example contains a 7.5 minute delay midway through the time sequence.

Figure 6.7 Plot of Billet Temperature Profiles Over Time

75

Chapter 6.2. The Interface & Operator Response:

The initial response to Phase I of the installation was with great reluctance on the

part of the operators due to the belief that mill management intended to replace the

furnace operators with a computer control system. This is consistent with the

"Feigenbaum Bottleneck" which includes reluctance from experts due to the fear of "loss

of work" from the A l technology, etc. [1,14]. These fears were alleviated by carefully

demonstrating and explaining the system to the operators thereby clarifying the objectives

of the system. Since the goal of the system was to supplement the tools the operators

have in their "toolboxes" for determining appropriate operating procedures, this initial

task was easily accomplished. The operators soon began to favour the new system over

the older data collection system in that the interface allowed the operators to see

information not previously available. Since the bulk of the development of the man-

machine interface was completed over a three week period, the operators were able

interact with and critique the interface during system development. This interaction

allowed the development of a system which was not only useful and acceptable to all four

primary furnace operators but also consistent with the goals of both the mill mangers as

well as the system developer. The interface ergonomic factors were therefore deemed

important for system acceptance which directly affected the level of cooperation required

during the development and implementation phases [12].

Phase II of the installation was essentially a seamless addition to the interface.

A l l of the screens of Phase I remained intact with interfaces which the operators had

76

become accustomed to and readily accepted as useful. Phase II added a single advisory

screen which provided advice, based on the knowledge within the newly installed

knowledge base and delay detection rules. As expected, this phase was the portion of the

project most difficult to obtain general furnace operator acceptance. This reluctance is

due mainly to the nature of furnace control in the past in which operators were allowed to

implement any control procedure which seemed to produce billets during minimal mill

delay. These control decisions often produced billets at the price of product quality or

production. However, since the expert system goals were the same as the supervising

combustion engineer, this reluctance will eventually be overcome. Of the four operators,

one individual wanted no interaction with the advisory screens whatsoever due to

reservations over the content of the SOP. Two of the operators were mostly indifferent

but curious as to the advice that the interface would offer. The fourth operator was very

keen on the concept and was quick in manipulating of the system and examining the

information. Unfortunately, the knowledge base was not complete at the time and only

procedural and declarative knowledge as well as relatively new knowledge generated as a

result of the mathematical model were integrated into the system. This fact alone may

explain the less than overwhelming response to the advisory portion of the S C A D A

system, however the groundwork for a completed knowledge base has been laid. The

ability to implement all aspects of the system however are active and the tools required

for future updates to the system were provided to the rolling mill managers.

A recent visit to the mill to check on the condition of the S C A D A system has

resulted in a few revelations. The older A S Y S T system has been removed and the U B C

M M I was operational as the sole window into the furnace operation. M i l l personnel

77

lauded the system as being extremely useful for both the operators as well as allowing

detailed analysis to be performed by both U B C and mill personnel [10]. The billet

tracking system however was not in use which also precludes the use of the expert

advisory system except as a reference for the static knowledge of the system. This

situation may be a result of operators' reluctance to perform the task or in part to an

increase in the inaccuracy of the billet pass determination module of the system due to

some changes in the furnace operation. The detection rules were designed to be tuned to

the specific timing of the billets from detection at the furnace H M D , the leading edge of

the pyrometer signal and the H M D at the first stand. This leads to the confirmation that

an expert system, to be useful, must be maintained and updated regularly as process

changes occur.

The relative compliance of the operators to the mill SOP is still at low levels, as

the logged data suggest. Any improvements which are made to the SOP are therefore

moot i f the operators are not held accountable to the procedures. The expert system has

been instrumental in identifying the low level of compliance but has not been useful in

encouraging compliance due to the need to bring the knowledge base up to date. The

ability of the mill personnel to monitor the compliance levels of the operators is

unfortunately still a forensic task due to the lack of a fast network link from the S C A D A

system to the plant network. This problem could not be addressed due to some plant

standardization issues but may now be surmountable i f the networking problem is

championed by mill personnel. It is the opinion of the author that a "champion" at the

mill for the system addressing the networking issue would make the system viable in this

78

particular application and push the system towards encouraging fruitful standardization in

furnace control procedures [14].

During this recent visit to Edmonton, it was determined that it is the intent of the

mill to implement a level II PLC based system which will remove the operators from the

furnace control loop. This would in turn, remove the U B C S C A D A system from the

control loop, and all the expertise contain within its knowledge base. While this would

indeed create an absolutely standard response to predetermined transients, the expertise of

the operators would be lost.

79

Chapter 6.3. Benefits of the System to the Mill Operation:

The implementation of an expert system to the billet reheating furnace was a

success. Some of the benefits can be directly measured in terms of money saved from a

decrease in product rejections, and others indirectly in terms of the introduction of order

to a sometimes chaotic process. Some of the features which were implemented into the

system which may not have been available or as refined in previous systems are:

1. Billet tracking system - to allow an automatic accounting of billet progress.

2. Real time data collection at high frequencies - low level CI drivers which collect data

and perform simple processing of data.

3. Development of standardized on-line operating practices for delays - knowledge from

different sources was compiled into a standardized knowledge base to be used by the

furnace operators.

4. Temperature profile displays - graphical representation of temperature profiles in real

time along with alarms and trend information.

5. Presentation of historical data - Trend information on temperature, air flow, fuel flow,

billet temperatures, and furnace pressure is available for on-line inspection of

operating procedures.

6. Generation of data files - Data files containing information of furnace activity and

conditions is stored for retrieval by external applications.

80

Chapter 7. Conclusions

This project has involved an examination of the problems involved in the control

of a steel reheating furnace at an Alberta mini-mill. On completion of the project the

following conclusions can be made:

• The control of billet reheating furnaces has proven to be a challenging problem well

suited to Expert Systems due to the heuristic nature of the problem.

• A Expert System consisting of a data collection module and advisor module was

developed and successfully installed at the Alberta mill. This system was still in

operation 3 years after installation. This implementation can be considered a success

due to the continued use by the mill.

• The static and transient furnace models developed by the billet reheating project were

effectively used to study control conditions and procedures leading to the

development of some new knowledge, increasing mill efficiency. This new

knowledge was assimilated into a S C A D A system.

• The system allows creation of an operating standard in which inexperienced or

undisciplined operators use proven procedures designed to increase productivity and

decrease operational losses.

• The system has proven itself as a useful tool to operators which benefit from the man-

machine interface as well as the mill managers as they attempt to improve the

operating bottom line via process efficiency.

81

BIBLIOGRAPHY

1. J.Efstathiou, "Expert Systems in Process Control", Harlow: Longman 1989, p. 114-138

2. H.E.Boyer, T.L.Gal, "Metals Handbook - Desk Edition", American Society for Metals, Metals Park OHIO, Sep 1992, p 28.2

3. P.V.Barr, K.E.Scholey, E.Osinski, Unpublished work in progress, Modeling of Steady-State and Transient Billet Furnace Operation, -1997.

4. K.E.Scholey, PhD Thesis - "A Transient, Three-Dimensional, Thermal Model of a Billet Reheating Furnace", U B C , 1996

5. J.K.Brimacombe, I.V.Samarasekera, E.B.Hawbolt, P.V.Barr, "Microstructural Engineering: Mathematical Models and Measurements to Link Steel Products and Processes", Steel Product-Process Integration, Halifax, Aug 1989. Canadian Institute of Mining and Metallurgy, pp. 147-167

6. W.J.Stry, J.D.Felske, "On Reheat Furnace Temperature Uniformity and Decarburization", 31st Mechanical Working and Steel Processing Conference, Chicago, Oct 1989, Iron and Steel Society, pp 603-616.

7. G.Howel, R.Sanchez , "More Effective Steelmaking with Computerized Reheat Furnace", Ind. Heat. Vol 51, No. 10, pp 28-30, Oct 1994

8. "Decarburization: Proceedings, Conference of Decarburziation", Sheffied England 1969

9. P.Agrawal, Private Communications, Spring 1993 "Expert: Ivaco", U B C

10. Dennis Gutknecht, Doug Ostafichuk, Bob Pugh, Peter Barr, Edmund Osinki -Private Communications, April 4, 1997 Edmonton "Experts: U B C and Alta"

11. Dennis Gutknecht, Doug Ostafichuk - Private Communications - Combustion Engineer, M i l l Engineer, summer 1995 "Expert: Alta"

12. L.Boullert, A Krigsman, R.A. Vingerhoeds, "Application of Artificial Intelligence in Process Control: Lecture Notes Erasmus Intensive Course", N Y Pergamon Press, 1992, p. 127-141

82

13. S.Kumar, J.A.Meech, I.V.Samarasekera, J.K.Brimacombe, "Knowledge Engineering an Expert System to Troubleshoot Quality Problems in the Continuous Casting of Steel Billets", I & S M September 1993, pp 29-34

14. J.A.Meech, " A l Applications in the Mining Industry into the 21st Century", A P C O M X X V Conference, Brisbane, May 9-14, 1995, p. 95-96

15. D.N.Chorafas, "Knowledge Engineering: Knowledge Acquisition, Knowledge Representation, the Role of the Knowledge Engineer, and Domains Fertile to Artificial Intelligence Implementation", New York, N Y , Van Nostrand Reinhold 1990, p. 20

16. Mark K Ekblad, Tamara L Artim., "Application of Fuzzy Logic Control of Gas Composition in a Combustion Process", 2nd IEEE Conference on Control Applications. Sep 13-16 Vancouver BC

17 K.McDermott, P.Clyde, M.Hall, C.A.Harris, "Expert System for Control of No.4 Autogenous M i l l Circuit at Wabush Mines. C M P P:roc.,1992, No.24,pp20-

18. J.K.Brimacombe, "Empowerment with Knowledge Toward the Intelligent Mould for the Continuous Casting of Steel Billets", 76th Steelmaking Conference, Dallas Texas, USA, Iron and Steel Society pp.3-27, 1993

19. I.V.Samarasekera, J.K.Brimacombe, "Application of Mathematical Model for the Improvement of Billet Quality", Steelmaking Conference Proceedings, Vol 74 Washington, D.C., Iron and Steel Society, 1991,pp 91-103

20. Sunil Kumar, MASc Thesis, "An expert system to Diagnose Quality Problems in the Continuous Casting of Steel Billets", 1991 (PhD 1996)

21. V.Rakocevic, J.A.Meech, "Computational Intelligence in a real-time S C A D A system to monitor and control continuous casting of steel billets", IFSA '95 Sao Paulo, Brazil, July 22-28, 1995

22. J.C.Bezdek, "What is computational intelligence", - Computational Intelligence -Imitating life, 1994 IEEE World Congress on Computational Intelligence (WCCI),pp 1-12

23. "ProcessVision 4.2 Operation Manual", Comdale Technologies, Toronto Canada, 1995

24. V.Rakocevic, MASc Thesis - "Development of a S C A D A system to Monitor and Control Continuous Casting of Steel Billets",, U B C 1995.

83

25. J.A.Meech, C.A.Harris, "Expert Systems for Gold Processing Plants", Randol Gold Forum , Vancouver march 25-27, 1992

26. Dr. John Meech, Dr. Peter Barr - Private Communications, summer 1995 Vancouver" Expert and Knowledge Engineer, U B C "

27. Edmund Osinski - Private Communications, Work in Progress - -spring 1997 "Expert: U B C Model"

84

APPENDIX A Mathematical Modeling Results

The Mathematical Model:

The vast amount of data and information gleaned from the furnace with the U B C

S C A D A system as well as data gathered from plant trials in Alberta and the pusher-type

furnace at M R M located in Manitoba allowed the tuning and verification of the U B C 3D

transient billet furnace model. The model is an offline tool necessary for running a

number of "what i f scenarios in an attempt to improve the efficiency of the furnace.

Given the good degree of confidence with the results obtained from the model, we were

able to make some recommendations to the mill in terms of operational conditions.

Figure A - 1 shows the Model Calculated (lines) vs. Experimental points (symbols) [4].

1400

billet discharged from furnace

0 20 40 60 80 100 120 Time (min)

Figure A -1 Plant Trial Results as Compared with Modeling Results

85

These recommendations allowed reduction in the number of rejections as well as a

reduction in the degree of product downgrades in temperature sensitive products such as

ball and rod stock. Following mill assessment of the procedural changes, they were

assimilated into the plant's Standard Operating Practice which is an integral part of the

operational knowledge base of our real-time advisory expert system. This change has

allowed the creation of new knowledge as well as the mechanism to translate these new

procedures to the mill level. The result of such new procedures and standardizations was

to increase the levels of Quality Assurance for mill bar products. The furnace operational

analysis of this specific scenario and subsequent system implementation has proven to

have saved the mill in the order of $100,000 with the change of the procedural operating

target temperature for rolling of ball stock [11].

In regards to "process lore", a common belief of the mill was that after delay

transient conditions, the first two billets discharged from the furnace would be cold, and

well below target temperature. The modeling of this situation by Osinski [10,27] did not

show any cold billets at the end of delay transients. There was, however some evidence

of cold billets at the end of longer delays from SCADA system logged data. Discussions

with mill personnel and further modeling of the soak zone, revealed that a combination of

the cooling effect of the exit door, the geometry of the zone and operator decisions

resulted in colder billets. The discharge door was essentially a black body which acted as

a heat sink near the discharge end of the furnace. In addition, some cold air moved

through the seal of the door which cools the billet as well as diminishing the heating

effect of the row of burners over the end billets. If the burner output is increased to

86

account for this cooling the next set of billets (5th or 6th) is overheated. As a result, the

furnace operators under-burned the zone, leaving colder billets to be discharged at the end

of longer delays. It had been believed that this feature was solely the result of cooling

from the door and the inability of the furnace to supply enough heat to the soak zone.

As a result of the dissolution of this particular piece of process lore, the control of

the furnace can be better understood and control practices can reflect this new knowledge.

Barr [10] suggested making procedural changes such as shutting down the second row of

burners in the soak zone for temperature sensitive product or possible creating a new

control zone in the furnace which would separate the soak zone into smaller control

sections.

Steady state and transient work by Barr and Osinski [10] suggest that the furnace

is not optimally operated in terms of transfer of heat from combustion into the billets.

For a large amount of the products, the charge zone is fired hard with the heating zone

idled and soak zone used only for final temperature targeting. This procedure has

allowed the operators to control the temperature with little loss in production. However,

firing the charge zone heavily also means that most of this sensible heat exits the furnace

quickly through the stack. If the heating zone were to be fired heavily, the heat of

combustion would not only be absorbed in the heating zone but also in the charge zone

which in turn would not need to be fired as heavily to maintain temperatures. The

drawback of this procedure may be in the production rate of the furnace because the heat

flux into the billets as viewed from the furnace axial profile would be skewed from the

charge towards the heating zones. The result may be a reduction in the maximum pace

rate due to the longer heating and homogenizing times. This may have the effect of

87

lowering the throughput of the furnace which may be more detrimental than the excess

fuel consumption. Work on this aspect continues, as it may be possible to maintain

throughput and reduce fuel consumption when reheating billets which are not bottle-

necked at the furnace.

It was determined via gas flow data traces that the amount of excess air supplied

to the burners under delay driven idle conditions varied to a large degree. This variation

can lead to a change in an adverse furnace atmosphere and increase the degree of scale

formation. This loss due to scale can be absorbed into the costs of delays but can be

detrimental in the production of grades with particularly adherent scale. It has been

proposed that the burning ratios be raised into a more stable region and the heating profile

in the furnace be redistributed to allow a zero net change in heat input. This would

decrease the extent of scale loss during delay conditions though better furnace

atmosphere control [10,27].

A set of "typical" delay scenarios were obtained from mill as selected from the

historical log files, including recommended responses. These were analyzed by Osinski

with the use of the U B C model to determined their effectiveness. While the procedures

had merit, it was clear that improvements could be made to these procedures. Osinski

postulated possible new procedures and tested a number of variations. The result was a

set of new post delay procedures which the model deemed as more effective. Osinski

assembled a set of results from the modeling efforts which included the examination of

the effectiveness of three delay strategies as follows:

1.. null strategy - no action is taken during or after this delay

88

2. basic strategy - as is currently prescribed

3. fine strategy - fine adjustments to the operation during and after the delay

The firing strategies noted above are summarized in Table A - 1 and Table A - 2

[10,27]. The modeled outcomes of these strategies is summarized in Figure A - 1 and

Figure A - 2 Results of a Basic Strategy with a Null Strategy

[10,27]. It is clear from these results that the null strategy as expected produces greatly

overheated billets and that the fine control strategy produced billets with much lower

standard deviations. These procedures have been presented to the mill for validation

prior to assimilation into the mill SOP.

Table A - 1 Basic Post-Delay Firing Strategy

Charge Zone Heat Zone Soak Zone [Nm3/h] [Nm3/h] [Nm3/h]

delay (70 min) 280 280 280 1st 10 min. after delay (70-80 min) 280 280 150 next 20 min. after delay (80-100 min) 1850 280 150 next 5 min after delay (100-105 min) 1850 280 400 steady state 1850 900 400

Table A - 2 Fine Post-Delay Firing Strategy

Charge Zone Heat Zone Soak Zone [NmVh] [Nm3/h] [Nm3/h]

delay (70 min) 280 280 280 1st 10 min. after delay (70-80 min) 280 280 150 2 n d 10 min. after delay (80-90 min) 1850 280 200 3 r d 10 min. after delay (90-100 min) 1850 280 200 4 t h 10 min. after delay (100-105 min) 1850 280 300 105-140 min 1850 900 300 140-150 min 1850 900 400 150-155 min 1850 900 600 steady state 1850 900 400

89

1260

1241

1220

1100

1060

—0— fins strateg —A— nuD strategy —0— fins strateg —A— nuD strategy

L i . \ tsar

O 2D 40 60 80 100 120 140 160 180 200

time [mln]

Figure A - 2 Results of a Basic Strategy with a Null Strategy

90

The steady-state and transient modeling has clearly proven itself to be a powerful

tool in the understanding of furnace operation and has added new knowledge to a often

misunderstood process. It is evident that further work along the same lines would

provide invaluable process knowledge. It also follows that this knowledge, i f

implemented in the expert system, would provide the floor level personnel with same

level of control expertise without the burden of explicitly understanding the fundamentals

behind the new knowledge.

91

APPENDIX B Hardware

Mill Computer: (The U B C unit was essentially identical in configuration but not manufacturer) • I B M Value Point • 486DX2-66 • 16 Megabytes Memory • 340 Megabyte Harddrive • Mouse, Colour monitor, Keyboard

This particular hardware configuration was selected in order to provide the minimum required hardware processing power. The actual computer was an I B M value point machine chosen by the mill in accordance to mill specifications for standardized computers. This selection, however provided an unexpected operational problem. The DAS-20 data acquisition card did not function properly due to inability to control the data stream transfer rates between the motherboard and the DAS-20. Generic computers of this age are equipped with CMOS adjustable transfer rates which readily allowed the BUS to be adjusted to match the transfer rates acceptable to the DAS-20. The solution to this problem proved to the removal of the I B M BUS riser card, which was IEEE standardized, and the installation of an A T BUS standardized riser card to make the hardware change in the BUS transfer rates.

Data Acquisition Card: • DAS-20 - Keithly Metrabyte

This card was selected for use in this project as well as the "SmartCast" project in order to provide not only the necessary acquisition rates and accuracy but also to standardize the software drivers necessary to operate these cards within the Q N X operating environment. Due diligence in the selection of this card was performed by Vladimir Rakocevic.

Networking: • Token Ring network card • Serial data line-TCP-IP protocol

Networking of the QNX furnace computer with the mill computer proved to be an effort restricted again by mill standardization. The mill operated all of their networks off an I B M token ring standard. The software allowing this option was not available until the end of the this project, therefore a temporary option was chosen. A serial line was installed from the Q N X machine to a bridge machine which transferred the daily log files from the QNX machine to the DOS machine once a day prior to sending the information onwards to the mill network for compilation with the database of operating variables.

92

APPENDIX C Software

DOS 5 - A small DOS partition was installed to allow this machine be twinned and interchangeable with another plant machine in case of hardware or software failure.

Q N X 4.21 operating system - This software was selected due to it's ability to provide real-multitasking on the industrial scale.

QNX-windows interface - This software provides the Graphical User Interface necessary for a the expert system software to operate.

Comdale ProcessVision, Comdale/C - The process view and expert system software combination which provided the man-machine interface with the furnace operators. The version of the software used was in B E T A form and required some additional low level drivers to solve some operational deficiencies

Signal Conditioning Software - this is the small CI module which examines the incoming signals from the HMD's and determined the existence of a "real" or "ghost" signal, Author Vladimir Rakocevic and Cliff Mui

U B C - data acquisition drivers - low level drivers which acquired data from the DAS-20 card performed some CI manipulations of the data stream prior to passing the relevant data onto the expert system. Authors Vladimir Rakocevic and Cliff Mui

Networking software - QCP Serial software purchased as a "Band-Aid™" solution to the networking deficiencies, This allows a DOS machine to act like a Q N X terminal logging onto the Q N X server and retrieve data files via FTP and Telnet protocols -Developed by MultiMips Software

Data processing software - small drivers designed to be evoked by the expert system to provide data to the expert system on demand as well as perform data file manipulation onto the bridge machine

Data interfacing software - DOS based scheduling software running DOS scripts that moved the data from the bridge machine to the mill network

Statistical Processing Software - Low level software written to extract information from data files of unmanageable size (> 100MB). Author Cliff Mui

Mathematical Model - 3D steady state model designed to verify the steady state operation of the reheating furnaces. Author and Expert Dr. Peter Ban-

Mathematical Model - 3D transient furnace model designed to used the data trends to determine the efficiency of control procedures. Author and Experts Dr. Peter Barr, Dr. Kenneth Scholey, Edmund Osinski.

93

APPENDIX D Plant Trials

1. K.Scholey, C.Mui, P.Wenman conducted plant trials at Alta Feb 28-Mar 1994 examining Transient and Steady-State furnace control conditions.

2. K.Scholey, C.Mui, P.Wenman conducted plant trial at Manitoba Rolling M i l l (MRM) examining Transient and Steady-State furnace control conditions, collected delay information, June 6-10, 1994

3. C.Mui, V.Rakocevic, and N.Walker installed a S C A D A system at Alta steel, interviewed personnel and collected data, November 27-December 19, 1994

4. C.Mui performed the installation of Phase II at Alta, Summer of 1995.

5. C.Mui, P.Barr, E.Osinski met with D.Gutknecht, D.Ostafichuk, B.Pugh at Alta to discuss new knowledge and inspect the M M I . Apr 3, 1997

94

APPENDIX E Data Processing Code The following is a series of small DOS programs developed in F O R T R A N to

examine the large data files obtained from the mill:

C file=iclip.for Cccccccccccccccccccccccccccccccccccccccccccc C C Ver 1.0 June 23, 1995 C This code is was written clip billet ID C data from fine Billet ID data files. C Ccccccccccccccccccccccccccccccccccccccccccccc c

INTEGER SEC,LINE INTEGER D A T E , ST A R T D ATE,FINI S H D A T E INTEGER START,FINISH INTEGER TOMILL,REJECT CHARACTER*8 TIME,START_TIME,FINISH_TIME,LABEL C H A R A C T E R * 10 N U L L

C LINE = 0

C C INPUT R A N G E F R O M CONFIG FILE C

OPEN(UNIT=3,FILE='ICLIP.CFG') READ(3,*) START_DATE,START_TIME READ(3,*) FINI S H D ATE,FINI SH_TIME CLOSE(UNIT=3) DATE=START_DATE TIME=START_TIME C A L L CONVERT(DATE,TIME, START) D ATE=FINI SH_D A T E TIME=FINISH_TIME C A L L CONVERT(DATE,TIME,FINISH)

C 202 FORMAT(I8,',',A, ,,',I3, ,,',I2, ,,',A,';,I9)

OPEN(UNIT=l ,FILE='BILL_ID.TXT') OPEN(UNIT=2,FILE= ,ICLIP.TXT',STATUS='UNKNOWN')

100 READ(1,*) DATE,TIME,TOMILL,REJECT,LABEL,NULL LINE = LINE + 1

95

c C A L L CONVERTEDATE,TIME, SEC)

C IF (SEC.GE.START.AND.SEC.LE.FLNISH) THEN

WRITE(2,202) DATE,TIME,TOMILL,REJECT,LABEL,SEC PRINT*,DATE,TIME,LINE,START ,FrNISH ,SEC

ELSE PRINT*,' ' ,DATE,TIME,LLNE

ENDIF C

IF (DATE.NE.9) THEN GOTO 100 ELSE ENDIF CLOSE(UNIT=l) CLOSE(UNIT=2)

C END

C C ccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccc c C SUBROUTINE FOR CONVERTING D A T E A N D TIME TO abs-seconds C

SUBROUTINE CONVERT(DATE,TIME,SEC) C H A R A C T E R * 8 TIME INTEGER D A T E , S E C , B L A N K , B A S E INTEGER DD ATE,MONTH,D A Y,INDEX( 12) C H A R A C T E R * 1 HOURl,HOUR2,MrNl ,MIN2,SECl ,SEC2 INDEX(1)=0 INDEX(2)=2678400 INDEX(3)=5097600 FNDEX(4)=7776000 INDEX(5)=10368000 FNDEX(6)=13046400 INDEX(7)=15638400 INDEX(8)= 18316800 INDEX(9)=20995200 INDEX(10)=23587200 INDEX(11)=26265600 INDEX(12)=28857600 INDEX(13)=99999999

C C ABS-SEC-CONVERSION

96

c DDATE=0 B A S E = 0 IF(DATE.GE. 19940101. AND.DATE.LE. 19941231 )THEN

DD ATE=D ATE-19940000 B A S E = 757382400

ENDIF IF(DATE.GE. 19950101 .AND.DATE.LE. 19951231 )THEN

DDATE=DATE-19950000 B A S E = 788918400

ENDIF M O N T H = INT(DD ATE/100) D A Y = DDATE-MONTH* 100 IF (MONTH.LE.0.OR.MONTH.GE. 13) THEN

M O N T H = 13 D A Y = 9 SEC = 999999977

ELSE HOUR1 =TIME(1:1) HOUR2 = TIME(2:2) MINI = TIME(4:4) MIN2 = TIME(5:5) SEC1 =TIME(7:7) SEC2 = TIME(8:8) SEC = B A S E SEC = SEC + (ICHAR(SECl)-48)*10+(ICHAR(SEC2)-48) SEC = SEC + (ICHAR(MINl)-48)*600+(ICHAR(MIN2)-48)*60 SEC = SEC + (ICHAR(HOUR1)-48)*36000+(ICHAR(HOUR2)-48)*3600 SEC = SEC + (DAY-1)* 86400 SEC = SEC + INDEX(MONTH)

ENDIF B L A N K = ICHAR(SECl)-48 IF (BLANK.LE.0 .AND.BLANK.GE.9) THEN

SEC = 999999988 ENDIF END

C file=stats.for Cccccccccccccccccccccccccccccccccccccccccccccccccccc C C Ver 1.0 may 23, 1995 C This code is was written to compile statistics C of data files from alta steel using 100 points C and write a data file containing these stats

97

c Cccccccccccccccccccccccccccccccccccccccccccccccccccc c

INTEGER TEM(800) INTEGER G A P , B A R S , F L A G INTEGER NUMBER(800),PERIOD(800) INTEGER MIN(800),MAXI(800) INTEGER MIN_E,MEST_W,MAX INTEGER SEC,T,X,SECJBUFF,LINE INTEGER DATE,DATE_BUFF C H A R A C T E R * 8 TIME,TIME_BUFF

C LLNE = 0 S E C - 0 BARS = 1 DO 500 X=l,200

PERIOD(X)=0 MIN(X) = 0 MAXI(X) = 0 NUMBER(X)=0

500 CONTINUE C C INPUT C C

OPEN(UNIT=3,FILE='STATS.CFG') C C R E A D IN CONFIG FILE C

300 READ(3,*) PERIOD(BARS) IF (PERIOD(BARS).NE.-9) T H E N

BARS = BARS + 1 GOTO 300

ELSE BARS = BARS - 1

ENDIF CLOSE(UNIT=3)

C C BEGIN LOADING IN GAP TIMES C

OPEN(UNIT=l ,FILE='BILL_DAT.END') 100 SEC_BUFF = SEC

READ(1 ,*) DATE,TIME,(TEM(T),T=1,100),MLNJE,MIN_W,MAX,SEC GAP = SEC - SEC_BUFF LINE = LINE + 1

98

C S T A R T S T O C K I N G B A R S C

F L A G = 1

D O 4 0 0 X=1,BARS I F ( G A P . G E . P E R I O D ( X ) ) T H E N

F L A G - X

E N D I F 4 0 0 C O N T I N U E

P R I N T * , D A T E , T I M E , L I N E , S E C , G A P , F L A G N U M B E R ( F L A G ) = N U M B E R ( F L A G ) + 1 M I N ( F L A G ) = M I N ( F L A G ) + M I N J E M A X I ( F L A G ) = M A X I ( F L A G ) + M A X

C C

I F ( D A T E . N E . 9 ) T H E N G O T O 100

E L S E E N D I F C L O S E ( U N I T = l )

C O P E N ( U N I T = 2 , F I L E = ' S T A T S . T X T , , S T A T U S = ' U N K N O W N ' ) W R I T E ( 2 , * ) L I N E , B A R S W R I T E ( 2 , * ) ' G A P , F R E Q , M I N , M A X ' D O 600 X = 1 , B A R S

I F ( N U M B E R ( X ) . N E . O ) T H E N M I N E = M I N ( X ) / N U M B E R ( X ) M A X = M A X I ( X ) / N U M B E R ( X )

E L S E M I N _ E = 0 M A X = 0

E N D I F

W R I T E ( 2 , * ) P E R I O D ( X ) , , ; , N U M B E R ( X ) , ' , , , M I N _ E ; ; , M A X 6 0 0 C O N T I N U E

C L O S E ( U N I T = 2 ) E N D

C file=gaps.for Cccccccccccccccccccccccccccccccccccccccccccccccccccc C C Ver 1.0 June 2 1 , 1995 C This code is was written to compile gap statistics

9 9

C of data files from alta steel using 100 points C and write a data file containing these gap stats C Cccccccccccccccccccccccccccccccccccccccccccccccccccc c

INTEGER TEM(200) INTEGER GAP INTEGER SEC,T,SEC_BUFF INTEGER D A T E C H A R A C T E R * 8 TIME

C SEC = 0

C C INPUT C C C BEGIN LOADING IN GAP TIMES C

OPEN(UNIT= 1 ,FILE='BILL_D AT.END') OPEN(UNIT=2,FILE='GAPS.TXT ,,STATUS='UNKNOWN')

100 SEC_BUFF = SEC READ(1 ,*) DATE,TIME,(TEM(T),T=1,100),MLN_E,MrN_W,MAX,SEC GAP = SEC - SECJBUFF

C WRITE(2,*) DATE ,7 ,T IME ,7 , SEC ,7 ,GAP PRINT*, GAP

C IF (DATE.NE.9) THEN

GOTO 100 ELSE ENDIF CLOSE(UNIT- l ) CLOSE(UNIT=2) END

C file=Fclip.for Cccccccccccccccccccccccccccccccccccccccccccc C C Ver 1.0 June 23, 1995 C This code is was written clip furnace C date from furnace data files. C Ccccccccccccccccccccccccccccccccccccccccccccc

100

c INTEGER SEC.LINE INTEGER D A T E , S T A R T D ATE,FINI S H D A T E INTEGER CTEMP,HTEMP,STEMP INTEGER CSET,HSET,SSET R E A L CGAS,HGAS,SGAS R E A L CAIR,HAIR,SAIR,FPRESS INTEGER START,FINISH CHARACTER*8 TIME,START_TIME,FINISH_TIME

C LINE = 0

C C INPUT R A N G E F R O M CONFIG FILE C

OPEN(UNIT=3,FILE='FCLIP.CFG') READ(3,*) START_DATE,START_TIME READ(3,*) FINISH_DATE,FINISH_TIME CLOSE(UNIT=3) DATE=START_DATE TIME=START_TIME C A L L CONVERT(DATE,TIME,START) D ATE=FINI SH_D A T E TIME=FINISH_TIME C A L L CONVERT(DATE,TIME,FINISH)

C 202 FORMAT(I8,V,A,','J4,',',I4,V,I4,V,I4,V,I4,',',I4,','

+,F5.2,V,F5.2,', ,,F5.2, ,;,F5.2S

,;,F5.2, ,, ,,F5.2,V,F5.2) OPEN(UNIT=l ,FILE='FURN_TMP.TXT') OPEN(UNIT=2,FILE='FCLIP.TXT',STATUS='UNKNOWN')

100READ(1,*) DATE,TIME,CTEMP,HTEMP,STEMP,CSET,HSET,SSET,CGAS,HGAS

+,SGAS,CAIR,HAIR,SAIR,FPRESS LINE = LINE + 1

C C A L L CONVERT(DATE,TIME,SEC)

C IF (SEC.GE.START.AND.SEC.LE.FINISH) THEN

WRITE(2,202) DATE,TIME,CTEMP,HTEMP,STEMP,CSET,HSET,SSET,CGAS +,HGAS,SGAS,CAIR,HAIR,SAIR,FPRESS

PRJNT*,DATE,TIME,LINE,START,FINISH,SEC ELSE

PRINT*,' ' ,DATE,TIME,LINE ENDIF

C IF (DATE.NE.9) THEN

101

GOTO 100 ELSE ENDIF CLOSE(UNIT=l) CLOSE(UNIT=2)

C END

C C ccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccc c C SUBROUTINE FOR CONVERTING D A T E A N D TIME TO abs-seconds C

SUBROUTINE CONVERT(DATE,TIME, SEC) C H A R A C T E R * 8 TIME INTEGER D A T E , S E C , B L A N K , B A S E INTEGER DD ATE,MONTH,D A Y,FNDEX( 12) C H A R A C T E R * 1 HOUR1 ,HOUR2,MIN 1 ,MLN2,SEC 1 ,SEC2 INDEX(1)=0 INDEX(2)=2678400 LNDEX(3)=5097600 INDEX(4)=7776000 LNDEX(5)= 103 68000 INDEX(6)=13046400 LNDEX(7)=15638400 LNDEX(8)= 18316800 INDEX(9)=20995200 INDEX(10)=23587200 INDEX(11)=26265600 INDEX(12)=28857600 INDEX(13)=99999999

C C ABS-SEC-CONVERSION C

DDATE=0 B A S E = 0 IF(DATE.GE.19940101.AND.DATE.LE.19941231)THEN

DD ATE=DATE-19940000 B A S E = 757382400

ENDIF IF(DATE.GE. 19950101. AND.DATE.LE . 19951231 )THEN

DDATE=DATE-19950000 B A S E = 788918400

ENDIF

102

M O N T H = INT(DD ATE/100) D A Y = DDATE-MONTH* 100 IF (MONTH.LE.0.OR.MONTH.GE. 13) THEN

M O N T H = 13 D A Y = 9 SEC = 999999977

ELSE HOUR1 =TIME(1:1) HOUR2 = TIME(2:2) MINI = TIME(4:4) MIN2 = TIME(5:5) SEC1 =TIME(7:7) SEC2 = TIME(8:8) SEC = B A S E SEC = SEC + (ICHAR(SECl)-48)*10+(ICHAR(SEC2)-48) SEC = SEC + (ICHAR(MINl)-48)*600+(ICHAR(MIN2)-48)*60 SEC = SEC + (ICHAR(HOUR1)-48)*36000+(ICHAR(HOUR2)-48)*3600 SEC = SEC + (DAY-1)* 86400 SEC = SEC + INDEX(MONTH)

ENDIF B L A N K = ICHAR(SECl)-48 IF (BLANK.LE.0 .AND.BLANK.GE.9) T H E N

SEC = 999999988 ENDIF END

C file=case.for Cccccccccccccccccccccccccccccccccccccccccccccccccccc C C Ver 1.0 June 12, 1995 C This code is was written to compile case C studies from alta data files C and write a data file containing these cases C Cccccccccccccccccccccccccccccccccccccccccccccccccccc c

INTEGER TEM(200) INTEGER TEM_BUFF(200) INTEGER GAP,FL A G , S A M P L E INTEGER MIN_E,MIN_W,MAX INTEGER MIN_E_BUFF,MIN_W_BUFF,MAX_BUFF INTEGER SEC,T,X,SEC_BUFF,LINE INTEGER DATE,DATE_BUFF INTEGER START,END

103

C H A R A C T E R * 8 TIME,TIME_BUFF C

LINE = 0 SEC = 0 F L A G = 0

C C

202 FORMAT(I8,7 ,A,7,

14;, ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A '3 3

' 14' ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14 " 3 A ' 3 3

'14;, M4,', ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14 ' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3 ' 14 "

3 A ~ 3 3 14;, ',14;, ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14 "

14;, M4,', ',14;, ' 14' 3 A ^ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ' 3 3

' 14' 3 A "3 3

' 14 " 3 A ~ 3 3

'14;, ',14;, ' 14' 3 A ~ 3 ?

' 14' 3 A ~ 3 3

' 14 ' 3 A ~ 3 3

' 14' ' 14' 3 A ~ 3 3

' 14 " 3 A ~ 3 3

14;, ' 14' 3 A ~ ? 3

',14;, ' 14' ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' ' 14' 3 A ~ 3 3

' 14 " 3 A ~ 3 3

•14;, ' 14' 3 A ~ 3 3

' 14 ' ? A ^ 3 3

' 14' 3 A ^ 3 3

' 14' 3 A ~ 3 3

1 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' ? A ~ ? 3

' 14 " •14;, ' 14'

3 A ~ 3 3 ' 14 '

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14'

3 A * 3 3 ' 14'

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 3 A ^ 3 3 '14;, ',14;, ' 14'

? A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 1

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 3 A ~ 3 3 '14;, ',14;, ' 14 '

3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14'

3 A ~ J 3 ' 14'

3 A ' 3 3 ' 14'

3 A ~ 3 3 ',14,', ' 14 "

3 A ~ 3 3

'14;, ' 14' ' 14 ' 3 A ~ 3 3

' 14 ' 3 A ~ 3 3

',14;, ' 14' 3 A ~ 3 3 ' 14'

3 A * 3 3

',14,', ' 14 " 3 A ~ 3 3

14;, ' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' M9) c C INPUT C C R E A D IN CONFIG FILE C

OPEN(UNIT=3,FILE='CASE.CFG') READ(3,*) START,END,SAMPLE CLOSE(UNIT=3) S AMPLE=S AMPLE-1

C C BEGIN LOADING D A T A A N D SEEK G O A L GAP TIME C

OPEN(UNIT=l ,FILE='BILL_DAT.END') OPEN(UNIT=2,FILE='CASE.TXT',STATUS='UNKNOWN') WRITE(2,*) START,END

C 100 SEC_BUFF = SEC

D A T E B U F F = DATE T I M E B U F F = TIME M I N E B U F F = M I N E M L N W B U F F = M L N W M A X B U F F = M A X DO 600 X=l,100

T E M B U F F ( X ) = TEM(X) 600 CONTINUE

104

READ(1 ,*) DATE,TIME,(TEM(T),T=1,100),MIN_E,MIN_W,MAX,SEC GAP = SEC - SEC_BUFF LINE = LINE + 1

C C BEGIN SERCH FOR CASES C

IF (GAP.GE.START.AND.GAP.LE.END.AND.FLAG.EQ.O) THEN PRINT* ,DATE,TIME,LINE,SEC,GAP

WRITE(2,*) LINE WRITE(2,202) DATE_BUFF,TIME_BUFF,(TEM_BUFF(T),T=1,100),

+MIN_E_BUFF,MIN_W_BUFF,MAX_BUFF,SEC_BUFF F L A G = S A M P L E

ELSE ENDIF

C IF (FLAG.GT.O.AND.FLAGLE.SAMPLE) THEN

FLAG=FLAG-1 WRITE(2,202) DATE,TIME,(TEM(T),T=1,100),MIN_E,MIN_W,MAX,SEC PRINT*,FLAG

ELSE ENDIF

C C C H E C K FOR END OF FILE C

IF (DATE.NE.9) THEN GOTO 100

ELSE ENDIF CLOSE(UNIT=l) CLOSE(UNIT=2)

C END

C file=BCLIP.for Cccccccccccccccccccccccccccccccccccccccccccc c C Ver 1.0 may 24, 1995 C This code is was written to CLIP data C of files from alta steel's billet file C using a usr config file (time based) C Ccccccccccccccccccccccccccccccccccccccccccccc c

INTEGER TEM(IOO)

105

INTEGER D D A T E , X INTEGER M L N _ E , M l N _ W , M A X INTEGER SEC,T INTEGER DATE,START,END C H A R A C T E R * 8 TIME,TTIME

C SEC =111111111

C C INPUT C C

0PEN(UNIT=1 ,FILE='BILL_DAT.END') 0PEN(UNIT=2,FILE='BCLIP.CFG') 0PEN(UMT=3,FILE='BCLIP.TXT' ,STATUS='UNKN0W')

203 F O R M A T ( I 8 ; ; , A ; ; , 14;, ' 14 " 14 '

3 A ~ 3 3 3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

',14;, M4;, ' 14' 3 A ~ 3

'14;, ' 14 " 14 ' 3 A * 3 3 3 A ^ 3 3

',14;, ' 14 " 14 ' 3 A ~ 3 3 3 A ^ 3 3

*,i4;, ',14;, ' 14' 3 A ' 3

'14;, ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

',14;, ' 14 " 14 ' 3 A ^ 3 3 3 A ^ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ^ 3 3

',14; '14;, ' 14 " 14 '

3 A ~ 3 3 3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 14 ' ' 14'

3 A ~ 3 3 ' ,i4;, ',14;

'14;, ' 14 " 14 ' 3 A *3 3 3 A '3 3

' 14' 3 A ~ 3 3

' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' 3 A ~ 3 3

',14;, ',14; '14;, ' 14 " 14 '

3 A ^ 3 3 3 A ^ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

',14; '14;, ' 14 " 14 '

3 A ~ 3 3 3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

',14; '14;, ' 14 " 14 '

3 A ^ 3 3 3 A ^ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14' 3 A ~ 3 3

',14; '14;, ' 14 " 14 '

3 A ~ 3 3 3 A ~ 3 3 ' 14'

3 A ~ 3 3 ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' ',14,', ' 14' 3 A ~ 3

'14;, ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' 3 A ~ 3 3

' 14 " 14 ' ' 14' 3 A ~ 3 3

',14,', ' 14 ' 3 A ~ 3

'14;, ' 14 " 14 ' 3 A ~ 3 3 3 A ~ 3 3

' 14' 3 A ~ 3 3

' , i4;; , i4;, ' 14 1

3 A ~ 3 3 ',14,', ' 14'

3 A ~ 3

'14;, ' 14 " 14 ' ' 14' 3 A ~ 3 3

',19) c C Load first target block location C 200 READ(2,*) DDATE,TTIME

C A L L CONVERT(DDATE,TTIME,START) READ(2,*) DDATE,TTIME C A L L C O N V E R T E D A T E , T T I M E , E N D )

C C Look for data C

100 READ(1,*) DATE,TIME,(TEM(T),T=1,100),MLN_E,MLN_W,MAX,SEC PPvESfT*,DATE,TIME,MrN_E,MIN_W,MAX,SEC IF (SEC.LE.START) THEN

GOTO 100 ELSE

300 WT<ITE(3,203)DATE,TIME,(TEM(X),X=1,100),MIN_E,MIN_W,MAX,SEC IF (SEC.LE.END) THEN

READ(1,*) DATE,TIME,(TEM(T),T=l,100),MrN_E,MLN_W,MAX,SEC

106

GOTO 300 ELSE

CLOSE(UNIT=l) ENDIF

ENDIF C

CLOSE(UNIT=l) CLOSE(UNIT=2) CLOSE(UNIT=3)

C END

C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C

c C SUBROUTINE FOR CONVERTING D A T E A N D TIME TO abs-seconds C

SUBROUTINE CONVERT(DATE,TIME,SEC) C H A R A C T E R * 8 TIME INTEGER D A T E , S E C , B L A N K , B A S E INTEGER DD ATE,MONTH,D A Y,INDEX( 12) C H A R A C T E R * 1 HOUR1 ,HOUR2,MINl ,MIN2,SEC1 ,SEC2 INDEX(1)=0 INDEX(2)=2678400 INDEX(3)=5097600 INDEX(4)=7776000 INDEX(5)=10368000 INDEX(6)=13046400 INDEX(7)= 15638400 INDEX(8)=18316800 INDEX(9)=20995200 INDEX(10)=23587200 INDEX(11)=26265600 INDEX(12)=28857600 INDEX(13)=99999999

C C ABS-SEC-CONVERSION C

DDATE=0 B A S E = 0 IF(DATE.GE. 19940101. AND.DATE.LE . 19941231)THEN

DD ATE=D ATE-19940000 B A S E = 757382400

ENDIF

107

IF(DATE.GE. 19950101. AND.DATE.LE. 19951231)THEN DDATE=DATE-19950000 B A S E = 788918400

ENDIF M O N T H = INT(DD ATE/100) D A Y = DD A T E - M O N T H * 100 IF (MONTH.LE.0.OR.MONTH.GE. 13) THEN

M O N T H = 13 D A Y = 9 SEC = 999999977

ELSE HOUR1 =TIME(1:1) HOUR2 = TIME(2:2) MINI = TIME(4:4) MIN2 = TIME(5:5) SEC1 =TIME(7:7) SEC2 = TIME(8:8) SEC = B A S E SEC = SEC + (ICHAR(SECl)-48)*10+(ICHAR(SEC2)-48) SEC = SEC + (ICHAR(MINl)-48)*600+(ICHAR(MIN2)-48)*60 SEC = SEC + (ICHAR(HOUR1)-48)*36000+(ICHAR(HOUR2)-48)*3600 SEC = SEC + (DAY-1)*86400 SEC = SEC + INDEX(MONTH)

ENDIF B L A N K = ICH AR(SEC 1 )-48 IF (BLANK.LE.0 .AND.BLANK.GE.9) T H E N

SEC = 999999988 ENDIF PRINT * ,D ATE,TIME, SEC END

108

APPENDIX F Files on the QNX MMI Computer

The following is a list of the Q N X files within the operating system structure:

Files in the subdirectory: /ProcessVision/alta

200.kbs PV load file _abs_sec* plugs time index into K B _cr* adds <CR> _cr_nc* adds <CR>, no comma _date* adds date then K W T to file _export* _kwt* adds K W T to file _kwt_nc* adds K W T to file (no comma) _shutdown* shutdown script _time* adds time time file abs.stg advisory.grp PV advisory.grp$ alta. aim alta.tar backup/ beep* PC beep sound billet.grp PV billetid.dat billet ID data file (daily) blocks/ bloop.msg bop/ comdx5.err difference, grp PV explain.xpl export.knw export.stg exportData* friday.bat* data script heat.grp PV listl.grp PV list2.grp PV list3.grp PV list4.grp PV list5.grp PV manual.txt manual left for alta

109

monday.bat* data script new.kn$ new.knw Knowledge base new.st$ new.stg PV new.t03 pressure.grp PV pview.pvw load order saturday.bat* data script spc.grp PV sunday.bat* data script symbol.bak symbol, diet test.grp thursday.bat* data script tm* tracking, grp PV trends/ tuesday.bat* data script tune, grp PV ver.txt wednesday.bat* data script xview.xvw zones.grp PV zones.temp furnace data file (daily)

Files in the subdirectory: /das_profile _abs_sec* _abs_sec.c _abs_sec.map _abs_sec.o _cr* _cr.c _cr.map _cr.o _cr_nc* _cr_nc.c _cr_nc.map _cr_nc.o

date* _date.c _date.map

_date.o _export* _export.c _export.map _export.o _kwt* _kwt.c _kwt.c.old _kwt.map _kwt.map.old _kwt.o _kwt.o.old _kwt.old* _kwt_nc* _kwt_nc.c _kwt_nc.map _kwt_nc.o _string* _string.c _string.map _string.o _time* _time.c _time.err _time.map _time.o abs* average.c average.err average.map average.o avrg* backup/ calib.map calibr.c calibr.o calibration.c calibration.map calibration, o cc l ib .h ch_struct.h ch_structure.h clb* c lbl* cliff*

cliff l* c l i f f h * config.clif config2.clif cr* cr_nc* define.h dt* exp* exportData* fflop* flipflop.c flipflop.map flipflop.o funtype.h globals.h kwt* kwt_nc* Is minmax.c minrnax.map minmax.o minmaxhuge.c minmaxhuge. o mm* proto.h ptd* put_data* putdata.c putdata.map put_data.o rndsmpl* rndsample.c rndsample.map rndsample.o sample, c sample.map sample, o sample_huge.c sample_huge.o samples.c smpl* str* struct.h task8 1*

taskcliff* Billet Profile driver taskcliff.c task_cliff.map task_cliff.o task_cliffl * Furnace sensors driver taskcliffl .c taskcliffl .map taskcliffl .o temp/ tm*

Files in the subdirectory: /D: backup/ ccj ib.h cliff/ cliff.c cliffl.c load_data* loads practice into K B loaddata.c loaddata.map load_data.o ltd* ptd* put_data* loads individual data into K B put_data.c putdata.map putdata.o

Files in the subdirectory: /usr: chl_15.cfg config.clif config file for task_cliff config2.clif config file for task_cliffl config_fast.met confile/ decl/ decll_10v/ dec l11V/ decl3/

113

decl3_0_10v/ decl3_l_5v/ dec14/ dec15/ decl 5 late/ dec 16/ dec17/ declgood/ dec3/ demo/ demo.cfg demol.cfg demo2.cfg democliff.cfg demo_vlad.cfg dos/ include/ jan30/ lib/ local/ nov28b/ octl4/ oct28/ spool/

Files in the subdirectory: /data: file, nam sat.id billet ID data files for sat sat.tmp furnace temps for sat sat.dat billet profiles for sat tue.id tue.tmp "etc..." wbf_sop.dat Practice master file

114

APPENDIX G Comdale/C Knowledge Base Code

At the time of development, the version of ProcessVision utilized was in B E T A form and was not capable of performing many tasks and handling knowledge effectively. As a result, many tasks were circumvented by processing the knowledge in ways not necessarily efficiently but very expediently for the project implementation. In addition, much of the file management was done with Q N X level programs interfacing directly with the point data base of Comdale/C. The following is the entire code containing the rule base as well as some odd use of systems and drivers.

Object @name = advise ©attribute = delayl_l .©string, delayl_2.@string, delayl_3.@string,

delay2_l.@string, delay2_2.@string, delay2_3.@string, delay3_l.@string, delay3_2.@string, delay3_3.@string, delay_grpl_end.@float, delay_grpl_start.@float, delay_grp2_end.@float, delay_grp2_start.@float, delay_grp3_end.@float, delay_grp3_start.@float, delay_long.@string, expertl.@string, max_diff.@float

endObject

Object @name = alarm ©attribute = max_temp. ©float endObject

Object @name = batch ©attribute = group 1.©float, group2.©float, group3.©float,

group4.©float, heatl.©string, heat2.©string, heat3.©string, heat4.©string, total 1.©float, total2.@float, total3.©float, total4.@float, total5. ©float

endObject

Object ©name = billet ©attribute = age.©float, gapa.@float, gapb.@float,

gape.©float, gapd.©float, max_temp.©float, min_temp.©float, min_templ.©float, min_temp2.©float, new.@float, position.©float, running_average.@float, top_temp.©float, true_age.©float, true_agel.©float,

115

truebuff. ©float, true_diff.@fioat, true_sec. ©float, true_zerosl .@float

endObject

Object @name = billetOOl @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet002 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet003 @attribute = spc_max. ©float, spc_min.@float endObject

Object @name = billet004 @attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet005 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet006 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet007 ©attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet008 ©attribute = spc_max. ©float, spc_min. ©float endObject

Object

116

@name = billet009 ©attribute = spc_max.©float, spcjrnin.©float endObject

Object @name = billet010 ©attribute = spc_max.@float, spc_min.©float endObject

Object ©name = billetOl 1 ©attribute = spc_max.@float, spc_min.@float endObject

Object ©name = billetOl 2 ©attribute = spcmax. ©float, spc_min.@float endObject

Object ©name = billetOl 3 ©attribute = spc_max.©float, spc_min.@float endObject

Object ©name = billetOl 4 ©attribute = spcmax.©float, spc_min. ©float endObject

Object ©name = billetOl 5 ©attribute = spc_max.@float, spc_min.@float endObject

Object ©name = billetOl 6 ©attribute = spc_max.@float, spcjrnin.©float endObject

Object ©name = billetOl 7 ©attribute = spc_max.@float, spc_min.©float endObject

Object

117

@name = billet018 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet019 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet020 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet021 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet022 ©attribute = spcmax.©float, spc_min.@float endObject

Object ©name = billet023 ©attribute = spc_max.@float, spc_min.@float endObject

Object ©name = billet024 ©attribute = spc_max.©float, spc_min.@float endObject

Object ©name = billet025 (S)attribute — spc_max. ©float, spc_min. ©float endObject

Object ©name = billet026 ©attribute = spcjnax. ©float, spcmin. ©float endObject

Object

118

@name = billet027 ©attribute = spc_max.©float, spc_min.©float endObject

Object ©name = billet028 ©attribute = spcjmax.©float, spc_min.@float endObject

Object ©name = billet029 ©attribute = spc_max.@float, spc_min.@float endObject

Object ©name = billet030 ©attribute = spc_max.@float, spc_min.©float endObject

Object ©name = billet031 ©attribute = spcjmax.©float, spc_min.©float endObject

Object ©name = billet032 ©attribute = spc_max.©float, spc_min.@float endObject

Object ©name = billet033 ©attribute = spc_max.©float, spcjnin.©float endObject

Object ©name = billet034 ©attribute = spc_max. ©float, spc_min. ©float endObject

Object ©name = billet035 ©attribute = spc_max.@float, spc_min.@float endObject

Object

119

@name = billet036 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet037 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet038 ©attribute = spc_max. ©float, spc_min.@float endObject

Object @name = billet039 (^attribute — spc_max.©float, spc min.©float endObject

Object @name = billet040 ©attribute = spc_max.@float, spc_min. ©float endObject

Object @name = billet041 ©attribute = spc_max.@float, spc_min.©float endObject

Object ©name = billet042 ©attribute = spc_max.@float, spc_min.©float endObject

Object ©name = billet043 ©attribute = spc_max.@float, spc_min.@float endObject

Object ©name = billet044 ©attribute = spc_max.@float, spc_min.©float endObject

Object

120

@name = billet045 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet046 ©attribute = spc_max.@float, spcjnin.©float endObject

Object ©name = billet047 ©attribute — spc_max.©float, spc_min.@float endObject

Object ©name = billet048 ©attribute = spc_max. ©float, spc_min.@float endObject

Object ©name = billet049 ©attribute = spc_max.@float, spc_min.@float endObject

Object ©name = billet050 ©attribute = spc_max.@float, spcjrnin. ©float endObject

Object ©name = billet051 ©attribute = spc_max.©float, spcjrnin.©float endObject

Object ©name = billet052 ©attribute = spc_max.©float, spc_min.@float endObject

Object ©name = billet053 ©attribute = spcmax. ©float, spc_min.@float endObject

Object

121

@name = billet054 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet055 @attribute = spc_max.@float, spc_min.@fioat endObject

Object @name = billet056 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet057 (S)attribute — spc_max.@float, spc_min.@float endObject

Object @name = billet058 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet059 @attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet060 @attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet061 @attribute = spc_max.@float, spc_min.@fioat endObject

Object @name = billet062 @attribute — spc_max.@float, spc_min.@float endObject

Object

122

@name = billet063 ©attribute = spcjmax.@float, spc_min.@float endObject

Object @name = billet064 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet065 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet066 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet067 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet068 (2)attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet069 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet070 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet071 @attribute = spc_max.@float, spc_min.@float endObject

Object

123

@name = billet072 @attribute — spc_max.@float, spc_min.@float endObject

Object @name — billet073 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet074 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet075 @attribute = spc_max.@float, spc_min.@fioat endObject

Object @name = billet076 ©attribute = spc_max.@fioat, spc_min.@fioat endObject

Object @name = billet077 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet078 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet079 ©attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet080 @attribute = spc_max.@float, spc_min.@fioat endObject

Object

124

@name = billet081 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet082 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet083 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet084 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet085 (^attribute — spc_niax.@float, spc_min.@float endObject

Object @name = billet086 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet087 (^attribute — spc_max.@float, spc_min.@float endObject

Object @name = billet088 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet089 @attribute = spc_max.@float, spc_min.@float endObject

Object

125

@name = billet090 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet091 ©attribute = spc_max.@float, spc_min.@fioat endObject

Object @name = billet092 @attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet093 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet094 @attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet095 @attribute = spc_max.@float, spc_min.@fioat endObject

Object @name = billet096 ©attribute = spc_max.@fioat, spc_min.@float endObject

Object @name = billet097 ©attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet098 @attribute = spc_max.@float, spc_min.@float endObject

Object

126

@name = billet099 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billet 100 @attribute = spc_max.@float, spc_min.@float endObject

Object @name = billeta @attribute = diff.@float, max_temp.@float, min_templ.@float,

min_temp2. @float endObject

Object @name = billetb @attribute = diff.@float, max_temp.@float, min_templ.@float,

min_temp2. @float endObject

Object @name = billetbuf @attribute = diff.@float, max_temp.@float, min_templ.@float,

min_temp2. @float endObject

Object @name = billetc @attribute = diff.@float, max_temp.@float, min_templ.@float,

min_temp2.@float endObject

Object @name = billetd @attribute = diff.@float, max_temp.@float, min_templ.@float,

min_temp2. @float endObject

Object @name = charge @attribute = set.@float, set_buff.@float endObject

Object

127

@name = charge_zone @attribute = air.@float, gas.@float, temp.@float,

tempbuff. @float endObject

Object @name = current ©attribute = group.@float, heat.@string, odd_reject.@fioat,

rejected.@float, remain.@fioat, to_mill.@fioat endObject

Object @name = data ©attribute = max_sets.@float endObject

Object @name = delay ©attribute = average.©float, button.©float, default.©float,

estimate.©float, factor.@float, time.@fioat, time_min.@float, time_minx.@float, time_miny.©float, time_minz.©float, time_ones.©float, time_sec.©float, time_tens.@float

endObject

Object ©name = delaya ©attribute = time_min.©float, time_ones.©float, time_tens.©float endObject

Object ©name = delayb ©attribute = time_min.@float, time_ones.©float, time_tens.©float endObject

Object ©name = delaybuf ©attribute = time_min.©float, time_ones.©float, time_tens.©float endObject

Object ©name = delayc ©attribute = timemin. ©float, time_ones.©float, time_tens.©float endObject

128

Object @name = delayd ©attribute = time_min.@float, time_ones.©float, time_tens.©float endObject

Object ©name = delayz ©attribute = time_min.©float, time_ones.©float, time_tens. ©float endObject

Object ©name = detect 1 ©attribute = continue, ©float endObject

Object ©name = heat ©attribute = load_flag.©float, select.@float, select_flag.@float,

set.@float, set_buff.@fioat, tag.©float endObject

Object ©name = heat_zone ©attribute = air.@float, gas.©float, temp.@float,

temp_buff.@float endObject

Object ©name = hmd ©attribute = reject_buff. ©float endObject

Object ©name = hmdl ©attribute = factor.©float, sig.©float, sig_filter.@float,

signal.©float, signal_l .©float, signal_2.©float, signa 1_3.©float, signa 1_4.©float, signaljbuff.©float

endObject

Object ©name = hmd2 ©attribute = factor.@float, sig.©float, sigfilter. ©float,

signal.©float, signal_l.©float, signal_2.©float, signal_3.©float, signal_4.©float, signalbuff. ©float

endObject

129

Object @name = idle ©attribute = cyclical.@float, file_store.@float, store_interval.@float,

store_temp.@float, weekday_interval.@float, weekday_temp.@float endObject

Object @name = show @attribute = age.@float, current.@string endObject

Object @name = soak @attribute = set.@float, set_buff.@float endObject

Object @name = soak_zone @attribute = air.@float, gas.@float, temp.@float,

temp_buff. @float endObject

Object @name = system @attribute = init.flag endObject

Object @name = week @attribute = day.@float, day_buff.@float endObject

Procedure @name = furnace_data_buffer @do = charge_zone.temp_buff.@float = FLOOR ( 0.500000 + charge_zone.temp.@float ) heat_zone.temp_buff.@float = FLOOR ( 0.500000 + heat_zone.temp.@float ) soak_zone.temp_buff.@float = FLOOR ( 0.500000 + soak_zone.temp.@float ) charge.set_buff.@float = FLOOR ( 0.500000 + charge.set.@float ) heat.set_buff.@float = FLOOR ( 0.500000 + heat.set.@float ) soak.set_buff.@float = FLOOR ( 0.500000 + soak.set.@float )

endProcedure

Procedure

130

@name = initializeKWTs @do = current.heat.@string i s " " batch.heatl.@string is " " batch.heat2.@string is " " batch.heat3.@string is " " batch.heat4.@string is " SLEEP ("2") hmdl .signal_buff.@float = hmdl. signal. @fioat hmd2.signal_buff.@float = hmd2.signal.@float hmdl .sig_filter.@float = hmdl.signal.@float hmd2. sig_filter. @float = hmd2. signal. @float hmdl.factor.@float =3 hmd2.factor.@float = 3 delay, default. @float = 120 delay, average. @float =120 delay.factor.@float = 1.500000 delay.button.@float =-10 R U N P R O C E D U R E ( "initialize_more_KWTs" ) endProcedure

Procedure @name = initialize_more_KWTs @do = A C T I V A T E ("_abs_sec") billet.position.@float =10 billet.true_buff.@float = 999999 S L E E P ( 1 ) billet.true_buff.@float = 999999 heat.tag.@float = 1 billet.top_temp.@float =1195 heat.load_flag.@float = 0 heat.select_flag.@float = 0 A C T I V A T E ("/D/loaddata 1") hmdl.signal_l.@float = 1 hmdl.signal_2.@float = 1 hmdl.signal_3.@float = 1 hmdl.signa l_4.@float = 1 hmd2. signal_ 1. @float = 1 hmd2.signal_2.@float = 1 hmd2.signal_3.@float = 1 hmd2.signal_4.@float = 1 endProcedure

Procedure

131

@name = nextheat @do = current.heat.@string is batch.heatl.@string batch.heatl.@string is batch.heat2.@string batch.heat2.@string is batch.heat3.@string batch.heat3.@string is batch.heat4.@string batch.heat4.@string is " " heat.load_flag.@float = 1 endProcedure

Procedure @name = spc_advancel @do = billetl O0.spc_min.@float billet 100.spc_max.@float billet099.spc_min.@float billet099.spc_max.@float billet098.spc_min.@float billet098.spc_max.@float billet097.spc_min.@float billet097.spc_max.@float billet096. spc_min.@float billet096.spc_max.@float billet095 .spc_min.@float billet095.spc_max.@float billet094. spc_min.@float billet094. spc_max. @float billet093. spc_min. @float billet093 .spc_max.@float billet092.spc_min.@float billet092.spc_max.@float billet091 .spc_min.@float billet091 .spc_max.@float R U N P R O C E D U R E ("sr. endProcedure

= billet099.spc_min.@float = billet099.spc_max.@float = billet098.spc_min.@float = billet098.spc_max.@float = billet097.spc_min.@float = billet097.spc_max.@float = billet096.spc_min.@float = billet096.spc_max.@float = billet095.spc_min.@float = billet095.spc_max.@float = billet094.spc_min.@float = billet094.spc_max.@float = billet093.spc_min.@float = billet093.spc_max.@float = billet092.spc_min.@float = billet092.spc_max.@float = billet091.spc_min.@float = billet091.spc_max.@float = billet090.spc_min.@float = billet090.spc_max.@float

;_advance2")

Procedure @name = spc_advancelO @do = billet010.spc_min.@float billetO 10.spc_max.@float billet009.spc_min.@float billet009.spc_max.@float billet008.spc_min.@float billet008.spc_max.@float

= billet009.spc_min.@float = billet009.spc_max.@float = billet008.spc_min.@float = billet008.spc_max.@float = billet007.spc_min.@float = billet007.spc_max.@float

132

billet007.spc_min.@float billet007.spc_max.@float billet006.spc_min.@float billet006.spc_max.@float billet005.spc_min.@float billet005.spc_max.@float billet004.spc_min.@float billet004.spc_max.@float billet003 .spc_min.@float billet003. spc_max. @float billet002.spc_min.@float billet002.spc_max.@fioat billetOOl .spc_min.@float billetOOl .spc_max.@float endProcedure

= billet006.spc_min.@float = billet006.spc_max.@float = billet005.spc_min.@float = billet005.spc_max.@fioat = billet004.spc_mm.@float = billet004.spc_max.@float = billet003.spc_min.@float = billet003.spc_max.@float = billet002.spc_min.@float = billet002.spc_max.@float = billetOOl .spc_min.@float = billetOOl. spc_max.@float = billet.min_temp.@float = billet.max_temp.@float

Procedure @name = spc_advance2 @do = billet090.spc_min.@float billet090.spc_max.@float billet089.spc_min.@float billet089.spc_max.@float billet088.spc_min.@float billet088.spc_max.@float billetO87. spcjrnin. @float billet087.spc_max.@float billetO 8 6. spcmin. @float billet086.spc_max.@float billet085.spc_min.@float billet085.spc_max.@float billetO 84. spc_min. @float billet084.spc_max.@float billet083.spc_min.@float billet083.spc_max.@float billet082.spc_min.@float billet082.spc_max.@float billet081 .spc_min.@float billet081 .spc_max.@float R U N P R O C E D U R E ("sp

endProcedure

= billet089.spc_min.@float = billet089.spc_max.@float = billet088.spc_min.@float = billet088.spc_max.@float = billet087.spc_min.@float = billet087.spc_max.@float = billet086.spc_min.@float = billet086.spc_max.@float = billet085.spc_min.@float = billet085.spc_max.@float = billet084.spc_min.@float = billet084.spc_max.@float = billet083.spc_min.@float = billet083.spc_max.@float = billet082.spc_min.@float = billet082.spc_max.@float = billet081 .spc_min.@float = billet081 .spc_max.@float = billet080.spc_min.@float = billet080.spc_max.@float

;_advance3")

Procedure @name = spc_advance3 @do =

133

billet080.spc_min.@float = billet079.spc_min.@float billet080.spc_max.@float = billet079.spc_max.@float billet079.spc_min.@float = billet078.spc_min.@float billet079.spc_max.@float = billet078.spc_max.@float billet078.spc_min.@float = billet077.spc_min.@float billet078.spc_max.@float = billet077.spc_max.@float billet077.spc_min.@float = billet076.spcjmin.@float billet077.spc_max.@float = billet076.spc_max.@float billet076.spc_min.@float = billet075.spc_min.@float billet076.spc_max.@float = billet075.spc_max.@float billet075.spc_min.@float = billet074.spc_min.@float billet075.spc_max.@float = billet074.spc_max.@float billet074.spc_min.@float = billet073.spc_min.@float billet074.spc_max.@float = billet073.spc_max.@float billet073.spc_min.@float = billet072.spc_min.@float billet073.spc_max.@float = billet072.spc_max.@float billet072.spc_min.@float = billet071 .spc_min.@float billet072.spc_max.@float = billet071.spc_max.@float billet071.spc_min.@float = billet070.spc_min.@float billet071 .spc_max.@float = billet070.spc_max.@float R U N P R O C E D U R E ("spc_advance4") endProcedure

Procedure @name = spc_advance4 @do = billet070.spc_min.@float = billet069.spc_min.@float billet070.spc_max.@float = billet069.spc_max.@float billet069.spc_min.@float = billet068.spc_min.@float billet069.spc_max.@float = billet068.spc_max.@float billet068.spc_min.@float = billet067.spc_min.@float billet068.spc_max.@float = billet067.spc_max.@float billet067.spc_min.@float = billet066.spc_min.@float billet067.spc_max.@float = billet066.spc_max.@float billet066.spc_min.@float = billet065.spc_min.@float billet066.spc_max.@float = billet065.spc_max.@float billet065.spc_min.@float = billet064.spc_min.@float billet065.spc_max.@float = billet064.spc_max.@float billet064.spc_min.@float = billet063.spc_min.@float billet064.spc_max.@float = billet063.spc_max.@float billet063.spc_min.@float = billet062.spc_min.@float billet063.spc_max.@float = billet062.spc_max.@float billet062.spc_min.@float = billet061.spc_min.@float billet062.spc_max.@float = billet061.spc_max.@float billet061 .spc_min.@float = billet060.spc_min.@float

134

billet061.spc_max.@float = billet060.spc_max.@fioat R U N P R O C E D U R E ("spc_advance5") endProcedure

Procedure @name = spc_advance5 @do = billet060.spc_min.@float = billet059.spc_min.@float billet060.spc_max.@float = billet059.spc_max.@float billet059.spc_min.@float = billet058.spc_min.@float billet059.spc_max.@float = billet058.spc_max.@float billet058.spc_min.@float = billet057.spc_min.@float billet058.spc_max.@float = billet057.spc_max.@fioat billet057.spc_min.@float = billet056.spc_min.@float billet057.spc_max.@float = billet056.spc_max.@fioat billet056.spc_min.@float = billet055.spc_min.@float billet056.spc_max.@float = billet055.spc_max.@float billet055.spc_min.@float = billet054.spc_min.@float billet055.spc_max.@float = billet054.spc_max.@float billet054.spc_min.@float = billet053.spc_niin.@float billet054.spc_max.@float = billet053.spc_max.@float billet053.spc_min.@fioat = billet052.spc_min.@float billet053.spc_max.@float = billet052.spc_max.@float billet052.spc_min.@float = billet051 .spc_min.@float billet052.spc_max.@float = billet051 .spc_max.@float billet051 .spc_min.@float = billet050.spc_min.@float billet051 .spc_max.@float = billet050.spc_max.@float R U N P R O C E D U R E ("spc_advance6")

endProcedure

Procedure @name = spc_advance6 @do = billet050.spc_min.@float = billet049.spc_min.@float billet050.spc_max.@float = billet049.spc_max.@float billet049.spc_min.@float = billet048.spc_min.@float billet049.spc_max.@float = billet048.spc_max.@float billet048.spc_min.@float = billet047.spc_min.@float billet048.spc_max.@float = billet047.spc_max.@float billet047.spc_min.@float = billet046.spc_min.@float billet047.spc_max.@float = billet046.spc_max.@float billet046.spc_min.@float = billet045.spc_min.@float billet046.spc_max.@float = billet045.spc_max.@float billet045.spc_min.@float = billet044.spc_min.@float billet045.spc_max.@float = billet044.spc_max.@float

135

billet044.spc_min.@float = billet043.spc_min.@float billet044.spc_max.@float = billet043.spc_max.@float billet043.spc_min.@float = billet042.spc_min.@float billet043.spc_max.@float = billet042.spc_max.@float billet042.spc_min.@float = billet041.spc_min.@float billet042.spc_max.@float = billet041.spc_max.@float billet041 .spc_min.@float = billet040.spc_min.@float billet041 .spc_max.@float = billet040.spc_max.@float R U N P R O C E D U R E ( Mspc_advance7" ) endProcedure

Procedure @name = spc_advance7 @do = billet040.spc_min.@float = billet039.spc_min.@float billet040.spc_max.@float = billet039.spc_max.@float billet039.spc_min.@float = billet038.spc_min.@float billet039.spcjrnax.@float = billet038.spc_max.@float billet038.spc_min.@float = billet037.spc_min.@float billet038.spc_max.@float = billet037.spc_max.@float billet037.spc_min.@float = billet036.spc_min.@float billet037.spc_max.@float = billet036.spc_max.@float billet036.spc_min.@float = billet035.spc_min.@float billet036.spc_max.@float = billet035.spc_max.@float billet035.spc_min.@float = billet034.spc_min.@float billet035.spc_max.@float = billet034.spc_max.@float billet034.spc_min.@float = billet033.spc_min.@float billet034.spc_max.@float = billet033.spc_max.@float billet033.spc_min.@float = billet032.spc_min.@float billet033.spc_max.@float = billet032.spc_max.@float billet032.spc_min.@float = billet031.spc_min.@float billet032.spc_max.@float = billet031 .spc_max.@float billet031 .spc_min.@float = billet030.spc_min.@float billet031 .spc_max.@float = billet030.spc_max.@float R U N P R O C E D U R E ("spc_advance8") endProcedure

Procedure @name = spc_advance8 @do = billet030.spc_min.@float = billet029.spc_min.@float billet030.spc_max.@float = billet029.spc_max.@float billet029.spc_min.@float = billet028.spc_min.@float billet029.spc_max.@float = billet028.spc_max.@float billet028.spc_min.@float = billet027.spc_min.@float

136

billet028.spc_max.@float = billet027.spc_max.@float billet027.spc_min.@float = billet026.spc_min.@float billet027.spc_max.@float = billet026.spc_max.@float billet026.spc_min.@float = billet025.spc_min.@float billet026.spc_max.@float = billet025.spc_max.@float billet025.spc_min.@float = billet024.spc_min.@float billet025.spc_max.@float = billet024.spc_max.@float billet024.spc_min.@float = billet023.spc_min.@float billet024.spc_max.@float = billet023.spc_max.@float billet023.spc_min.@float = billet022.spc_min.@float billet023.spc_max.@float = billet022.spc_max.@float billet022.spc_min.@float = billet021.spc_min.@float billet022.spc_max.@float = billet021 .spc_max.@float billet021. spc_min. @float = billet020. spc_min. @float billet021 .spc_max.@float = billet020.spc_max.@float RUN_PROCEDUPvE ( "spc_advance9" ) endProcedure

Procedure @name = spc_advance9 @do = billet020.spc_min.@float = billetOl 9.spc_min.@float billet020.spc_max.@float = billet019.spc_max.@float billetO 19.spc_min.@float = billetOl 8. spc_min.@float billetOl 9.spc_max.@float = billetOl 8.spc_max.@float billetOl 8.spc_min.@float = billet017.spc_min.@float billetOl 8. spc_max.@float = billet017.spc_max.@float billetO 17.spc_min.@float = billetO 16.spc_min.@float billet017.spc_max.@float = billetOl 6.spc_max.@float billet016.spc_min.@float = billetOl 5.spc_min.@float billet016.spc_max.@float = billetOl 5. spc_max.@float billetOl 5. spc_min.@float = billetOl 4.spc_min.@float billetOl 5.spc_max.@float = billetOl 4.spc_max.@float billetOl 4.spc_min.@float = billetOl 3.spc_min.@float billetOl 4. spc_max.@float = billet013.spc_max.@float billetOl 3.spc_min.@float = billetO 12.spc_min.@float billetOl 3. spc_max.@float = billet012.spc_max.@float billet012.spc_min.@float = billetOl 1 .spc_min.@float billet012.spc_max.@float = billetOl 1 .spc_max.@float billetO 11 .spc_min.@float = billetO 10.spc_min.@float billetOl l.spc_max.@float = billetOl O.spc_max.@float R U N P R O C E D U R E ("spc_advancelO") endProcedure

Procedure

137

@name = write_file_billetid @do ACTIVATE ("_date a current.to_mill.@f billetid.dat" ) A C T I V A T E ("_kwt a current.rejected.@f billetid.dat" ) A C T I V A T E ("_kwt a current.heat.@s billetid.dat" ) billet.true_zerosl .@float = POW (10, ( 6 - CEIL (LOG10 (billet.true_age.@float + 1 )) ) ) * billet.true_agel.@float A C T I V A T E ("_kwt a billet.true_zerosl.@f billetid.dat") A C T I V A T E ("_cr_nc a billet.true_age.@f billetid.dat") S L E E P ( 1 )

endProcedure

Rule @name = a_initialize_KWTs IF system.init.flag is TRUE ELSE A C T I V A T E ( "_time" ) ELSE week.day_buff.@float = week.day.@float ELSE system.init.flag is TRUE ELSE billet.age.@float =100 ELSE show.current.@string is "ready" ELSE idle.cyclical.@float = 1.000000 ELSE idle.file_store.@float = 2 ELSE idle.store_temp.@float = 1 ELSE idle.weekday_temp.@float = 1 ELSE idle.store_interval.@float = 30 ELSE idle.weekday_interval.@float = 60 EL SE detect 1. continue. @float = 0 ELSE hmd.reject_buff.@float - 0 ELSE current.remain.@float = 0 ELSE current.to_mill.@float = 0 ELSE current.rejected.@float = 0 ELSE A C T I V A T E ( "abssec" ) ELSE R U N P R O C E D U R E (" in i t ia l ize^ WTs") endRule

Rule @name = billet_max_temp_alarm IF billet.max_temp.@float > billet.top_temp.@float OR billetbuf.diff.@float > advise.max_diff.@float T H E N alarm.max_temp.@float = 5 ELSE alarm.max_temp.@float = 0.500000 endRule

Rule @name = billet_max_temp_beeps

138

IF billet.max_temp.@float > billet.top_temp.@float A N D A G E (billet.max_temp.@float )<6 THEN A C T I V A T E ("beep") T H E N A C T I V A T E ("beep") T H E N A C T I V A T E ("beep") endRule

Rule @name = delay_time_calc IF T THEN delay.time.@float = ((billet.age.@float + 5 ) / 60 ) THEN delay.time_min.@float = ( CEIL (delay.time.@float ) - 1 ) THEN delay.time_sec.@float = CEIL ( ( delay.time.@float - delay.time_min.@float ) * 60 - 0.900000 ) - 1 THEN delay.time_tens.@float = ( CEIL ( ( delay.time_sec.@float + 1 ) / 10 ) - 1 ) THEN delay.time_ones.@float = ( delay.time_sec.@float + 1 - ( delay.time_tens.@float * 10 ) ) - 1 THEN delay.time_minx.@float = CEIL ( ( delay.time_min.@float + 1 ) / 100 ) - 1 THEN delay.time_miny.@float = CEIL ( ( ( delay.time_min.@float + 1 ) - ( delay.time_minx.@float * 100 ) ) /10 ) - 1 T H E N delay.time_minz.@float = delay.time_min.@float - delay.time_minx.@float * 100 - delay.time_miny.@float * 10 endRule

Rule @name = Detec t_delay IF billet.age.@float >= (delay.average.@float * delay.factor.@float ) THEN show.current.@string is " * * * * D E L A Y * * * * * " T H E N delay.button.@float = delay.button.@float * ( -1 ) ELSE delay.button.@float =-10 endRule

Rule @name = detect_new_billet IF billet.true_buff.@float != billet.true_age.@float THEN billet.true_diff.@float = billet.true_age.@float - billet.true_buff.@float THEN billet.true_buff.@float = billet.true_age.@float THEN SLEEP (idle.cyclical.@float ) THEN billet.new.@float = 1 THEN billet.min_temp.@float = ( ( ( billet.min_templ .@float + billet.min_temp2.@float - ABS ( billet.min_templ.@float - billet.min_temp2.@float ) ) ) / 2 ) THEN GOTO ("detect_new_billet_continuedO") ELSE billet.age.@float = A G E (billet.true_age.@float ) ELSE billetbuf.max_temp.@float = billet.max_temp.@float

139

ELSE billetbuf.min_temp2.@float = billet.min_temp2.@float ELSE billetbuf.min_templ.@float = billet.min_templ.@float ELSE billetbuf.diff.@float = billet.max_temp.@float - billet.min_temp.@float ELSE delaybuf.time_min.@float = delay.time_min.@float ELSE delaybuf.time_tens.@float = delay.time_tens.@float ELSE delaybuf.time_ones.@float = delay.time_ones.@float ELSE billet.true_buff.@float = billet.true_age.@float E L S E SLEEP (idle.cyclical.@float ) endRule

Rule @name = detect_new_billet_continuedO IF billet.new.@float == 1 T H E N billetd.min_temp2.@float = billetc.min_temp2.@float T H E N billetc.min_temp2.@float = billetb.min_temp2.@float THEN billetb.mm_temp2.@float = billeta.min_temp2.@float THEN billeta.min_temp2.@float = billetbuf.min_temp2.@float THEN billetd.mintemp 1 .@float = billetc.mintemp 1 .@float THEN billetc.min_temp 1 .@float = billetb.min_temp 1 .@float T H E N billetb.min_temp 1 .@float = billeta.min_temp 1 .@float THEN billeta.mintempl .@float = billetbuf.mintempl .@float T H E N billet.age.@float = A G E ( billet.true_age.@float ) THEN GOTO ( "detect_new_billet_continuedl" ) endRule

Rule @name = detect_new_billet_continuedl IF billet.new.@float = 1 THEN billetd.max_temp.@float = billetc.max_temp.@float T H E N billetc.max_temp.@float = billetb.max_temp.@float THEN billetb.max_temp.@float = billeta.max_temp.@float T H E N billeta.max_temp.@float = billetbuf.max_temp.@float T H E N billetd.diff.@float = billetc.diff.@float THEN billetc.diff.@float = billetb.diff.@float THEN billetb.diff.@float = billeta.diff.@float THEN billeta.diff.@float = billetbuf.diff.@float THEN delayd.time_min.@float = delayc.time_min.@float THEN delayc.time_min.@float = delayb.time_min.@float THEN delayb.time_min.@float = delaya.time_min.@float THEN delaya.time_min.@float = delayz.time_min.@float THEN delayz.time_min.@float = FLOOR (billet.trae_diff.@float / 60 ) THEN delayd.time_tens.@float = delayc.time_tens.@float THEN delayc.time_tens.@float = delayb.time_tens.@float THEN delayb.time_tens.@float = delaya.time_tens.@float THEN delaya.time_tens.@float = delayz.time_tens.@float

140

THEN billet.true_sec.@float = billet.true_diff.@float - ( delayz.time_min.@float * 60 ) THEN delayz.time_tens.@float = FLOOR ( billet.true_sec.@float / 1 0 ) THEN GOTO ( "detectjnew_billet_continued2") endRule

Rule @name = detect_new_billet_continued2 IF billet.new.@float == 1 T H E N delayd.time_ones.@float = delayc.time_ones.@float THEN delayc.time_ones.@float = delayb.time_ones.@float THEN delayb.time_ones.@float = delaya.time_ones.@float THEN delaya.time_ones.@float = delayz.time_ones.@float T H E N delayz.time_ones.@float = billet.true_sec.@float - ( delayz.time_tens.@float * 10) THEN billet.position.@float = 3 THEN GOTO ("Display_new_billet") endRule

Rule @name = Display _messageready IF A G E ( show.age.@float )>8 THEN show.current.@string is "Ready " THEN show.age.@float = 2 endRule

Rule @name = Display_new_billet IF billet.new.@float == 1 THEN show.current.@string is "New Billet THEN show.age.@float = 1 THEN billet.new.@float =0 THEN R U N P R O C E D U R E ("spcadvancel") endRule

Rule @name = Display jpicture_clear IF A G E ( show.age.@float )>10 THEN billet.position.@float =10 endRule

Rule @name = expert_delay_l_l IF delay.estimate.@float = 1 A N D billet.age.@float >= advise.delay_grpl_start.@float

141

A N D billet.age.@float <= advise.delay_grpl_end.@float T H E N ad vise, expert l.@string = advise.delay l_l.@string endRule

Rule @name = expert_delay_l_2 IF delay.estimate.@float == 1 A N D billet.age.@float >= advise.delay_grp2_start.@float A N D billet.age.@float <= advise.delay_grp2_end.@float T H E N advise.expertl .@string = advise.delay 12.@string endRule

Rule @name = expert_delay_l_3 IF delay.estimate.@float == 1 A N D billet.age.@float >= advise.delay_grp3_start.@float A N D billet.age.@float <= advise.delay_grp3_end.@float THEN advise.expertl.@string = advise.delayl_3.@string endRule

Rule @name = expert_delay_2_l IF delay.estimate.@float == 2 A N D billet.age.@float >= advise.delay_grpl_start.@float A N D billet.age.@float <= advise.delay_grpl_end.@float T H E N advise.expertl.@string = advise.delay21.@string endRule

Rule @name = expert_delay_2_2 IF delay.estimate.@float == 2 A N D billet.age.@float >= advise.delay_grp2_start.@float A N D billet.age.@float <= advise.delay_grp2_end.@float T H E N advise.expertl.@string = advise.delay2_2.@string endRule

Rule @name = expert_delay_2_3 IF delay .estimate. @float == 2 A N D billet.age.@float >= advise.delay_grp3_start.@float A N D billet.age.@float <= advise.delay_grp3_end.@float T H E N advise.expertl.@string = advise.delay2_3.@string endRule

Rule

142

@name = expert_delay_3_l IF delay.estimate.@float = 3 A N D billet.age.@float >= advise.delay_grpl_start.@float A N D billet.age.@float <= advise.delay_grpl_end.@float T H E N advise.expertl.@string = advise.delay3_1 .@string endRule

Rule @name = expert_delay_3_2 IF delay.estimate.@float == 3 A N D billet.age.@float >= advise.delay_grp2_start.@float A N D billet.age.@float <= advise.delay_grp2_end.@float THEN advise.expertl.@string = advise.delay3_2.@string endRule

Rule @name = expert_delay_3_3 IF delay.estimate.@float == 3 A N D billet.age.@float >= advise.delay_grp3_start.@float A N D billet.age.@float <= advise.delay_grp3_end.@float T H E N advise.expertl.@string = advise.delay3_3.@string endRule

Rule @name = expert_delay_long IF billet.age.@float >= advise.delay_grp3_end.@float THEN advise.expertl.@string = advise.delay_long.@string endRule

Rule @name = hmdl_signal_cycle_checkl IF hmdl.signal_l.@float ==1 A N D hmdl.signal_2.@float ==1 A N D hmdl.signal_3.@float ==1 THEN hmdl.sig.@float =1 endRule

Rule @name = hmdl_signa l_cycle_check2 IF hmdl.signal_l.@float = 2 A N D hmdl.signal_2.@float =2 A N D hmdl.signal_3.@float ==2 THEN hmdl .sig.@float =2 endRule

143

Rule @name = hmd2_signal_cycle_checkl IF hrnd2.signal_l.@float ==1 A N D hrnd2.signal_2.@float = 1 A N D hmd2.signal_3.@float == 1 T H E N hmd2.sig.@float =1 endRule

Rule @name = hmd2_signal_cycle_check2 IF hmd2.signal_l.@float ==2 A N D hmd2.signal_2.@float ==2 A N D hmd2.signal_3.@float ==2 T H E N hmd2.sig.@float =2 endRule

Rule @name = hmd_billet_rejected IF hmd.reject_buff.@float > 1.100000 T H E N current.rejected.@float = current.rejected.@float + 1 T H E N current.remain.@float = current.remain.@float - 1 T H E N hmd.reject_buff.@float = hmd.reject_buff.@float - 1 T H E N show.current.@string is "Billet Rejected " THEN R U N P R O C E D U R E ("write_file_billetid" ) endRule

Rule @name = hmd_double_billet_drop IF hmd.reject_buff.@float <(-0.100000) T H E N hmd.reject_buff.@float = 0 T H E N show.current.@string is "Double Drop " T H E N show.age.@float = 5 endRule

Rule @name = hmd_signal_cycle IF T THEN hmdl.signal_4.@float T H E N hmdl.signal_3.@float THEN hmdl.signal_2.@float T H E N hmdl .signal_l .@float THEN hmd2.signal_4.@float THEN hmd2.signal_3.@float THEN hmd2.signal_2.@float THEN hmd2.signal_l.@float

= hmdl.signal_3.@float = hmdl.signal_2.@float = hmdl .signal_l .@float = hmdl. signal. @float = hmd2. signal_3. @float = hmd2.signal_2.@float = hmd2.signal_l .@float = hmd2.signal.@float

144

endRule

Rule @name = hmd_tune_factor_adjustment IF hmdl.factor.@float <hmd2.factor.@float THEN hmdl.factor.@float = hmd2.factor.@float endRule

Rule @name = hmda2_billet_from_furnace IF hmd2.signal_buff.@float != hmd2.sig.@float THEN hmd2.signal_buff.@float = hmd2.sig.@float THEN show.current.@string is "Billet at descaler " THEN hmd.reject_buff.@float = hmd.reject_buff.@float + 1 THEN billet.position.@float = 1 THEN show.age.@float = 5 endRule

Rule @name = hmdbl_billet_advance_to_mill IF hmdl.sig.@float != hmdl.signal_buff.@float THEN hmdl .signal_buff.@float = hmdl .sig.@float THEN show.current.@string is "Billet at 1st Stand " T H E N current.remain.@float = current.remain.@float - 1 THEN current.to_mill.@float = current.to_mill.@float + 1 THEN hmd.reject_buff.@float = hmd.reject_buff.@float -1 THEN billet.position.@float = 4 THEN R U N P R O C E D U R E ("write_file_billetid" ) endRule

Rule @name = Load_basic_operating_practice IF heat.load_flag.@float = 1 A N D current.remain.@float != 0 THEN heat.load_flag.@float = 0 THEN A C T I V A T E ( "/D/put_data 1") endRule

Rule @name = manual_reject_from_heater IF current.odd_reject.@float == 1 THEN current.remain.@float = current.remain.@float - 1 THEN current.rejected.@float = current.rejected.@float + 1 THEN current.odd_reject.@float = 0 THEN show.current.@string = "Manual Reject"

145

THEN show.age.@float = 3 THEN R U N P R O C E D U R E ("write_file_billetid") endRule

Rule @name = Next_heat IF current.remain.@float < 0.500000 THEN current.remain. @float = batch.total 1. @float T H E N batch.total 1 .@float = batch.total2.@float T H E N batch.total2.@float = batch.total3.@fioat T H E N batch.total3.@float = batch.total4.@float T H E N batch.total4.@float = batch.total5.@float THEN batch.total5.@float = 0 THEN current.rejected.@float = 0 THEN current.to_mill.@float = 0 THEN hmd.reject_buff.@float = 0 THEN current.group.@float = batch.groupl .@float THEN batch.groupl .@float = batch.group2.@float T H E N batch.group2.@float = batch.group3 .@float T H E N batch.group3 .@float = batch.group4.@float THEN batch.group4.@float = 1 T H E N R U N P R O C E D U R E ( "nextheat" ) endRule

Rule @name = running_average IF T THEN billet.gapa.@float = delaya.time_ones.@float + (delaya.time_tens.@float * 10 ) + ( delaya.time_min.@float * 60 ) THEN billet.gapb.@float = delayb.time_ones.@float + ( delayb.time_tens.@float * 10) + ( delayb.time_min.@float * 60 ) THEN billet.gapc.@float = delayc.time_ones.@float + ( delayc.time_tens.@float * 10 ) + ( delayc.time_min.@float * 60 ) THEN billet.gapd.@float = delayd.time_ones.@float + ( delayd.time_tens.@float * 10 ) + ( delayd.time_min.@float * 60 ) THEN billet.running_average.@float = (billet.gapa.@float + billet.gapb.@float + billet.gapc.@float + billet.gapd.@float ) / 4 endRule

Rule @name = running_average_assignment IF billet.running_average.@float < ( delay.default.@float * delay.factor.@float ) A N D billet.running_average.@float > 25 THEN delay.average.@float = billet.running_average.@float ELSE delay.average.@float = delay.default.@float

146

endRule

Rule @name = select_group_2 IF heat.select.@float = 2 A N D heat.select_flag.@float == 1 THEN batch.groupl .@float = heat.tag.@float T H E N heat.select_flag.@float = 0 endRule

Rule @name = select_group_3 IF heat, select. @float = 3 A N D heat.select_flag.@float == 1 T H E N batch.group2.@float = heat.tag.@float T H E N heat.select_flag.@float = 0 endRule

Rule @name = select_group_4 IF heat.select.@float == 4 A N D heat.select_flag.@float == 1 THEN batch.group3.@float = heat.tag.@float T H E N heat.select_flag.@float = 0 endRule

Rule @name = select_group_5 IF heat.select.@float == 5 A N D heat.select_flag.@float THEN batch.group4.@float = THEN heat.select_flag.@float endRule

Rule @name = selectgroupcurrent IF heat.select.@float == 1 A N D heat.select_flag.@float == 1 THEN current.group.@float = heat.tag.@float THEN heat.select_flag.@float == 0 THEN A C T I V A T E ( 7D/put_data 1") endRule

Rule @name = select_group_max_2

= 1 heat.tag.@float = 0

147

IF batch.groupl.@float >data.max_sets.@float THENbatch.groupl.@float =1 endRule

Rule @name = select_group_max_3 IF batch.group2.@float > data.max_sets.@float THEN batch.group2.@float = 1 endRule

Rule @name = select_group_max_4 IF batch.group3.@float > data.max_sets.@float THENbatch.group3.@float =1 endRule

Rule @name = select_group_max_5 IF batch.group4.@float > data.max_sets.@float THEN batch.group4.@float = 1 endRule

Rule @name = select_group_max_current IF current.group.@fIoat > data.max_sets.@float THEN current.group.@float = 1 endRule

Rule @name = select_group_max_tag IF heat.tag.@float > data.max_sets.@float THEN heat.tag.@float =1 endRule

Rule @name = temp_zones_store_to_file IF A G E (idle.store_temp.@float ) > idle.store_interval.@float A N D charge_zone.temp_buff.@float > 0 A N D heat_zone.temp_buff.@float > 0 A N D soak_zone.temp_buff.@float > 0 A N D charge_zone.gas.@float > (-1 ) A N D heat_zone.gas.@float > (-1 ) A N D soak_zone.gas.@float > (-1 ) A N D charge_zone.air.@float > ( - l ) A N D heat_zone.air.@float > (-1 )

148

A N D soak_zone.air.@float > (-1 ) T H E N idle.store_temp.@float = 0 T H E N idle.store_temp.@float = 1 THEN A C T I V A T E ("_date a charge_zone.temp_buff.@f zones.temp") T H E N A C T I V A T E ("_kwt a heat_zone.temp_buff.@f zones.temp" ) THEN A C T I V A T E ("_kwt a soak_zone.temp_buff.@f zones.temp") THEN A C T I V A T E ( "_kwt a charge.set_buff.@f zones.temp") T H E N A C T I V A T E ("_kwt a heat.set_buff.@f zones.temp") THEN A C T I V A T E ( "_kwt a soak.set_buff.@f zones.temp") THEN A C T I V A T E ( "_kwt a charge_zone.gas.@f zones.temp" ) THEN A C T I V A T E ( "_kwt a heat_zone.gas.@f zones.temp") T H E N A C T I V A T E ( "_kwt a soak_zone.gas.@f zones.temp" ) THEN A C T I V A T E ( "_kwt a charge_zone.air.@f zones.temp" ) THEN A C T I V A T E ( "_kwt a heat_zone.air.@f zones.temp") T H E N A C T I V A T E ( "_kwt a soak_zone.air.@f zones.temp" ) T H E N A C T I V A T E ( "_cr a furnace.pressure.@f zones.temp" ) THEN SLEEP ( 1 ) ELSE R U N P R O C E D U R E ( "furnace_data_buffer" ) endRule

Rule @name = temp_zones_store_to_file_20sec IF A G E ( idle.store_temp.@float ) > (idle.store_interval.@float + 20 ) T H E N idle.store_temp.@float = 0 T H E N idle.store_temp.@float = 1 T H E N A C T I V A T E ( "_date a charge_zone.temp_buff.@f zones.temp") T H E N A C T I V A T E ( "_kwt a heat_zone.temp_buff.@f zones.temp" ) THEN A C T I V A T E ("_kwt a soak_zone.temp_buff.@f zones.temp") THEN A C T I V A T E ( "_kwt a charge.set_buff.@f zones.temp" ) THEN A C T I V A T E ("_kwt a heat.set_buff.@f zones.temp") THEN A C T I V A T E ("_kwt a soak.set_buff.@f zones.temp") T H E N A C T I V A T E ("_kwt a charge_zone.gas.@f zones.temp") THEN A C T I V A T E ( "_kwt a heat_zone.gas.@f zones.temp") T H E N A C T I V A T E ( "_kwt a soak_zone.gas.@f zones.temp") T H E N A C T I V A T E ( "_kwt a charge_zone.air.@f zones.temp" ) THEN A C T I V A T E ("_kwt a heat_zone.air.@f zones.temp") THEN A C T I V A T E ("_kwt a soak_zone.air.@f zones.temp") THEN A C T I V A T E ( "_cr a furnace.pressure.@f zones.temp" ) T H E N SLEEP (1 ) ELSE R U N P R O C E D U R E ("furnace_data_buffer" ) endRule

Rule @name = weekdayjfriday IF week.day_buff.@float != week.day.@float

149

A N D week.day_buff.@float == 5 T H E N week.day_buff.@float = week.day.@float T H E N A C T I V A T E ("friday.bat" ) endRule

Rule @name = weekdaymonday IF week.day_buff.@float != weekday.@float A N D week.day_buff.@float = 1 T H E N week.day_buff.@float = week.day.@float THEN A C T I V A T E ("monday.bat") endRule

Rule @name = weekday_saturday IF week.day_buff.@float != weekday.@float A N D week.day_buff.@float ==6 T H E N week.day_buff.@float = week.day.@float THEN A C T I V A T E ( "saturday.bat" ) endRule

Rule @name = weekday_sunday IF week.day_buff.@float != week.day.@float A N D week.day_buff.@float == 7 T H E N week.day_buff.@float = week.day.@float THEN A C T I V A T E ("sunday.bat") endRule

Rule @name = weekday_test IF A G E ( idle.weekday_temp.@float ) > idle.weekday_interval.@float THEN idle.weekday_temp.@float = 0 THEN idle.weekday_temp.@float = 1 THEN A C T I V A T E ("Jime") endRule

Rule @name = weekday_thursday IF week.day_buff.@float != week.day.@float A N D week.day_buff.@float ==4 T H E N week.day_buff.@float = week.day.@float THEN A C T I V A T E ("thursday.bat" ) endRule

150

Rule @name = weekday_tuesday IF week.day_buff.@float != week.day.@float A N D week.day_buff.@float = 2 T H E N week.day_buff.@float = week.day.@float THEN A C T I V A T E ("tuesday.bat") endRule

Rule @name = weekday_wednesday IF week.day_buff.@float != week.day.@float A N D week.day_buff.@float = 3 THEN week.day_buff.@float = week.day.@float THEN A C T I V A T E ("wednesday.bat") endRule

!*** LoadStrategy must go at the end of the Knowledge Base *** LoadStrategy @name = "new.stg" EndLoadStrategy

151

APPENDIX H Raw and Processed Data from 6 Operating Weeks

The operating gap times of billets produced over a 6 week period is illustrated in Figure A - 4 to Figure A -10 Billet Release Gap Times

. These figures contain 4000 recorded billet scans per plot and consecutively represents 32,000 billets processed over the 6 weeks. The bulk of the billets were processed within normal parameters as represented by the baseline blocks on the bottom of the plots. Changes in the baseline block height represents changes in the target billet processing time due to a change in production. The Individual spikes over the baseline represent the individual delays in the billet scans.

Some individual products were chosen from this plot to examine the delays under specific conditions. Three processing plots were removed from this data set and analyzed for delay duration and frequency. Three individual products were chosen based on differing target billet release times of 40, 50 and 100 seconds. For Each of these products three plots were assembled. 1. Direct bar chart of the frequencies of the individual release times. See Figure A - 12,

Figure A - 15 and Figure A - 18. 2. Modified bar chart which grouped the release frequencies into ranges of release times.

See Figure A - 12 Billet Release Profile - 40 second target 3. , Figure A - 15 Billet Release Profile - 50 second target 4. and Figure A - 18 Billet Release Profile - 100 second target 5. . 6. Magnified bar chart with the baseline removed to show the non-conforming release

times. See Figure A - 13 Modified Billet Release Profile - 40 second target 7. , Figure A - 17 and Figure A - 19 Modified Billet Release Profile - 100 second target 8. . From these plots, the most frequent delay durations can be extracted along with operational data and operator control regimes. This data can be provided to the mathematical modeling experts with the intent of generating new knowledge.

152

series 1-4000

2 0 0 •

T- CM co m to

CO — - < £ > — - CD — -CN m r-- o CM m — - CN CO LT) CO h-

billet release

Figure A - 4 Billet Release Gap Times

series 4000-8000

.1 100

—- CM CO

m cn co (n an

I— CO CO —- CM CO h - •—- Lf) o> CO I— CO CO CO O CO U") N . CO CO T— CM CO

—- l O C7) CO CO r ~ CO 0>

C M C N I C N C N C N C N C M C M C O C O C O C O C O C O C O C O

billet release

Figure A - 5 Billet Release Gap times

153

series 8000-12000

200

150

50

0

billet release

Figure A - 6 Billet Release Gap Times

series 12000-16000

billet release

Figure A - 7 Billet Release Gap Times

154

series 16000-20000

2 0 0

150.-

e 100 -

I ir a i i i i i | i | i iwinii inpi

in en co i - m a i n s r i f l u i n N r - m o i n

to CO T- CO <D CO C M O J C N C N C N C M C N C N C O C O C O

r * - i - i o a ) f O r — i - m c n N O l N ' f N m r y T r i r i oo cn T- CM co

billet release

Figure A - 8 Billet Release Gap Times

series 20000-24000

. § 100

m o co r -o CN in r» — • CO CD

tn CD co

C N C N C N t O J C N l C N C N C N C O C O C O C O C O C O C O C O

billet release

Figure A - 9 Billet Release Gap Times

155

series 24000-28000

billet release

Figure A -10 Billet Release Gap Times

series 28000-32000

j .1 111 1 | J 1 I

"I llll! i n n nm II I f nil I i n III Hi l l 'inn imiiri II i i min

LT C

•> O. •J ^ - CSI

CO r-co

r- —-O) CM T CD

•a- ID a r-- co o

) r-i —-) — CM

m cn CD CO co —- 16

13

1737

1861

1985

2109

2233

2357

2481

2605

2729

2853

2977

3101

m CN CN CO

rj) c T r-t o •< CO c

0 r

0

r-u. m CO

CM

co

u

c p

~) 01 - CO

0 o 1 CO

billet release

Figure A -11 Billet Release Gap Times

156

Figure A - 12 Billet Release Profile - 40 second target

4000

2500

1500

1000

I I I I [ I I I

T - T - 7 - CM

gap time (s)

Figure A -13 Modified Billet Release Profile - 40 second target

157

2 0 0

i<;n

Figure A - 14 Magnified Billet Release Profile - 40 second target

158

1200

400

gap time (s)

Figure A -15 Billet Release Profile - 50 second target

3000

2500

2000

1000

500

0

§

! i § • 1 1

•5 1 3 $ i

f o o m L o m m o o o o o o o o o o o o o o o o o o o o o o o o T - c M c o - ' j - i n f ^ o J O C N ^ r i o c o o ^ r o o i n m o o o o o o o o o o o o ^ x - t - T - T - C N I C N C S I C O ' ^ - C D C O O ' ^ J - C O ^ - C N O C O O O O

t - i - x - C N J C O ' ^ - ' ^ - t D C O O gap time (s)

Figure A -16 Modified Billet Release Profile - 50 second target

159

100

75

50

C M C ^ C M ( 0 - * ( D < O O T T C O ^ - C M O C O O O O T - T - T - C S J C O ^ t ^ f C O O O O

gap time (s)

Figure A - 17 Magnified Billet Release Profile - 50 second target

160

350

300

250

150

100

50

0

gap time (s)

Figure A - 18 Billet Release Profile - 100 second target

JL, - f l c . . .

n " k L "! "If

o o L O L o m m o o o o o o o o o o o o o o o o o o o o o o o o T - c M c o ^ r u i t ^ c n o c N ' ^ - c D c o o ^ r c o i o i n o o o o o o o o o o o o

T - ^ T - ^ T - C N C S I C N J C O T T C D O D O ^ C O ^ C N O C O O O O

— - — - — - C N C O T ^ T t D C O O gap time (s)

Figure A - 19 Modified Billet Release Profile -100 second target

161

1800

1600

1400

1200

>• 1000 c c r

600

200

gap time (s)

Figure A - 20 Magnified Billet Release Profile - 100 second target

162


Recommended