Data fra fabriksgulvet kræver realtidsgaranti – derfor blev Google-sprog skrottet

Illustration: Omnio
Fra Go til Rust. Danske Omnio har udviklet software, der kan oversætte og automatisere integrationen af data fra industriens tunge kontrolsystemer til it-baserede analyseværktøjer i skyen. Det indebar et nyt programmeringssprog undervejs.

De fleste softwareudviklere får grå hår i hovedet, hvis de bliver bedt om at hente og normalisere data fra industrielle kontrolsystemer som PLC-controllere og Scada-systemer, der styrer eksempelvis maskiner og robotter i fremstillingsindustrien.

Det samme gjorde Mikkel Sørensen, da han hos Mærsk fik til opgave at skabe et overblik og et system til at overvåge virksomhedens mere end 250.000 kølecontainere verden over.

»Vi havde måske undervurderet udfordringen i at kommunikere med en kvart million containere, fordi de havde vidt forskellig alder, firmware-versioner, modeller og lignende. Det tog lang tid – mange måneder – før vi fik styr på, hvordan vi fik data ud af de enkelte kølecontainere, gjort dem tilgængelige, hvilke formater data kom ud i, og hvordan vi fik normaliseret data og gjort dem brugbare. Når vi skulle forbinde en enhed, så var det bare frem med protokol-manualen og læse den igennem fra ende til anden for at forbinde den til det centrale system,« fortæller Mikkel Sørensen, medstifter og direktør i danske Omnio.

Automatiseret oversættelse

Virksomheden har udviklet deres egen software, der via en gateway kan opsamle, transportere og normalisere data fra industrielle kontrolsystemer med it-baserede værktøjer, som kan anvendes i eksempelvis IoT-platforme i skyen.

Kernen i softwaren er en database med en lang række industrielle protokoller, så Omnio hurtigt kan sende en konfigurationsfil til den gateway, der henter data ud af et industrielt enhed, f.eks. en elevator, en vindmølle eller en CNC-maskine.

I dag består Omnio af otte medarbejdere, der arbejder på fire konkrete pilotprojekter, som involverer flere af de store automationskoncerner i Europa og USA.

»Industriel automationssoftware minder ikke ret meget om den sædvanlige arkitektur, som vi kender fra vores it-baserede software. Levetiden på hardware i industrien er ofte 20-30 år, der kan ikke sendes patches ud løbende, og når vi taler om data i realtid, skal det måles i mikrosekunder. Arkitekturen fokuserer på hastighed og stabilitet, og det har over årene skabt en forgrenet netværk af serielle kommunikationsprotokoller, der bruges til at kommunikere internt mellem de forskellige kontrolsystemer,« siger Mikkel Sørensen.

Det er de protokoller, som Omnio sat sig for at oversætte hurtigt og effektivt, så produktionsdata kan hentes og normaliseres i en IoT-platform i skyen.

»Vi understøtter i dag en række protokoller, f.eks. Modbus (Schneider Electric, red.), Profibus (Siemens, red.), CIP (Rockwell, red.), Bacnet og et par mindre properitære protokoller,« siger Mikkel Sørensen.

Læs også: Industriens kontrolsystemer angribes af malware - ikke målrettede angreb

Skifter programmeringssprog

Omnio har udviklet de første versioner af deres software i programmeringssproget Go udviklet af Google. Men kravene fra industrien var ikke kompatible med konventionelle programmeringssprog.

»I it-verdenen er det noget mere løst – herregud, så tabte vi lige et telegram, og det går nok. Sådan fungerer det ikke, når du styrer en robotarm. Vi har skullet stramme op på den måde, vi udvikler software på, « fortæller Mikkel Sørensen og fortsætter:

»Go fra Google er et fint programmeringssprog, men vi er nu på vej over i Rust, som er et sprog, hvor du kan give en realtidsgaranti, og hvor du er tvunget til at tænke testcases igennem. Du kan simpelthen ikke have en blindgyde i Rust, og du skal tænke hele processen igennem fra start. Vores devise er: ‘Move fast and don’t break things’, og det er anderledes end det, man siger i it-verdenen, hvor man ofte tænker: ‘Hvad så, hvis det knækker?’. Det kan vi ikke, og derfor kan vi ikke være så kække, som f.eks. Facebook kan,« fortæller Mikkel Sørensen.

Rust er udviklet og sponsoreret af Mozilla. I syntaks minder sproget om C+++, med fokus på stabilitet, og bliver især brugt til udvikling af sikkerhedssystemer i eksempelvis industrien.

Læs også: Ny Eclipse byder på Rust og kvartårlige opdateringer

Spar på alt

Det er ikke kun krav om høj oppetid og stabilitet, der præger udviklerkulturen inden for industriel software.

Traditionelt har arkitekturen i industriel automationssoftware også været præget af sparsommelighed. Alt skal indrettes, så en opgave eller proces kan styres med færrest ressourcer, og heller ikke mere.

Men den tankegang er blevet udfordret i takt med ønsket om at digitalisere den fysiske produktion – også kendt under begrebet Industri 4.0, som især drives frem af nye IoT-teknologier.

»Data frugality, altså 'spar nu på data', har været den dominerende trend, hvor udgangspunktet er at spare på både hardware, altså styringer som PLC’er og timelønnen på opsætning og drift. I dag ser vi i stedet datasultne algoritmer, der lærer selv og kan spytte konklusioner ud efterfølgende, f.eks. til forudsigende vedligehold. Her er det ikke nok at få to datapunkter fra en enhed løbende, men der er brug for alle datapunkter,« fortæller Mikkel Sørensen fra Omnio.

Dilemmaet mellem at spare på datamængder, samtidig med at man får så mange datapunkter ud som muligt, bliver løst i programmeringssproget Rust med multi-threading, hvor en CPU eksekverer flere processer samtidig.

»I stedet for udelukkende at spare på ressourcerne fokuserer vi på at udnytte alle de ressourcer, du har til rådighed. I Rust multi-threader vi, så vi får tvunget hver eneste dråbe kapacitet ud af selv den mindste CPU. Det gør, at vi kan køre hurtigt uden at spilde ressourcer,« siger Mikkel Sørensen.

Læs også: Det behøver ikke være så svært at få styr på sikkerheden i Scada- og ICS-systemer

Offline-mode på kanten

»Nu skal der ikke gå it-projekt i det her.« Sådan lyder bekymringen ofte hos automationsingeniører i industrien. Frygten for at forbinde fabriksgulvet med internettet har sat gang i en ny trend inden for industriel software – edge computing. Så meget som muligt skal processereres på kanten af den enhed, der skal styres.

»Vores udgangspunkt er at køre så tæt på enheden som muligt. Indtil videre via en gateway, men det kunne også være direkte på PLC’en i fremtiden. Det gør, at vi kan arbejde i offline-mode, og så kan virksomhederne selv vælge, om de vil processere data ude lokalt eller flytte op i skyen efterfølgende. Der sker meget på edge-området, hvor både Microsoft og SAP har udviklet deres offline-løsninger,« siger Mikkel Sørensen.

Læs også: Kæmpedatacentre er for sløve til IoT-enheder og selvkørende biler

Fortsat umodent marked

Når levetiden på det meste af hardwaren i industrien har en levetid på 20-30 år, så går produktudviklingen også tilsvarende langsomt. Ingen tør investere i ikke-færdigudviklet teknologi, for det kan have store omkostninger. Derfor forventer Mikkel Sørensen heller ikke, at det industrielle IoT-marked er modnet endnu.

»Vi tror, der går tre til fem år, før IoT-potentialet virkelig rykker. Vi plejer at sige, at vi er samme sted som internettet anno 1992 – det står ikke helt lysende klart, hvad vi skal bruge det til, men vi er mange, der er ret meget oppe at køre over det,« siger Mikkel Sørensen med et smil.

Selvom han selv kommer fra en it-verden, kan han ikke dy sig for at kaste lidt malurt i bægeret, når han ser, hvordan mange industrivirksomheder går til opgaven med digitalisering af produktionen.

»En normal digital transformation sker ofte med, at folk starter med at købe en IoT-platform, altså en investering i it-udstyr. Det er et fint stykke software, du kan bruge til at bygge forretningsapplikationer i. Men applikationerne er ikke meget værd, hvis du ikke kan opskalere og hurtigt hente data fra alle dine enheder. Det kan man forholdsvis nemt gøre i en lille pilottest, men det er sværere, når du skal opskalere til alle dine enheder. Så måske skal man vende processen lidt på hovedet i stedet,« siger Mikkel Sørensen.

Læs også: Fagfolk om industridata: »Se nu at få samlet alle data og brug dem opad i it-miljøet«

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (0)
Log ind eller Opret konto for at kommentere
Pressemeddelelser

Welcome to the Cloud Integration Enablement Day (Bring your own laptop)

On this track, we will give you the chance to become a "Cloud First" data integration specialist.
15. nov 2017

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017