Software als hefboom van de geestOntwikkeling van procesbesturingssoftware
|
ArcelorMittal Gent produceert ongeveer vijf miljoen ton afgewerkte producten per jaar en de diversiteit aan staalsoorten, formaten en oppervlakkwaliteiten is groot. De transformatie van erts tot staalrol vergt zeer veel processtappen, die allemaal nauwkeurig moeten worden geregeld en op elkaar afgestemd. Er worden in hoog tempo beslissingen genomen en instellingen berekend. Zonder krachtige procesbesturingssoftware zou dat niet mogelijk zijn. In die software ligt de kennis verankerd van talloze procestechnologen en tientallen jaren ervaring. Door de steeds strengere milieu- en kwaliteitseisen en de voortdurende druk om alsmaar goedkoper te produceren, is de software bovendien voortdurend in evolutie.
|
Missie van IAM
De missie van de afdeling IAM (industriële automatisering en meettechniek) is procesbesturingssoftware ontwikkelen en onderhouden. Daarvoor zijn specialisten nodig van procescomputers, SCADA-systemen (Supervisory Control And Data Acquisition), PLC’s (Programmable Logic Controllers), regeltechniek, aandrijftechniek en meetinstrumenten. Die specialisten werken nauw samen met productiemensen, procestechnologen, elektriciens en mecaniciens.
Hoe verloopt de ontwikkeling van software?
Software ontwikkelen doen we in zes stappen:
1. Opstellen van het lastenboek
|
In een eerste fase overlegt de afdeling industriële automatisering en meettechniek intensief met de interne klant, meestal de productieverantwoordelijken. Het resultaat is een document dat alle vereisten beschrijft waaraan de nieuwe software moet voldoen. De kennis van de opdrachtgever is nu overgedragen aan de softwareontwikkelaars.
|
2. Analyse
Vervolgens wordt het lastenboek vertaald in logisch consistente en gedetailleerde softwarefunctionaliteit. Daarbij worden grafische voorstellingstechnieken zoals UML (Unified Modelling Language) gebruikt.
3. Ontwerp
Op basis van de analyse worden concrete bouwplannen ontwikkeld. Om zoveel mogelijk te bereiken met zo weinig mogelijk inspanning, wordt eerst nagegaan of eerder uitgeteste software eventueel herbruikbaar is. De softwarestructuur wordt volgens de OO-methode ontworpen. OO staat voor “objectgeoriënteerd”. Die methode maakt omvangrijke en complexe software beter beheersbaar en is geïnspireerd op de ontwikkelingen in de elektronica. De basis van de OO-methode is het “object”: veelal een afbeelding in software van een concreet object, bijvoorbeeld een motor. Het object is een concretisering van een klasse (bijvoorbeeld de klasse van motoren).
Het object heeft eigenschappen (bijvoorbeeld het vermogen van de motor), heeft geheugen (bijvoorbeeld de huidige snelheid van de motor) en kan taken uitvoeren (de motor kan bijvoorbeeld starten en stoppen).
- Inkapseling
De OO-methode maakt de complexiteit beter beheersbaar. Daarbij speelt inkapseling een grote rol: dat is het verbergen van irrelevante details van een object voor de externe gebruiker. Dat maakt het object duidelijk herkenbaar en eenvoudig in gebruik: de startfunctie van de machine bijvoorbeeld verbergt details van het starten van de verschillende motoren van de machine: de motoren zijn als verschillende instanties van hetzelfde object 'motor' ingekapseld.
Een ander doel, het maximaal hergebruiken van eerder ontwikkelde software, wordt bereikt via overerving en polymorfisme.
- Overerving
Het concept overerving kunnen we opnieuw met onze motor illustreren. Van de algemene klasse van motoren kan een specialisatie gemaakt worden, bijvoorbeeld een elektrische motor en een brandstofmotor. Elke motor kan starten en stoppen, maar alleen van een elektrische motor kunnen we de stroom meten en alleen van een brandstofmotor het brandstofverbruik. We hebben veel overgeërfd van de algemene motor maar we hebben ook specialisaties toegevoegd. Dat is overerving. - Polymorfisme
Een motor starten zal niet op dezelfde manier gebeuren bij een brandstofmotor als bij een elektrische motor. Hoewel het softwarebevel in beide gevallen “start” genoemd wordt, verloopt dit proces totaal verschillend. Dat wordt een polymorfisme genoemd.
4. Programmering
De omzetting van het ontwerp naar een werkend programma verloopt zeer zorgvuldig. Die stap zal immers de efficiëntie en de kwaliteit van de software bepalen.
Voor de programmering wordt hoofdzakelijk gebruik gemaakt van “MS Visual Studio”. Dankzij zijn sterk geïntegreerde helpfuncties ontlast dit instrument het geheugen van de programmeur en behoedt het hem in een vroeg stadium voor fouten. De afdeling IAM gebruikt de OO-talen C++, C# of vb.net. Voor opslag worden relationele databanken gebruikt.
5. Testen
Het is essentieel dat software grondig getest wordt. Dankzij de OO-aanpak kunnen overzichtelijke modules apart worden getest. Een module bestaat meestal uit verscheidene andere modules. De afdeling test eerst de modules die samengesteld zijn uit eerder geteste modules en gaan zo door tot het volledige systeem getest is. Indien nodig wordt hiervoor zelfs speciale test- of simulatiesoftware ontwikkeld.
6. Ingebruikneming
Als alles naar wens is verlopen, kan de software in gebruik worden genomen en is de taak van de afdeling industriële automatisering en meettechniek beëindigd. Maar soms staan de medewerkers nog voor verrassingen. In een operationele procesomgeving is het belangrijk dat ze dan snel eventuele fouten kunnen opsporen om zo weinig mogelijk productiestoringen te veroorzaken. Om dat te bereiken, wordt vanaf de ontwerpfase extra aandacht besteed aan diagnose en foutmeldingen.
Voor grote projecten worden die stappen herhaald zodat telkens nieuwe stukken van de totale toepassing in gebruik genomen worden.
Waarom steeds het wiel opnieuw uitvinden?
|
Veel gelijkaardige functionaliteiten komen voor in verschillende processen. Het ligt dus voor de hand dat beproefde software steeds zoveel mogelijk hergebruikt wordt. Dat kan op verschillende manieren. Zo werd een klassenbibliotheek ontwikkeld die speciaal gericht is op de meest gebruikte functionaliteiten in de staalindustrie. Bij een nieuw project kunnen de medewerkers van IAM dan uit die bibliotheek putten en de functionaliteit uitbreiden met de specifieke vereisten van het project. Ook werden pakketten ontwikkeld die via zogenaamde configuratie inzetbaar zijn in verschillende toepassingsgebieden.
|
Vlaanderen zendt zijn software uit:
De klassenbibliotheek (SIPROS NT) is zo succesvol dat hij nu ook in andere vestigingen van de ArcelorMittal-groep wordt gebruikt. Ook ons pakket voor statistische procescontrole (OSPC) is in 5 talen beschikbaar en wordt in Frankrijk, Duitsland en Spanje toegepast.