Kijkje bij Software Engineering

22-10-2017

Arie is een van onze System Software Engineers. In dit artikel bespreekt hij enkele inzichten uit zijn vakgebied. 

Softwarekosten

Software kan een project succesvol maken of laten stranden. Het schrijven van goede software voor een project is van het allergrootste belang. Het bepaalt het succes van de installatie of machine. Goede software kan niet zonder de juiste hardware.

Je kan de meest luxe Smartphone kopen voor 900 euro met alle software er al ingebouwd, 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.

Een machinebouwer maakt klant specifieke machines. Daar is er soms maar één van, met dus ook zijn eigen software programma. Ga je meer van die machines maken, dan zie je dat de prijs naar beneden gaat. 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. 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.

De basis van een programma

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

  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. Van dergelijke programma’s zijn de analysemogelijkheden 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.

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. 

Werken met templates

STT Products heeft veel gedaan om de kosten van het schrijven van software te beperken. Zo werken 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. Er ontstaat zo 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 aan het werken met templates:

  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. 

Pre-engineering

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.

Denk hierbij aan:

  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?

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.

Hardware kiezen

Ook de juiste keuze van gebruikte hardware is erg belangrijk. Wanneer men bijvoorbeeld 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 slimmere hardware te gebruiken kan deze datalogging voor een deel worden overgenomen door bijvoorbeeld een labvoeding. Je laat de voeding dan al veel rekenwerk doen. Voordeel is: minder data-overdracht en dus minder communicatie tussen de PC en de voeding. Gevolg: een veel betrouwbaarder en sneller systeem.

Beveiliging

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 zijn:

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 gemaakte afspraken worden omgezet in technisch goed werkende oplossingen.  


Deel dit bericht

Meer nieuws