Ada Used for
Distributed Process Control
at Weirton Steel

Kenneth James
General Supervisor
Hot Mill Automation
(304) 797-2492
Gregory Saul
Systems Process Engineer
(304) 797-4916
David Shroads
Senior Analyst, M.I.S.
(304) 797-4027
david.shroads@weirton.com
William Zickefoose
Automation Engineer
(304) 797-3358

Abstract

The Weirton Steel Corporation Hot Strip Rolling Mill Revamp project included transforming a totally mechanically operated hot strip rolling mill, with no previous automation, into one of the most automated rolling mills of today. Most of the real-time code was written in the Ada programming language. A distributed control system was proposed by General Electric (G.E.) and agreed to by Weirton, in light of the business requirement that transformation had to occur during scheduled and predictable production interruptions. It should be noted that at the time of contract signing, neither G.E. nor Weirton had implemented any Ada distributed control system. None of the Weirton process control engineers assigned to this project had any previous Ada experience.

Introduction

Weirton Steel Corporation, a large industrial company located in Weirton, West Virginia, contracted with General Electronic Corporation to provide an Ada-based distributed process control system. Although General Electric was progressing on development of its first Ada based system for a steel company outside North America, there were no operation Ada-based steel industry control systems at the time Weirton selected General Electric as its prime electrical contractor. This complex system, consisting of seventeen DEC VAX computers, over seventy process interface controllers, and thousands of process inputs and outputs, now controls Weirton's hot strip mill, an around-the-clock operation through which all of Weirton's products are processed. The system was implemented in process functional phases, and has transformed Weirton's former operator expertise-dependent rolling mill into one of the most automated facilities in the world.

Weirton's software engineers had no previous Ada experience, but became familiar with the language during design, development, and testing of the system at General Electric's Drive Systems Division. After installation, the Weirton automation team undertook responsibility for system maintenance and functional enhancements. The control system has been extremely reliable, which the automation engineers attribute in large part to the exception handling features of Ada. Ada has become the language of choice for Weirton's hot mill process control department This Ada system has become the yard stick with which all future automation in Weirton Steel Corporation will be measured.

Background and Process Overview

Weirton Steel Corporation's Hot Strip Mill Revamp Project was a $200 million capital project aimed at taking Weirton's Hot Rolling technology and capabilities from a totally non-automated operator controlled specialty product process to a fully automated process capable of setting industry standards for many quality parameters and capable of rolling larger product for markets in which Weirton could not previously participate. The reduction in operator requirements also significantly reduced manpower costs, helping to keep Weirton Steel price-competitive with domestic and global competition. Weirton Steel is the seventh largest integrated steel producer in the United States, with 1994 sales exceeding $1.2 billion. Currently, there are approximately 6,000 employees, down from over 13,000 in the late 1970's, with the employees holding a majority ownership position in the company.

Integrated steel making is the process of transforming raw materials such as coal, coke, iron ore and recycled scrap into finished products such as galvanized sheet steel used for products including car bodies and building materials, tin-coated sheet steel used for food and beverage cans, and uncoated sheet steel used for products including appliances, building materials, and pipe.

The beginning processes within Weirton Steel's integrated mill transform raw materials into molten iron then molten steel of chemistries requested by our customers. The molten steel is cast into slabs 9 inches thick [23 cm], between 24 and 50 inches wide [61 cm and 1.27 m], and between 190 and 400 inches long [4.83 and 10.16 m]. The hot strip mill rolling process begins with reheating each slab to approximately 2200°F [1204°C]. This is accomplished within one of two natural gas fired furnaces, each approximately 155 feet in length [47.24 m]. The re-heated 9 inch thick slab is then rolled in the roughing mill to a thickness of between 1.0 and 1.3 inches [2.54 and 3.3 cm]. Further reduction of the slab to customer thickness or "gauge" requirements of between 0.080 and 0.500 inches [.2 and 1.27 cm] under specific temperature, flatness, and thickness requirements is accomplished in the seven close-coupled finishing stands. Water is then used for controlled cooling of the "strip" to produce the desired metallurgical properties.

The cooled strip is then carefully wound into a coil at one of two reels for shipment either to customers or to other Weirton Steel processing lines. During this process, the strip travels at speeds of up to 3000 feet-per-minute [914 m], and an average slab ends up as a coil of strip approximately one half of a mile in length [805 m]. Downstream processing of the strip which is necessary to make Weirton Steel's end products include cold rolling mills (used to achieve thicknesses down to 0.0065 inches [.165 mm] and coating lines to produce galvanized and tin-plated products. The distributed process control system described herein controls the hot mill rolling operation, a key process in determining if customer requirements for strip shape, uniform gauge, surface quality, and metallurgical properties are met.

Weirton Steel has one hot strip mill, with all product revenue dependent on processing at this operating unit. Due to the high cost of building a completely new hot strip mill ($450 million in 1986), the decision was made in 1986 to revamp the existing hot mill. Plans were made for a phased implementation with scheduled mill outages for installation of the major mechanical, electrical, and automation components. Historically, Weirton Steel's hot mill has operated 24 hours per day, except for repair outages usually limited to 16 hours each week and the scheduled outages for this project. Therefore, initial reliability of all equipment installed was critical to the success of the project, and more importantly for the success of Weirton Steel and its employee owners.

Ada code development for the control system was begun in December of 1987. The development site-tested Phase I system was brought to Weirton and set up to shadow mill operations in the Fall of 1989, with control still by manual operators. This was done so the system could obtain process feedback to tune the finishing mill models. The startup of the Phase I control system, consisting of the Supervisory and Development computers and virtually all finishing mill automation functions was completed in January of 1990. Startup of the two slab reheat furnaces, automated slab handling, and Level II tracking was begun in January of 1992. The Phase II system was installed to shadow the Phase I system in early 1992. The Phase II control was implemented in August of 1992 and included automation of the roughing mill and coilers, as well as operating system upgrades to the Supervisor and Development computers.

Design Considerations

The initial step in the automation project was to develop an automation specification that electrical suppliers would bid on, with that specification becoming part of the contract between the supplier and Weirton Steel Corp. The automation specification spelled out in as much detail as possible what was expected in the system from the potential supplier, without actually telling the potential supplier how implement the system. Included in the automation specification were:

A distributed architecture was requested only after many hours of deliberation, since the standard for the steel industry up until that time was a centralized system, with all functions performing by the real-time high level language (product tracking, mill setup modeling, operator interfaces, reporting, diagnostics, etc.) resident in one large computer, usually a DEC VAX. Although a distributed system had been untried in the steel industry, the following advantages led to the decision to proceed in that direction:

The specification also stated that application software should be written in either Fortran 77 or Pascal using structured programming techniques. Reasons for this request included:

Since the Hot Mill was operated in a totally manual method before this project, Weirton also requested the electrical supplier to supply manual operational capabilities for each functional area that were to be used to keep production flowing during problems with any of the control computers. From Weirton's perspective at the time, manual operation looked to be a viable option. Looking back, this was a major design flaw since, after the first month of operation, it became apparent this production unit would never run manually again. The complexity that was added to the system to allow for manual operation turned out to be a large waste of engineering, hardware, and software development resources.

Since the electrical and automation project was to be supplied as one complete package (electric motors through supervisory computers), potential vendors were limited to the world's major electrical suppliers. Bids were taken from European and American suppliers.

The overall system specification allowed for flexibility on the part of the supplier, which meant changing or relaxing some detailed requirements to facilitate competitive bidding. This is how the Fortran/Pascal specification was relaxed to include Ada as a choice. Weirton was against the use of Ada since we had no prior experience with Ada and the Hot Mill project was critical to the corporation's economic survival. General Electric was in the process of supplying a distributed hot mill control system for an overseas concern using Ada that was very similar to what the Weirton specification called for. After a long period of discussions, the specification was changed to permit Ada. During these discussions, General Electric made the following arguments favoring the use of Ada:

As it turned out, the programming staff at General Electric proved to be a great help in system maintenance because Weirton's software is not a totally one-of-a-kind system.

After the selection of General Electric as the supplier and the project got under way, Weirton sent a 10-person team to work at the General Electric Drive Systems Division. This team eventually spent 20 consecutive months at the General Electric factory. Their first assignment was a three-week course in Ada taught by Digital Equipment Corporation. It was then the responsibility of the Weirton team to ensure the system was developed and tested in the manner dictated by our design specification. Most of Weirton's key software engineers had both real-time Fortran and Pascal experience, and the transition to Ada was made smoothly.

The use of Weirton personnel from the beginning of the software lifecycle ensured continuity from the design and analysis through system maintenance. Weirton personnel were assimilated into the General Electric software development team and took direction from General Electric supervision. Weirton personnel were also assigned to develop software modules (packages and tasks) that would be used in the system. The Weirton system and software development team had a positive influence in the automation project for several reasons:

System Description

The system hardware is diagrammed in figure 1. Two DEC VAX 8530s running the VMS operating system serve as the Supervisor and Development computers, with the Development computer sparing the Supervisor in the event a major hardware failure. Manual system management intervention is required to switch the backup Supervisor. Diskless DEC MicroVAXs are used for the ELN nodes with each spare ELN node backing up multiple on-line ELN controllers. The downloading from the Supervisor VAX 8530 required to switch to a backup ELN controller can be accomplished in approximately 10 minutes. DEC MicroVAXs running the VMS operating system are used for the man-machine interface (MMI) computers, each of which has a "hot" spare providing automatic switch over in the event of most hardware or software failures. Most of the software written by General Electric and the Weirton team that runs in the DEC environment was written in Ada. We refer to these 17 VAX systems collectively with the Ethernet and peripherals as the Level II systems and software.

The direct mill control (position regulation, interface to direct process sensors, etc.) is done via General Electric distributed micro controllers (DMC's) and General Electric programmable logic controllers (PLC's). Software within DMC's is written in General Electric proprietary control block language and the software within the PLC's written in ladder logic. These 71 Level I controllers communicate with one another between themselves and the Level II VAXs via redundant General Electric proprietary control signal freeway (CSF) high speed data highways.

The software development environment supplied by General Electric was a virtual environment. Exhaustive use was made of system logicals to refer to development areas and tools. The physical environment changed a number of times throughout the development the system, but those changes were totally transparent to the software developers.

Development tools that were supplied to the programmers included data flow diagrams, state diagrams used with General Electric's proprietary finite state tracking language, language sensitive editor, symbolic debugger, remote debugger, management system (CMS). DEC's ACS repository and database for code and information relating to separately compiled Ada units provides the following Ada organization and code building features:

Packages to be used system-wide were developed early in the project and reside in the Ada library SYSSADALIB (for example, the package defining the data types uses for physical units measurement). Packages to be used by many applications that are dependent on system-wide packages reside in the Ada Library MAINT$ADALIB, which is a sublibrary of SYS$ADALIB. Each major application has its own Ada library, each of which is a sublibrary MAINT$ADALIB.

The total development environment also relies heavily on the VMS directory structure. Each major software function has its own directory structure, with the major functions broken into modules which also have their own directory structure. Each directory structure consists of areas for source code, documentation, executable code, and development. The software for the Hot Mill system is, by definition, an embedded control system. The software employs parallel processing, real time control, unique I/O control and handling, exception handling and fault tolerance. The nucleus of Weirton's system is the VMS/ELN operating system, which is surrounded by General Electric system tools. These tools are standard for most General Electric systems and perform functions such as drive systems control, input and output collection and distribution, inter-task communications, finite state machines, pre-processors, and tune-up and debugging aids.

An outer shell of application influenced or application specific tasks and procedures perform functions such as communications to the business system, data logging, reporting, and maintenance and diagnostic tools. Note that the lines between these functional layers is not always obvious.

As mentioned previously, all of the Level II control system application software and most of the system tools are written in Ada. Some of the standard General Electric tools provided that were carried over from previous General Electric supplied systems were provided to Weirton in Fortran. In addition, the model that provides setup and control of the finishing mill is written in Fortran. Early in the development of our system, it was decided that there would not be sufficient time within Weirton's development and installation schedule to translate the existing finishing mill setup models into Ada. Since the finishing mill model resides in the finishing ELN node, an Ada shell was developed provide an Ada interface between other software and the model. This Ada shells links the models as foreign procedures within the Ada program. The Ada shell provides an outer level exception handler to the Fortran model. Note that the roughing mill models installed in Phase II are object-oriented and are written in Ada. Within Weirton's control system, there approximately 40 megabytes of Ada application code, including comments.

Ada in System Design and Development

Weirton has found a number of positive aspects regarding the use of Ada in our Hot Mill control system. A large amount of the complicated tracking code is reused in the executive routines for the five area real-time product tracking modules (furnaces, roughing mill, etc.) addition, a package defining the data types with any calculations involving physical dimensions, volumes, etc., is used throughout the Level II system. Overloading of the functions "+", "-", etc. is also done in the system level packages. Other main service packages include:

The common code and standard packages upon which Weirton's system is built form a baseline that, if grasped by the program developer or maintenance engineer, provide an understanding of the building blocks for almost all of the applications within the control system.

Two types of Ada tasking are used in the control system. The five separate and independent product tracking systems are started once and must remain running under all circumstances. Each communicates with the others via inter-tracking communications. Other tasks are spawned to do a particular job, such as logging or data transfer, and then terminate.

Generic units are used extensively to carry out database, input/output reading and writing, along with other services such as generic train services.

The error building features of Ada have proven extremely valuable in Weirton's control environment. Due to the control aspects of the system, most of the tasks must remain running under any and all conditions. Therefore, error handing must be comprehensive, predictable, and allow for the reliable recovery of the routine experiencing the error.

Process problems are handled with a "raise" within the Ada code that transfers execution error handling as any control system error would. For example, a slab that is too wide to be processed raises an exception just as a zero divide error does. Ada allows the Weirton system to supply predictable outcomes to extraordinary conditions that result in control system errors The "exception" area of the code is used to generate engineering and/or operator alarms, supply default data values when necessary, and to continue processing.

The strong data typing features of Ada have been utilized within the system to reliably constrain input and process variables. Each variable of the primary data input record for a slab scheduled to be rolled is "typed" against critical limits for that particular variable. For example, slab_ width_ type denotes a range from 24 to 50 inches [61 cm and 1.27 m]. If the input value causes an exception to be raised, a default value can be used. In cases where a default is not permitted, the actual input value is used and appropriate operator alarms are generated.

Ada was beneficial during the testing of the control system. Simulations were done to test a variety of operating conditions. Interactive software was written which simulated system process inputs. Each simulated slab is represented by a separate task. Multiple slabs being processed concurrently are simulated by starting multiple tasks.

Development of the system was noticeably more programmer independent than utter control projects the Weirton team has been involved with. During software development for a particular function, once the interface design work is complete, work on "separates" that perform more specific functions can be carried out by several different programmers.

Although system-wide standards were issued for documentation, including design documents and program abstracts, Weirton engineers have found the Ada code to be somewhat self-documenting.

Some of the drawbacks of Ada encountered by the Weirton team include:

Ada in System Maintenance

Because of the traditional costs involved in the maintenance of a large process control system, this area should be of utmost concern. It is our opinion that Weirton's maintenance staffing and costs have been below expectations given the size and complexity of the Hot Mill control system.

Since no one person is familiar with complete structure of the system and how it relates to all components of the system, a maintenance staff must be maintained. The original design decisions made at the beginning of the software lifecycle have become the precepts for system maintenance. This baseline of system packages and common code have helped to minimize traditional maintenance problems such as a lack of communications between individual maintenance personnel and the introduction and training of personnel who did not take pert in the original system development. The reasons for Weirton's success in maintaining the Ada control system include:

Since the 1992 Phase II startup, the Weirton maintenance team has also implemented a large number of major system enhancements and new control system applications, written in Ada and built upon the baseline software described above. These new functions include:

Effects of Ada on System Reliability

System reliability has met Weirton Steel's expectations. When any part of the control system is inoperable, our hot strip mill cannot process steel. In 1993, the control system was available for mill production 99.96 percent of the time. Hot mill production interruptions cost Weirton Steel approximately $8,000 per hour in terms of applicable costs, as well approximately $3,000 per minute in terms of lost revenue.

There are approximately 730 separate Ada processes that collectively make up the Level II control system. To date we have never lost a process. This compares favorably to our past and present experience with Fortran-based systems where we occasionally and unpredictably lose key processes, and thus regularly experience loss of system availability. Note that our maintenance team previously designed and implemented a Fortran-based DEC-PDP-based system that tracked product through the Hot Mill and collected and reported quality data prior to installation of the General Electric Ada control system. We also presently maintain a VAX VMS Fortran system supplied by a different vendor that models and provides temperature setpoints for the two slab reheat furnaces and interfaces to our Ada control system.

The exception handling features of Ada keep our system running, even through the frequently encountered abnormal process inputs and special case process sequences that are encountered in a complicated process control environment such as a hot strip mill. Control segments within the system mainly utilize error propagation to handle errors at a higher level within the code structure. Internal to the control segments, the use of Ada's error handling is barely utilized, which Weirton's design team believes is a carryover from General Electric's former Fortran systems. Given the outstanding reliability of our control system and the Ada expertise we have developed since 1987, we believe Ada has the error handling capabilities to handle virtually any demand made upon system design, development, or maintenance within the process control arena.

Possible Effects of Ada 95

Because the foundation of the General Electric-supplied Ada system is so highly dependent on explicit data structures, the object-oriented features of Ada 95 will likely be difficult to retrofit and benefit from. As has been previously explained, system reliability and availability are critical to Weirton's hot mill Ada applications, therefore there would need to be almost total backwards compatibility before Ada 95 would be considered for use in Weirton's control system.

Conclusions and Lessons Learned

Weirton's automation engineers feel the use of Ada has enhanced our ability to readily maintain and upgrade this system with internal resources. Although there was a tendency for former Fortran programmers to use Fortran style flow control during their first exposure to Ada, our software engineers made better use of the features of Ada as they became more comfortable with the language. During the development of large Ada systems where the majority or part of the programming staff has had limited Ada experience, it may be better to dictate flow control style instead of leaving module design up to the individual programmer. [Reprinted from the Proceedings of the 13th Annual National Conference on Ada Technology with the kind permission of the authors. "Distributed Process Control Using Ada" won the conference's "Best Paper" Award in 1996.]