Grafana+Zabbix: Vizualizacija delovanja proizvodne linije

V tem članku želim deliti svoje izkušnje z uporabo odprtokodnih sistemov Zabbix in Grafana za vizualizacijo delovanja proizvodnih linij. Informacije so lahko koristne za tiste, ki iščejo hiter način za vizualni prikaz ali analizo zbranih podatkov v projektih industrijske avtomatizacije ali IoT. Članek ni podrobna vadnica, temveč koncept za nadzorni sistem, ki temelji na odprtokodni programski opremi za proizvodni obrat.

Orodje

Zabbix – že dalj časa ga uporabljamo za spremljanje informacijske infrastrukture obrata. Sistem se je izkazal za tako priročnega in univerzalnega, da smo vanj začeli vnašati podatke iz proizvodnih linij, senzorjev in krmilnikov. To nam je omogočilo zbiranje vseh metričnih podatkov na enem mestu, izdelavo enostavnih grafov porabe virov in zmogljivosti opreme, vendar nam je res manjkalo analitike in lepih grafov.

grafana je močno orodje za analitiko in vizualizacijo podatkov. Veliko število vtičnikov omogoča zajemanje podatkov iz različnih virov (zabbix, clickhouse, influxDB), njihovo sprotno obdelavo (izračun povprečne vrednosti, vsote, razlike itd.) in risanje najrazličnejših grafov (iz preprostih črt, merilniki hitrosti, tabele do kompleksnih diagramov ).

Draw.io – storitev, ki omogoča risanje od preprostega blokovnega diagrama do tlorisa v spletnem urejevalniku. Obstaja veliko že pripravljenih predlog in narisanih predmetov. Podatke je mogoče izvoziti v vse glavne grafične formate ali xml.

Vse skupaj

O tem, kako namestiti in konfigurirati Grafana in Zabbix, je napisanih veliko člankov, povedal vam bom o glavnih točkah konfiguracije.

Na strežniku Zabbix se ustvari "omrežno vozlišče" (gostitelj), ki bo lastnik "podatkovnih elementov" (predmetov) z meritvami iz naših senzorjev. Imena vozlišč in podatkovnih elementov je priporočljivo premisliti vnaprej in jih narediti čim bolj strukturirane, saj bomo do njih dostopali iz grafane prek regularnih izrazov. Ta pristop je priročen, ker lahko z eno zahtevo pridobite podatke iz skupine elementov.

Za konfiguracijo grafane boste morali namestiti dodatne vtičnike:

  • Zabbix avtor Alexander Zobnin (alexanderzobnin-zabbix-app) – integracija z zabbix
  • natel-discrete-panel – vtičnik za diskretno vizualizacijo na horizontalnem grafu
  • pierosavi-imageit-panel – vtičnik za prikaz podatkov na vrhu vaše slike
  • agenty-flowcharting-panel – vtičnik za dinamično vizualizacijo diagrama iz draw.io

Sama integracija z Zabbixom je konfigurirana v grafani, v meniju ConfigurationData sourcesZabbix. Tam morate določiti naslov strežnika api zabbix, to je tisto, kar imam http://zabbix.local/zabbix/api_jsonrpc.phpin se za dostop prijavite z geslom. Če je vse narejeno pravilno, bo ob shranjevanju nastavitev prikazano sporočilo s številko različice api: zabbix API različica: 5.0.1

Ustvarjanje nadzorne plošče

Tu se začne čar Grafana in njegovih vtičnikov.

Vtičnik Natel-discrete-panel
Imamo podatke o stanju motorjev na linijah (deluje = 1, ne deluje = 0). Z uporabo diskretnega grafa lahko narišemo lestvico, ki bo prikazovala: stanje motorja, koliko minut/ur ali % je deloval in kako pogosto je bil zagnan.

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Vizualizacija stanja motorja

Po mojem mnenju je to eden najboljših grafov za vizualizacijo delovanja strojne opreme. Takoj lahko vidite, kako dolgo je bil v mirovanju in v katerih načinih deluje pogosteje. Podatkov je lahko veliko, možno jih je združiti po obsegih, preoblikovati po vrednostih (če je vrednost »1«, jo prikaži kot »ON«)

Vtičnik pierosavi-imageit-panel

Imageit je priročen za uporabo, ko že imate narisan diagram ali tloris, na katerega želite uporabiti podatke senzorjev. V nastavitvah vizualizacije morate podati URL do slike in dodati senzorske elemente, ki jih potrebujete. Element se prikaže na sliki in ga z miško postavimo na želeno mesto.

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Diagram peči z meritvami temperature in tlaka

Vtičnik plošče za diagrame poteka agencije

Rad bi podrobneje spregovoril o ustvarjanju vizualizacije FlowCharting, saj je to neverjetno funkcionalno orodje. Omogoča vam, da naredite dinamični mnemonični diagram, katerega elementi se bodo odzvali na vrednosti meritev (spremenili barvo, položaj, ime itd.).

Prejemanje podatkov

Ustvarjanje katerega koli vizualizacijskega elementa v Grafani se začne z zahtevo po podatkih iz vira, v našem primeru je to zabbix. S pomočjo poizvedb moramo pridobiti vse metrike, ki jih želimo uporabiti v diagramu. Podrobnosti metrike so imena podatkovnih elementov v Zabbixu; določite lahko posamezno metriko ali niz, filtriran skozi regularni izraz. V mojem primeru polje Postavka vsebuje izraz: »/(^vrstica 1)|(razpoložljivost)|(bučke)/« - to pomeni: izberite vse meritve, katerih ime se začne strogo z »vrstica 1« ali vsebuje besedo »razpoložljivost ” ali vsebuje besedo "zucchini"

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Primer nastavitve zahteve za podatke o motorjih prve linije in razpoložljivosti surovin

Pretvorba podatkov

Izvorni podatki morda niso vedno v obliki, v kateri jih moramo prikazati. Na primer, imamo podatke iz minute v minuto o masi izdelka v posodi (kg), hitrost polnjenja pa moramo prikazati v t/uro. To naredim na naslednji način: vzamem podatke o teži in jih transformiram s funkcijo grafana delta, ki izračuna razliko med metričnimi vrednostmi, tako da se trenutna teža spremeni v kg/min. Nato pomnožim z 0.06, da dobim rezultat v tonah/uro. Ker se metrika teže uporablja v več poizvedbah, sem določil nov vzdevek zanjo (setAlias) in jo bom uporabil v pravilu za vizualizacijo.

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Primer uporabe parametra delta in množitelja ter preimenovanja metrike v poizvedbi

Tu je še en primer pretvorbe podatkov: moral sem prešteti število serij (začetek cikla = zagon motorja). Metrika se izračuna na podlagi statusa motorja "linija 1 - črpalka črpalke iz rezervoarja 1 (stanje)". Transformacija: podatke originalne metrike spremenimo z delta funkcijo (razlika vrednosti), tako da bo imela metrika vrednost “+1” za zagon motorja, “-1” za zaustavitev in “0” ko motor zažene ne spremeni svojega statusa. Nato odstranim vse vrednosti manjše od 1 in jih seštejem. Rezultat je število zagonov motorja.

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Primer pretvorbe podatkov iz trenutnega stanja v število zagonov

Zdaj pa o sami vizualizaciji

V nastavitvah zaslona je gumb »Uredi risanje«; zažene urejevalnik, v katerem lahko narišete diagram. Vsak predmet na diagramu ima svoje parametre. Na primer, če v urejevalniku določite nastavitve pisave, bodo te uporabljene za vizualizacijo podatkov v Grafani.

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Tako je videti urejevalnik v Draw.io

Ko shranite diagram, se bo pojavil v grafani in lahko ustvarite pravila za spreminjanje elementov.

V parametrih() določimo:

  • Možnosti—nastavite ime pravila, ime ali vzdevek metrike, katere podatki bodo uporabljeni (Uporabi za metrike). Vrsta združevanja podatkov (Aggregation) vpliva na končni rezultat metrike, tako Last pomeni, da bo izbrana zadnja vrednost, avg je povprečna vrednost za izbrano obdobje v zgornjem desnem kotu.
  • Pragovi - parameter mejnih vrednosti opisuje logiko uporabe barve, to pomeni, da bo izbrana barva uporabljena za elemente na diagramu glede na metrične podatke. V mojem primeru, če je vrednost metrike »0«, je stanje »V redu«, bo barva zelena, če je vrednost »>1«, bo stanje Kritično in barva bo rdeča.
  • Preslikave barv/namigov orodja" in "Preslikave nalepk/besedila" - izbira elementa sheme in scenarija za njegovo vedenje. V prvem scenariju bo predmet prebarvan, v drugem pa bo na njem besedilo s podatki iz metrike. Če želite izbrati predmet na diagramu, morate klikniti znak vezja in klikniti na diagram.

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
V tem primeru črpalko in njeno puščico pobarvam rdeče, če deluje, in zeleno, če ne deluje.

Z uporabo vtičnika za diagrame poteka sem lahko narisal diagram celotne črte, na katerem:

  1. barva enot se spreminja glede na njihov status
  2. obstaja alarm za odsotnost proizvoda v posodah
  3. se prikaže nastavitev frekvence motorja
  4. prva hitrost polnjenja/izpusta rezervoarja
  5. izračuna se število ciklov delovanja linije (serija).

Grafana+Zabbix: Vizualizacija delovanja proizvodne linije
Vizualizacija delovanja proizvodne linije

Rezultat

Najtežje mi je bilo pridobivanje podatkov od kontrolorjev. Zahvaljujoč vsestranskosti Zabbixa v smislu sprejemanja podatkov in prilagodljivosti Grafane zaradi vtičnikov je trajalo le nekaj dni, da smo ustvarili celovit zaslon za spremljanje proizvodne linije. Vizualizacija je omogočala ogled grafov in statistik stanja ter enostaven dostop prek spleta vsem zainteresiranim – vse to je omogočalo hitro prepoznavanje ozkih grl in neučinkovite uporabe enot.

Zaključek

Kombinacija Zabbix+Grafana mi je bila zelo všeč in priporočam, da ste pozorni nanjo, če morate hitro obdelati podatke iz krmilnikov ali senzorjev brez programiranja ali implementacije kompleksnih komercialnih izdelkov. Seveda to ne bo nadomestilo profesionalnih SCADA sistemov, bo pa zadostovalo kot orodje za centraliziran nadzor celotne proizvodnje.

Vir: www.habr.com

Dodaj komentar