Jeffrey Habets (VI Technologies) zet de mogelijkheden op een rij.
LabVIEW-gebruikers zijn vaak geen doorgewinterde programmeurs maar mensen met bijvoorbeeld een natuurkundige achtergrond. LabVIEW stelt ze in staat om grafisch op intuïtieve wijze test- en meetsoftware te ontwikkelen – zelfs wanneer ze object-georiënteerd willen werken.
door: Robert van der Zwan
Foto: Jeffrey Habets van VI Technologies: “Mensen zijn doorgaans nog wat onwennig om in een grafische omgeving object-georiënteerd aan de slag te gaan. Maar het kan dus. Ik kan voordelen en voorbeelden laten zien.”
LabVIEW werkt op basis van dataflow en dat maakt het grafisch programmeren met blokdiagrammen en flowcharts erg intuïtief. De belevingswereld van een engineer of wetenschapper blijft overeind, hij/zij hoeft zich niet bezig te houden met tekstgebaseerd programmeren waarbij een bepaalde programmeertaal de volgorde van stappen voorschrijft.
Bij tekstgebaseerd programmeren is object-georiënteerd programmeren eigenlijk de standaardmanier van werken. Object-georiënteerde programma’s bestaan uit min of meer losse objecten, losse componenten. Voordeel van deze componenten is dat ze een programma makkelijker onderhoudbaar maken, makkelijker schaalbaar houden en geschikt zijn voor hergebruik.
LVOOP en GOOP
In LabVIEW is het object-georiënteerd werken nog niet echt gewoonte. Maar daarin komt verandering. ‘LVOOP’ staat voor ‘LabVIEW Object Oriented Programming’. In vaktermen: bij LVOOP bewegen de data zich ‘over de draad’ zoals LabVIEW-gebruikers gewend zijn terwijl datzelfde LVOOP tegelijk voorziet in een object-georiënteerde opzet. LVOOP is een integraal onderdeel van LabVIEW vanaf versie 8.2. De andere object-georiënteerde methode voor LabVIEW, ‘GOOP’ of ‘Graphical Object Oriented Programming’, is een aparte toolkit van het Zweedse Endevo. Bij GOOP krijgen data een verwijzing met een reference ofwel een soort pointer.
Jeffrey Habets van VI Technologies uit Weert gaat in op de voor- en nadelen van beide technieken en behandelt ook de nieuwste versie van de Endevo-GOOP-toolkit. Deze toolkit voor LabVIEW 8.2 en hoger ondersteunt naast LVOOP ook GOOP3. Habets: “Met GOOP3 wordt het beste van twee werelden samengevoegd tot een krachtige ontwikkelomgeving.” Terwijl GOOP2 nog zelf in LabVIEW eigen code inbracht, maakt GOOP3 gebruik van het in LabVIEW geïntegreerde LVOOP. Dat komt de executiesnelheid van GOOP-code “zeker ten goede” (Habets).
Foutbestendig en snel
Of de engineer of wetenschapper nu LVOOP of GOOP(3) gebruikt, in beide gevallen gelden de voordelen van het object-georiënteerd programmeren. Habets: “Die liggen trouwens niet alleen op het vlak van het onderhoud, de schaalbaarheid en de herbruikbaarheid. De uitwisseling van data vindt alleen plaats tussen componenten. Je reduceert afhankelijkheid. Dat maakt de uitvoering overzichtelijker en daarmee foutbestendiger en sneller.”
Habets richt zich op LabVIEW-gebruikers die willen inzetten op goed onderhoudbare LabVIEW-code. Zijn bedrijf is gespecialiseerd in (object-georiënteerd) programmeren in LabVIEW. “Mensen zijn doorgaans nog wat onwennig om in een grafisch omgeving object-georiënteerd aan de slag te gaan. Maar het kan dus. Ik kan voordelen en voorbeelden laten zien.”