Techninė santrauka
Pagrindinės įžvalgos:

Duomenų sinchronizavimas yra architektūrinis sprendimas, turintis įtakos gamybos apskaitai, planavimui, atsekamumui ir atsakomybei po paleidimo. Autorius pabrėžia aiškių „vienintelio tiesos šaltinio“ taisyklių būtinybę, komunikacijos klaidų pasekmes ir atsakomybės pasidalijimą tarp sistemų.

  • Svarbiausia nustatyti, kuris proceso vaizdas yra privalomas ir kurioje architektūros vietoje jis taikomas.
  • Duomenis reikia suskirstyti į stebėsenos, apskaitos ir sukeliančius vykdomąsias arba formalias pasekmes.
  • PLC, tarpinės programinės įrangos, brokerio ar įvykių pasirinkimas lemia atsakomybę už eiliškumą ir istoriją.
  • Rizika didėja, kai skirtingų tipų duomenys perduodami tuo pačiu kanalu, nenustačius taisyklių dėl praradimo, dubliavimo ir vėlavimų.
  • Neturint bendro laiko, identifikatorių ir proceso būsenų modelio, atsiranda skirtingos tikrovės versijos.

Duomenų sinchronizavimas tarp gamybos cecho ir verslo sistemų dažnai apibūdinamas kaip integracijos problema, tačiau praktikoje tai pirmiausia yra sprendimas, kuris proceso vaizdas bus laikomas oficialiu. Nuo šio sprendimo priklauso ne tik informacijos mainų sklandumas, bet ir tai, kaip bus apskaitoma gamyba, ar bus galima atkurti operacijų eigą, kokia bus planavimo kokybė ir kaip pasiskirstys atsakomybė paleidus sprendimą. Jei šis pagrindas apibrėžiamas pernelyg bendrais bruožais, komunikacija techniniu požiūriu gali veikti tinkamai, tačiau projektas vis tiek generuos rankines korekcijas, interpretavimo ginčus ir brangiai kainuojančius perdarymus.

Todėl šį klausimą verta valdyti kaip inžinerinę užduotį. Pirmiausia reikia nustatyti, kurie duomenys turi tik stebėsenos reikšmę, kurie naudojami apskaitai ir patvirtinimams, o kurie sukelia vykdomąjį arba formalų poveikį. Tik tada galima prasmingai kalbėti apie architektūrą, sistemų atsakomybes ir priėmimo kriterijus.

Duomenų sinchronizavimas tarp gamybos cecho ir verslo sistemų jau seniai nebėra patogumo klausimas. Šiandien tai architektūrinis sprendimas, turintis įtakos diegimo kaštams, galimybei apskaityti gamybą, planavimo kokybei ir atsakomybės apimčiai paleidus sistemą. Jei duomenys iš mašinų, linijų ir darbo vietų į verslo sistemas patenka pavėluotai, be aiškaus technologinio konteksto arba nevaldant proceso versijų, problema nesibaigia vien ribotu matomumu. Komanda praranda galimybę pagrįsti operacinius sprendimus, tampa sunkiau paaiškinti kokybės nuokrypius, o kiekvienas pokytis gamybos pusėje didina brangių integracijos perdarymų riziką.

Dažniausia sunkumų priežastis yra ne pats duomenų nuskaitymas, o neatsakytas klausimas, kuri proceso būsena ir kuriame architektūros taške turi būti laikoma galiojančia. Tuo momentu sinchronizavimas nustoja būti paprastu signalų perdavimu į ERP, baigtinių elementų metodą, WMS ar duomenų saugyklą ir tampa duomenų mainų modelio pramoniniame projekte dalimi. Pasirinkimas tarp tiesioginės komunikacijos su PLC, tarpinio sluoksnio, pranešimų brokerio ar įvykiais grįsto požiūrio nėra vien techninis pasirinkimas. Tai sprendimas, kas atsako už įvykių seką, įrašų pilnumą, ryšio praradimo valdymą ir istorijos atkūrimą.

Praktikoje jau projekto pradžioje verta taikyti paprastus vertinimo kriterijus:

  • ar kiekvienam svarbiam gamybiniam įvykiui galima nurodyti jo šaltinį ir atsiradimo momentą,
  • ar aišku, kas atsako už konkretaus įrašo reikšmę,
  • ar apibrėžta taisyklė, pagal kurią informacija verslo sistemose laikoma galiojančia,
  • ar aprašytos pranešimo nebuvimo, dubliavimo arba vėlavimo pasekmės.

Jei į šiuos klausimus nėra vienareikšmių atsakymų, projektas dar nėra priėjęs prie tikrojo architektūrinio sprendimo, net jei komunikacija techniniu požiūriu jau veikia.

Ypač aiškiai tai matyti ten, kur gamyba turi būti apskaitoma partijos, užsakymo, serijinio numerio arba operacijos eigos lygmeniu. Darbo vietoje atliktas nuskaitymas, ciklo patvirtinimas iš PLC ir įrašas verslo sistemoje gali būti susiję su tuo pačiu gaminiu, tačiau be bendro laiko, identifikatorių ir proceso būsenų modelio jie sukurs tris skirtingas tikrovės versijas. Tuomet iš pažiūros nedidelė integracijos problema pereina į gaminio ir proceso atsekamumo sritį. Kalbama ne vien apie istorijos atkūrimą po reklamacijos. Kalbama apie kasdienius sprendimus: ar galima išleisti partiją, ar galima uždaryti užsakymą, ar nuokrypis kyla iš proceso, iš klaidingos įvykių sekos, ar iš pavėluoto sinchronizavimo.

Atitikties aspektas išryškėja vėliau, tačiau jo nereikėtų atidėti pabaigai. Jei duomenys iš cecho naudojami operacijų atlikimui patvirtinti, tolesniam srautui blokuoti, medžiagai išleisti arba veiksmams, turintiems organizacinį ar techninį poveikį, inicijuoti, sinchronizavimo architektūra įgauna įrodomąją reikšmę ir daro įtaką saugai. Tai ypač aiškiai matyti ten, kur informacija nustoja vien aprašyti mašinos būseną ir pradeda veikti veiksmų seką, parengties patvirtinimą arba kitų žingsnių atblokavimą. Todėl jau koncepcijos etape verta atskirti stebėsenos duomenis nuo duomenų, turinčių vykdomąjį poveikį, ir nustatyti, kurie įrašai turi būti tik prieinami, o kurie turi būti pilni, nuoseklūs ir atkuriami audito poreikiams. Būtent šis skirstymas tiksliausiai parodo, ar kalbame apie įprastą integraciją, ar apie kritinį duomenų mainų modelį gamybai ir verslui.

Kur dažniausiai auga kaštai arba rizika

Duomenų sinchronizavimo projektų kaštai retai didėja dėl pačios komunikacijos. Dažniausiai problema prasideda nuo prielaidos, kad visus duomenis galima traktuoti vienodai ir perduoti tuo pačiu kanalu, užtikrinant tą patį patikimumo lygį ir taikant tą patį atsakomybių pasidalijimą. Jei viename sraute susimaišo ataskaitiniai signalai, operacijų atlikimo patvirtinimai, medžiagos išleidimai ir informacija, daranti įtaką tolesnei proceso eigai, komanda greitai praranda kontrolę tiek dėl gedimų pasekmių, tiek dėl to, kas atsako už klaidą.

Pasekmė nėra vien didesnis techninis sudėtingumas. Atsiranda ilgesni derinimai, taisymai po paleidimo ir ginčai, ar klaida yra automatikos, aukštesnio lygmens sistemos, operatoriaus, ar procedūros pusėje. Todėl pagrindinis projektavimo klausimas turėtų būti ne „kaip perduoti duomenis“, o „kokias pasekmes sukelia jų praradimas, dubliavimas arba neatitikimas“. Jeigu kiekvienam informacijos tipui galima nurodyti savininką, privalomos būsenos šaltinį, leistiną vėlavimą ir klaidos pasekmę, architektūra paprastai išlieka valdoma. Jeigu ne, rizika sugrįš priėmimo ir eksploatavimo etape.

Antroji rizikos sritis – neteisingas atsakomybių paskirstymas tarp sistemų. Daugelis integracijų schemoje atrodo teisingai, tačiau nuvilia tada, kai po linijos sustojimo, neteisingai užregistruotos gamybos ar netinkamai paimto recepto reikia atkurti įvykių eigą. Jeigu proceso logika paskirstoma tarp valdiklio, tarpinės programos, gamybos vykdymo sistemos ir verslo sistemos be aiškaus sprendimų atskyrimo, sprendimą tampa sunku testuoti, o priimti – dar sunkiau. Bet koks pakeitimas vienoje pusėje pradeda sukelti pasekmes kitoje, o atsakomybė už validavimą išsisklaido.

Geroji praktika todėl nėra maksimaliai sujungti viską su viskuo, o apriboti vietų, kuriose priimamas vykdomąjį poveikį turintis sprendimas, skaičių. Tai svarbiau nei nominalus sąsajos prieinamumas. Eksploatacijoje kur kas daugiau pasako pranešimų, kuriems reikia rankinės korekcijos, dalis, neapibrėžtų būsenų skaičius ir laikas, reikalingas nustatyti neatitikimo tarp cecho ir verslo sistemos priežastį.

Geras pavyzdys – gamybos operacijos užbaigimo patvirtinimas pagal įvykį iš mašinos, kuris tuo pačiu metu atnaujina užsakymo įvykdymą ir atblokuoja kitą etapą verslo sistemoje. Jeigu perdavimas bus pakartotas, pavėluos arba nutrūks per vidurį, pasekmė gali būti dvigubas gamybos apskaitymas, visiško partijos atsekamumo stoka arba tolesnių organizacinių veiksmų paleidimas, nors operacija iš tikrųjų nebuvo užbaigta. Tuomet sąnaudos kyla ne dėl pavienės techninės klaidos, o dėl būtinybės rankiniu būdu atkurti būseną, suderinti duomenis ir pagrįsti įrašų teisingumą audito ar pretenzijos metu. Jeigu komanda iš anksto negali aprašyti, kas turi įvykti, kai pranešimas nepasiekia gavėjo, pasiekia du kartus arba ateina pavėluotai, architektūra yra nebrandži, nepriklausomai nuo naudojamos programinės įrangos.

Kai kuriuose projektuose ši problema persikelia dar toliau – į HMI/SCADA programų kibernetinį saugumą. Taip nutinka tada, kai sinchronizavimo kanalas tampa duomenų, darančių įtaką receptūroms, parametrams, blokavimams ar parengties patvirtinimams, įvedimo keliu. Tuomet svarbu jau ne vien integracijos kokybė, bet ir galimybė neteisėtai pakeisti proceso būseną, atskaitomybės praradimas bei klaidingas operaciją inicijavusio naudotojo ar sistemos identifikavimas. Jeigu sinchronizuojami duomenys pradeda veikti mašinos funkcijas, paleidimo seką ar saugaus sustabdymo sąlygas, pati integracija nustoja būti vien IT užduotimi ir reikalauja bendro rizikos vertinimo. Kuo didesnį vykdomąjį poveikį turi duomenys, tuo mažiau vietos lieka spėlionėms, nedokumentuotoms išimtims ir laikiniems apėjimams.

Kaip prie to prieiti praktiškai

Saugiausia duomenų sinchronizavimą vertinti ne kaip pavienį ryšį tarp sistemų, o kaip architektūrinį sprendimą, turintį operacinių ir finansinių pasekmių. Brangiausios klaidos dažniausiai kyla iš prielaidos, kad „gamybos duomenys“ yra vienarūšiai ir juos galima aptarnauti vienu mechanizmu. Tačiau einamajai mašinos būsenai, gamybos užsakymui ir partijos istorijai, aliarmams ar perstatymams keliami skirtingi reikalavimai.

Pirmasis žingsnis todėl turėtų būti trijų klausimų atskyrimas: kas turi būti sinchronizuojama, su kokiu leistinu vėlavimu ir kokią pasekmę sukels klaida, įrašo nebuvimas arba jo dubliavimas. Toks suskirstymas sutvarko tolesnius sprendimus. Jeigu vėlavimas ar nenuoseklumas daro įtaką tik ataskaitoms, galima taikyti modelį, atsparų trumpalaikiams išsiderinimams. Tačiau jeigu tai veikia partijos išleidimą, žaliavos apskaitymą, operacijos įvykdymo patvirtinimą ar operatoriaus sprendimą, reikia aukštesnio kontrolės, atskaitomybės ir išimtinių situacijų valdymo lygio. Tik tada ryšio mechanizmo pasirinkimas įgauna realią prasmę.

Kitas žingsnis – dar prieš diegimo pradžią apibrėžti atsakomybės ribas. Reikia nustatyti, kuris šaltinis yra pagrindinis užsakymų, receptūrų, partijų, operatorių ir gamybos įvykių identifikatoriams, kur patvirtinamas duomenų priėmimas ir kas sprendžia konfliktus. Be to sistemos pradeda derintis atsitiktinai: tam pačiam produktui priskiriamos skirtingos laiko žymos, dvi sistemos tą pačią prastovą skaičiuoja skirtingai, o rankinės korekcijos nepalieka sprendimo pėdsako. Tokio požiūrio kaina iš karto neatsiranda integracijos biudžete. Ji sugrįžta vėliau kaip diagnostikai skirtas laikas, audito sunkumai ir ginčai dėl to, kuri programa pateikia privalomą būseną.

Geras sprendimo brandos matas yra tai, ar kiekvienam kritiniam duomenų objektui galima nurodyti vieną jo sukūrimo vietą, vienareikšmį identifikatorių, versijavimo taisyklę ir korekcijos tvarką. Jeigu tokių atsakymų neįmanoma trumpai ir aiškiai užrašyti, projektas greičiausiai vis dar yra prielaidų etape.

Praktikoje tai gerai matyti iš užsakymo įvykdymo ir medžiagų sunaudojimo ataskaitų. Jei verslo sistema tikisi patvirtinimo po kiekvienos operacijos, o cechas perduoda tik suvestinį rezultatą pamainos pabaigoje, formaliai duomenys yra sinchronizuoti, tačiau veiklos požiūriu atsiranda spraga. Nebeįmanoma patikimai atkurti įvykių sekos, priskirti nuokrypių konkrečiai partijai ar paaiškinti, iš kur atsirado likučių skirtumas. Tokioje situacijoje sinchronizavimas pereina į produkto ir proceso atsekamumo sritį. Jei tikslas yra vėliau nustatyti neatitikties priežastis, atšaukti partiją, analizuoti reklamaciją arba pagrįsti kokybės sprendimą, reikia projektuoti ne tik pranešimų perdavimą, bet ir visą atsekamumo grandinę: kas sugeneravo įvykį, pagal kokį medžiagos identifikatorių, kokiame operacijos kontekste ir ar įrašą galima susieti su konkrečia proceso būsena.

Tik turint tokį pagrindą prasminga spręsti, ar sprendimas turėtų būti grindžiamas tarpine sluoksnio architektūra, ar tiesioginiu apsikeitimu su valdymo įrenginiais. Neįmanoma patikimai atsakyti į klausimą, ką rinktis – MQTT, OPC UA ar tiesioginę komunikaciją su PLC – prieš tai nenustačius, ar prioritetas yra būsenos nuskaitymas, komandos perdavimas, įvykių istorijos išsaugojimas ar duomenų reikšmės nuoseklumo tarp sistemų palaikymas. Čia gali padėti medžiagoje pramoninės automatikos komunikacijos protokolai aprašytų metodų palyginimas. Jei informacija turi įrodomąją ar apskaitinę reikšmę arba daro įtaką gaminio išleidimui, neužtenka vien to, kad ji būtų perduota. Ji dar turi būti patikrinama, atkuriama ir pagrindžiama.

Šioje vietoje atsiranda ir rizikos vertinimas, tačiau ne kaip abstraktus formalus etapas. Kalbama apie praktinį neteisingo sinchronizavimo pasekmių procesui, kokybei ir šalių atsakomybei nustatymą. Kai sinchronizuota informacija pradeda sukelti vykdomąsias arba formalias pasekmes, verta į ją žiūrėti taip pat, kaip į kitus sprendimus pramoninėje aplinkoje: aprašant klaidų scenarijus, nurodant sprendimo savininką, neatitikties nustatymo būdą ir saugaus perėjimo prie darbo, kai duomenimis pasitikima ribotai, procedūrą. Tokį mąstymą gerai palaiko praktinis rizikos vertinimas.

Į ką atkreipti dėmesį diegimo metu

Diegimo etape daugiausia problemų kyla ne dėl pačios komunikacijos, o dėl klaidingos prielaidos, kad jei duomenys yra techniškai prieinami, jie iš karto tinka naudoti veiklos, apskaitos ar kokybės tikslais. Būtent tada projektas dažniausiai pakeičia pobūdį: iš informacinės integracijos tampa mechanizmu, darančiu įtaką planavimui, partijos išleidimui, įvykdymo ataskaitoms ar gamybos apskaitai. Jei komanda to aiškiai neįvardys prieš paleidimą, vėliau kaina sugrįš apeinamųjų sprendimų, rankinių korekcijų ir ginčų dėl to, kuri reikšmė yra teisinga, pavidalu.

Todėl prieš priėmimą būtina vienareikšmiškai nurodyti, kurie duomenys turi tik informacinę reikšmę, kurie inicijuoja verslo sprendimą, o kurie gali sukelti vykdomąsias ar formalias pasekmes. Kuo didesnė pasekmės svarba, tuo aukštesni reikalavimai keliami atsekamumui, duomenų galiojimo laikui, vėlavimų valdymui ir atsakomybei už koregavimą. Toks paprastas atskyrimas paprastai padeda sutvarkyti ir architektūrą, ir bandymų apimtį.

Antroji spąstų vieta susijusi su riba tarp integracijos projekto ir automatikos projekto. Klausimas apie sinchronizavimą gana greitai pereina į klausimą apie komunikacijos protokolus pramoninėje automatikoje, tačiau tik tada, kai diegimo sėkmė priklauso nuo to, kaip duomenys gaunami iš įrenginių, kokia yra laiko žymų kokybė, kokia kintamųjų reikšmė, kaip patvirtinamas pristatymas arba kaip sistema elgiasi praradus ryšį. Tuomet tai jau nebėra pagalbinis techninis pasirinkimas. Sprendimas, ar naudoti tarpinį sluoksnį, ar komunikuoti arčiau valdiklių, keičia bandymų apimtį, integratoriaus atsakomybę ir proceso sustojimo riziką neteisingo įgyvendinimo atveju.

Čia padeda vienas kriterijus: jei reikia derinti, iš kur atsirado reikšmė, kada ji buvo nustatyta ir ar tai yra būsena, įvykis, ar skaičiavimo rezultatas, tema jau pateko į duomenų mainų modelio, o ne paprasto sistemų sujungimo sritį. Tokį momentą verta atpažinti anksti, nes nuo jo priklauso ir loginis projektas, ir priėmimo vykdymo būdas.

Tai gerai parodo užsakymo įvykdymo informacijos sinchronizavimas iš kelių gamybos lizdų į verslo sistemą. Demonstravimo etape viskas gali atrodyti teisingai: nuskaitymai matomi ir atsinaujina be klaidų. Problema išryškėja atnaujinus gamybą po prastovos, operatoriui įsikišus rankiniu būdu arba pakeitus partiją iki galo neužbaigus ankstesnio ciklo. Tada paaiškėja, ar architektūra atskiria duomenų nebuvimą nuo nulio, naują įrašą nuo korekcijos, o esamą būseną – nuo istorinės informacijos. Jei ne, verslo sistema pradeda dubliuoti įvykdymą, prarasti partijos kontekstą arba registruoti gamybą netinkamu momentu. Tai nėra smulkus techninis netikslumas, o reali diegimo kaina: papildomi priėmimo bandymai, susiejimo logikos perprojektavimas, duomenų derinimas tarp gamybos ir planavimo, o kartais ir sumažėjęs pasitikėjimas valdymo ataskaitomis.

Ypatingo atsargumo reikia tuo momentu, kai integracija pradeda daryti įtaką mašinos darbo sąlygoms arba tampa priklausoma nuo jos aplinkoje įrengtos infrastruktūros. Jeigu papildomai įrengti ryšio įrenginiai, spintos, pagalbinis maitinimas ar potencialų išlyginimo jungtys keičia instaliacijos įrengimo būdą, daro įtaką grandinių suskirstymui arba verčia kištis į mašinos įrangą, tai būtina įvertinti ir elektros saugos, ir techninės dokumentacijos požiūriu. Čia kalbama ne apie formalumus, o apie tinkamą atsakomybės atskyrimą: kas dar tebėra duomenų integracijos dalis, o kas jau tampa mašinos sprendinio pakeitimu ir reikalauja atskiro vertinimo. Jeigu diegimui reikia kištis į maitinimo sistemas, ekranavimą, įžeminimą ar grandines, svarbias mašinos veikimui, klausimas peržengia taikomosios programos lygmenį ir turi būti sprendžiamas dalyvaujant už automatiką, elektros ūkį ir atitiktį atsakingiems specialistams. Tokiame kontekste gali būti naudingas straipsnis apie apsaugą nuo elektros smūgio ir mašinų įžeminimą.

Protingiausi diegimai paprastai būna techniškai ne tokie įspūdingi, tačiau geriau riboja atsakomybės riziką. Komanda turi gebėti atsakyti ne tik į klausimą, kaip teka duomenys, bet ir kas nutinka jiems dingus, vėluojant, esant prieštaringiems arba atšaukus korekciją. Jeigu toks atsakymas netelpa į sprendimo aprašą, projektas lieka neužbaigtas, net jeigu ryšys bandymų sąlygomis veikia tinkamai. Praktinę architektūros kokybę lemia ne nominalus srautas, o elgsena ribinėmis sąlygomis, kurios vėliau nulemia priežiūros sąnaudas, priėmimo laiką ir galimybę pagrįsti priimtus sprendimus. Daugeliu atvejų tokią būklę verta patikrinti atliekant mašinų ir gamybos linijų saugos auditą.

Duomenų sinchronizavimas tarp gamybos cecho ir verslo sistemų – DUK

Pirmiausia reikia nustatyti, kurie duomenys yra stebėsenos, kurie skirti atsiskaitymams ir patvirtinimams, o kurie sukelia vykdomuosius arba formalius padarinius. To nepadarius, duomenų perdavimas gali veikti techniškai taisyklingai, tačiau vis tiek lemti koregavimus ir aiškinimo ginčus.

Svarbiausia yra tai, kuri proceso būsena laikoma galiojančia ir kur architektūroje priimamas šis sprendimas. Nuo to priklauso gamybos apskaita, istorijos atkūrimas ir atsakomybė paleidus sprendimą.

Dažniausiai taip nutinka tada, kai skirtingų tipų informacija traktuojama vienodai ir perduodama tuo pačiu kanalu, neatskiriant klaidos pasekmių. Problema taip pat gali būti neaiškus atsakomybės pasidalijimas tarp PLC, tarpinio sluoksnio, baigtinių elementų metodo ir verslo sistemos.

Verta patikrinti, ar kiekvienam svarbiam įvykiui galima nurodyti jo šaltinį ir atsiradimo momentą, įrašo reikšmės savininką bei taisyklę, pagal kurią informacija pripažįstama galiojančia. Taip pat reikia aprašyti pranešimo nebuvimo, dubliavimo ir vėlavimo pasekmes.

Tada, kai cecho duomenys ne tik apibūdina būseną, bet ir patvirtina operacijos atlikimą, blokuoja tolesnį srautą, atlaisvina medžiagą arba inicijuoja tolesnius veiksmus. Tokiu atveju architektūra turi įrodomąją reikšmę ir gali daryti įtaką saugai.

Dalintis: LinkedIn Facebook