Module logice personalizate pentru HomeServer

Recent am întâmpinat o problemă destul de spinoasă referitoare la modul în care pot fi constituite arhivele pentru afişarea diagramelor anumitor semnale analogice folosind interfaţa QuadClient a lui HomeServer. Astfel de diagrame sunt destul de utile în ceea ce priveşte urmărirea consumurile energetice, a temperaturii exterioare, a vitezei vântului şi aşa mai departe.

Modul logic personalizat în limbaj PhytonQuadClient oferă posibilitatea afişării grafice a unui set de valori memorate în prealabil pe intervale de timp de 1 oră, 1 zi, 1 săptămână, 1 lună şi 1 an. Desigur este de aşteptat ca granulaţia iniţială a arhivării datelor, pentru diagrama de 1 oră, să fie destul de mică, de exemplu citirea valorilor semnalelor în fiecare minut. Cu 60 de valori se poate construi un grafic destul de frumos. Cu toate acestea a folosi o singură arhivă de date pentru toate diagramele devine prohibitiv atât din punctul de vedere al utilizării memoriei cât şi al vitezei de calcul la afişarea diagramei. Gândiţi-vă câte minute se regăsesc într-o presupusă arhivă pe un an întreg – în jurul a 400000.

Soluţia elegantă folosită de QuadClient este accesarea unor arhive diferite pentru intervale de timp diferite. Crearea unei arhive nu este o problemă grea de rezolvat în HomeServer, cu toate acestea eşantionarea datelor la intervale foarte mari de timp scade relevanţa informaţiilor şi implicit a diagramei respective.

Să luăm exemplul puterii electrice consumate. Dacă eşantioanele pentru graficul de 1 an sunt luate la fiecare 8000 de minute, este foarte posibil ca momentul eşantionării să cadă la orele dimineţii, foarte devreme, când consumul electric este foarte mic. O astfel de valoare nu are nici un fel de relevanţă pentru consumul real realizat în cele 8000 de minute care s-au scurs.

Soluţia care se întrevede cu uşurinţă este calcularea unor valori medii ale semnalelor între perioadele de eşantionare şi plasarea lor în arhive diferite, nefolosind mai mult de 300 de valori memorate pentru un singur semnal de afişat.

Modulele logice existente la ora aceasta în HomeServer nu oferă o cale uşoară de a realiza acest lucru şi prin urmare am pornit pe calea mai dificilă de a scrie un modul logic suplimentar. Acest lucru a fost realizat  în decurs de două săptămâni care au implicat anumite studii precum limbajul de programare Phyton şi a reprezentat un succes şi o un nou nivel, mai profund, de utilizare a HomeServer. Am putea spune că dacă înainte prin sintagma “HomeServer poate realiza orice” înţelegeam că poate realiza foarte multe acum putem spune că suntem capabili să realizăm la modul literal orice cu această maşină deosebită.

Folosirea modulului în sistemul de logică


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *