KitOS er INILABs egetudviklede operativsystem og integrationsplatform til industrielle embedded- og edge-løsninger. Platformen forbinder sensorer, instrumenter, styringer, brugerflader og centrale systemer – og gør data tilgængelige dér, hvor de skal bruges.
KitOS giver os et gennemprøvet teknisk fundament under kundespecifikke udviklingsopgaver. Det betyder, at vi ikke skal udvikle provisionering, applikationsdrift, datakommunikation, netværksstyring og opdateringsmekanismer forfra i hvert projekt.
Vi kan koncentrere udviklingen om den funktionalitet, der gør kundens løsning særlig. Det reducerer både udviklingstid, teknisk risiko og de samlede omkostninger.
Cost reduction med KitOS
En industriel softwareløsning består af langt mere end den funktion, som brugeren møder.
Under brugerfladen ligger operativsystem, hardwaredrivere, protokoller, databehandling, netværk, sikkerhed, opdateringer og overvågning. Hvis alle disse lag skal udvikles fra bunden i hvert projekt, vokser både omfanget og risikoen hurtigt.
KitOS samler de grundlæggende funktioner i en gennemprøvet platform. Herfra konfigurerer og udbygger vi systemet til den konkrete use case.
Det kan være en kompakt styreenhed med HMI, en industriel gateway, et system til lokal databehandling eller en geografisk distribueret løsning med mange edge-enheder.
KitOS er altså ikke en standardløsning, som opgaven skal presses ned i. Det er et fleksibelt fundament, som gør det hurtigere og mere sikkert at udvikle den rigtige løsning.
Applikationerne i KitOS afvikles i selvstændige, versionerede containere. De er isoleret fra hinanden, så en ændring i én applikation ikke behøver at påvirke resten af systemet.
Samtidig kommunikerer applikationerne gennem KitOS’ interne databus. Her kan de publicere data og abonnere på data fra andre dele af løsningen.
En applikation kan eksempelvis indsamle data fra et instrument via Modbus. En anden behandler målingerne, mens en tredje omsætter dem til et webbaseret HMI. Alle tre arbejder på det samme datagrundlag uden at være tæt koblet sammen.
Arkitekturen gør det muligt at:
Det giver en mere modulær systemarkitektur og gør både udvikling, test og efterfølgende vedligeholdelse mere overskuelig.
Tidskritisk helt ned i Linux-kernen
KitOS bygger på embedded Linux med en kerne kompileret med realtidsfunktioner. Det giver operativsystemet mulighed for at prioritere tidskritiske processer og reagere forudsigeligt, når data skal behandles eller distribueres med lav latency.
Realtid bliver dermed ikke blot et spørgsmål om, hvor hurtigt en brugerflade opdaterer. Det bliver en egenskab i det tekniske fundament under applikationerne.
Afhængigt af opgaven, kan KitOS:
Den konkrete arkitektur bliver altid dimensioneret efter kravene til latency, determinisme, datamængde, processeringskraft og forbindelsesstabilitet.
Nyt liv til eksisterende teknologi
Industrielle løsninger består sjældent kun af ny teknologi. Ofte skal moderne software fungere sammen med sensorer, maskiner og instrumenter, der allerede er installeret og repræsenterer en betydelig investering.
KitOS fungerer som integrationslaget mellem den fysiske installation og den software, der skal anvende data.
Platformen kan arbejde med de interfaces og drivere, som Linux understøtter, herunder blandt andet:
Når udstyret anvender proprietære eller utilstrækkeligt dokumenterede protokoller, kan INILAB udvikle den nødvendige integration. Det kan omfatte protokolanalyse, reverse engineering, konvertering og udvikling af selvstændige interfaceapplikationer til KitOS.
På den måde kan eksisterende og ny teknologi blive en del af det samme system, uden at velfungerende udstyr nødvendigvis skal udskiftes.
Lokal styrke i fælles arkitektur
KitOS kan anvendes lokalt på én enhed, men platformen kan også forbinde flere enheder på tværs af installationer og geografiske placeringer.
Data kan brokobles mellem enheder, så de fungerer som dele af den samme systemarkitektur. Afhængigt af use casen kan enhederne indgå i en samlet kontrolinstans eller konfigureres i en failover-topologi, hvor funktioner kan overtages andre steder i systemet.
Den enkelte enhed fortsætter sin lokale drift, hvis forbindelsen til den centrale platform bliver afbrudt. Applikationer, lokal databehandling og styring er derfor ikke afhængige af en permanent cloudforbindelse.
Når forbindelsen er tilgængelig, kan KitOS udveksle realtidsdata, status og driftsinformation med andre enheder og centrale systemer.
Det gør platformen velegnet til blandt andet industrielle installationer, offshoreudstyr, distribuerede sensorsystemer og produkter, der befinder sig langt fra den organisation, som driver dem.
KitFleet er den webbaserede flådestyring til KitOS. Her kan geografisk spredte enheder administreres som én samlet installation.
Platformen giver bl.a. mulighed for at:
KitOS kan også integreres med kundens eksisterende drifts- og administrationssystemer gennem et defineret API. Ved større installationer eller særlige driftskrav kan den centrale gateway konfigureres til den ønskede driftsarkitektur.
Nye versioner med en sikker vej tilbage
Applikationer og operativsystem har forskellige opdateringsbehov. KitOS håndterer derfor de to lag separat.
En applikation opdateres ved at distribuere en ny versioneret container. Det kan ske uden at genstarte hele enheden, og applikationen kan rulles tilbage til en tidligere version, hvis den ikke fungerer som forventet.
Selve systemet opdateres gennem to partitioner. Den nye systemversion bliver skrevet til den passive partition, hvorefter enheden genstarter på den nye version. Hvis opstarten fejler, vender enheden automatisk tilbage til den fungerende partition.
Signering af softwarepakker sikrer samtidig, at enheden kun accepterer godkendt software.
Det gør opdateringer til en kontrolleret del af driften og reducerer behovet for fysisk adgang til enheder, der kan stå langt væk, under havets overflade eller indbygget i kundens produkt.
Kun det nødvendige er åbent
KitOS er udviklet til systemer, hvor enheder ofte står uden for virksomhedens eget netværk.
Enheden etablerer selv en krypteret forbindelse til den centrale driftsopsætning. Administration og opdateringer kan dermed foregå gennem den udgående forbindelse, uden at der som udgangspunkt skal åbnes administrative porte ind mod enheden.
Kun de interfaces, som den konkrete applikation har behov for, bliver gjort tilgængelige. Angrebsfladen kan derfor afgrænses til den funktionalitet, som løsningen faktisk skal eksponere.
Vi tilpasser altid sikkerhedsarkitekturen til installationens risikoprofil, netværk, driftsmiljø og krav til adgang.
Fra havbund til byrum
KitOS fungerer allerede som teknisk fundament i flere forskellige typer løsninger.
Hos Geo håndterer embedded KitOS-enheder lokal, tidskritisk databehandling og kommunikation mellem instrumenter 500 meter under havets overflade og operatøren på topside.
For NORDIC samler KitOS måledata fra HEIDENHAIN-udstyr og en LIKA-encoder i én fælles databus. Selvstændige applikationer håndterer de to integrationer, mens en tredje applikation omsætter realtidsdata til et webbaseret HMI til styring og overvågning af højpræcisions rotationsblandere.
I distribuerede sensorsystemer for blandt andet Helsingør og Gladsaxe Kommuner danner KitOS grundlag for lokal dataindsamling, behandling og administration af geografisk spredte edge-enheder.
Fælles for løsningerne er ikke hardwaren eller branchen. Det er behovet for et stabilt fundament, der kan forbinde forskellige teknologier, behandle data tæt på kilden og fungere i drift gennem mange år.
Fundamentet udvikles ikke forfra
KitOS er relevant, når en løsning:
KitOS kan indgå fra den første prototype og følge løsningen hele vejen til idriftsættelse, hosting, vedligeholdelse og videreudvikling.
Med KitOS kan vi begynde udviklingen på et fundament, hvor de grundlæggende funktioner til applikationsdrift, integration, realtidskommunikation, opdatering og administration allerede er på plads.
Det giver mere plads til den funktionalitet, der skaber værdi i netop jeres produkt – og et mere sikkert grundlag for den dag, hvor prototypen skal blive til en løsning i drift.
Daniel Frederiksen
CTO | Teknisk direktør