Dekódovanie binárny stav regulátorov domácej automatizácie – zadarmo zdrojový kód

Domáce automatizácie , Správa budov eHouse – Dekódovanie stav mikroprocesorových regulátorov
Domáce automatizácie dostal ovládacím panelom pripojeným k LAN alebo WiFi , cez UDP (User Datagram Protocol) .
Štandardné rám stav príjmu v binárnej forme , s Radiče bola diskutovaná v článku ” Inteligentné budovy eHouse regulátor status balenia ” .
Dekódovanie rám musí analyzovať každý kúsok dát z balenia .
Navyše , každý typ regulátora:

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

Majú rozdiel vo výške digitálnych vstupov , meracie vstupy , digitálne výstupy , stmievača , monitorovacie funkcie a algoritmy, ktoré sú výsledkom , že dáta v základovom ráme mutovať v závislosti od typu regulátora .
To má za následok, že je potrebné na dekódovanie bit po bitu pre každý typ regulátora samostatne .
V prípade realizácie všetkých typov mikroprocesorové regulátory na vytvorenie a testovanie rámu dekódovanie algoritmus môže trvať až 1 mesiac .
Aby sa toto čas na minimum , uľahčiť pripravená predložiť algoritmus požičali si od eHouse . exe aplikácie , automaticky dekódovať všetky informácie z regulátora a načítať dáta do šablóny záznamov dotykovom paneli (pre tablety) Windows XP , Výhľad , 7 , 8 .
Po automaticky načítanie dát do knižnice eHouse softvér , s niekoľkými riadkov kódu , si môžete vytvoriť svoj vlastný riadiaci algoritmy eHouse systém v priebehu niekoľkých minút .
Binárne Rám dekódovací softvér normy eHouse stavu je realizovaný v šablóne knižnice do panelu . Je potrebné vykonať binárny , pre priame stavu dekódovanie z ethernetových radičov bez eHouse . Exe aplikácie dohľad .
Dekódovanie celý rám (pre mikroprocesorové regulátory eHouse1 RM , EM , HM) sa vykonáva funkcie riadenia set_rm (str: array_of_char ; TCP_INDEX_INC: integer) ;
parametre sú funkcie vyrovnávacej pamäte stavu a prechod (offset) . Pufer obsahuje všetky prijaté dáta z stavu . Posun závisí od typu prenosu (rozšírený adresa , normálne , a ďalšie budúce aplikácie závislé na komunikačných algoritmov) .
To automaticky vyplní polia stavu pre každý regulátor samostatne a potom môže priamo manipulovať s dátami alebo aktualizovať dáta automaticky na paneloch dotykovou obrazovkou .
Táto funkcia sa aktivuje v udalosti postupu prijímať dáta z UDP komponenty zásuvky (TNMUDP – tzv binárne) v prípade, onDataReceived .
Príjem je nasledovné:
Postup TForm1 . binaryDataReceived (Sender: TComponent ;
NumberBytes: Integer ; FromIP: String ; Port: Integer) ;
var C: array [0 . . 1024] z char ;
MyStream: TMemoryStream ;
začať
ak filesystem_status ukončite ; / / Ak nie je súborový systém filesystem_status
MyStream: = TMemoryStream . Vytvárať ; / / Vytvorenie prúd dát
binárny . ReadStream (MyStream) ; / / Prečítajte si dátový tok
MyStream . Prečítajte si (C [0] , NumberBytes) ; / / Načíta vyrovnávacia C
set_rm (C , 1) ; / / Prevedie binárne dáta a zaťaženie registre rm [index] pre regulátory eHouse 1
Test_save ; / / Test zaznamenať výstup do textového súboru pre jednoduché ovládanie
update_panel ; / / Load dáta na ovládacom paneli
koniec ;
To vám umožní automaticky a bez – invazívne zber dát cez LAN alebo Wi – Fi s príbalovým vysielania cez UDP (User Datagram Protocol) .
Čo viac nevyžaduje otvorené pripojenie k serveru len načúva na porte vysielanie ‘ 6789 ‘ predvolený alebo iné .
Chyby odkaz , Sieť , routery nemajú mať za následok pozastavenie alebo predmety softvérových chýb (ako v prípade komunikácie s TCP server) , ale zmizne len aktualizovať dáta bez ovplyvnenia dát alebo vhodný serveru UDP klientská aplikácia .

VAROVANIE! . Ak vytvoríte ovládací softvér na Windows pre automatizáciu Home eHouse , je nutné vykonávať všetky algoritmy v jednej aplikácii , ktorá analyzuje dáta a vykonáva všetky algoritmy a vizualizovať je . Pozorovali sme niekedy, že 2 UDP poslucháč zásuvka nemôže existovať na rovnakom PC .
Najdôležitejšie premenné v knižnici binárne:
boiler_alarm: Boolean = false ; / / Kotol alarm alarm naprogramované teploty nad
/ / Viac – teplotný alarm kotol
bonfire_stat: integer ; / / Bonfire kúrenie úroveň 0 – 7 pre binárne režim – zamestnanecký status požiaru
/ / 0 – vypáliť – neohrieva
/ / 1 – Oheň na / hasenie => ; ; zelená hladina < ; ; temp bunda (zelená LED bliká) – vyprší bliká zelene
/ / 2 – Oheň na => ; ; zelená úroveň> ; ; = Temp bunda> ; ; žltá úroveň – histeressis (zelená LED) – zelený
/ / 3 – Oheň na => ; ; žltá úroveň – histeressis> ; ; temp bunda> ; ; histeressis úroveň + žltá) (zelená + žltá LED) – zelený – žltý
/ / 4 – Oheň na => ; ; žltá úroveň + histeressis> ; ; temp bunda> ; ; red úroveň – histeressis (žltá) – žltý
/ / 5 – bezpodmienečná => ; ; red úroveň – histeressis < ; ; temp bunda < ; ; histeressis úroveň + červená (červená + žltá LED) žltá – červený
/ / 6 – bezpodmienečná => ; ; temp bunda> ; ; histeressis úroveň + červená (červená LED konštantný) – červený
/ / 7 – bezpodmienečná => ; ; temp bunda> ; ; táborák alarm (červená LED bliká) ALARM – červená bliká
bonfire_sensor_error: Boolean = false ; / / Error snímače táborák príliš veľa rôznych vodných snímača teploty plášťa medzi dvoma
/ / Error krbovej snímače teploty plášťa príliš veľký rozdiel
recuperator_status: string ; / / Stav rekuperáciou , ventilácia , ohrev vzduchu – rekuperátora a ventilácia status
recu_winter: Boolean = false ; / / Rekuperátor zimné / letné výmenník režim zapnúť / vypnúť – rekuperátora zimné / letné
recu_manual_amalva: boolean = true ; / / Rekuperátor auto / manuálny režim pre amalva rekuperátora (auto riadi vnútorné Elektronickou amalva , manuál k eHouse HeatManager) / /
rekuperátora amalva manuálne / auto
went_cooler: boolean = true ; / / Vodné chladič zapnutie / vypnutie pre vetranie alebo nižšie v obnovenie systému rekuperácie alebo GWC ON / OFF
went_gwc: Boolean = false ; / / GHE (zemný výmenník tepla) Servomotor on / off – zemný výmenník tepla motora zapnuté / vypnuté
went_aux_gwc_fan: Boolean = false ; / / Pomocná GWC ventilátor / fan on / off vypínač pre výmenník tepla v pôde – GWC pomáha fan
bonfire_dgp: Boolean = false ; / / Bonfire horúci systém distribúcie vzduchu aktivovaná / deaktivovaná – Fan distribúcie horúceho vzduchu od krbovej DGP
ventilation_on: Boolean = false ; / / Vetranie je v súčasnej dobe pracuje pre zapnutie / vypnutie – patrí vetranie a rekuperácia odpadového tepla
heater_pump: boolean = true ; / / Čerpadlo pre kúrenie pre vetranie pre zapnutie / vypnutie – čerpadlo kúrenia a vetrania okruh pre radiátory
three_ways_cutoff: integer = 0 ; / / Tri spôsoby, ako cutoff smer 0 vypnuté , Zvýšenie úrovne 1 , – Zníženie hladiny 1) smer otáčania elektro – cestný ventil
solar_pump: Boolean = false ; / / Solárne čerpadlo zapnuté / vypnuté – solárne čerpadlo
boiler_on: Boolean = false ; / / Kotol povolený / zakázaný – kotol zapnúť / vypnúť
boiler_pump: Boolean = false ; / / Stav čerpadla kotla zapnutie / vypnutie – čerpadlo kotla on / off
boiler_fuel_out: Boolean = false ; / / Kotol z pohonných hmôt Približné (Počet hodín ohrevu) – odhadované nedostatok pohonných hmôt pre kotly na tuhé palivá (počítané na základe hodín prevádzky kotla)
boiler_power_on: Boolean = false ; / / Kotly supplay zapnutie / vypnutie ; – Kotol zapnutie / vypnutie
boiler_fuel_supply_override: Boolean = false ; / / Override supplyier paliva kotla (ovládanie eHouse / vnútorný kotol regulátora) – Parent riadený palivový systém dodávky eHouse on / off
bonfire_pump: Boolean = false ; / / Bonfire čerpadlo stav zap / vyp – požiarne čerpadlo zapnuté / vypnuté
recu_speed: integer = 0 ; / / Rekuperátor Speeed 0 . . 3 – rekuperátora rýchlosť
recu_temperature: integer ; / / Teplotná úroveň reçu 0 . . 30C teplotné rekuperátor pre amalwa
_recu_mode: string = ‘ ‘ ; / / Rekuperácia režim v texte ako to HeatManager ovládacieho panela (eHouse . exe) – rekuperátora režim ako aplikačný ovládacieho panelu eHouse HeatManager . exe
šiel: string ; / / Text ventilácie status ako Ovládací panel HeatManager (eHouse . exe) – vetranie stav rovnaký ako v HeatManager paneli eHouse . exe
kotol , solárne: string ; / / Kotly , Solárne znení HeatManager status ako Ovládacích paneloch (eHouse . exe) – stav kotla a solárny panel ovládania (HeatManager) eHouse . exe
Komi: string ; / / Text táborák status ako Ovládací panel HeatManager (eHouse . exe) – stav ako protipožiarnom ovládacom paneli aplikácie eHouse HeatManager . exe
Kontrolné svetlá