Tiedolla johtamista sulautetun järjestelmän avulla | Julkaisut @SeAMK

Tiedolla johtamista sulautetun järjestelmän avulla

#

Johdanto

Dataa voidaan kerätä laajasti eri lähteistä ja kohteista, mutta tärkeintä on keskittyä oikean datan keräämiseen ja sen tehokkaaseen hyödyntämiseen.

Pilottiyrityksessä pyrittiin mahdollistamaan datan keruu laserleikkauskoneesta, jotta voitaisiin tehostaa toiminnan kehittämistä ja vähentää manuaalista kirjanpitoa Excelissä. Erilaisia teknologioita tutkittiin, jotta löydettäisiin kustannustehokas tapa datan keräämiseen. Oman Tee-Se-Itse -mallisen järjestelmän ja sovelluksen rakentamisen myötä, Raspberry Pi:n avulla voidaan tulevaisuudessa helposti jatkokehittää yrityksen datankeruujärjestelmää. Pilottia varten suunniteltiin neljä erilaista datankeruuvaihtoehtoa, jotka soveltuvat Raspberry Pi:n kaltaisten yhden piirilevyn laitteiden käyttöön.

Dataa sensoreista

Raspberry Pi:n kaltaisilla yhden piirilevyn tietokoneilla voidaan hyödyntää monenlaisia sensoreita datan keräämiseen. Pilottiyrityksen tuotantolaitteen majakkavalo ilmoittaa laitteen eri vaiheista. Kuten kuvassa 1. esitetään, majakkavalon punainen ja keltainen väri kertoo laserleikkuuprosessin olevan käynnissä. Keltainen valo yksinään ilmaisee, että laite on valmiustilassa ja valmiina leikkaamaan. Valojen sammuessa laite on joko päällä tai pois päältä.


Kuva 1. Majakkavalo (kuva: Saku Kaarlejärvi).

Laserleikkurin majakkavalosta saadaan kaksi varmaa dataa: leikkaustila ja valmiustila. Tämä tuo haasteita ON/OFF -tilojen mittaamiseen, sillä niitä ei voida kerätä ulkoisesti valo- tai kamerasensoreiden avulla käyttäen OpenCV:n konenäkökirjastoa. Raspberry Pi:n on päästävä laserkoneen sisälle datan keräämiseksi. Laserkoneen relekaavioita tutkittiin ja suunnitelma, kuten kuvassa 2. esitetään, luotiin Raspberry Pi:n ja laserkoneen yhdistämiseksi.

Kuva 2. Pilotti suunnitelma.

Laserkoneeseen asennettiin välireleitä, joilla kytkentöjä voidaan haaroittaa Raspberry Pi:lle. Tämän haaroituksen avulla estetään 24 voltin jännitteen pääsy Raspberry Pi -laitteelle, välttäen laitteen vaurioituminen ja tulipaloriski. Haaroituksen ansiosta 3.3 voltin virta ohjataan Raspberry Pi:stä kolmelle välireleelle, jotka on kytketty GPIO-pinnien sekä laserleikkurin majakka- ja käynnistysvaloihin.

Sovelluksen suunnittelu ja rakentaminen

Sovelluksen kehittämistä varten tutkittiin laserleikkurin majakkavalon relelogiikkaa. Laserleikkurin prosessin ja releiden LED-valojen seuraamisen kautta havaittiin, että releiden logiikka toimii tietyssä järjestyksessä: punainen valo ei voi palaa ilman keltaista, eikä molemmat voi palaa ellei laite ole päällä.

Kolme kytkintä kytkettiin Raspberry Pi:n GPIO-pinnien kautta, jotta voitaisiin simuloida tutkittua laserkoneen relelogiikkaa. Sovelluksessa määritettiin, että pinni 23 mittaa koneen käynnissäoloa, pinni 24 odotustilaa ja pinni 25 leikkaustyötä. Prototyypin testauksessa käytettiin kytkimiä, jotka vievät läpi 3.3 voltin jännitteen GPIO –pinneille signaloivan datan kulkua. Kuvassa 3. on esillä kytkimet ja Raspberry Pi -laite. Tällä tavalla luotiin pienikokoinen simuloitu skenaario relelogiikasta, joka kerää dataa kytkimien aktivoinnista. Ohjelmaan lisättiin logiikkaa datankeräysprosessista, määritellen minne data viedään ja miten sitä käsitellään.


Kuva 3. Raspberry Pi demolaite (kuva: Saku Kaarlejärvi).

Laserleikkurin relelogiikan selvittämisen jälkeen prototyypillä voidaan simuloida relelogiikkaa ja aloittaa sovelluksen kehittäminen. Haasteena oli luoda sovelluksesta varma ja stabiili. Sovellukseen lisättiin varmistimia “entä jos” -tilanteisiin, esimerkiksi jos laserkone on päällä mutta Raspberry Pi ei ole käynnistynyt, varmistetaan, että sovellus ei kaadu ja pystyy aloittamaan tiedonkeruun sen hetkisestä laitteen “majakan” tilassa. Tarkemmat asennusvaiheet, sovelluksen toiminnan yksityiskohdat ja vaadittavien ohjelmien listaus löytyvät SeAMKedu GitHub -julkaisusta (SeAMKedu, i.a.-a).

Avoimen lähteen tietokanta

Tietokannaksi valitsimme avoimen lähteen MariaDB-tietokannan, joka voidaan asentaa pilottiyrityksen omalle tietokoneelle itsehallinnon mahdollistamiseksi. Ulkoisten palveluiden, kuten Microsoft Azuren käyttöä ei pidetty tarpeellisena, koska ne olisivat tuoneet lisäkustannuksia pilotille. MariaDB valittiin myös sen yhteensopivuuden takia Raspberry Pi -laitteen kanssa ja tietokantaan voidaan ottaa yhteyttä Power BI raportointityökalulla ODBC-sovelluksen avulla. Pilottiyritykseen lokaalisti rakennettuun tietokantaan voidaan tulevaisuudessa lisätä lisää taulukoita, johon voidaan kerätä eri laitteiden dataa.

Datan visualisointi Power BI:llä

Power BI:llä rakennettu interaktiivinen raportti mahdollistaa tuotantolaitteen luomien muutosten reaaliaikaisen seurannan. Pilotissa luodussa esimerkkiraportissa voidaan seurata tuotantolaitteen neljän eri tilan kestoa sekuntitarkkuudella. Raportissa esiintyvät pylväskaaviot kuvaavat neljän leikkaustilan kestoja sekuntitarkkuudella, jotka ovat muunnettuna tunneiksi, minuuteiksi ja sekunneiksi DAX –laskukaavojen avulla. Pylväskaavion data on helposti rajattavissa päivä-, viikko- tai kuukausitasolla. Raportissa korostetaan myös laserleikkurin On- ja Off-tilojen eroja, kokonaisleikkausaikaa ja koneen päälläoloaikaa, mikä auttaa tuotannon tehokkuuden seuraamisessa ja kokonaisaktiivisuuden arvioinnissa.

Kuva 4. Power BI näkymä kerätystä datasta.

Raportin haastavimpia osia oli rajata pylväät korkeintaan 24 tunnin pituisiksi. Pilotin aikana huomattiin, että viikonloppujen yli kerätty OFF-tilan data kasaantui 48 tunnin ajalta maanantaille, vääristäen datan esitystä. Onneksi samankaltaiseen ongelmaan oli törmätty aiemmin ja ratkaisuksi löytyi Power Queryn M-koodin muokkaus (Microsoft Fabric Community, i.a.).

Kuvassa 5. näytetään M-koodiin tehtyjä muutoksia foorumin ohjeiden mukaan, jotka rajoittavat datan 24 tuntiin per päivä.


Kuva 5. Power Query Editor.

Kuvassa 6. esitetään esimerkki tästä rajauksesta pylväskaaviossa. Raspberry Pi keräsi dataa usean päivän ajalta ja tämä data esitetään oikein kaaviossa ilman, että se luo epätodellisen suuria pylväitä viimeiselle mittauspäivälle. Esimerkki raportti on ladattavissa ja löytyy SeAMKedu –GitHub käyttäjätilin repositorista (SeAMKedu, i.a.-b)

Kuva 6. Pylväskaavio.

Johtopäätökset

Pilotissa tavoitteena oli saada tarkkaa dataa tuotantolaitteesta omaan tietokantaan, jotta voitaisiin kehittää pilottiyrityksen tuotannonohjausta. Yksinkertaisuudessaan data kerättiin tuotantolaitteen kolmesta kytkimestä, jonka Raspberry Pi -laite prosessoi. Kerätty data, joka sisältää ajastettua aikaa, lähetettiin lokaaliin MariaDB-tietokantaan tai tallennettiin sulautetun järjestelmän kansioon JSON-tiedostomuotoon varmuuskopioksi. Pilotissa tutkittiin erilaisia datan keräämisen vaihtoehtoja. Todettiin, että pelkästään kuvassa 1. olevan laitteen “majakan” kuvaamisella ei saatu riittävästi haluttua tietoa. Raspberry Pi ei voitu liittää suoraan tuotantolaitteeseen GPIO-pinnien kautta, joten jouduttiin asentamaan relekytkimiä, jotka rajoittavat jännitteen määrän Raspberry Pille siedettävään 3.3 voltin jännitteeseen. Laite kytkettynä ja sovellus kehitettynä mahdollisti tarkan datan keräämisen suoraan laitteesta GPIO-pinnien avulla. Kerätyn datan käsittelyssä ja analysoinnissa käytettiin Power BI Desktop -sovellusta. Pilottiyrityksen toiveiden mukaisesti luotiin raportti, joka sisälsi yksinkertaisia visuaalisia esityksiä, kuten graafeja, ja rajaustyökaluja. Näiden avulla voitiin seurata esimerkiksi viikoittain tuotannon edistymistä ja laitteen aktiivisuutta. Tarkempi tieto työstä ja ohjelmasta löytyy Seinäjoen Ammattikorkeakoulun GitHub-sivustolta (SeAMKedu, i.a.-a).

Artikkeli on osa “Datasta ketteryyttä ja uutta liiketoimintaa Etelä-Pohjanmaan pk-yrityksiin (TehoData)” -hanketta, jota toteuttaa Seinäjoen ammattikorkeakoulu (SeAMK, i.a.). Hanke on Euroopan unionin osarahoittama. Haluamme kiittää hankkeen rahoittajaa hankkeen ja tämän artikkelin rahoittamisesta. Hanketta rahoitetaan Euroopan unionin REACT-EU-välineen määrärahoista, jotka ovat osa unionin covid-19-pandemian johdosta toteuttamia toimia.

Saku Kaarlejärvi
asiantuntija, TKI
SeAMK

Lähteet:

Microsoft Fabric Community. (i.a.). Calculate duration on start and end time with overlapping days. https://community.fabric.microsoft.com/t5/Desktop/Calculate-duration-on-start-and-end-time-with-overlapping-days/m-p/400058

SeAMKedu. (i.a.-a) GitHub. Laserleikkurin datan keruu ja visualisointi. https://github.com/SeAMKedu/tehodata-lasercuttingmachine-data-collection

SeAMKedu. (i.a.-b) GitHub. Laserleikkurin datan keruu ja visualisointi. https://github.com/SeAMKedu/tehodata-lasercuttingmachine-data-collection/tree/main/PowerBi_esimerkki

Seinäjoen ammattikorkeakoulu (SeAMK). (i.a).  TehoData-hanke. Seinäjoki: Seinäjoen ammattikorkeakoulu. https://projektit.seamk.fi/tehodata/