Modern programmering av maskiner och robotar
Betydande fördelar med objektorienterad utvecklingsmiljö

Med en objektorienterad utvecklingsmiljö kan maskinkoncept implementeras på ett mycket strukturerat, modulärt och snabbt sätt. Detta är betydande fördelar, särskilt när saker blir mer komplexa och måste realiseras med modulär hårdvara. I utvecklingsmiljön LASAL från SIGMATEK behöver man mindre kod och LASAL ger även en ökad tydlighet med sin grafiska representation av koden.
Mindre källkod Tydligare med en grafisk representation av källkoden
OOP, det rätta valet när saker och ting blir både smartare och mer komplexa
Så klart, för enkla applikationer med få rader kod finns det inget större behov av ett objektorienterat tillvägagångssätt eftersom maskintillverkaren enkelt kan uppnå sitt mål med konventionell programmering. Men när saker och ting blir mer komplexa och smarta är objektorienterad programmering (OOP) det rätta valet, särskilt för seriemaskiner med olika utrustningsvarianter och kravet att integrera dessa maskiner i ett intelligent maskinnätverk. Objektorienterad programmering står för en hög grad av modularitet, struktur och enkel återanvändning av kod. På så sätt kan applikationen hålla jämna steg med hårdvarans modularitet och skalbarhet. OOP har under tiden också kommit att berika maskinteknik. Särskilt i den yngre generationen av automationstekniker är OOP en del av utbildningen. Det finns alltså redan många unga ingenjörer som har erfarenhet av denna moderna typ av programmering och som tänker i termer av objekt och komponenter, precis så som maskinbyggnation fungerar. Detta ökar urvalsgruppen av programmerare avsevärt för maskintillverkare!
OOP är det rätta valet vid serietillverkning av industriella maskiner Nyutexaminerade automationsingenjörer sedan minst 15 år tillbaka kan programmera objektorienterat Programmera i termer av objekt och komponenter för en enklare översikt av källkoden
Low-Code – en mindre ansträngning

Ex. Projekt med flera instanser av en viss komponent drar stor stor fördel av objektorienterad programmering. Med LASAL presenteras dessutom instanserna visuellt som förtydligar statusen.
SIGMATEK har i 20 år erbjudit en utvecklingsmiljö med objektorienterad programmering åt sina kunder, maskintillverkarna. Utvecklingsmiljön LASAL är objektorienterad från grunden och har också utvecklats som en ”Low-Code-plattform”, vilket reducerar användarens programmering och kod. Detta är ett tydligt mervärde för maskintillverkare, eftersom det vanligtvis är programvaran som genererar majoriteten av mervärdet idag. Dessutom kan applikationen utvecklas helt och hållet med LASAL: reglering, visualisering, motion-control, säkerhet och service/diagnostik-verkyg. OOP öppnar nya möjligheter och vägar för maskintillverkaren, men kräver som sagt en annan metod för applikationsutveckling. Det är baserat på det övergripande projektet som programmerare överväger vilka maskinfunktioner som krävs och hur dessa är sammankopplade. Top-down design handlar om att bryta ner uppgiften och presentera den visuellt: vilka maskindelar kommunicerar med andra, vilka utbyter data? Objekt och gränssnitt definieras och visas i det som kallas för ett ”nätverk. "Du behöver inte läsa kod för att förstå hur applikationen fungerar i ett LASAL-nätverk", förklarar Franz Aschl, innovationschef på SIGMATEK.
LASAL har objektorientering i grunden Low-Code: ett mervärde för maskintillverkare Behöver inte läsa kod för att förstå hur maskinen fungerar
Modulär programvara
När funktionerna och gränssnitten för kommunikationen har definierats, börjar programmeringen nedifrån och upp. En maskins grundläggande funktioner sätts upp med bara några få klick tack vare det omfattande kodbiblioteket i LASAL. Funktionerna är försedda med parametrar och gränssnitt och programmeraren kan testa sin applikation direkt. LASAL:s bibliotek består av över 10 000 klasser. Dessutom finns moderna templates så som färdiga och testade programvarukomponenter tillgängliga: funktionsspecifika tillägg och ämnesrelaterade paket. Exempelvis reglering, recepthantering, larmhantering, safety, dataanalys, men också komplex motion-control som fler-axlig motion-control eller delta-robotstart. "På senare tid har särskilt biblioteket som ansvarar för kommunikation vuxit betydligt och sträcker sig från TCP / IP, OPC UA-klienter, servrar och MQTT till SSL-kryptering", säger Franz Aschl. Det finns ett ökat behov av nätverk - horisontellt t.ex. med kamerasystem eller controllers från andra tillverkare och vertikalt med ERP-system, MES-system och moln-tjänster. Användning av färdiga mjukvarukomponenter kan minska utvecklingsinsatsen för grundläggande funktioner med upp till 70 procent. Programmeraren kan istället koncentrera sig på implementeringen av maskinspecifika och innovativa funktioner knutet till maskinen.
Bibliotek med över 10 000 klasser Moderna templates för alarm- och recepthantering, motion-control, fleraxlig motion-control m.fl. för en kortare Time-to-Market Automatiserade, grundläggande funktioner minskar tiden med upp till 70%
LASAL, för en strukturerad arbetsmetod i agila utvecklingsteam
LASAL är också lämpligt för agila utvecklingsteam eftersom arbetet i de fallen måste vara mycket strukturerat. "När det gäller felaktigt implementerade program och variabler som används kors och tvärs i hela projektet är effekterna av en programändring praktiskt taget oförutsägbara", betonar Aschl. Det är helt annorlunda med OOP: Objekten är inkapslade så en otillåten påverkan utifrån nästan kan uteslutas helt. ”Variabler kan bara ändras med hjälp av metoder. Det betyder att tydliga gränssnitt angetts och som sedan också måste användas, fortsätter Aschl. "Den visuella representationen av de inkapslade objekten i nätverket med alla kommunikationsgränssnitt är unik i LASAL och säkerställer en hög transparens precis som lågkodprincipen och till skillnad från andra objektorienterade utvecklingsverktyg kommer text-editorn till nytta först efter att gränssnitt och variabler gastställts”, förklarar Aschl. Programmerare kan implementera klassens metoder i det språk man föredrar, Strukturerad text, Ladder eller SFC , allt enligt IEC61131-3 eller i C om man så vill. Moderna utvecklingsmiljöer som LASAL förenklar utnyttjandet av OOP genom att ta hand om diverse grundfunktioner. T.ex. koden när man deklarerar klasser, variabler eller gränssnitt skapas helt automatiskt i bakgrunden utan att programmeraren behöver fundera på det. Dessutom, "Variabler kan inte bara visualiseras, de kan nämligen också göras tillgängliga för företaget via det globala WAN-nätverket. Under utvecklingen av applikationen bestäms alltså vilka gränssnitt och variabler som är externt användbara eller synliga", säger Aschl.
Metoder och variabler är skyddade bakom gränssnitt från otillåtet utnyttjande som kan resultera i mödosamt felsökande Unikt med sin visuella representation av källkod Variabler görs tillgängliga för företagets hela nätverk
Visuell felsökning – Live

Vänster: Live-View inaktiverat. Höger: Live-View aktiverat. I Live-View-läget kan man se variablers värde i realtid vilket underlättar mjukvaruutvecklingen av en maskin
Variabelvärdena kan ses realtid i online-läge. Dessutom kan hårdvaran som är definierad i projektet jämföras med den faktiska konfigurationen av hårdvaran man är ansluten mot. Eventuella skillnader visas grafiskt och moduler kan läggas till eller tas bort manuellt. Med de praktiska verktyg som finns integrerade för simulering och visualisering av alla processer, en komplett testmiljö med debugger samt en central hantering av projekt och projektversioner så låter sig både transparens och kodkvalité ökas markant. "Med Lasal är även visuell Live-debugging möjlig, dvs. variablernas aktuella värdena är inte bara synliga i programkoden utan också direkt på den grafiska avbildningen av objekten, fortsätter Aschl. "Det sparar mycket tid."
Följ källkodens och variablernas värdeändring i realitd Komplett testmiljö Sparar tid
Evolution istället för Revolution
Den som inte tror på objektorientering blir omsprungen säger Aschl något provocerande, men med en blinkning. Objekten motsvarar maskinfunktioner och kan, liksom beprövade mekaniska komponenter, användas om och om igen. ”Koden är ritas upp grafiskt med tydliga gränssnitt. Tack vare denna struktur och ”Low-Code”-tekniken förblir koden läsbar och lätt att anpassa även efter flera år och när anställda har bytt arbetsgivare. Koden blir hållbar och kan fortsättningsvis föras vidare under hela maskinens livslängd. Detta sparar tid, nerver och kostnader. ”Vanligtvis förändras bara små saker när det gäller själva applikationen: evolution istället för revolution. Med objektorientering, implementerad på ett modernt sätt, kan seriella maskinbyggare enkelt komma åt sin mjukvara - idag och imorgon, ”sammanfattar Aschl.
Läsbar kod med Low-Code-tekniken och visuell presentation av källkod OOP säkrar maskinens livslängd OOP möjliggör en enklare vidareutvecklng av källkod även för projektets nya medarbetare
-
>Remote Access Embedded - Säker fjärruppkoppling och molnlösning direkt i ditt PLC
-
>Webbaserad visualisering förenklar komplexa operatörsgränssnitt
-
>Modulära maskiner består av mekatroniska enheter och egen intelligens
-
>Machine Manager - tydlig översikt i maskiner med en multi-CPU-lösning
-
>Safety Hot Swap - En modulär anläggning behöver ett modulärt säkerhetskoncept
-
>Mekatronik, enkelt realiserat för modulära, kundspecifika maskinkoncept