Slik virker det

En mappe med eksporter, én PC innenfor gjerdet, én kommando og en ettermiddag med noen som kjenner anlegget. Hva den leser, hva den rører, og hva den aldri gjør.

En mappe, en bærbar PC, én kommando og en ettermiddag med noen som kjenner anlegget.

Ikke noe prosjekt som må settes opp først. Det første resultatet kommer første dag, og det kommer med lista over det den ikke forsto, som er den eneste konfigurasjonen som finnes.

  1. Dag én

    Kopier eksportene til en mappe

    Den som allerede henter ut rapporter fra historian eller styresystemet, lagrer noen ukers data som CSV-filer, én per system, i det klokkeformatet systemet bruker. Finnes det en instrumentindeks som PDF, legges den i samme mappe. Det er hele dataforberedelsen.

  2. Dag én

    Legg mappen på én maskin dere eier

    En PC eller en bærbar på deres side av gjerdet. Målt på vårt simulerte aluminiumsverk skalert til 9 511 tagger, der de rå målerne tolkes ut fra fysiske lover, som er det vanskeligste tilfellet vi har: kompileringen tar 449 sekunder og bruker på det meste 4,1 GB. Et anlegg der målerne allerede leser i tekniske enheter, går langt raskere. Språkmodellen tar 3,0 GB på disk, så en bærbar med 16 GB rommer begge på en gang. Ikke noe grafikkort, ingen internettforbindelse.

  3. Dag én

    Kjør én kommando

    På Windows er det én zip-fil, pakket ut i en mappe og startet med et dobbeltklikk: den har med seg sin egen Python, installerer ingenting, trenger verken administratorrettigheter eller internett, og fjernes ved å slette mappen. Den finner klokkene, velger den connectoren som leser flest av taggene deres, leser PDF-en hvis det finnes en, og skriver tilbake en anleggsmodell, en vaktoverlevering og listen over taggene den ikke ville gjette på, med begrunnelsen ved siden av hver.

  4. Den første ettermiddagen

    Svar på listen over det den ikke vil gjette på

    En ingeniør som kjenner anlegget, går gjennom de avviste taggene. På den publiserte testriggen lenger ned på siden, uten noen connector skrevet for den, var det 91 av 173 tagger, hver med sin begrunnelse. Svarene går i en vanlig tekstfil ved siden av eksportene, som anlegget eier og kan lese uten oss, og ett svar kan plassere mer enn den taggen det gjelder.

  5. I løpet av fjorten dager

    En modell av anlegget dere kan diskutere med

    En driftsoperatør sjekker den mot anlegget hun kjenner, og godkjenner den. Fra da av havner historianens planlagte eksport i den samme mappen, hver ny fil leses når den kommer, og en tag som har fått nytt navn eller har stilnet, blir rapportert i stedet for å bli borte.

Det dere trenger

  • En mappe med CSV-eksporter som anlegget allerede vet hvordan det skal lage
  • Én PC eller bærbar dere eier, innenfor gjerdet
  • En ingeniør som kjenner anlegget, i en ettermiddag
  • En driftsoperatør som godkjenner modellen

Det dere ikke trenger

  • En forbindelse til styresystemet
  • En brannmurregel eller en ny nettverksvei
  • En konto, en skytjeneste eller en lisensserver
  • Noe installert på en PLS, en SCADA-server eller en historian
  • Et utstyrsregister eller en datamodell tegnet på forhånd
  • En dataingeniør, eller en IT-avdeling til å drifte det
  • Et grafikkort
  • Administratorrettigheter, eller noe installert på PC-en

De fjorten dagene omfatter ikke innkjøpsprosessen, leverandørens sikkerhetsvurdering, taushetserklæringen eller driftsoperatørens godkjenning. Det styrer ikke vi, og klokken later ikke som den dekker det.

Den leser kopier. Den skriver ingenting til anlegget. Ingenting forlater det.

Den minst inngripende måten å lære hva et anleggs data betyr, er å aldri røre anlegget. Hvert svar nedenfor følger av hvordan produktet er bygget, og der det kan kontrolleres, står det i høyre kolonne hvordan.

Styresystemet deres

Aldri tilkoblet og aldri rørt. Den leser kopier av filer som noen har eksportert.

Det finnes ingen driver for industrielle protokoller noe sted i produktet: ingen kode i det snakker med en PLS, et DCS eller en SCADA-server.

Skriving til anlegget

Aldri. En agent kan foreslå en arbeidsordre til et menneske. Å skrive et settpunkt blir avvist, og avvisningen skrives ned ved siden av forslaget.

Anleggets regler, håndhevet i koden, og en rolle kan bare snevre dem inn. python -m auge_plant.roles kontrollerer hver rolle mot dem.

Nettverket

Ingenting forlater anlegget. Den eneste adressen produktet åpner, er maskinen det kjører på, der språkmodellen ligger.

En forseglet kjøring blokkerer alle andre adresser, beviser at blokkeringen virker, og kjører så en hel arbeidsdag på to anlegg innenfor den.

Hva som blir installert

Ingenting blir installert. På Windows er det én mappe, pakket ut fra en zip-fil, med sin egen Python inni, og en valgfri lokal modell. Ingenting på anleggets egne servere.

Hele produktet kjører på numpy og Pythons standardbibliotek. Windows-zipen bygges og startes på en ren Windows-maskin for hver endring vi gjør.

Hva den etterlater seg

To filer i eksportmappen: resultatet, og en tilstandsfil som lar neste kjøring oppdage navnebytter.

Tilstandsfilen tar vare på fingeravtrykk av hver tag og ikke målingene, og den er ren JSON, så den kan aldri bære med seg kode.

Sikkerhetsgjennomgangen deres

Den skjer fortsatt, og den som sier noe annet, tar feil. Den har mye mindre å dekke: ingen ny kanal, ingen fjerntilgang, ingen data som forlater anlegget.

Med IEC 62443 sine begreper finnes det ingen ny sonekryssing å vurdere.

Å fjerne den

Slett programmet og mappen. Det er ingenting på anlegget å rulle tilbake, fordi ingenting på anlegget ble endret.

Hvor oppdatert den er

Like oppdatert som den siste filen i mappen. Rett historianens planlagte eksport mot mappen, så leser console hver ny fil når den kommer, innen et halvt minutt. Nye målinger på tagger den allerede forstår, legges til uten at anlegget regnes ut på nytt, på millisekunder; det regnes ut helt når taggene endrer seg, og minst hver time. Det er levende nok for et skift, og det åpner ingen forbindelse. For anlegg som vil ha sanntidsmålinger finnes en OPC UA-leser som bare leser: den åpner én utgående sesjon mot serveren anlegget allerede har, skriver til den samme mappen, og er den ene delen av dette som trenger en gjennomgang av kanalen.

Overvåkeren sjekker mappen hvert 30. sekund; filer med de samme kolonnene leses som ett system, uansett hvor mange av dem som kommer. OPC UA-leseren kan bare lese, slik den er bygget.

Å flytte industridata er løst. Å forstå dem er det ikke.

Fire lag står mellom en maskin og noe nyttig. Andre er gode på det andre laget, og vi har ingen planer om å konkurrere med dem. Det tredje er det alle overlater til et menneske.

MASKINENEPLS-er, sensorer, historianer, førti år av demÅ FLYTTE DATAENEOPC UA, Modbus, en PI-historian, Litmus, HighByte, et unified namespaceløst, og ikke av ossHVA DET HELE BETYRhvilken maskin, hvilken størrelse, hvilken enhet, og hva som rett og slett er feiloverlatt til et menneske. det er her vi erÅ BRUKE DETagenter, modeller, dashbord, rapporter, hele hylla med industriell KIventer på laget over

Vi har ingen drivere og ingen planer om å skrive noen. Betydningslaget er smalt nok til at én person kan bli best i verden på det, og det er laget som hver agent, modell og hvert dashbord over det i stillhet venter på.

De beste verktøyene i laget under vil koble taggene deres til et utstyrsregister. De forutsetter at dere har et.

De fleste anlegg har ikke det. Så vi finner det ut i stedet, fra anleggets egen navngivning, og poenget er at et annet system vet det i hvert anlegg, og det er aldri det med flest tagger. Her skriver en historian AL1.ELE.POT003 mens styresystemet skriver 31TT0102 for seks ganger så mange punkter. Fordi kompilatoren allerede har bestemt at det er den samme maskinen, kan systemet som vet, fortelle de som ikke vet. En broker som fører alle fem inn i ett namespace, kan ikke gjøre det, fordi ingenting i den har gjort koblingen.

Målt på anlegg den aldri hadde sett: 0,95 og 0,65 mot 0,73 og 0,49 for det beste man får uten den. Den deler opp for mye og slo aldri feilaktig sammen to områder. Der ingen systemer vet, sier den det i stedet for å gjette, og eksperimentet som prøvde å fylle det hullet ut fra dataene, ble falsifisert og også publisert.

Tilbake til forsiden