EHouse Automation Adeiladu – Creu troshaenau meddalwedd Windows ac algorithmau arfer

Automation Hafan eHouse gyda meddalwedd PC yn caniatáu i chi greu troshaenau ar gyfer system awtomeiddio adeiladu .
Mae hyn yn caniatáu i chi greu eich hun , algorithmau unigol , yn cael eu rhoi ar waith yn firmware neu yrrwr meddalwedd sy'n rheoli cyfresol Automation Hafan eHouse .
I'r perwyl hwn , rydym yn darparu ddefnyddwyr y codau ffynhonnell meddalwedd (yn Delphi 5) . Gellir eu llunio â fersiynau newydd o Delphi neu ei ddefnyddio ar gyfer ieithoedd rhaglennu eraill .
Rydym yn ymwybodol dewis hwn yn fersiynau hynafol gan eu bod eisoes ar gael am ddim ar gyfer rhaglen amatur .
Maent yn gweithio yr un mor ddibynadwy ar Windows XP , Vista , Ffenestri 7 yn 32 a 64 bit .
Mae'r feddalwedd yn cael ei enw eHouseLogAnalizer ac mae'r rhain yn geisiadau logiau templed sy'n darllen ffeiliau testun yn gyfoes .
Gellir ei reoli a'i fonitro gan ceisiadau KillWdt . exe .
Nodweddion allweddol y cais:

  • Darllen y statws a enwau'r holl yrwyr
  • Darllenwch statws a nodwch enwau'r holl yrwyr
  • Darllenwch y mesuriadau a'r enwau'r holl yrwyr mesur mewnbynnau
  • Llwytho holl ddata i'r cof rhaglen fewnol , y gellir eu prosesu ymhellach gan gais

Mae'r cais yn defnyddio statws y ffeiliau a grëwyd i ffeiliau testun mewn cyfeiriadur ‘ logiau / statws / ‘ estyniad ‘ . statws ‘ .
Mae'r ffeil yn cael ei darllen yn unig mewn achos o newidiadau yn y eHouse cais . exe .

Mae rheolwyr data yn cael eu llwytho yn y Cofnodion achosion canlynol ” ehouse_rm_em_hm ” a restrir yn y RM amrywiaeth .

Yn ogystal, , data yn cael eu cadw HeatManager y newidynnau canlynol:
bonfire_status: string ; / / Statws goelcerth gyfer HeatManager – Statws eHouse panel gwresogi lle tân . exe
boiler_status: string ; / / Statws bwyler am EM – statws y eHouse panel boeler gwres . exe
Solar_status: string ; / / Statws system solar – statws panel solar gwresogi eHouse . exe
recuperator_status: string ; / / Statws adferiad , awyru , gwresogi aer – statws awyru gwresogi ac adfer gwres
HADC: array [0 . . 15] o dwbl ; / Tymheredd Gwres / rheolwr – tymheredd mesuriadau HeatManager
/ Mynegeion rheolwr / Gwres ar gyfer mynediad uniongyrchol o amrywiaeth HADC – Mynegeion tymheredd cyson ar gyfer darllen yn uniongyrchol o HeatManager tymheredd
Etholaeth HM_GWC = 3 ; / / GWC – Gyfnewidydd gwres daear
HM_KOM1 = 4 ; / / Lle tân Coat 1 – Siaced dŵr coelcerth 1
HM_KOMKONV = 5 ; / / Lle tân konvekcyjne – goelcerth darfudiad
HM_KOM2 = 6 ; / / Tân PLANE 2 – siaced dŵr coelcerth 2 (wrth gefn)
HM_TWEWN = 7 ; / / Dymheredd ystafell Mewnol – dymheredd ystafell fewnol
HM_SOLAR = 9 ; / Sul Casglwr / – cysawd yr haul
HM_ZEWNPN = 8 ; Tymheredd / / Allanol gogledd – tymheredd allanol gogledd
HM_ZEWNPD = 1 ; Tymheredd / / Allanol y de – tymheredd allanol de
HM_KOC = 10 ; / / Bwyler Tymheredd – tymheredd boeler
HM_BANDOL = 11 ; / / CO / tanc dŵr poeth i lawr – Watter poeth byffer gwaelod
HM_REQIN = 12 ; / / Mewnbwn recuperator mae awyr glân – mewnbwn ymadfer awyr glir
HM_REQOUT = 13 ; / / Allbwn recuperator cartref – awyr gwellhad ergyd ffres heaten i ystafell – tymheredd
HM_NAG = 14 ; / / Tymheredd rheoli 3 – falf ffordd ar gyfer gwresogi ac ar gyfer rheiddiaduron – tymheredd ar ôl tair ffordd cutoff gyfer gwresogydd dŵr neu system wresogi arall
HM_REQWYC = 15 ; / / Home recuperator dyfyniad budr – ymadfer o gartref budr gwacáu dros dro
HM_BANGORA = 2 ; / / Gwresogi / tanc dŵr poeth Gora – dŵr poeth byffer TOP
HM_BANSRO = 0 ; / / Gwresogi / dŵr poeth tanc storio dull o – Byffer dŵr poeth MIDDLE
HADCNames var: array [0 . . 15] o linyn ; / / Mae enwau'r synwyryddion (mesur mewnbynnau) HeatManagera
Swyddogaethau EhouseLogAnalizer Sylfaenol:
init_heat_temperature_names weithdrefn ; / / Ymgychwyn a / neu synwyryddion tymheredd yn darllen enwau'r EM
loadnames_rm weithdrefn ; / Enwau RoomManagerĂłw / Llwyth (eHouse 1)
readethernetdevs weithdrefn ; / / Darllen enwau gyrrwr Ethernet (eHouse 2)
get_index_rm swyddogaeth (str: string): cyfanrif ; / / Ffurflenni mynegai o'r tabl gyda roomManagerami chwilio yn ôl statws enw ffeil
swyddogaeth gb (bedyddiwyd: torgoch): boolean ; / / Ffurflenni a gwerth boolaidd ar gyfer y statws darllen
adc_hm weithdrefn (str: string ; mynegai: cyfanrif) ; / / Trosi y llinyn gyda thymheredd a gofnodwyd o statws darllen y HeatManagera
adc_rm weithdrefn (str: string ; mynegai: cyfanrif) ; / / Trosi gyfres o fesuriadau analog wrth ddarllen y RoomManagerĂłw statws
GBS swyddogaeth (b: boolean): String ; / / Ysgrifennwch boolean ar ffurf testun (0 , 1)
(: String str): swyddogaeth RMDeviceIndexByName cyfanrif ; / / Ffurflenni mynegai o'r tabl gyda RoomManagerami chwilio yn ôl enw gyrrwr
RMGetOutputStateNr swyddogaeth (mynegai: cyfanrif ; OutputNr: cyfanrif): boolean ; / / Dychwelwch y cynnyrch RM wladwriaeth [mynegai] a OutputNR allbwn y nifer
RMGetOutputState swyddogaeth (mynegai: cyfanrif ; OutputName: string): boolean ; / / Ffurflenni allbwn RM wladwriaeth [mynegai] a galwodd allan OutputName
RMGetInputStateNr swyddogaeth (mynegai: cyfanrif ; InputNr: cyfanrif): boolean ; / / Ffurflenni statws y RM mewnbwn [mynegai] a nifer y InputNr mynediad
RMGetInputState swyddogaeth (mynegai: cyfanrif ; InputName: string): boolean ; / / Ffurflenni statws y RM mewnbwn [mynegai] ac enw y InputName mynediad
RMGetTempNr swyddogaeth (mynegai: cyfanrif ; InputNr: cyfanrif): dwbl ; / / Dychwelyd y tymheredd RM [mynegai] a nifer y InputNr mynediad
RMGetTemp swyddogaeth (mynegai: cyfanrif ; InputName: string): dwbl ; / / Dychwelyd y tymheredd RM [mynegai] ac enw y InputName mynediad
Swyddogaeth RMGetInvPercent (mynegai: cyfanrif ; InputName: string): dwbl ; / / Ffurflenni a mesur canran y cefn 100 % – x RM [mynegai] ac enw y InputName mynediad (mewn perthynas â'r cyflenwad foltedd rheolwr)
RMGetInvPercentNr swyddogaeth (mynegai: cyfanrif ; InputNr: cyfanrif): dwbl ; / / Ffurflenni a mesur canran y cefn 100 % – x RM [mynegai] a nifer y InputNr mynediad (mewn perthynas â'r cyflenwad foltedd rheolwr)
Swyddogaeth RMGetPercent (mynegai: cyfanrif ; InputName: string): dwbl ; / / Ffurflenni a mesur canran o RM [mynegai] ac enw y InputName mynediad (mewn perthynas â'r cyflenwad foltedd rheolwr)
RMGetPercentNr swyddogaeth (mynegai: cyfanrif ; InputNr: cyfanrif): dwbl ; / / Ffurflenni a mesur canran y cefn 100 % – x RM [mynegai] ac enw y InputNr mynediad (mewn perthynas â'r cyflenwad foltedd rheolwr)
RMGetDeviceOutputState swyddogaeth (Devname: string ; OutputName: string): boolean ; / / Ffurflenni cyflwr y gyrrwr allbwn o'r enw Devname a galwodd allan OutputName
RMGetDeviceInputState swyddogaeth (Devname: string ; InputName: string): boolean ; / / Ffurflenni statws y mewnbwn gyrrwr enw a enw'r Devname mynediad InputName
HMGetTemp swyddogaeth (InputName: string): dwbl ; / / Dychwelyd nhymheredd y mewnbwn mesur yn galw am HeatManagera InputName
HMGetTempNr swyddogaeth (InputNr: cyfanrif): dwbl ; / / Dychwelyd nhymheredd y rhif mewnbwn mesur ar gyfer HeatManagera InputNr (1 . . 16)
chk_int swyddogaeth (st: string): cyfanrif ; / / Safe i drosi llinyn i cyfanrif
gweithdrefn update_status ; / / Diweddaru statws yr holl yrwyr yn y tabl (rhaid cael ei redeg o bryd i'w gilydd)
Test_save weithdrefn ; / / Test gweithdrefn i ysgrifennu'r canlyniadau i ffeil testun ar gyfer hawdd
Ymgychwyn y gyrrwr a'r holl enwau yn cael eu gwneud unwaith y bydd y cais yn cael ei ddechrau (FormCreate)
weithdrefn TForm1 . FormCreate (Anfonwyd gan: TObject) ;
yn dechrau
llwybr: = getcurrentdir () ; / / Cael rhaid i'r llwybr presennol y rhaglen yn y llyfr % eHouse_DIR % \ BIN \
llwybr: = stringreplace (llwybr , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Cael llwybr eHouse cais – yn gosod y cais eHouse llwybr
loadnames_rm ; Enwau rheolwr / / Llwytho ehouse1 – llwythi enw'r gyrwyr eHouse 1
init_heat_temperature_names ; / Enw Llwytho synwyryddion heatManagera /
readethernetdevs ; / / Llwytho rheolwyr enwau eHouse ethernet – darllen dyfais enwau eHouse 2
timer1 . Egwyl: = 3000 ; / Egwyl cylchol / Set dasg mewn milieiliadau – Gosod yr amser i ddechrau gwirio data cylchol
timer1 . Galluogi: = true ; / / Dechrau tasgau awtomatig (diweddariad statws – yn cynnwys gwirio rheolaidd o ddata
update_status ; / / Darllen y statws 1
diwedd ;
Data gwirio Cylchol yn cael ei wneud gan y swyddogaeth Timer1 (Timer1Timer) yn rhedeg mewn ysbaid o amser a nodir yn y paramedr Timer1 . Interval (mewn milieiliadau) .
weithdrefn TForm1 . Timer1Timer (Anfonwyd gan: TObject) ;
var tf: textfile ;
yn dechrau
update_status ; / / Trosi statws y gyrrwr
Test_save ; / / Ar gyfer profion yn ysgrifennu yr holl ganlyniadau i ffeil destun
ceisiwch / / creu ffeil marciwr ar gyfer y cais KillExec . exe y gellir ei ” gwylio ” cais cyn damwain
AssignFile (tf , llwybr + ‘ logiau \ log – analizer . stp ‘ ) ;
/ / Hysbysu WDT Bod cais gweithio yn gywir gan ddefnyddio stampfile ” mewngofnodi \ log – analizer . stp ”
ailysgrifennu (tf) ;
writeln (tf , ‘ 1 ‘ ) ;
yn olaf ;
closefile (tf) ;
diwedd ;
diwedd ;