Dekódování binární stav regulátorů domácí automatizace – zdarma zdrojový kód

Domácí automatizace , Správa budov eHouse – Dekódování stav mikroprocesorových regulátorů
Domácí automatizace obdržel ovládacím panelem připojeným k LAN nebo WiFi , přes UDP (User Datagram Protocol) .
Standardní rám stav příjmu v binární formě , s Regulátory byla diskutována v článku ” Inteligentní budovy eHouse regulátor status balení ” .
Dekódování rám musí analyzovat každý kousek dat z balení .
Kromě , každý typ regulátoru:

  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager

Mají rozdíl ve výši digitálních vstupů , měřicí vstupy , digitální výstupy , stmívače , monitorovací funkce a algoritmy, které jsou výsledkem , že data v základovém rámu mutovat v závislosti na typu regulátoru .
To má za následek, že je třeba k dekódování bit po bitu pro každý typ regulátoru samostatně .
V případě provádění všech typů mikroprocesorové regulátory k vytvoření a testování rámu dekódování algoritmus může trvat až 1 měsíc .
Aby se toto čas na minimum , usnadnit připravena předložit algoritmus půjčili si od eHouse . exe aplikace , automaticky dekódovat všechny informace z regulátoru a načíst data do šablony záznamů dotykovém panelu (pro tablety) Windows XP , Průhled , 7 , 8 .
Po automaticky načítání dat do knihovny eHouse software , s několika řádků kódu , si můžete vytvořit svůj vlastní řídicí algoritmy eHouse systém během několika minut .
Binární Rám dekódovací software normy eHouse stavu je realizován v šabloně knihovny do panelu . Je třeba provést binární , pro přímé stavu dekódování z ethernetových řadičů bez eHouse . Exe aplikace dohled .
Dekódování celý rám (pro mikroprocesorové regulátory eHouse1 RM , EM , HM) se provádí funkce řízení set_rm (str: array_of_char ; TCP_INDEX_INC: integer) ;
parametry jsou funkce vyrovnávací paměti stavu a přechod (offset) . Pufr obsahuje všechny přijaté data z stavu . Posun závisí na typu přenosu (rozšířený adresa , normální , a další budoucí aplikace závislé na komunikačních algoritmů) .
To automaticky vyplní pole stavu pro každý regulátor samostatně a pak může přímo manipulovat s daty nebo aktualizovat data automaticky na panelech dotykovou obrazovkou .
Tato funkce se aktivuje v události postupu přijímat data z UDP komponenty zásuvky (TNMUDP – tzv. binární) v případě, onDataReceived .
Příjem je následující:
Postup TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Integer ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] ze dne char ;
MyStream: TMemoryStream ;
začít
pokud filesystem_status ukončete ; / / Pokud není souborový systém filesystem_status
MyStream: = TMemoryStream . Vytvořit ; / / Vytvoření proud dat
dvojitý . ReadStream (MyStream) ; / / Přečtěte si datový tok
MyStream . Přečtěte si (C [0] , NumberBytes) ; / / Načte vyrovnávací C
set_rm (C , 1) ; / / Převede binární data a zatížení registry rm [index] pro regulátory eHouse 1
Test_save ; / / Test zaznamenat výstup do textového souboru pro snadné ovládání
update_panel ; / / Load data na ovládacím panelu
konec ;
To vám umožní automaticky a bez – invazivní sběr dat přes LAN nebo Wi – Fi s příbalovým vysílání přes UDP (User Datagram Protocol) .
Co víc nevyžaduje otevřené připojení k serveru pouze naslouchá na portu vysílání ‘ 6789 ‘ výchozí nebo jiné .
Chyby odkaz , Síť , routery nemají mít za následek pozastavení nebo předměty softwarových chyb (jako v případě komunikace s TCP server) , ale zmizí jen aktualizovat data bez ovlivnění dat nebo vhodný serveru UDP klientská aplikace .

VAROVÁNÍ! . Pokud vytvoříte ovládací software na Windows pro automatizaci Home eHouse , je nutno provádět všechny algoritmy v jedné aplikaci , která analyzuje data a provádí všechny algoritmy a vizualizovat je . Pozorovali jsme někdy, že 2 UDP posluchač zásuvka nemůže existovat na stejném PC .
Nejdůležitější proměnné v knihovně binární:
boiler_alarm: Boolean = false ; / / Kotel alarm alarm naprogramované teploty nad
/ / Více – teplotní alarm kotel
bonfire_stat: integer ; / / Bonfire topení úroveň 0 – 7 pro binární režim – zaměstnanecký status požáru
/ / 0 – vypálit – neohřívá
/ / 1 – Oheň na / hašení => ; ; zelená hladina < ; ; temp bunda (zelená LED bliká) – vyprší bliká zeleně
/ / 2 – Oheň na => ; ; zelená úroveň> ; ; = Temp bunda> ; ; žlutá úroveň – histeressis (zelená LED) – zelený
/ / 3 – Oheň na => ; ; žlutá úroveň – histeressis> ; ; temp bunda> ; ; histeressis úroveň + žlutá) (zelená + žlutá LED) – zelený – žlutý
/ / 4 – Oheň na => ; ; žlutá úroveň + histeressis> ; ; temp bunda> ; ; red úroveň – histeressis (žlutá) – žlutý
/ / 5 – bezpodmínečná => ; ; red úroveň – histeressis < ; ; temp bunda < ; ; histeressis úroveň + červená (červená + žlutá LED) žlutá – červený
/ / 6 – bezpodmínečná => ; ; temp bunda> ; ; histeressis úroveň + červená (červená LED konstantní) – červený
/ / 7 – bezpodmínečná => ; ; temp bunda> ; ; táborák alarm (červená LED bliká) ALARM – červená bliká
bonfire_sensor_error: Boolean = false ; / / Error čidla táborák příliš mnoho různých vodních snímače teploty pláště mezi dvěma
/ / Error krbové snímače teploty pláště příliš velký rozdíl
recuperator_status: string ; / / Stav rekuperací , větrání , ohřev vzduchu – rekuperátoru a ventilace status
recu_winter: Boolean = false ; / / Rekuperátor zimní / letní výměník režim zapnout / vypnout – rekuperátoru zimní / letní
recu_manual_amalva: boolean = true ; / / Rekuperátor auto / manuální režim pro amalva rekuperátoru (auto řídí vnitřní Elektronickou amalva , manuál k eHouse HeatManager) / /
rekuperátoru amalva manuální / auto
went_cooler: boolean = true ; / / Vodní chladič zapnutí / vypnutí pro větrání nebo nižší v zotavení systému rekuperace nebo GWC ON / OFF
went_gwc: Boolean = false ; / / GHE (zemní výměník tepla) Servomotor on / off – zemní výměník tepla motoru zapnuto / vypnuto
went_aux_gwc_fan: Boolean = false ; / / Pomocná GWC ventilátor / fan on / off vypínač pro výměník tepla v půdě – GWC nápomocen fan
bonfire_dgp: Boolean = false ; / / Bonfire horký systém distribuce vzduchu aktivována / deaktivována – Fan distribuce horkého vzduchu od krbové DGP
ventilation_on: Boolean = false ; / / Větrání je v současné době pracuje pro zapnutí / vypnutí – patří větrání a rekuperace odpadního tepla
heater_pump: boolean = true ; / / Čerpadlo pro topení pro větrání pro zapnutí / vypnutí – čerpadlo topení a větrání okruh pro radiátory
three_ways_cutoff: integer = 0 ; / / Tři způsoby, jak cutoff směr 0 vypnuto , Zvýšení úrovně 1 , – Snížení hladiny 1) směr otáčení elektro – cestný ventil
solar_pump: Boolean = false ; / / Solární čerpadlo zapnuto / vypnuto – solární čerpadlo
boiler_on: Boolean = false ; / / Kotel povolen / zakázán – kotel zapnout / vypnout
boiler_pump: Boolean = false ; / / Stav čerpadla kotle zapnutí / vypnutí – čerpadlo kotle on / off
boiler_fuel_out: Boolean = false ; / / Kotel z pohonných hmot Přibližné (Počet hodin ohřevu) – odhadované nedostatek pohonných hmot pro kotle na tuhá paliva (počítáno na základě hodin provozu kotle)
boiler_power_on: Boolean = false ; / / Kotle supplay zapnutí / vypnutí ; – Kotel zapnutí / vypnutí
boiler_fuel_supply_override: Boolean = false ; / / Override supplyier paliva kotle (ovládání eHouse / vnitřní kotel regulátoru) – Parent řízený palivový systém dodávání eHouse on / off
bonfire_pump: Boolean = false ; / / Bonfire čerpadlo stav zap / vyp – požární čerpadlo zapnuto / vypnuto
recu_speed: integer = 0 ; / / Rekuperátor Speeed 0 . . 3 – rekuperátoru rychlost
recu_temperature: integer ; / / Teplotní úroveň reçu 0 . . 30C teplotní rekuperátor pro amalwa
_recu_mode: string = ‘ ‘ ; / / Rekuperace režim v textu jak to HeatManager ovládacího panelu (eHouse . exe) – rekuperátoru režim jako aplikační ovládacího panelu eHouse HeatMAnagerem . exe
šel: string ; / / Text ventilace status jako Ovládací panel HeatManager (eHouse . exe) – větrání stav stejný jako v HeatManager panelu eHouse . exe
kotel , solární: string ; / / Kotle , Solární znění HeatManager status jako Ovládacích panelech (eHouse . exe) – stav kotle a solární panel ovládání (HeatManager) eHouse . exe
Komi: string ; / / Text táborák status jako Ovládací panel HeatManager (eHouse . exe) – stav jako protipožárním ovládacím panelu aplikace eHouse HeatManager . exe
Kontrolní světla