Hej då Spagettikod - Objektorienterad programmering är framtiden i dagens globala konkurrens

Effektiv mjukvaruutveckling kommer mer och mer i fokus hos maskinbyggare. Under årens lopp har mjukvaruanvändningen både inom mekanik och elektronik gått förbi och dominerar utvecklingen av moderna maskiner. Därmed blir mjukvaruutvecklingen allt oftare ett trumfkort när det handlar om att snabbare och effektivare realisera de allt mer komplexa maskinerna och processerna.
Sade Hej då till "Spagettikod" redan år 2000
SIGMATEK sade redan år 2000 Hej då! till ”Spagettikod” och sätter konsekvent bara in objektorienterad programmering, OOP. Med utvecklingsmiljön LASAL har utvecklaren ett väl uppbyggt verktyg att jobba med, moget och utan barnsjukdomar för att realisera styrningen, visualiseringen, Motion Control, Safety samt Service och fjärrövervakning både smidigt, flexibelt och enkelt.
Varje mjukvarumodul har en egen uppgift

Med OOP reducerar man utvecklingstiden
samtidigt som koden får en högre kvalité
samtidigt som koden får en högre kvalité
Tanken bakom OOP är att sammanfatta programkod och värden i logiska enheter, Objekt. Bakom varje objekt finns en s.k. Klass. Klassen kan liknas vid en byggplan för objektet som definierar programkoden och variabelvärdena. Varje klass har en uppgift likt att mäta och utvärdera temperatur eller att styra och reglera en motor. I utvecklingsverktyget LASAL implementeras den faktiska programkoden i något av de normerade språken IEC 61131-3, ex. Strukturerad Text, Ladderdiagram, Instruktionslistor och Funktionsblock.
Mjukvarumodulernas variabler är isolerade utifrån och nås bara via definerade gränssnitt och metoder
Kontinuitet, modularitet, tydlig återgivning och ett smidigt sätt att återanvända kod, exempelvis mjukvarumoduler och klasser är A och O i LASAL. Dessutom är verktyget enkelt och smidigt att jobba med. Mjukvarumodulerna, objekten, är isolerade utifrån, gränssnitten är tydligt definierade och dokumentationen översiktlig och lättläst. På så sätt låter sig underhåll av programkod märkbart förenklas. Dessa faktorer är just de som hjälper maskinbyggare att reducera utvecklingskostnaden men även maskinens totalkostnad över hela sin livscykel. Detta är inte bara något som maskinbyggaren tjänar på utan även maskinbyggarens kunder.
Utnyttja redan utvecklade och testade moduler och sätt ihop dem likt Lego

Med Client-Server tekniken definieras strukturen automatiskt och säkrar
en central förvaltning av koden
en central förvaltning av koden
De enskilda mjukvarumodulerna, objekten, sätts ihop likt Lego. Har man redan utvecklat en klass och objekt så kan de återanvändas igen och igen utan att man behöver testa dess funktion. I och med uppbyggnaden och tekniken med OOP är det möjligt att ändra och jobba vidare med redan utvecklade klasser, utan att göra ingrepp på den ursprungliga klassen! Ändringarna går därmed att spåra och följa bakåt i tid. Klara och testade byggstenar läggs upp i klassbibliotek och på så sätt kan man enkelt återanvända dem för olika projekt eller i olika delar av projektet och maskinen. I standardbiblioteket finns redan en mängd olika klasser med olika funktioner upplagda.
Grafiska representationen underlättar för alla involverade i projektet
Den grafiska representationen i LASAL bidrar starkt till att underlätta för både programmerare men också alla som är involverade i utvecklingsarbetet av maskinen och dess projekt. De olika objekten knyts ihop i s.k. nätverk och här får programmeraren en mycket klar överblick hur maskinen ser ut och fungerar, egenskaper och kommunikation mellan olika maskindelar. En stor besparingspotential av programmeringstid ligger i den tidiga testningen av mjukvara. Med simuleringsverktyget LARS kan man simulera sin programkod på en vanlig Windows-PC utan någon ansluten hårdvara. Att både kunna implementera logiken och visualiseringen möjliggör en mer parallell utveckling av maskinen och man därmed på ett tidigt stadium undvika både buggar och konstruktionsfel. Det är naturligtvis möjligt att förbereda för framtida hårdvara och göra de mjukvarumässiga inställningarna och därmed vara förberedd när väl maskinen är klar att tas i drift utan ytterligare handpåläggning.
Uppdatera maskiner världen över med ett par enkla knapptryck

Med LASAL har programmeraren en tydlig översikt av maskinen och
kan konfigurera alla delarna med hjälp av samma utvecklingsmiljö
helt licens- och avgiftsfritt.
kan konfigurera alla delarna med hjälp av samma utvecklingsmiljö
helt licens- och avgiftsfritt.
De inkapslade objekten, Legobitarna, kommunicerar med omvärlden via gränssnitt. Försök att utifrån komma åt information och data inuti ett objekt är omöjligt utan att göra det på ett korrekt sätt. Tack vare denna struktur kan man med lätthet byta ut olika objekt och ersätta dem med andra objekt med andra funktioner. Detta förenklar inte minst vid uppdatering av mjukvaran.
Exempel på hur smidig en uppdatering av mjukvaran är med SIGMATEK och LASAL
Vi förklarar med ett exempel. Anta att vi har en klass som har till uppgift att reglera temperaturen i en maskin. Det finns tusentals maskiner i åtskilliga varianter av maskinen ute på marknaden. Då visar det sig att man har implementerat ett fel i just regleringen av temperaturen. I vanliga fall måste maskinbyggaren nu sätta sig ner och göra nya versioner av alla sina maskiner och korrigera alla mjukvaruvarianter som finns ute på marknaden. Med LASAL och OOP tar man bara fram sin klass för temperturregleringen, implementerar en lösning och exporterar klassen till ett USB-minne. Nu uppdaterar man de olika maskinerna antingen genom att man laddar upp den reviderade klassen via USB-minnet eller genom att gå online på maskinen direkt. Vi behöver inte veta vilken mjukvaruversion som finns i maskinen, allt tack vare våra objekt och väldefinierade gränssnitt. Detta är ovärderligt för slutkund som exempelvis har inplanerade leveranser under hela dagen och där maskinen inte får stå still.
Effektiv debugging och automatisk generering av program och projekt
Utvecklaren har med LASAL ett effektivt verktyg till sin hjälp för analys och optimering av applikationen, för felsökning och korrigering. Exempel på detta är en Online-Debugger, DataAnalyzer med oscilloskop funktion, dataregistrering i realtid och jämförelse av olika projekt. Tack vare OOP och de inkapslade mjukvarukomponenterna så kan man med scriptspråket Python dessutom skapa och generera projekt men också ändra dem, helt automatiskt. Ofta har en maskinserie ett grundprojekt. Ur detta basprojekt kan man därefter ta fram kundspecifika applikationer och maskiner.
-
>Spagettikod eller Objektorienterad programmering
-
>Textilmaskiner med höga krav på automation
-
>Volvo Aero programmerar objektorienterat med SIGMATEK
-
>HMI med CPU
-
>DIAS Drive 100
-
>LASAL CLASS - mjukvara
-
>Enkel integration utav Profibus komponenter
-
>Tidigare Rockwell-chef ansluter till Sigmatek