ENGINEERINGNET.BE - De complexe combinatie van berekeningen in C++, motion control en PLC-techniek draait nu op één enkel platform – de C6930 controller van Beckhoff Automation.
De keuze voor het open automatiseringsplatform TwinCAT 3 maakte het ook mogelijk om een nieuwe, generieke manier van programmeren te implementeren, gebaseerd op een semantische modelbeschrijving van de telescoop en al zijn componenten.
De Mercatortelescoop op La Palma werd in 2000 gebouwd volgens een ontwerp dat tien jaar eerder gemaakt was aan de universiteit van Genève voor de bouw van een telescoop in Chili. Het hele besturingssysteem was nog gebaseerd op transputers, een technologie die al een hele tijd niet meer ondersteund werd waardoor men de bedrijfszekerheid niet langer kon garanderen.
Nochtans wordt de Mercatortelescoop druk gebruikt. De exploitatie is in handen van het Instituut voor Sterrenkunde aan de KU Leuven en tal van onderzoeksinstellingen reserveren er waarnemingstijd. “Een van onze onderzoeksdomeinen is astro-seismologie”, legt Dr. Gert Raskin van het Instituut voor Sterrenkunde uit.
“Door fluctuaties in de lichtkracht of in het spectrum van een ster te analyseren kunnen we trillingen van het oppervlak waarnemen wat ons informatie geeft over de structuur en de samenstelling van een ster. Een ander domein is onderzoek naar binaire sterren. Dat zijn sterren die rond elkaar draaien waarbij we bijvoorbeeld naar de snelheid van die rotatie kijken om de massa van de sterren te achterhalen.”
Om dit soort metingen te doen is een geavanceerde controletechniek nodig. De telescoop bestaat uit 2 hyperbolische spiegels. De hoofdspiegel heeft een diameter van 1,20 meter en zit onderin een buis die zeer precies gericht moet worden om een bepaalde ster te kunnen waarnemen.
“Voor dit project hebben we de telescoop beschouwd als een industriële robot”, zegt Wim Pessemier die het nieuwe controlesysteem ontwikkelde in het kader van zijn doctoraatsstudie aan het departement Elektrotechniek.
Fysisch model van de installatie
Speciaal aan de sturing van een telescoop is dat de gewenste positie eerst berekend moet worden. Om de telescoop op een bepaalde ster te richten, vertrekt men van de hemelcoördinaten die evolueren in de tijd. Die coördinaten moeten vertaald worden naar een bepaalde positie van de telescoop.
Daarbij dient men rekening te houden met tal van bijkomende factoren zoals de breking van de lichtbundel in de atmosfeer. Het nemen van een foto of de uitvoering van een analyse gebeurt bovendien met een lange sluitertijd die makkelijk 20 of 30 minuten kan bedragen. Gedurende die tijdspanne moet de positie van de telescoop continu bijgestuurd worden zodat de ster die men wil waarnemen in het beeld steeds op dezelfde positie blijft. Dit stelt bijzonder hoge eisen aan de sturing op het vlak van motion control.
Wim Pessemier: “Elke 2 milliseconden wordt de positiesturing geüpdatet. Aan de ene kant wordt de gewenste positie berekend in functie van de tijd. Deze algoritmes, die in de sterrenkunde voldoende gekend zijn, zijn geprogrammeerd in C++. Aan de andere kant wordt de reële positie van de telescoop bepaald aan de hand van encoders. Op de omtrek van de telescoop zitten vier lineaire encoders. De meetwaarden hiervan worden op precies hetzelfde ogenblik uitgelezen via de EtherCAT gedistribueerde klok-functie en daarna uitgemiddeld, om eventuele afwijkingen in de rondheid van de telescoop te compenseren.”
Dat geeft al een beeld van de hoge precisie die in deze toepassing vereist is. Maar er is meer, want de berekening bevat bovendien een fysisch model van de installatie zodat bijvoorbeeld rekening gehouden wordt met kleine vervormingen die in de mechanica ontstaan wanneer de telescoop beweegt.
Mogelijkheden van TwinCAT 3
“Om de sturing te moderniseren hadden we vrij snel besloten om over te stappen op industriële oplossingen”, zegt Wim Pessemier. “We hebben eerst naar klassieke PLC-gebaseerde systemen gekeken maar dan zou de oplossing zeer complex worden omwille van de noodzaak aan een hele reeks aparte motion controllers en PC’s voor de berekeningen en communicatie. Het voordeel van Beckhoff is dat al deze aspecten samengebracht konden worden op één enkel platform.”
De toepassing van het Instituut voor Sterrenkunde maakt volop gebruik van de mogelijkheden die TwinCAT 3 biedt om deeltaken toe te wijzen aan specifieke processoren. Daardoor kunnen taken als de positieberekening, motion control, visualisatie en klassieke PLC-taken simultaan uitgevoerd worden, elk met hun eigen resources. Tegelijk behoudt men de voordelen van een gemeenschappelijk platform, namelijk dat alle processen op een volledig transparante wijze gebruikmaken van dezelfde meetwaarden en andere variabelen.
Wim Pessemier: “Alle berekeningen zijn geprogrammeerd in Structured Text en C++, en worden 500 keer per seconde uitgevoerd. De motion control module gebruikt de real-time resultaten van deze berekeningen om de telescoop bij te sturen. In het TwinCAT platform is de samenwerking tussen deze drie omgevingen – PLC, C++ en motion control – heel vanzelfsprekend.
Bovendien kunnen we ook niet-real-time toepassingen, zoals een uitgebreide visualisatie en OPC UA communicatieserver, draaien op hetzelfde platform. Tot slot heeft Beckhoff ook een aantal hardware oplossingen die de implementatie een stuk vereenvoudigd hebben. Ze hebben industriële I/O-kaarten met hoge sample frequentie, wat vaak in wetenschappelijke toepassingen vereist is.
In het gamma zit ook een kaart met PTP-ingang (Precision Time Protocol) waardoor het systeem een zeer nauwkeurige tijdsbepaling kan inlezen van een GPS-klok. Die precieze tijdsbepaling is voor ons belangrijk om tot een exacte positiebepaling te komen.”
De sturing maakt ook volop gebruik van de mogelijkheden van OPC UA om data uit te wisselen met de software die door de beheerders van de telescoop gebruikt wordt. “De waarnemer heeft een scheduler waarin alle waarnemingen gepland worden”, zegt Gert Raskin.
“Die software stuurt de hemelcoördinaten van de ster die men wil observeren door naar de sturing van de telescoop. Omgekeerd krijgt de waarnemer ook feedback zodat hij de resultaten kan beoordelen en eventueel bijkomende waarnemingen kan plannen. Al die communicatie gebeurt via OPC UA. In extremis zou de waarnemer via deze technologie ook in de sturing van de telescoop kunnen ingrijpen of bepaalde aspecten van de sturing door een externe software laten overnemen.”
Automatische generatie van code
Voor zijn doctoraatsstudie heeft Wim Pessemier dit ambitieuze project nog verder doorgetrokken met een onderzoek naar een model voor het controlesysteem. Dat leidde tot OntoScript, een computertaal waarin het volledige controlesysteem beschreven kan worden op een manier die de automatische generatie van code, via het PLCopen XML formaat, mogelijk maakt.
Wim Pessemier: “Er zijn wereldwijd tal van telescopen die een controlesysteem nodig hebben en er worden nog regelmatig nieuwe telescopen gebouwd. Die hebben elk hun eigen karakteristieken maar de doelstellingen zijn steeds dezelfde. Daarom hebben we, in plaats van de sturing te programmeren, een software ontwikkeld die de broncode automatisch kan genereren op basis van een model.
Die software kan in de toekomst hergebruikt worden voor andere telescopen door het onderliggende model aan te passen. Ook hierin heeft het TwinCAT platform heel wat voordelen omdat de openheid het mogelijk maakt om alle aspecten van zo een model om te zetten in variabelen en code.”
Met deze benadering wilde Wim het project ook laten aansluiten op de concepten van Industrie 4.0: “Het gaat er uiteindelijk om dat men de computer een aantal taken laat overnemen van de mens. De kennis van een systeem kan volledig in een model beschreven worden. Dat model verifiëren en vertalen naar broncode is een werk dat computers in de toekomst moeten kunnen overnemen.”
“De uitdaging is om een model zo te beschrijven dat een computer het kan begrijpen. De meeste modellen die in wetenschap en technologie gebruikt worden, maken gebruik van een vocabularium in mensentaal. In OntoScript worden alle aspecten van de telescoop (van de algemene systeembeschrijving tot de specifieke hard- en software) zo geformuleerd dat een computerprogramma ze ondubbelzinnig kan interpreteren. Dat stelt de software in staat om het ontwerp van de telescoop te analyseren, en zelf de code voor de controller te genereren.”
Het is een wat abstracte oefening die vandaag nog ver staat van de gangbare praktijk in de industrie. Maar in een toekomstige wereld van cyber physical systems is het wel denkbaar dat systemen niet alleen data zullen uitwisselen maar ook in staat zullen moeten zijn om zichzelf en elkaar aan te passen in functie van wijzigende omgevingsfactoren.
De uitwisseling van formele, ondubbelzinnige informatie over deze systemen vormt, aldus de onderzoekers, dé sleutel tot het bouwen van artificieel intelligente machines in de toekomst.
(foto's: Péter l. Pápics)
door Erwin Vanvuchelen
Voor meer informatie:
Beckhoff Automation bvba
Klaverbladstraat 11 b2/2 - 3560 Lummen
Tel. +32 (0)13 25 22 00
www.beckhoff.be
Bericht van de redactie: dit is een ingezonden mededeling, die mogelijk niet vrij is van commerciele invloeden. De verantwoordelijkheid voor de verstrekte technische en andere gegevens berust volledig bij de vermelde leverancier of fabrikant.