Do It Yourself
eHouse.Im
Home Automation Building Management System
eHouse.PRO - ro

Home Automation Building Management System - Decodarea statutul binar de drivere de origine inteligentă - codul sursă


Decodarea statutul binar de drivere de origine inteligentă - codul sursă

smart Home , Clădire inteligent eHouse - Decodarea statutul de controlere microprocesor Pagina de automatizare, Clădire de automatizare primite de panourile de control care lucrează pe LAN sau WiFi, UDP ( User Datagram Protocol ). Statutul standard de receptie cadru în formă binară, cu controlere microprocesor Decodarea cadrul necesită analiza fiecare bit de date de la separată. în plus, fiecare tip de conducător auto :
  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager
Ea are o diferență în sumă de intrări digitale, măsurare, ieșiri digitale, variatoare, monitorizarea caracteristici și algoritmi care cauza, că mutate într-un cadru standard, în funcție de tipul de conducător auto .

Acest lucru necesită bitul de decodare de biți pentru fiecare tip de controlor independent. În cazul punerii în aplicare a tuturor tipurilor de controlere microprocesor pentru a crea și testa un algoritm de decodificare cadrul poate dura până la 1 lună .

Pentru a reduce la minimum timpul, pentru a facilita gata să prezinte un algoritm imprumutat de la o eHouse cerere. exe, permițând decodarea automată a tuturor informațiilor de driver și de încărcare a datelor în șablonul înregistrează ecranul tactil ( pentru PAD ) Windows XP, perspectivă, 7, 8. După încărcarea automat datele în bibliotecile software-ul eHouse, cu ajutorul câtorva linii de cod puteți crea dvs. algoritmi de control proprii de funcționare eHouse .

În standard, panourile de software șablon ar trebui să facă în bibliotecă " binar ", care este o decodare plin cadru a unui statut binar .

Decodarea întregului cadru ( pentru controlorii de microprocesor eHouse1 RM, EM, HM ) este realizat prin funcția Procedura de set_rm ( p : matrice de char ; TCP_INDEX_INC : întreg ) ; Parametrii functiei sunt starea tampon și schimbare ( offset). Buffer conține toate datele primite de lastarea .
Compensate depinde de tipul de transmisie ( adresa extinse, normal, și alte aplicații viitoare dependente de algoritmi și comunicare ) .

Acesta populează automat starea matrice pentru fiecare conducător auto individual și apoi poate manipula direct datele sau automat actualizarea datelor pe ecran, panouri atingere .

Această funcție este activată în cadrul procedurii de primirea datelor de laUDP component ( TNMUDP - numit binar ) în cazul onDataReceived .

Recepția este următoarea :


Procedura de TForm1. binaryDataReceived ( Sender : TComponent ;
NumberBytes : Integer ;
FromIP : String ;
Port : Integer ) ;
var C : array [ 0. . 1024 ] de char ;
Mystree : TMemoryStream ;

începe
dacă filesystem_status atunci ieșire ; // Dacă nu de către filesystem_status sistemul de fișiere
Mystree : = TMemoryStream. crea ; // Creează un flux de date
binar. ReadStream ( Mystree ) ; // Citeste fluxul de date
Mystree. Citește ( C [ 0 ], NumberBytes ) ; // Loturile în tampon C
set_rm ( C, 1 ) ; // Procese date binare și încarcă registrele rm [ index ] pentru șoferi eHouse 1
Test_save ; // Înregistrare test de ieșire într-un fișier text pentru ușurința de operare
update_panel ; // Se încarcă date pentru panoul de control
sfârșit ;

Permite automată și non - Date de primire invazive prin LAN sau WiFi folosind emisiuni UDP pachete ( User Datagram Protocol ) .
Ce mai mult nu are nevoie de conectarea la server și ascultă doar pe difuzare portul ' 6789 ' implicit sau alte .

erori link, rețea, routere nu va duce la o suspensie de software sau erori nedeterminat ( ca în cazul comunicării cu serverele TCP ), dar dispare actualiza doar datele fără a afecta datele serverului sau aplicații client trimiterea UDP .

NOTĂ !!. Când creați software-ul de control pe un eHouse sistem Windows pentru servere, este necesar să se pună în aplicare toate algoritmi într-un singur cerere, care analizează datele și îndeplinește toate algoritmi, și -l vizualizează .

Variabile semnificative în binar bibliotecă :

boiler_alarm : boolean = false ; // Alarmă cazan temperatura programată de mai sus

// Depășit cazan de temperatură de alarmă
bonfire_stat : întreg ; // Foc nivel de încălzire 0 - 7 pentru modul binar - starea de funcționare a semineului
// 0 - foc off - nu încălzește
// 1 - Foc pe / stingere = > Green Level < sacou temp ( LED verde intermitent ) - aprovizionare clipește verde
// 2 - focul asupra = > Green Level > = Sacou temp > nivelul galben - histeressis ( LED verde ) - verde
// 3 - focul asupra = > nivelul galben - histeressis > Sacou Temp > Nivelul galben + histeressis ) ( verde + galben LED-uri ) - verde - galben
// 4 - focul asupra = > Nivelul galben + histeressis > Sacou Temp > nivel roșu - histeressis ( galben ) - galben
// 5 - necondiționat = > nivel roșu - histeressis < Sacou Temp < Nivelul Roșu + histeressis ( roșu + LED-uri galbene ) de culoare galbenă - roșu
// 6 - necondiționat = > Sacou Temp > Nivelul Roșu + histeressis ( LED roșu constant ) - roșu
// 7 - necondiționat = > Sacou Temp > alarma foc ( LED roșu intermitent ) ALARM - intermitent roșu

bonfire_sensor_error : boolean = false ; // Senzori foc de tabara eroare prea multă manta diferit apă temperatură între doi senzori
// Eroare cămin manta senzori de temperatură diferență prea mare
recuperator_status : string ; // Statutul de recuperare, ventilație, încălzirea aerului - starea derecuperatorul și ventilație
recu_winter : boolean = false ; // Recuperator de iarnă / vară mod schimbător de căldură activat / dezactivat - recuperator de iarnă / vară
recu_manual_amalva : boolean = true ; // Recuperator auto / modul manual pentru rezerva recuperator ( auto Ne rezervăm gestionat de controler intern, manual de eHouse HeatManager ) // Ne rezervăm manual recuperator / auto
went_cooler : boolean = true ; // Cooler de apă on / off pentru ventilație sau de răcire sistem de recuperare de recuperare sau GHE ON / OFF
went_gwc : boolean = false ; // GWC ( schimbător de căldură sol ) servo motor pornit / oprit - sol schimbător de căldură actuator on / off
went_aux_gwc_fan : boolean = false ; // Auxiliar GWC ventilator / ventilator pornit / oprit pentru schimbător de căldură sol - ventilator asistat GWC
bonfire_dgp : boolean = false ; // Sistem de distribuție a aerului cald foc activat / dezactivat - Distribuția Fan de aer cald de la DGP șemineu
ventilation_on : boolean = false ; // Ventilație lucrează în prezent on / off - includerea ventilație și recuperare de căldură
heater_pump : boolean = true ; // Pompa pentru sisteme de încălzire de ventilație on / off - pompă de încălzire ventilație circuit sau de incalzire
three_ways_cutoff : întreg = 0 ; // Trei moduri de tăiere direcție 0 off, 1 nivel Creșterea, - 1 nivel Scăderea ) direcția de rotație a electro - supapă fel
solar_pump : boolean = false ; // Pompa solar on / off - pompă colector solar
boiler_on : boolean = false ; // Cazan activat / dezactivat - cazan on / off
boiler_pump : boolean = false ; // Pompa cazan on / off statutul - pompă cazan on / off
boiler_fuel_out : boolean = false ; // Cazan din aproximate combustibil ( Numar de ore de încălzire ) - lipsa estimată de combustibil pentru cazane combustibil solid ( calculat pe baza de ore de funcționare a cazanului )
boiler_power_on : boolean = false ; // Putere cazan supplay on / off ; - Cazan pornire / oprire
boiler_fuel_supply_override : boolean = false ; // Supplyier combustibil cazan supracontrol ( control de către controlor eHouse / cazan intern ) - Controlul major al sistemului de alimentare cu combustibil eHouse on / off
bonfire_pump : boolean = false ; // Pompa foc de tabara on / off statutul - pompa de incendiu pornit / oprit

recu_speed : întreg = 0 ; // Recuperator speeed 0. . 3 - recuperator de viteză
recu_temperature : întreg ; // Nivel de temperatură de Recu 0. . 30C recuperator de temperatură pentru amalva
_recu_mode : string = ; // Modul recuperare în textul acesta HeatManager panoul de control ( eHouse. exe) - Modul recuperator ca panoul de control în cererea HeatManager eHouse. exe
Fan : string ; // Statutul de ventilație sub formă de text pe panoul de comandă HeatManager ( eHouse. exe) - Starea ventilație identic cu eHouse panoul HeatManager. exe
pisică, sola : string ; // cazan, Starea de text Solar ca el Panou de control HeatManager ( eHouse. exe) - starea de panoul centralei și colector solar pentru a controla HeatManager eHouse. exe
Komi : string ; // Statutul de text foc în timp ce panoul de control HeatManager ( eHouse. exe) - Starea șemineului ca în panoul de control în cererea HeatManager eHouse. exe

Decodarea statutul binar de drivere de origine inteligentă - codul sursă

eHouse - Inteligentny Dom, Inteligentny Budynek