Beeldverwerking in de PLC

Het automatisch herkennen, de volgbaarheid en de kwaliteitsbewaking van producten worden steeds belangrijker in alle productiestadia. Hierop aansluitend maken intussen betaalbare camera’s en krachtige computers het gebruik van beeldverwerking op steeds meer gebieden mogelijk. Met name voor de kwaliteitsbewaking heeft de beeldverwerking enkele voordelen vergeleken met visuele inspectie door mensen. Zo zijn beeldverwerkingsinspecties bijvoorbeeld deterministisch en reproduceerbaar. Het meten van onderdelen tot op de micrometer – voor mensen vrijwel onmogelijk – is geen enkel probleem.
In de automatiseringstechniek staat de beeldverwerking tot nu toe op zichzelf en wordt deze vaak aan externe systeemintegrators overgelaten. Ondertussen hebben PLC-programmeurs de controle over motion control, beveiligingstechniek, meettechniek en robotica, en kunnen ze deze in één controller op één computer samenbrengen. De beeldverwerking blijft echter tot nu toe een black box op een afzonderlijke, krachtige computer met andere configuratietools en programmeertalen, of wordt in speciaal te configureren smart-camera’s geïmplementeerd. Het nadeel hiervan is, dat zowel door de extra computer als door het feit dat zelfs de kleinste wijzigingen door een specialist in plaats van door de PLC-programmeer moeten worden uitgevoerd, vermijdbare extra kosten ontstaan. In het geval van een systeemintegrator zit bovendien de knowhow elders. Daarnaast moet de communicatie tussen beeldverwerking en controller worden geregeld – een foutgevoelig proces. De beeldverwerking is daardoor tot nu toe niet in tijd te plannen. Externe processen, zoals het besturingssysteem, kunnen de verwerkingstijd alsmede de overdrachtstijd beïnvloeden, zodat de resultaten niet in realtime de controller bereiken.

Directe communicatie
TwinCAT Vision combineert beide werelden in één systeem. De configuratie, met name van de camera’s, gebeurt in dezelfde tool als de configuratie van veldbussen of assen. De programmering vindt plaats in de bekende PLC-programmeertalen. Dat bespaart aanzienlijk op de engineeringkosten, omdat er geen speciale programmeertalen hoeven te worden geleerd en er geen speciale configuratietool nodig is. Niet alleen is er geen sprake meer van een communicatieprobleem tussen beeldverwerking en controller, maar de beeldverwerkings- en controllercomponent, zoals motion, kunnen direct met elkaar communiceren, wat geheel nieuwe mogelijkheden oplevert. Alles is geïntegreerd in één tool en één runtime-omgeving – dat is de innovatie van TwinCAT Vision.

Architectuur
De op pc gebaseerde automatisering combineert alle controllerfuncties op één pc en beschikt daarmee van huis uit over een gigabit ethernetinterface. GigE Vision, dat is gebaseerd op gigabit ethernet, biedt een overdrachtsstandaard die een betrouwbare, snelle communicatie met camera’s en de beeldgegevens daarvan mogelijk maakt. Hiervoor biedt TwinCAT Vision een voor realtime-bewerkingen geschikt stuurprogramma voor de ethernetinterface, die de beeldgegevens direct in de controller beschikbaar maakt. Dankzij GigE Vision is TwinCAT Vision bovendien een open systeem, waarmee het mogelijk is camera’s van talloze fabrikanten te gebruiken. Na het tot stand brengen van de verbinding vindt gewoonlijk de cameraconfiguratie plaats. Daarvoor leveren de fabrikanten van camera’s met GigE Vision-interface ook een configuratiebeschrijving in GenApi-indeling. De configuratietool van TwinCAT Vision leest deze uit en presenteert de parameters overzichtelijk aan de gebruiker. Configuratiewijzigingen, zoals een aanpassing van de belichtingstijd en het instellen van een focusgebied, kunnen op die manier snel en eenvoudig worden uitgevoerd en in het livebeeld van de camera worden bekeken.

Camerakalibratie
Naast de cameraconfiguratietool biedt TwinCAT Vision nog een tool voor de geometrische camerakalibratie. Deze bepaalt de parameters voor het beschrijven van de samenhang tussen beeld- en realiteitscoördinaten. Daarmee is het mogelijk posities in het beeld met betrekking tot punten in de echte wereld aan te geven en lengtematen van pixels om te rekenen naar het metrisch systeem. Naast perspectivische vervormingen wordt daarbij rekening gehouden met niet-lineaire afbeeldingsfouten van het objectief, die als vertekeningen in het beeld te zien zijn. In het kader van de camerakalibratie zijn eerst één of meer opnamen van een passend kalibratiepatroon nodig. Deze opnamen kunnen direct in de engineering-tool worden gemaakt of er kunnen beschikbare beelden worden ingelezen. Nadat is aangegeven welk kalibratiepatroon wordt gebruikt, worden vervolgens automatisch de parameters berekend. Naast de standaard 2D-patronen, zoals het schaakbordpatroon of het symmetrische en asymmetrische cirkelpatroon, kunnen ook eigen patronen worden ingelezen, zoals 3D-patronen. Als alternatief voor het gebruik van de kalibratietool kan de camerakalibratie ook in de PLC plaatsvinden.

Beeldverwerking in de PLC
De onbewerkte beelden komen via GigE Vision van de camera direct in het routergeheugen van de PLC. Hiervoor moet de camera in de beeldregistratiestand worden gezet en moeten de beelden, afhankelijk van de cameraconfiguratie, eventueel worden getriggerd. Daarvoor is de functiemodule FB_VN_GevCameraControl beschikbaar. Voor een exacte timing van de triggering is in het modulaire automatiseringssysteem van Beckhoff bovendien de op tijdstempel gebaseerde uitgangsaansluiting EL2262 beschikbaar, waarmee een tot op de microseconde nauwkeurig hardware-triggersignaal naar de camera kan worden verzonden. Omdat alles in realtime in een zeer nauwkeurige tijdssamenhang plaatsvindt, kunnen de beeldopnamen en bijvoorbeeld de posities van een as zeer precies worden gesynchroniseerd – voor de PLC-programmeur een taak die vaak moet worden uitgevoerd. Veel camera’s kunnen bovendien bij van tevoren gedefinieerde gebeurtenissen, zoals het begin van de beeldopnamen, uitgangssignalen verzenden. Deze signalen kunnen met een digitale ingangsaansluiting van Beckhoff worden geregistreerd en in de PLC worden gebruikt voor de nauwkeurige synchronisatie van andere processen.

Contourtracering
Voor de verwerking van de beelden is met TwinCAT Vision een nieuwe beeldverwerkingsbibliotheek beschikbaar in de PLC, die talrijke beeldverwerkingsalgoritmen omvat. Zo kunnen bijvoorbeeld op het gebied van de voorverwerking de beelden worden geschaald, in de gewenste kleurruimte worden geconverteerd en kunnen door filterfuncties bepaald kenmerken naar voren worden gebracht of onderdrukt. Vervolgens kan bijvoorbeeld een binarisatie van het beeld door een drempelwaardebewerking plaatsvinden en op het resulterende beeld een contourtracering worden uitgevoerd. De op die manier gevonden contouren kunnen op basis van hun kenmerken worden gefilterd, zodat een selectie van interessante beeldcontouren of beeldgebieden ontstaat, die op zijn beurt geschikt is voor objectidentificatie en metingen. Met een van tevoren gekalibreerde camera kunnen bovendien de kenmerkende punten terug worden getransformeerd in het daadwerkelijke coördinatensysteem, zodat positie- en maatgegevens in echte coördinaten mogelijk zijn. Door de integratie van TwinCAT Vision in de realtime TwinCAT-omgeving kan de timing van de beeldverwerkingsfuncties via zogenaamde watchdogs worden bewaakt, die de functies na een vastgestelde tijd of op een bepaald tijdstip ten opzichte van het begin van een verwerkingscyclus afbreken. Daarbij worden aan de gebruiker eventueel aanwezige deelresultaten ter beschikking gesteld. Verder kunnen geschikte beeldverwerkingsfuncties door middel van job tasks automatisch op meerdere cores tegelijkertijd worden uitgevoerd, zodat TwinCAT Vision optimaal profiteert van de multicore-mogelijkheden van TwinCAT. Tijdens de analyse en visualisatie van resultaten kunnen alle tussenstanden in de vorm van een beeld worden gepresenteerd. Voorafgaand hieraan is het mogelijk om resultaten, zoals positiegegevens, in de beelden te schrijven en te tekenen – het laatste bijvoorbeeld voor een kleurmarkering van de gefilterde beeldcontouren of voor een goed/slecht-aanduiding van delen. Voor de gebruiker gelden hierbij alleen de grenzen van het beeld. De weergave van de beelden kan direct in de engineering in de zogenaamde ADS Image Watch plaatsvinden of voor de eindgebruiker in de TwinCAT HMI.

Volledige synchronisatie
TwinCAT Vision combineert de klassieke automatiseringstechniek eenvoudig met de beeldverwerking. Aan de engineering-zijde worden de configuratie van camera’s en de geometrische camerakalibratie direct in de TwinCAT Engineering uitgevoerd. Er zijn geen andere gereedschappen nodig. De programmering van de beeldverwerking vindt plaats met de taal van de PLC-programmeur, namelijk in IEC61131, zodat er geen speciale programmeertaal hoeft te worden geleerd. Bovendien kan direct op het resultaat van de beeldverwerking in PLC worden gereageerd – en dat meteen in de volgende regel code. Door het in realtime triggeren van de camera kunnen beeldopname en PLC of motion volledig worden gesynchroniseerd. De beeldverwerkingsalgoritmen worden in TwinCAT in realtime berekend en daarmee taaksynchroon uitgevoerd, alsmede via watchdogs in realtime bewaakt. Daarbij gebruikt TwinCAT Vision de multicore-mogelijkheden van TwinCAT en voert algoritmen automatisch op meerdere cores uit, wanneer deze beschikbaar zijn. Een speciale programmering van de kant van de gebruiker is hiervoor niet vereist. TwinCAT Vision richt zich op gebruikers die Vision binnen de controller moeten of willen afhandelen. Dankzij de integratie is TwinCAT Vision eenvoudig te bedienen en te programmeren. Een en ander is natuurlijk ook geschikt voor gebruikers die een hoge mate van synchronisatie tussen beeldverwerking en PLC en motion nodig hebben. Door de afwezigheid van vertragingen en de tijdgestuurde bewaking van de algoritmen kan direct en deterministisch worden gereageerd. Klassieke taken, zoals het vinden en herkennen van onderdelen of het meten hiervan, zijn met TwinCAT Vision eenvoudig toe te passen. Daarmee heeft de gebruiker van TwinCAT naast PLC, motion, robotica en meettechniek nu ook de beeldverwerking in het TwinCAT-systeem geïntegreerd ter beschikking.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.