Warning: Undefined array key "bio" in /home/techwatch/domains/test.bits-chips.nl/public_html/wp-content/plugins/wpcodebox2/src/Runner/QueryRunner.php(126) : eval()'d code on line 13
Author:
Reading time: 5 minutes
Met de Océ Varioprint I300 start Canon een nieuwe generatie high-speed digitale productieprinters op basis van inkjettechnologie. Het systeem is technologisch een stuk complexer dan de producten die het bedrijf tot nu toe op de markt heeft gebracht. Softwarearchitect Henri Hunnekens vertelt over zijn rol in de ontwikkeling.
Onder de naam Niagara heeft Océ de afgelopen jaren gewerkt aan een volgende generatie sheet-fed inkjetprinters voor high-speed productie. Moederbedrijf Canon springt hiermee in het gat tussen de grote drukpersen die rollen papier gebruiken en de kleinere machines waar losse vellen ingaan. De nieuwe lijn uit Venlo kan overweg met media van allerlei soorten en maten: er zijn niet alleen rekeningen, mailings, handleidingen en folders mee te printen maar ook hele boeken, inclusief dikkere kaft. Dit laatste maakt ze bij uitstek geschikt voor webshops om on demand te drukken.
Het eerste product op de markt is de Océ Varioprint I300, naar zijn topsnelheid van driehonderd A4’tjes per minuut. Het apparaat is in meerdere opzichten van een andere orde voor de Venlonaren. ‘Het is onze eerste printer die inkjet en sheet-fed combineert. Hij is ook een flink stuk groter dan de systemen die we tot nu toe hebben ontwikkeld, met zijn vijftien meter breedte, zes meter diepte, tweeënhalve meter hoogte en dertig meter papierpad’, aldus Henri Hunnekens, softwarearchitect bij het Niagara-project. ‘En technologisch is hij een flink stuk complexer.’

In goede banen
De Varioprint I300 voert de vellen papier vanuit het invoerstation onder meer langs de inkjetkoppen, dan in een grote lus door een droogtrommel van een meter in doorsnee en indien nodig via een module die ze omkeert voor dubbelzijdige bedrukking. ‘Er kunnen wel honderdvijftig vellen tegelijk in de machine zitten, en die moeten allemaal op het juiste moment op de juiste plek zijn’, schetst Hunnekens de uitdaging voor de embedded software. ‘Daarbij hebben we te maken met twee stromen die we moeten samenvoegen: blanco papier uit de invoer en de al aan één kant bedrukte vellen waarvan de andere kant nog moet. Bovendien moeten we rekening houden met verschillende papierformaten: als er een A3’tje tussen zit, moet de printer meer ruimte maken.’
‘Om dit allemaal in goede banen te leiden, hebben we een scheduler ontwikkeld die aan elk vel een timingmodel hangt. Aan de hand hiervan weet de besturing te allen tijde exact waar in de printer een vel is, om met die informatie te bepalen of er een versnelling of vertraging nodig is om het papier op het juiste moment op de juiste plaats te krijgen’, beschrijft Hunnekens de oplossing die hij met zijn softwarecollega’s heeft bedacht. ‘De scheduler hebben we losgetrokken van de rest van de besturing. Dat maakt het mogelijk om hem verder te optimaliseren zonder de overige software te hoeven aanpassen.’
Mocht het papier vastlopen, dan ziet de printer ook precies waar, en zorgt hij ervoor dat er geen grote opstoppingen in de machine ontstaan. ‘In het papierpad hebben we een aantal splitsingen ingebouwd die leiden naar verschillende aflegstations’, verklaart Hunnekens. ‘Bij een paper jam voert het systeem de achteropkomende vellen automatisch naar zo’n station. De operator hoeft dan slechts enkele vellen onder de ‘motorkap’ vandaan te plukken; de rest komt netjes opgestapeld in de makkelijk toegankelijke aflegbakjes terecht.’

Leren bij de gebruiker
Hunnekens en de zijnen ontwikkelen grotendeels op een virtuele printer. ‘We hebben flink geïnvesteerd in een software-in-the-loop-raamwerk waarmee we alle besturingen in het systeem – in de I300 zitten er wel vijfentwintig – kunnen simuleren en waarop we vervolgens alle embedded software kunnen uitvoeren alsof deze op de daadwerkelijke hardware draait. We laden de softwaremodules in het framework, samen met simulatiemodellen van bijvoorbeeld de papierloop, en kunnen alles dan aan de tand voelen zonder dat we de hardware nodig hebben. Testen doen we ook vrijwel helemaal virtueel en nauwelijks nog op het apparaat zelf. Daarnaast draaien we automatische tests als onderdeel van ons buildproces. We hebben inmiddels zo veel vertrouwen in de kwaliteit dat we de software direct op de machine installeren in plaats van eerst uitgebreid te testen op de echte hardware.’
‘Waar we het systeem vroeger volledig uitontwikkelden, zoeken we nu veel eerder de confrontatie met de klant; we leren als het ware bij de gebruiker’, gaat Hunnekens verder. ‘Daartoe hebben we uitgebreide functionele logging ingebouwd in de printer en een diagnostiekframework gemaakt waarmee we de loggegevens eenvoudig kunnen visualiseren en analyseren. Dit geeft ons volledig inzicht in de werking van het systeem bij de klant – mits die daar toestemming voor heeft gegeven uiteraard.’
Tussen het eerste prototype en het eerste systeem in het veld zat slechts drie jaar, waar dit vroeger minimaal het dubbele was. Hunnekens: ‘Time-to-market is heel belangrijk, zeker in dit geval. Met de I300 richten we ons op een nieuw segment. Wie daar het eerst is, domineert de markt.’
Multidisciplinair werken
Als softwarearchitect is Hunnekens verantwoordelijk voor de gedragsbeschrijvingen van de printer. ‘Een domeinarchitect bekijkt systeembreed wat de beste oplossing is. Ik denk mee en maak de vertaling naar het softwaredomein, waarna designers en engineers de implementatie verzorgen. Behalve met decompositie en sturing houd ik mij ook bezig met verificatie en validatie: ik toets of het systeem zich gedraagt zoals ik heb beschreven. Daarbij komt de simulatieomgeving heel goed van pas.’
Hunnekens’ rol beperkt zich niet tot het softwaredomein. ‘We werken multidisciplinair, dus ik heb ook te maken met elektronici, mechatronici en proceschemici. We delen zo veel mogelijk data en kennis om te komen tot optimale ontwerpkeuzes in het multidisciplinaire domein. Zo gebruiken we bij de software Matlab- en Simulink-modellen van andere disciplines, die we importeren via codegeneratie. Aanpassingen doen we in die gemeenschappelijke brondata, en omdat we daar ook de documentatie op baseren, is die altijd up-to-date.’
‘Voor de software hebben we nu een complete virtuele ontwikkel- en testomgeving beschikbaar’, besluit Hunnekens. ‘Het is mijn persoonlijke ambitie om dit door te trekken naar een virtuele multidisciplinaire omgeving waarmee we onze productontwikkeling verder kunnen versnellen. De eerste stappen hebben we inmiddels gezet.’