EHouse за сградна автоматизация – Създаване на софтуер на Windows наслагвания и потребителски алгоритми

Home Automation EHouse със софтуер ви позволява да създадете облицовки за система за сградна автоматизация .
Това ви позволява да създадете свой собствен , индивидуални алгоритми , не са изпълнени в софтуер, фърмуер или драйвер, който контролира сериен Home Automation EHouse .
За тази цел , предоставят на потребителите с кодовете софтуер (в Delphi 5) . Те могат да бъдат компилирани с по-нови версии на Delphi или използвани за други езици за програмиране .
Ние съзнателно избра тази архаична версии, тъй като те вече са на разположение безплатно за любителска програма .
Те работят също толкова надеждно на Windows XP , Перспектива , Windows 7 32 и 64-битов .
Този софтуер се нарича eHouseLogAnalizer и тези приложения трупи шаблон, който четете текстови файлове към днешна дата .
Тя може да се управлява и контролира от приложения KillWdt . EXE .
Основни характеристики на приложението:

  • Прочитане на състоянието и имената на всички шофьори
  • Прочети статус и въведете имената на всички шофьори
  • Прочетете измервания и имената на всички водачи измервателни входове
  • Заредете всички данни във вътрешната памет на програмата , , които могат да се преработват допълнително чрез заявление

Приложението използва състоянието на създадените файлове, текстови файлове в директория ‘ трупи / статус / ‘ разширение ‘ . статус ‘ .
Файл се чете само в случай на промени в заявлението EHouse . EXE .

Администраторите на данни са заредени в следните инстанции Records ” ehouse_rm_em_hm ” изброени в масива RM .

В допълнение , данни се съхраняват HeatManager следните променливи:
bonfire_status: низ ; / / Състояние на огън за HeatManager – Статус камина EHouse отоплителен панел . EXE
boiler_status: низ ; / / Състояние на котел за HM – състоянието на котела EHouse отоплителен панел . EXE
Solar_status: низ ; / / Състояние на Слънчевата система – състоянието на слънчевата EHouse отоплителен панел . EXE
recuperator_status: низ ; / / Статус на възстановяване , вентилация , затопляне на въздуха – статут на отопление, вентилация и оползотворяване на отпадна топлина
HADC: масив [0 . . 15] на двойното ; / / Heat Температурите мениджър – температурни измервания HeatManager
/ / Heat индекси мениджър за директен достъп на HADC масив – Постоянни индекси температура за директно отчитане на температурата HeatManager
CONST HM_GWC = 3 ; / / GWC – Топлообменника на земята топлина
HM_KOM1 = 4 ; / / Камина Coat 1 – Bonfire водна риза 1
HM_KOMKONV = 5 ; / / Камина konvekcyjne – конвекция огън
HM_KOM2 = 6 ; / / Fire равнина 2 – огън водна риза 2 (резервен)
HM_TWEWN = 7 ; / / Вътрешен стайна температура – вътрешен стайна температура
HM_SOLAR = 9 ; / / Collector нд – Слънчевата система
HM_ZEWNPN = 8 ; / / Външна температура на север – външна температура на север
HM_ZEWNPD = 1 ; / / Външна температура на юг – външна температура юг
HM_KOC = 10 ; / / Температура на котелната – температурата на котела
HM_BANDOL = 11 ; / / СО / резервоар за гореща вода надолу – гореща буфер Водни дъното
HM_REQIN = 12 ; / / Чист въздух рекуператор вход – възстановяване ясно вкарването на въздух
HM_REQOUT = 13 ; / / Output рекуператор начало – heaten възстановяване свеж въздух в стая – температура
HM_NAG = 14 ; / / Контролирана температура три – пътен вентил за отопление и радиатори – температурата след три начина изключване за бойлер или друга система за отопление
HM_REQWYC = 15 ; / / Начало рекуператор екстракт мръсни – възстановяване от дома мръсни изпускателна температура
HM_BANGORA = 2 ; / / Отопление / топла вода резервоар гора – гореща вода буфер TOP
HM_BANSRO = 0 ; / / Отопление / топла вода резервоар за съхранение на средства за – MIDDLE буфер на топла вода
реактивна HADCNames: Array [0 . . 15] от низ ; / / Имената на сензорите (измервателни входове) HeatManagera
Основни функции EhouseLogAnalizer:
процедура init_heat_temperature_names ; / / Инициализиране и / или температурни датчици четат имената на HM
процедура loadnames_rm ; / / Товарните имена RoomManagerĂłw (EHouse 1)
процедура readethernetdevs ; / / Чете Ethernet имена водача (EHouse 2)
get_index_rm функция (ул. низ): цяло число ; / / Връща индекса на таблицата с търсене roomManagerami по статус името на файла
функция GB (CHR: Чар): булев ; / / Връща булева стойност за чете статут
adc_hm процедура (ул.: низ ; индекс: цяло число) ; / / Преобразува низ със записани температури от четене статут HeatManagera
adc_rm процедура (ул.: низ ; индекс: цяло число) ; / / Преобразува низ от аналогови измервания, когато четете състоянието RoomManagerĂłw
ГБС функция (б: булев): String ; / / Напишете булев под формата на текст (0 , 1)
RMDeviceIndexByName функция (ул. низ): цяло число ; / / Връща индекса на таблицата с търсене RoomManagerami от името на драйвера
RMGetOutputStateNr функция (индекс: цяло число ; OutputNr: цяло число): булев ; / / Връща RM състояние изход [индекс] и OutputNR изход номер
RMGetOutputState функция (индекс: цяло число ; OutputName: низ): булев ; / / Връща RM състоянието на изхода [индекс] и призова OutputName
RMGetInputStateNr функция (индекс: цяло число ; InputNr: цяло число): булев ; / / Състоянието на входа RM [индекс] и броя на влизане InputNr
RMGetInputState функция (индекс: цяло число ; InputName: низ): булев ; / / Състоянието на входа RM [индекс] и името на влизане InputName
RMGetTempNr функция (индекс: цяло число ; InputNr: цяло число): двойно ; / / Връща RM температура [индекс] и броя на влизане InputNr
RMGetTemp функция (индекс: цяло число ; InputName: низ): двойно ; / / Връща RM температура [индекс] и името на влизане InputName
RMGetInvPercent функция (индекс: цяло число ; InputName: низ): двойно ; / / Връща процент за измерване на обратната 100 % – х RM [индекс] и името на влизането InputName (във връзка с контролера на захранващото напрежение)
RMGetInvPercentNr функция (индекс: цяло число ; InputNr: цяло число): двойно ; / / Връща процент за измерване на обратната 100 % – х RM [индекс] и броя на влизане InputNr (във връзка с контролера на захранващото напрежение)
RMGetPercent функция (индекс: цяло число ; InputName: низ): двойно ; / / Връща процент измерване на RM [индекс] и името на влизането InputName (във връзка с контролера на захранващото напрежение)
RMGetPercentNr функция (индекс: цяло число ; InputNr: цяло число): двойно ; / / Връща процент за измерване на обратната 100 % – х RM [индекс] и името на влизането InputNr (във връзка с контролера на захранващото напрежение)
RMGetDeviceOutputState функция (Devname: низ ; OutputName: низ): булев ; / / Връща държавни на изход водача Devname и извика OutputName
RMGetDeviceInputState функция (Devname: низ ; InputName: низ): булев ; / / Връща състоянието на входа на водача име и името на InputName влизане Devname
На HMGetTemp функция (InputName: низ): двойно ; / / Връщане температурата на измервателния вход призова за HeatManagera InputName
HMGetTempNr функция (InputNr: цяло число): двойно ; / / Връщане температурата на измервателния въвеждане на номер за HeatManagera InputNr (един . . Шестнайсет)
chk_int функция (ST: низ): цяло число ; / / Безопасен за преобразуване на низ до цяло число
процедура update_status ; / / Актуализиране на състоянието на всички водачи в таблицата (трябва да се извършва периодично)
процедура Test_save ; / / Процедура за изпитване, за да напишете резултатите в текстов файл за по-лесно
Инициализиране на водача и всички имена са направени, след като се стартира приложение (FormCreate)
процедура TForm1 . FormCreate (Sender: TObject) ;
започвам
път: = getcurrentdir () ; / / Получаване на сегашния курс на програмата трябва да бъде в директорията % eHouse_DIR % \ BIN \
път: = stringreplace (път , ‘ \ Bin ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / Вземи пътя на прилагане EHouse – определя EHouse прилагане път
loadnames_rm ; / / Товарните имена контролер ehouse1 – натоварвания името на шофьорите EHouse 1
init_heat_temperature_names ; / / Товар име на сензори heatManagera
readethernetdevs ; / / Товар контролери етернет EHouse имена – четящо устройство имена EHouse 2
timer1 . Интервал: = 3000 ; / / Задаване на интервал цикличен задача в милисекунди – Задава време, за да започне проверка на циклични данни
timer1 . Enabled: = True ; / / Start автоматични задачи (статус – включва редовна проверка на данни
update_status ; / / Чете първия статут
край ;
Стрелба данни проверката се извършва от функцията Timer1 (Timer1Timer) се движи в интервал от време, в параметъра Timer1 . Интервал (в милисекунди) .
процедура TForm1 . Timer1Timer (Sender: TObject) ;
VaR TF: текстов файл ;
започвам
update_status ; / / Преобразува състоянието на водача
Test_save ; / / За изпитване пише всички резултати в текстов файл
опитайте / / създаване на файла маркер за прилагане KillExec . EXE, които могат да се ” гледам ” прилагане преди катастрофата
AssignFile (TF , път + ‘ Logs \ дневник – analizer . STP ‘ ) ;
/ / Уведоми WDT Това заявление работи правилно използване stampfile ” влезте \ дневник – analizer . STP ”
пренапишат (TF) ;
writeln (TF , ‘ 1 ‘ ) ;
накрая ;
closefile (TF) ;
край ;
край ;