Interview met senior software engineer

22-10-2017

Regelmatig gaan wij met een STT Products collega een actueel onderwerp bespreken. In dit nieuwsitem doen wij dat met Arie Homan; System Software Engineer. Arie bespreekt met ons de zaken waar hij mee te maken krijgt en welke keuzes er moeten worden gemaakt. Dit om de juiste programma’s voor een optimale klantoplossing te kunnen schrijven.

Zo begint Arie: “Software........ het kan een project succesvol maken of laten stranden. Het schrijven van goede software voor een project is van het aller grootste belang. Het bepaald het succes van de installatie of machine. Goede software kan niet zonder de juiste hardware”.

Maar waar komen die (software) kosten toch vandaan?

Je kan de meest luxe Smartphone kopen voor 900 euro met alle software er al in.........en daar gaat het nu net om.

Net als bij Smartphones kan software niet zonder die goede Hardware. Deze software wordt geschreven voor 75 miljoen toestellen.

De machinebouwer maakt klant specifieke machines. Daar is er soms maar één van, met dus ook zijn eigen software programma. Speciaal geschreven voor………

“Ga je er van die machine meer maken, dan zie je dat de prijs naar beneden schiet. Je engineering is tenslotte al gereed en het software programma ligt al klaar”.

Goede software schrijven kost veel tijd. Zo hebben bijvoorbeeld de nieuwste generaties elektrische auto’s meer dan 100 miljoen software regels in hun programma’s.

Software schrijven kost dus tijd door 3 belangrijke punten:

  1. Het schrijven van het programma
  2. Het testen
  3. Het optimaliseren en debuggen

Om de juiste hardware te selecteren voor meet technische projecten moeten er soms testen gedaan worden met de hardware. Om te kijken of bijvoorbeeld de sample-rate of de nauwkeurigheid hoog genoeg is. Deze testen kunnen uitgevoerd worden met demo apparatuur, daarom werkt STT met vaste leveranciers. Hierdoor is de rol van de leverancier om deel te nemen aan een test/onderzoek veel groter. “Er rollen toch altijd wel projecten uit”. Ook zijn de technische mogelijkheden beter bekend en is de koppeling met systemen goed op elkaar afgestemd. Bijvoorbeeld wanneer Safety met de hoofdbesturing moet communiceren. Door in het voortraject een aantal zaken met betrekking tot de hardware al uitgezocht te hebben, zal dit de kostprijs reduceren. Er zitten dan minder risico’s in het project.

Wanneer je begint aan het schrijven van een programma stel je jezelf de volgende 2 vragen” aldus Arie:

  1. Is het voor een test applicatie?
  2. Gaat het om een machinebouw vraagstuk?

Wanneer er veel snelle data verwerking wordt gevraagd zoals bij test applicaties, wordt vaak een PC toegepast in combinatie met een programma van LabView.

Ook zijn van dergelijke programma’s de analyse mogelijkheden zeer uitgebreid.

Met een eigen user interface en de juiste netwerkverbinding “bouw” je veel flexibiliteit in de software en kunnen zaken makkelijk naderhand aangepast worden.

Zo vervolgt Arie zijn verhaal; “Een PLC pas je toe wanneer een besturing Fail Safe moet zijn en je niet afhankelijk wilt zijn van Drivers, Windows en updates. En bij deterministisch processen. Dus wanneer opeenvolging van uitkomsten belangrijke verbanden met elkaar moeten hebben.

Ook het debuggen gaat bij PLC programma’s een stuk eenvoudiger, dit omdat er vaak minder problemen ontstaan door randzaken zoals het besturingssysteem, memory leaks, driver issues.

Een ander voordeel is de robuustheid van PLC systemen, de PLC en de modules hiervan voldoen aan een industriële standaard en werken veelal met 24 volt in plaats van 5 Volt. 

STT Products heeft veel gedaan om de kosten van het schrijven van software te beperken. Zo werken Arie en de STT collega’s met eigen geschreven templates. Hierdoor kan een project direct starten zonder dat eerst een programma geschreven moet worden om de sequence te kunnen aflopen.

Alles wat nodig is voor het software programma is hierin aan te klikken".

Zo ontstaat een goed beeld over wat echt nodig is en word je aan het denken gezet wat echt van belang is en wat niet.

Heb je echt alles wel nodig?

"Er ontstaat nu een goed beeld van de tijd en dus kosten om een goed software programma te schrijven. Het steeds hergebruiken van functies bespaart enorm veel tijd”.

Er zijn 3 voordelen van het werken met templates legt Arie ons uit:

  1. Lagere kosten door meer inzicht in de programmeer tijd. Machine is sneller inzetbaar.
  2. De debug tijd is lager door het gebruikmaken van werkende templates.
  3. De betrouwbaarheid van de machine is hierdoor hoger.

Daarom is het werken met betrouwbare systemen en bekende talen ook een voordeel voor de uiteindelijke kostprijs. Alles is gewoon sneller in de lucht”, aldus Arie.

Wat vaak in de voorbereiding van grotere projecten wordt toegepast is een Pre-engineeringsfase.

Hiermee kan men een aantal zeer urgente zaken vaststellen en vooral onvoorziene problemen voorkomen. Arie noemt hierin 5 punten:

  1. Is het wel haalbaar wat wordt gevraagd op basis van cyclustijd?
  2. Wordt de gewenste nauwkeurigheid wel gehaald?
  3. Zijn de voorwaarden van de klant wel om te zetten in een technische oplossing.
  4. Is het dynamische gedrag bijvoorbeeld wel mogelijk met een bepaalde last?
  5. Is de materiaal keuze wel correct? Pakt bijvoorbeeld de grijper het product wel goed op zonder het te beschadigen?

Kortom; door een stuk Pre-engineering toe te passen reduceer je de onzekerheden bij een project en sluit je risico’s uit. Er ontstaat een betrouwbaar beeld van de werkelijke kosten.

Wanneer je een goed beeld hebt van het schrijven van de software en dus van de kosten, zijn dit geen verrassingen meer. Zo ontstaat er een helder overzicht voor alle partijen, is vooraf duidelijk wat een project gaat kosten en welke hardware goed voldoet”, aldus Arie.

Ook de juiste keuze van gebruikte hardware is erg belangrijk. Bijvoorbeeld wanneer men bij het meten van motorspanningen en stromen dit direct via een PC laat lopen, mis je mogelijk veel data of komt niet alle data goed binnen".

"Door nu slimmere hardware te gebruiken kan deze datalogging voor een deel worden overgenomen door bijvoorbeeld een labvoeding zelf. Je laat de voeding dan al veel rekenwerk doen”, merkt Arie op.

Voordeel is dan minder data-overdracht en dus minder communicatie tussen de PC en de voeding. Gevolg: een veel betrouwbaarder en snellere systeem (meting)”.

Of kan een regelkring het gewenste dynamische gedrag wel handelen?. Kan het gewenste dynamische gedrag de installatie wel aan?”. Belangrijke zaken om van te voren goed te inventariseren. Dit voorkomt veel ellende achteraf!

Tenslotte vertelt Arie: “Het goed beveiligen van software systemen is van groot belang. De koppeling met verschillende netwerken is een project op zich geworden. Een goede Firewall is een must. Je ziet dat de PLC naar de PC groeit en andersom”.

De belangrijkste vragen die je bij het schrijven van de software altijd af moet vragen is zoals National Instruments stelt:

Readability: Is de software makkelijk te lezen ook voor anderen, dus logisch opgezet.

Maintainability: Is de software in de toekomst nog makkelijk te onderhouden, dus kan je functionaliteit gemakkelijk toevoegen.

Scalability: Ben je in staat om de software uit te kunnen breiden naar meer kanalen zonder veel aanpassingen aan de software te doen.

STT Product werkt graag aan uw projecten. Of het nu gaat om een software besturing van een machine, een test-tool of een robot applicatie. Het software team van STT zorgt voor een hoge betrouwbaarheid van uw installatie en dat gemaakte afspraken worden omgezet in technisch goed werkende oplossingen.  

Deel dit bericht

Meer