EHouse автоматизации зданий – Создание программного обеспечения для Windows накладок и пользовательских алгоритмов

Home Automation EHouse с ПК программное обеспечение позволяет создавать накладки для построения системы автоматизации .
Это позволит вам создать свой собственный , отдельные алгоритмы , не реализованы в прошивке или драйвер, который управляет последовательным Home Automation EHouse .
Для этого , мы предоставляем пользователям исходные коды программного обеспечения (в Delphi 5) . Они могут быть скомпилированы с новыми версиями Delphi или использовать для других языков программирования .
Мы сознательно выбрали этот архаичный версии, они уже доступны для бесплатного любительского программы .
Они работают так же надежно, на Windows XP , Перспектива , Windows 7 32 и 64 бита .
Эта программа называется eHouseLogAnalizer и эти журналы шаблонов приложений, читать текстовые файлы до даты .
Он может управляться и контролироваться KillWdt приложений . ехе .
Основные возможности программы:

  • Считывание статуса и названия всех водителей
  • Читайте статуса и введите имена всех водителей
  • Читайте измерений и имена всех драйверов измерительных входов
  • Загрузите все данные во внутренней памяти программы , которые могут в дальнейшем обрабатываться приложением

Приложение использует статус созданные файлы в текстовые файлы в каталоге ‘ Журналы / Статус / ‘ расширение ‘ . статус ‘ .
Файл только для чтения, в случае изменений в приложение EHouse . ехе .

Данные контроллеры будут загружены в следующих случаях записей ” ehouse_rm_em_hm ” , перечисленных в массиве RM .

В дополнение , Данные хранятся HeatManager следующие переменные:
bonfire_status: строка ; / / Статус костер HeatManager – Статус каминное отопление панели EHouse . ехе
boiler_status: строка ; / / Состояние котла для HM – Состояние панели EHouse отопительный котел . ехе
Solar_status: строка ; / / Состояние солнечной системы – Состояние солнечной EHouse панельного отопления . ехе
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 ; / / Чистый воздух рекуператор вход – восстановление ясно воздуха на входе
HM_REQOUT = 13 ; / / Вывод рекуператор дома – heaten восстановления свежего воздуха в комнату удар – температура
HM_NAG = 14 ; / / Контроль температуры три – Обратный клапан для отопления и для радиаторов – Температура после трех способов обрезания для водонагревателя или другой системы отопления
HM_REQWYC = 15 ; / / Главная рекуператор экстракт грязные – восстановление из дома грязные выхлопной температуры
HM_BANGORA = 2 ; / / Отопления / горячей воды гора – ТОП горячей воды буфера
HM_BANSRO = 0 ; / / Отопление / бак для горячей воды средствами – БЛИЖНИЙ горячей воды буфера
VAR HADCNames: массив [0 . . 15] строка ; / / Имена датчиков (измерительных входов) HeatManagera
Основные EhouseLogAnalizer функции:
Процедура init_heat_temperature_names ; / / Инициализировать и / или датчики температуры читать имена HM
Процедура loadnames_rm ; / / Загрузить RoomManagerĂłw имена (EHouse 1)
Процедура readethernetdevs ; / / Читает Ethernet имена драйверов (EHouse 2)
get_index_rm функции (ул.: String): Integer ; / / Возвращает индекс таблицы с roomManagerami поиск по названию файла статус
Функция Гб (CHR: Char): Boolean ; / / Возвращает логическое значение для считывания состояния
adc_hm процедуры (ул.: строка ; Index: Integer) ; / / Преобразует строку с записью температуры для чтения статуса HeatManagera
adc_rm процедуры (ул.: строка ; Index: Integer) ; / / Преобразует строку аналоговых измерений при чтении статус RoomManagerĂłw
GBS функции (б: Boolean): String ; / / Записать логическое в виде текста (0 , 1)
RMDeviceIndexByName функции (ул.: String): Integer ; / / Возвращает индекс таблицы с RoomManagerami поиска по имени драйвера
RMGetOutputStateNr функции (Index: Integer ; OutputNr: Integer): Boolean ; / / Возвращаем RM состояние выхода [индекс] и OutputNR номер выхода
RMGetOutputState функции (Index: Integer ; OutputName: String): Boolean ; / / Возвращает RM состояние выхода [индекс] и позвал OutputName
RMGetInputStateNr функции (Index: Integer ; InputNr: Integer): Boolean ; / / Возвращает состояние входа RM [индекс] и номер записи InputNr
RMGetInputState функции (Index: Integer ; InputName: String): Boolean ; / / Возвращает состояние входа RM [индекс], а имя записи InputName
RMGetTempNr функции (Index: Integer ; InputNr: Integer): двухместный ; / / Возвращает RM температура [индекс] и номер записи InputNr
RMGetTemp функции (Index: Integer ; InputName: String): двуспальная ; / / Возвращает RM температура [индекс], а имя записи InputName
RMGetInvPercent функции (Index: Integer ; InputName: String): двуспальная ; / / Возвращает процент измерений обратных 100 % – х RM [индекс], а имя записи InputName (в зависимости от напряжения питания контроллера)
RMGetInvPercentNr функции (Index: Integer ; InputNr: Integer): двухместный ; / / Возвращает процент измерений обратных 100 % – х RM [индекс] и номер записи InputNr (в зависимости от напряжения питания контроллера)
RMGetPercent функции (Index: Integer ; InputName: String): двуспальная ; / / Возвращает процент измерений RM [индекс], а имя записи InputName (в зависимости от напряжения питания контроллера)
RMGetPercentNr функции (Index: Integer ; InputNr: Integer): двухместный ; / / Возвращает процент измерений обратных 100 % – х RM [индекс], а имя записи InputNr (в зависимости от напряжения питания контроллера)
RMGetDeviceOutputState функции (Devname: строка ; OutputName: String): Boolean ; / / Возвращает состояние выхода драйвера называются Devname и позвал OutputName
RMGetDeviceInputState функции (Devname: строка ; InputName: String): Boolean ; / / Возвращает состояние водителя ввести имя и имя InputName Devname запись
HMGetTemp функции (InputName: String): двуспальная ; / / Возврат температуры измерительный вход призвал HeatManagera InputName
HMGetTempNr функции (InputNr: Integer): двухместный ; / / Возврат температуры измерительного ввода номера для HeatManagera InputNr (1 . . 16)
chk_int функции (ST: String): Integer ; / / Safe для преобразования строки в целое
Процедура 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 ; / / Загрузить контроллеры Ethernet имена EHouse – устройство чтения имен EHouse 2
timer1 . Интервал: = 3000 ; / / Установить интервал циклические задачи в миллисекундах – Устанавливает время до начала проверки циклических данных
timer1 . Включено: = True ; / / Запуск автоматических задач (обновление статуса – включает в себя регулярные проверки данных
update_status ; / / Читает первую статус
конец ;
Циклическая проверка данных выполняется с помощью функции Timer1 (Timer1Timer) работает в интервале времени, заданного в параметре Timer1 . Интервал (в миллисекундах) .
Процедура TForm1 . Timer1Timer (Sender: TObject) ;
VAR TF: текстовый ;
начинать
update_status ; / / Преобразует состояние водителя
Test_save ; / / Для теста записывает все результаты в текстовый файл
попробуйте / / создать маркер файл для применения KillExec . EXE, который может ” смотреть ” заявки до аварии
AssignFile (тс , Путь + ‘ Журналы \ Журнал – анализатором . STP ‘ ) ;
/ / Уведомление WDT Это приложение работает правильно использованием stampfile ” войти \ журнал – анализатором . STP ”
Перепишем (тс) ;
WriteLn (тс , ‘ 1 ‘ ) ;
в конце концов ;
CloseFile (тс) ;
конец ;
конец ;