3T brengt testtijd terug van dagen naar minuten

Tegenwoordig bestaan veel machines uit een complexe bundeling van elektronica, software, mechanica, actuatoren en sensoren. Het testen van zo’n systeem is daarom een lastige klus. Hoe test je bijvoorbeeld het samenvallen van verschillende onafhankelijke events en controleer je of de machine op tijd en juist reageert? 3T ontwikkelde een kwalificatiesysteem op maat voor het testen van alle veiligheids- en regelalgoritmes in een zeer nauwkeurige mechatronische machine.
Bij 3T ontwikkelen we oplossingen voor klantgespecificeerde systemen. Hierbij gebruiken we onze in-house expertise in het ontwerp van zowel analoge als digitale elektronica en onze ervaring op het gebied van FPGA’s, embedded software en Labview. Een van onze klanten vroeg ons een kwalificatietestomgeving te ontwikkelen. Deze moest het complete embedded systeem van een complexe mechatronische machine verifiëren. Dergelijke kostbare apparaten bevatten een groot aantal vrijheden en vragen om een zeer nauwkeurige besturing en regeling. Om beschadigingen te voorkomen, zorgen ingebouwde elektronische systemen ervoor dat de bewegingen binnen de veiligheidsmarges blijven.

De besturingselektronica van de klant bestaat uit meerdere modules, waarop FPGA’s en microprocessoren zijn geïmplementeerd. Elke keer als er een verandering in de FPGA-code of in de software op deze besturingen wordt aangebracht, moet de module opnieuw worden getest en gekwalificeerd. Het komt vaak voor dat, nadat de laatste tests zijn uitgevoerd, er toch nog kleine wijzigingen in het ontwerp worden aangebracht of dat de FPGA-code wordt uitgebreid. Allemaal aanpassingen waardoor het systeem opnieuw langs de kwalificatieafdeling moet.
Ingenieurs moesten in het verleden alle kwalificatietests met de hand doen om een veilige werking te kunnen garanderen. Ze deden dit door signalen aan te bieden en de respons te meten. Zulke kwalificatietests konden meer dan een week in beslag nemen omdat er zeer veel in- en uitgangen, testscenario’s en combinaties van situaties moesten worden geverifieerd. Dit is de reden dat 3T een automatisch kwalificatiesysteem ontwikkelde. Het is een hulpmiddel dat in staat is om de modules te testen in combinatie met de andere embedded systemen die onderdeel vormen van de machine.

Daisy-chained

De nieuwe kwalificatietestomgeving bestaat uit een testrek om met de modules van de klant te kunnen communiceren en een pc-gebaseerde tester waarbij we hebben gebruikgemaakt van Labview. Het rek biedt plaats aan maximaal tien modules en bevat een speciaal gebouwde actieve PCB-backplane met tien lagen. Het is aangesloten op twee PCI-7813R-FPGA-modules van National Instruments in een industriële pc, via acht 68-pins connectoren.

Door de twee FPGA-modules beschikken we over 320 digitale I/O-lijnen die vrijwel allemaal in gebruik zijn. Om alle signalen van de modules-onder-test te kunnen voeden en meten, moet het PCB in de backplane echter meer dan vierhonderd analoge signalen kunnen genereren en meer dan honderd analoge signalen kunnen inlezen. Daarnaast moet het systeem meer dan tweehonderd seriële communicatiekanalen beheren en vele kwadratuurencodersignalen genereren om alle assen en motoren te simuleren. Omdat de FPGA-modules niet over een dergelijke hoeveelheid aan analoge en digitale I/O beschikken, bevat de backplane een aantal DAC’s en daisy-chained parallel-naar-serieelomzetters om zo tot maximaal honderd digitale lijnen te kunnen combineren.
3T heeft een test systeem ontwikkelt waardoor het test tijd reductie realiseert van dagen naar minuten

 

 

 

 

 

 

 

 

De voorzijde van het testrek bevat de gleuven om verschillende kaarten in te steken en deze gelijktijdig te verbinden met de test-pc via de optische koppelingen.

3T heeft een test systeem ontwikkelt waardoor het test tijd reductie realiseert van dagen naar minuten

 

 

 

 

 

 

 

 

 

 

 

Aan de achterzijde zitten de tienlaags backplane en de acht blauwe connectoren waarop de NI-FPGA’s kunnen worden aangesloten.

Al deze digitale lijnen worden bestuurd en geacquireerd door gebruik te maken van een klok- en een digitale lijn. Deze seriële bus wordt aangestuurd op een frequentie van meer dan honderd keer de updatefrequentie die nodig is voor de modules-onder-test (tot 20 kHz updatesnelheid voor alle I/O). De PCI-7813R-modules verwerven de seriële data, converteren deze eenvoudig terug in booleaanse reeksen en maken de informatie daarmee beschikbaar voor een verdere verwerking in de softwareapplicatie.

Een ander voordeel van de FPGA is de generatie van gesimuleerde encoders. Wij hebben een set van simulatiefuncties ontwikkeld in Labview waarmee de juiste encodersignalen worden gegenereerd maar ook diverse foutcondities, zoals een onjuiste faseoffset tussen de kwadratuurencoderpulsen. Deze signalen worden op hoge snelheid gegenereerd (MHz-gebied). Daarbij is het determinisme van de FPGA van essentieel belang.

Het compleet testen en kwalificeren van de modules-onder-test betekent dat we ze moeten controleren alsof ze in de echte machine zijn ondergebracht. Aan de achterzijde van de modules zit connectoren waarmee ze communiceren met aangesloten motoren, sensoren en overige actuatoren. Aan de voorzijde van de modules in de machine zitten optische connecties om ze te besturen via een snelle glasvezelverbinding met een centraal computersysteem. In onze kwalificatietestcomputer maken we gebruik van PCI-kaarten die ons in staat stellen om met dezelfde glasvezelinterface te communiceren vanuit de Labview-software. Wij kunnen commando’s verzenden alsof zij worden verzonden vanuit de machinecomputer zelf en vervolgens in de gaten houden hoe de modules reageren op de gesimuleerde sensoren en actuatoren.

Script Window

Wij hebben de complete kwalificatietestsoftware ontwikkeld in Labview. Deze bestaat uit twee belangrijke delen: de hardware-I/O-server en het besturingscentrum. De hardware-I/O-server is een low-level driver die gebruikmaakt van de FPGA-modules en de glasvezelverbindingen om met de modules-onder-test te kunnen praten. De server zorgt onder meer voor de toegang tot de analoge signalen, de encoderposities en de digitale lijnen. Mapping van de hardware-I/O naar de indicatoren/besturingen in de software wordt opgeslagen in een apart configuratietekstbestand. De software draait het beste op een dual- of multicore computer om ervoor te zorgen dat realtime monitoring en besturing van alle data mogelijk is. Terwijl de applicatie start, detecteert de I/O-server of het op een multicore machine draait en monopoliseert hij een processorkern voor deze taak.
Het besturingscentrum draait op een tweede kern en zorgt voor de koppeling met de hardware-I/O-server via een TCP/IP-verbinding. Het kan hierdoor ook op een andere computer lopen. Het wordt gebruikt om de tests te initiëren en levert de gebruiker de informatie over de status van de modules. Zo kan die vanuit het besturingscentrum de status van de backplane oproepen, inclusief een overzicht van alle analoge spanningen, digitale data en de posities van gesimuleerde encoders.

Daarnaast bevat het besturingscentrum een registermap om de communicatie via de glasvezelverbinding zichtbaar te maken. De data kunnen via indicatoren worden getoond of realtime met een intervaltijd van 10 µs in grafieken worden weergegeven. Dat kan in uiteenlopende formaten, zoals floating-pointgetallen, integers, hexadecimaal of binair. Bovendien kan worden getest of de waarden binnen de gestelde limieten blijven.
Ten slotte bevat het besturingscentrum het belangrijkste onderdeel, een script window voor automatisering van de tests. De gebruiker die over applicatiespecifieke kennis beschikt, kan de modules volledig besturen. De scripts gebruiken standaard commando’s zoals schrijven naar registers, wachtcommando’s, teruglezen van registers, een update initiëren via de optische verbinding en de waarden verifiëren ten opzichte van de limieten. Inmiddels heeft onze klant al meerdere scripts ontwikkeld, waarvan enkele zelfs tweeduizend stappen bevatten, die bovendien onderdeel uitmaken van het kwalificatierapport.

Test tijd reductie

In het verleden nam het uitvoeren van alle tests dagen in beslag. Bovendien moest een deel op de werkelijke machine worden uitgevoerd in verband met de communicatie over en weer tussen de verschillende modules. De klant is nu in staat om op eenvoudige manier alle standaard testscripts te draaien en binnen een half uur een volledige kwalificatie uit te voeren. En dat zonder dat hij kostbare machinetijd opslokt. We kunnen de modules zelfs testen terwijl de machine nog wordt gefabriceerd, dus voordat de modules in de machine worden geplaatst. Het resultaat is dat er minder problemen ontstaan tijdens de assemblage van de complexe machine zelf.
Uit de praktijk blijkt dat het nieuwe kwalificatiesysteem bijzonder waardevol is. Het spaart veel tijd en kosten. Bovendien verbetert het de systeembetrouwbaarheid. We hebben meerdere systemen in de praktijk getest en met behulp van de flexibele Labview-architectuur kunnen we naadloos nieuwe eigenschappen en kenmerken toevoegen aan de applicatie.

Aschwin van de Haar,
 Consulting Engineer bij ontwerpbureau 3T uit Enschede.

Bron: Bits&Chips, 16 december 2010