Hem SIGBI Automation ABKontaktSitemap

Objektorienterad programmering, tekniken som ger investeringen snabb avkastning

Nerlagd tid för mjukvaruutveckling kan utnyttjas i framtida maskinserier

OOP objektorienterad programmering maskinbyggare
Med objektorienterad programmering som kapslar in källkoden har man en central förvaltning av variabler och funktioner som förenklar felsökning och vidareutveckling
Tid nerlagd på mjukvaruutveckling är naturligtvis en företagsinvestering den också. Genom att återanvända kod får man en effektivare och snabbare avkastning på sin investering. "Time-to-Market" har aldrig träffat så rätt som det gör när man diskuterar mjukvaruutveckling. Ta en minut och läs hur du med sofistikerad, beprövad och framtidssäker teknik får avkastning på nerlagd mjukvaruutveckling även i framtida maskinserier.

Programmera smart, programmera för framtiden, programmera objektorienterat

Enda likheten mellan funktionsblock och OOP är att man kapslar in den programmerade koden. Där slutar likheterna.
Därefter fortsätter OOP.

Har ert företag anställt nya programmerare? Då kan de objektorientering. Utnyttjar ni det?

I nära 30 år har man programmerat objektorienterat. Inom telekom, hemsidor, databaser ja i nästan all typ av programmering används objektorienterad programmering, OOP, då den är överlägsen "vanlig programmering", även kallad "Spagettikod". Att programmera objektorienterat hör framtiden till och någon gång kommer omställningen att ske. OOP förenklar utveckling, underhåll och vidareutveckling av applikationer och program. För nyutexaminerade ingenjörer är objektorientering vardagsmat. Vill ni öka försprånget mot era konkurrenter genom snabbare få ut produkterna på marknaden? Då ska ni titta på mjukvaruutvecklingen och den tid denna process ofta slukar.

OOP är inget krångligt programmeringsspråk, det är en teknik alla nyutexaminerade ingenjörer behärskar

Tittar man runt i automationsbranschen så är fler och fler leverantörer på väg att integrera objektorientering i sina system på ett eller annat sätt. Många klarar inte den tekniska omställningen internt utan får ta hjälp från tredjepart för att kunna erbjuda sina kunder just OOP. Ett par leverantörer erbjuder därför C++, ett kraftfullt språk, som kompileras ner till PLC-kod som sedan exekveras i PLC:t. SIGMATEK:s utvecklingsmiljö LASAL bygger på den objektorienterade tekniken, optimerad direkt ner till PLC:t och utan någon inblandning från externa mjukvarufirmor. Kunskapen behåller maskinbyggaren i huset.

Konstruktörer och programmerare kan nu tala samma språk

LASAL följer IEC 61131-3 med möjlighet att programmera ANSI C om man föredrar det. En av fördelarna med LASAL är den grafiska presentationen i 2D utav klasser och objekt som gör att programmerare, konsktruktör och programmerare alla kan tala samma "språk" under utvecklingen. Att programmera C++ kräver en hel del av utvecklaren för att ha en överskådlig blick av projektet. Med utvecklingsmiljön LASAL lyfter man sättet att programmera och löser de komplexa problemen på ett sätt man tidigare inte har gjort, mycket tack vare den grafiska presentationen. Många menar på att det tar för lång tid att lära sig ett nytt programmeringsspråk. OOP är inget programmeringsspråk, det är en teknik.

Vad gör egentligen OOP så kraftfullt?

klasser objekt gränssnitt
Genom gränssnitt mellan objekt får källkod tillgång till annan källkod. I onlineläge kan man föja maskinens status i realtid
Fördelen med OOP, är att ju mer komplex uppgiften eller maskinen blir, desto större fördel har du i att programmera objektorienterat.
Genom att exempelvis implementera en huvudklass kallad motor med de mest generalla funktionerna och sedan ärva dessa vidare till underklasser likt synkronmotor, asynkronmotor, stegmotor som alla dessutom har implementerats med sin lilla speciella egenskap som skiljer motorerna åt. Redan där har man tjänat in tid vid felsökning men även den dagen man kommer på att man ska bygga in en linjärmotor i maskinen också. Ingen är naturligtvis felfri. Upptäcker man en bugg i huvudklassen som olyckligtvis ärvs av underklasserna ovan så implementeras den korrekta lösningen i huvudklassen och alla underklasser uppdateras automatiskt.

"Ja men vi programmerar ju med funktionsblock! Vår leverantör säger att det är OOP"

objektorienterat
Objektorienterad programmering innebär inkapsling av källkod vilket förhindrar främmande anrop från källkod som inte har rättigheter att bearbeta viss data
Nej, funktionsblock är inte OOP. Funktionsblock besitter inte de finesser som OOP gör när det gäller klasser, objekt, ärvning och minneshantering bara för att nämna ett par punkter. Funktionsblock en "quickfix" för en leverantör av styrsystem att försöka blidka maskinbyggarna med inkapslad och återanvändbar kod. Inkapsling av kod är i princip de enda likheter OOP och funktionsblock delar.
I bilden ovan beskrivs programmeringstekniken Prozedural där alla funktioner och moduler i ett program har access till minnet och risken för kontaminerad data är väldigt hög. I den objektorienterade delen till höger ser man objektet som självt har kontroll över sin egen minneshantering och inte tillåter anrop från andra delar av projektet.

Fasa in OOP som ett led i en långsiktig investering men med snabb avkastning

Genom att programmera objektorienterat så kommer ni att säkra upp er mjukvaruinvestering för en lång tid framöver. Nyanställda, unga och ivriga programmerare från högskola och universitet kommer inte att bromsas upp genom att att behöva "programmera vanligt". Att utnyttja fördelarna som OOP erbjuder kommer ni att ha en mycket kortare "Time-to-Market" än ni förut varit vana vid.

I mer än 12 år programmerar SIGMATEKs kunder objektorienterat, kontakta SIGBI Automation för mer info

I början av 2000-talet ställde SIGMATEK om mot OOP eftersom man redan då såg fördelarna. Många är de aha-upplevelser vi hört under åren där maskinbyggaren har stoppat oss och frågat -"Varför gör inte fler så här?" Detta har vi inget bra svar på. Vad vi däremot vet är att OOP är som klippt och skuret för implementation av maskiner. En maskin består av mekaniska delar och komponenter. Klasser är abstrakta modeller av maskinens olika komponenter. Efter den insikten finns inga problem, bara mer eller mindre enkla lösningar.


Fler pressreleaser