Software as leverageDevelopment of process control software
ArcelorMittal Gent produces approximately five million tonnes of finished products a year, and the diversity of steel types, sizes and surface quality is great. The conversion of ore into steel coils requires many process stages that must all be precisely controlled and coordinated. Decisions are taken and settings are calculated at high speed. Without powerful process control software, this would all be impossible. Knowledge of numerous process technologies and experience gained over decades is embedded in this software. Because of increasingly stringent environmental and quality requirements and the constant pressure to produce in the most cost-efficient manner the software evolves continuously.
How is software being developed?
The mission of the IAM department (industrial automation and measuring techniques) is the development and maintenance of process control software. For this, specialists are needed in process computers, SCADA systems (Supervisory Control and Data Acquisition), PLC’s (Programmable Logic Controllers), control engineering, drive technology and measurement instruments. These specialists work closely together with production staff, process technologists, electricians and mechanics.
1. Drawing up the specifications
In this phase the IAM department enters into intensive consultation with the internal client, usually the heads of production. The result is a document that describes the new software's requirements. This means that the knowledge of the client is transferred to the software developers.
Next, the specifications are translated into logical, consistent and detailed software functionality. Here, graphic imaging techniques such as UML (Unified Modelling Language) are used.
At the department, the actual construction plans are developed, based on the analysis. Since IAM wants to achieve as much as possible with as little effort as possible, it is first checked whether previously tested software can be used again.
The software structure is designed according to the OO method. OO stands for “object-oriented”. This method makes sizeable and complex software more manageable. It is based on developments in electronics. The basis of the OO method is the object that is usually an image in the software of an actual object, for example an engine. The object is the concretisation of a class (the class of engines for example).
The object has properties (for example the capacity of the engine), a memory (for example the current speed of the engine) and can carry out tasks (the engine can be started and stopped, for example).
The OO method makes complexity more manageable. Encapsulation plays a large part in this. We achieve encapsulation by concealing non-relevant details of an object from the user (for example the starting of an engine can in itself be a complete sequence that takes place in a PLC). A machine can consist of different engines. The start function of the machine conceals details of the starting of the different engines - we have encapsulated the engines.
Another objective is the maximum reuse of software developed earlier, this being achieved by inheriting and polymorphism.
This concept can again be illustrated with our engine. We can derive a specialisation from the general class of engines, for example an electrical engine and a fuel engine. Each engine can start and stop, but we can only measure the current of an electrical engine, and only measure the fuel consumption of a fuel engine. We have inherited much from the general engine but we have added specialisations. This is what is meant by inheriting.
Starting an engine will not take place in the same way in case of a fuel engine as in case of an electrical engine. Although the software command will in both cases be called “start”, the process takes place in a totally different way. This is called a polymorphism.
The conversion of the design into a working programme takes place with great care. This stage will indeed determine the performance and quality of the software.
For this, “MS Visual Studio” is mainly being used. With its deeply integrated help functions, this tool unburdens the memory of the programmer and warns him of errors at an early stage. The OO languages C++, C# or VB dotNet are used, and relational databases for data storage.
It is essential that software is thoroughly tested. Thanks to the OO approach, conveniently arranged modules can be tested separately. A module usually consists of different other modules. First, these modules are tested that are made up of modules tested before. This is being continued until the whole system has been tested. If necessary, special testing or simulation software is developed for this.
6. Bringing into use
If we are satisfied, the software is brought into use and the work is complete. However, surprises occur sometimes. It is important to trace any errors as soon as possible to cause as few potential production interruptions as possible. To achieve this, extra attention is devoted to diagnosis and error messages from the design phase onwards.
For large projects, these stages are repeated so that with each iteration new parts of the total application are brought into use.
Why keep reinventing the wheel?
Flanders exports its software:
Much similar functionality occurs in different processes. Various systems have been designed that allow the department to reuse approved software as often as possible. A class library has been specially developed, aimed at the most used functionality in the steel industry. In case of a new project, the engineers can draw from the library and extend functionality with the specific requirements of the project. On top of that, software packages have been developed that can be used in different areas of application via so-called configuration.
The class library (SIPROS NT) has been so successful that it is now also being used at other companies of the ArcelorMittal Group. Our software package for statistical process control (OSPC) is available in five languages and is now being used in France, Germany and Spain.