Автоматизација во зграда eHouse – Креирање на Windows софтвер облоги и сопствени алгоритми

Home automation eHouse со PC софтвер ви овозможува да креирате облоги за автоматизација на објекти систем .
Ова ви овозможува да се создаде своја сопствена , индивидуални алгоритми , не се спроведува во firmware-от или возач софтвер кој ги контролира сериски Home automation eHouse .
За таа цел , ние им обезбеди на корисниците со софтвер извор кодови (во Делфи 5) . Тие може да биде компајлирана со понови верзии на Делфи или да се користат за други програмски јазици .
Ние свесно избра овој архаичен верзии како тие се веќе достапни за бесплатно за аматерски програма .
Тие работат само како веродостојно на Windows XP , Виста , Windows 7 и 32 и 64 битна .
Овој софтвер се нарекува eHouseLogAnalizer и овие логови дефиниција апликации кои читаат текстуални датотеки до датумот .
Тоа може да се води и следени од страна апликации KillWdt . exe .
Главни карактеристики на апликацијата:

  • Читање на статусот и имињата на сите возачи
  • Прочитајте статусот и внесете имињата на сите возачи
  • Читање на мерења и имињата на сите возачи мерење влезови
  • Вчитување на сите податоци за внатрешната програма меморија , кои можат да бидат обработени од страна на апликација

На апликација користи статусот на создадени фајлови на текстуални датотеки во директориумот ‘ трупци / Статус / ‘ продолжување ‘ . статус ‘ .
Датотеката е само за читање во случај на промени во примената eHouse . exe .

Контролорите на податоците се вчитуваат во следниве случаи рекорди ” ehouse_rm_em_hm ” наведени во низа РМ .

Во прилог , податоци се чуваат HeatManager следните варијабли:
bonfire_status: стринг ; / / Статус на клада за HeatManager – Статус камина греење панел eHouse . exe
boiler_status: стринг ; / / Статус на котел за НВ – статус на котел за греење панел eHouse . exe
Solar_status: стринг ; / / Статус на Сончевиот систем – статус на соларни греење панел eHouse . exe
recuperator_status: стринг ; / / Статус на закрепнување , вентилација , загревање на воздухот – статус на греење вентилација и топлина обновување
HADC: низа [0 . . 15] на двојното ; / / Топлина Температурите менаџер – мерачи на температура HeatManager
/ / Топлина менаџер индекси за директен пристап на HADC низа – Константна температура индекси за директен читање на температурата HeatManager
Const HM_GWC = 3 ; / / GWC – Земјата разменувач на топлина
HM_KOM1 = 4 ; / / Камин Грб 1 – Огништето со вода јакна 1
HM_KOMKONV = 5 ; / / Камин konvekcyjne – конвекција оган
HM_KOM2 = 6 ; / / Пожар авион 2 – огништето со вода јакна 2 (копија)
HM_TWEWN = 7 ; / / Внатрешна собна температура – внатрешна собна температура
HM_SOLAR = 9 ; / / Наплатувач на сонцето – Сончевиот систем
HM_ZEWNPN = 8 ; / / Надворешна температура север – надворешната температура север
HM_ZEWNPD = 1 ; / / Надворешна температура на југ – надворешната температура југ
HM_KOC = 10 ; / / Температура котел – котел температура
HM_BANDOL = 11 ; / / CO / топла вода резервоарот надолу – топла watter дното тампон
HM_REQIN = 12 ; / / Чист воздух recuperator влез – закрепнат чистиот воздух влез
HM_REQOUT = 13 ; / / Излез recuperator дома – heaten закрепнување нов удар воздух во просторијата – температура
HM_NAG = 14 ; / / Температура контролирани три – начин вентил за греење и за радијатори – температура, по три начини исклучување за бојлер или други греење
HM_REQWYC = 15 ; / / Почетна recuperator екстракт валкани – закрепнат од дома валкани издувните температура
HM_BANGORA = 2 ; / / Греење / топла вода резервоарот Гора – топла вода тампон TOP
HM_BANSRO = 0 ; / / Греење / складирање топла вода резервоарот средство за – Блискиот топла вода бафер
var HADCNames: низа [0 . . 15] на низа ; / / Имињата на сензори (мерење влезови) HeatManagera
Основните функции EhouseLogAnalizer:
постапка init_heat_temperature_names ; / / Иницијализира и / или температурни сензори ги читаат имињата на НВ
постапка loadnames_rm ; / / Вчитај RoomManagerĂłw имиња (eHouse 1)
постапка readethernetdevs ; / / Чита Ethernet возачот имиња (eHouse 2)
get_index_rm функција (ул: стринг): Integer ; / / Се враќа индексот на табелата со roomManagerami пребарување по име на датотека статус
функција GB (Chr: знак): рационален ; / / Се враќа логичка вредност за читање статус
adc_hm постапка (ул: стринг ; индекс: Integer) ; / / Конвертира стринг со снимен температури на читање статус HeatManagera
adc_rm постапка (ул: стринг ; индекс: Integer) ; / / Конвертира низа на аналогни мерења при читање на статусот RoomManagerĂłw
GBS функција (б: boolean): Стринг ; / / Напиши рационален во текст форма (0 , 1)
RMDeviceIndexByName функција (ул: стринг): Integer ; / / Се враќа индексот на табелата со RoomManagerami пребарување по име возачот
RMGetOutputStateNr функција (индекс: Integer ; OutputNr: Integer): рационален ; / / Враќање на излез државата РМ [индекс] и излез број OutputNR
RMGetOutputState функција (индекс: Integer ; OutputName: стринг): рационален ; / / Се враќа на излез државата РМ [индекс] и викнав OutputName
RMGetInputStateNr функција (индекс: Integer ; InputNr: Integer): рационален ; / / Се враќа статусот на внесување РМ [индекс] и бројот на влез InputNr
RMGetInputState функција (индекс: Integer ; InputName: стринг): рационален ; / / Се враќа статусот на внесување РМ [индекс] и името на влегувањето InputName
RMGetTempNr функција (индекс: Integer ; InputNr: Integer): двојно ; / / Враќање на РМ температура [индекс] и бројот на влез InputNr
RMGetTemp функција (индекс: Integer ; InputName: стринг): двојно ; / / Враќање на РМ температура [индекс] и името на влегувањето InputName
RMGetInvPercent функција (индекс: Integer ; InputName: стринг): двојно ; / / Се враќа процент мерење на обратна 100 % – x РМ [индекс] и името на влегувањето InputName (во однос на снабдување напон контролор)
RMGetInvPercentNr функција (индекс: Integer ; InputNr: Integer): двојно ; / / Се враќа процент мерење на обратна 100 % – x РМ [индекс] и бројот на влез InputNr (во однос на снабдување напон контролор)
RMGetPercent функција (индекс: Integer ; InputName: стринг): двојно ; / / Се враќа процент мерење на РМ [индекс] и името на влегувањето InputName (во однос на снабдување напон контролор)
RMGetPercentNr функција (индекс: Integer ; InputNr: Integer): двојно ; / / Се враќа процент мерење на обратна 100 % – x РМ [индекс] и името на влегувањето InputNr (во однос на снабдување напон контролор)
RMGetDeviceOutputState функција (Devname: стринг ; OutputName: стринг): рационален ; / / Се враќа состојбата на излез возачот наречен Devname и викнав OutputName
RMGetDeviceInputState функција (Devname: стринг ; InputName: стринг): рационален ; / / Се враќа статусот на возачот влез името и името на влез Devname InputName
HMGetTemp функција (InputName: стринг): двојно ; / / Враќање температурата на мерење влез повика HeatManagera InputName
HMGetTempNr функција (InputNr: Integer): двојно ; / / Враќање температурата на мерење влез број за HeatManagera InputNr (1 . . 16)
chk_int функција (ул: стринг): Integer ; / / Безбедно да конвертирате стринг за да цел број
постапка update_status ; / / Ажурирање на статусот на сите возачи во табелата (мора да биде извршена периодично)
постапка Test_save ; / / Тест постапка за запишување на резултатите во текстуална датотека за лесно
Иницијализира на возачот и сите имиња се направени некогаш се стартува апликацијата (FormCreate)
постапка TForm1 . FormCreate (Испраќач: TObject) ;
започне
патека: = getcurrentdir () ; / / Активирај тековната патека на програмата мора да биде во директориумот % eHouse_DIR % \ Бин \
патека: = stringreplace (патека , ‘ \ Бин ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Земи пат на примена eHouse – поставува апликација патот eHouse
loadnames_rm ; / / Вчитај контролер имиња ehouse1 – носивост на возачите име eHouse 1
init_heat_temperature_names ; / / Вчитај сензори heatManagera име
readethernetdevs ; / / Вчитај контролори Ethernet eHouse имиња – читање уред имиња eHouse 2
timer1 . Интервал: = 3000 ; / / Постави циклична задача интервал во милисекунди – Поставува време да се започне проверка циклична податоци
timer1 . От е: = true ; / / Почнете автоматска задачи (статус ажурирање – вклучува редовни проверка на податоци
update_status ; / / Чита првата статус
крајот ;
Циклична податоци проверка се врши од страна на функција Timer1 (Timer1Timer) работи во интервал од времето поставено во параметар Timer1 . Интервал (во милисекунди) .
постапка TForm1 . Timer1Timer (Испраќач: TObject) ;
var ТФ: textfile ;
започне
update_status ; / / Конвертира статусот на возачот
Test_save ; / / За тестот пишува сите резултати во текстуална датотека
пробајте / / креирање маркер датотека за примена KillExec . exe дека може ” види ” апликацијата пред несреќата
AssignFile (tf , патека + ‘ логовите \ најавите – analizer . STP ‘ ) ;
/ / Известете WDT Тоа апликација работи правилно користење stampfile ” логирате \ најавите – analizer . STP ”
преработи (ТФ) ;
writeln (tf , ‘ 1 ‘ ) ;
конечно ;
closefile (ТФ) ;
крајот ;
крајот ;