EHouse 1 – Home Automation – Контроллер государства в двоичной форме

EHouse Home Automation , Управления зданием версия 1 – кадр состояния системы контроллера Home Automation .
Чтобы создать полностью функциональный , эффективное собственное программное обеспечение для панелей управления, которые требуют визуализации необходимо реализовать прямое декодирование EHouse 1 водитель статус в двоичной форме . В зависимости от выбора нормального режима работы или расширенного адреса (Extended_address) , рамка для отправки статуса водителя выглядит следующим образом (в скобках отмечена разница в расширенном режиме адрес) .
Этот режим необходим для работы под руководством CommManager водителя и посылает адрес сообщения назначения за пределами событий , Собственный адрес устройства назначения могу сказать отправителя для приема событий (рука – трясти) .
Если интерфейс RS – 485 определенно не рекомендовал прямые попытки подключения к водителю , как отправка некоторых команд могут вызвать такие программы очистки памяти (прошивки) Контроллеры которая могла бы положить конец их жизни .
Другие команды или случайных сигналов RS – 485 может подорвать стабильность системы или определенно замедлит свою работу .
Родные EHouse Автоматизация Контроллеры должны работать под руководством продюсера приложений ” EHouse . ехе ” .
Для обеспечения безопасности , Вы можете читать статуса драйверов без подключения к ним через приложение EHouse . Exe (UDP протокол и LAN) .
Это не является – инвазивных чтении , Не загружается ни программное обеспечение, ни контроллеров , и, что более , не навязчивы в любой протокол путь передачи через RS – 485 .
Ситуация меняется, когда eHouse_1 контроллеры работают под руководством CommManager .
CommManager контроллер может отправить статуса (EHouse 1 и CommManager в интегрированном пакете) , UDP доступ в Интернет и доступ к этим данным установления соединения и без – инвазивные, а также непосредственно с CommManager или других EHouse Ethernet контроллеров .
Получение данных по статусу UDP мы не можем вредить водителей , и максимум входящих данных извращают .
EHouse система не посылать ничего безопасности водителя UDP , Водитель не имеет значения, является ли клиент получает данные, передаваемые через UDP или нет , , или число клиентов составляет 0 или 250 .
Получение данных из EHouse системы домашней автоматизации , UDP является безопасной и не загружается в любом случае контроллеров или EHouse программного обеспечения , отправка передач (UDP_broadcast) к локальной сети .
Статус окно имеет следующий формат:
< ; ; DATA_SIZE> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; Команда> ; ; < ; ; данные_1> ; ; . . . . . < ; ; Данные> ; ; < ; ; Data_N> ; ; < ; ; DATA_SIZE> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; Команда> ; ; < ; ; данные_1> ; ; . . . . . < ; ; Данные> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Нормальный режим / VS . (Extended Address)
1 . Размер данных (объем данных)
2 . Address_H_target (Address_H_target)
3 . Address_L_target (Address_L_target)
4 . Control_command (Address_H_of_local_controller_return_path)
5 . Data_1_byte (Address_L_of_local_controller_return_path)
6 . Data_2_byte (Control_Command)
7 Data_3_byte (Data_1_byte)
8 . . Остальные данные для данной команды .
Если вы отправляете состояние водителя ; с управляющей команды ‘ с ‘ .
Продолжайте следовать данных в двоичной форме, чтобы свести к минимуму передачу информации через последовательный RS – 485 .
Для обеспечения безопасности , данным прилагается проверить – Подводя для устранения неправильных трансляций выполнять .
Отправить команду статус ‘ с ‘ ,
Кадр статуса драйверов Home Automation EHouse 1 и описанию номер байта (индекс сдвига в зависимости от режима работы (обычный или extended_address) .
Это постоянное смещение указанного ниже TCP_INDEX_INC . В зависимости от режима , он может принимать значение 3 для расширенного адреса или 0 для обычных передач . При написании программного обеспечения , Вы могли бы рассмотреть этот параметр в виде переменной , потому что это позволяет нам легко манипулировать данными в более поздних версиях, если кадр смещается в той или иной форме .
Индексы каждый байт состояния кадр из водителей EHouse 1 (начало кадра):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Значение A/D_converters_2_bytes_1B = MSB , 2В = LSB! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Цифровой выход говорится, первый индекс

/ / Каждый выход 1 бит LSB наименьшее число , MSB крупнейших
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Цифровой вход государств LSB наименьшее число , MSB крупнейших
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Штатов цифровых входов (прерывание) LSB наименьшее число , MSB крупнейших
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Выведет государства от 25 . . 32, так же, как выход
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / Состояние одного 1B диммер Диммер
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Нет текущих зоны для EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Нет текущую программу
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Входной inputextender в активном состоянии
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / Входной inputextender B в активном состоянии
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / / Входной inputextender C в активном состоянии
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / Входной inputextender сигнализации и предупреждения
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Входной inputextender B сигнализации и предупреждения
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Входной inputextender C Сигнализация и предупреждения
/ / Состояние HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Измерения температуры с 16 датчиками точно так же, как и для RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Цифровой выход говорится, по аналогии с RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Состояние CommManager – интегрированы с статуса драйверов EHouse 1 (гибридная система) EHouse 1 под руководством CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Установить статус устройств, подключенных к RS485 (eHouse_1) выше 71 байта
STATUS_ADC_ETH = 72 ; / / ADC_measurements_16_inputs * 2B / D_notation_as_for_RM_Vcc = 3V3
STATUS_ADC_ETH_END = STATUS_ADC_ETH +32 ; / / Конец / D измерения
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 раза i2c 10 * 8 / / макс = 160 выходами модуля на модуль расширения
STATUS_INPUTS_I2C = STATUS_OUT_I2C +20 ; / / 2 раза i2c 6 * 8 / / макс 96 входов на модуль расширения
STATUS_ALARM_I2C = STATUS_INPUTS_I2C +12 ; / / Input_in состояние тревоги (по отношению к маске для текущей зоны безопасности)
STATUS_WARNING_I2C = STATUS_ALARM_I2C +12 ; / / Input_warning состоянии (по отношению к маске для текущей зоны безопасности)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C +12 ; / / Input_condition мониторинга (по отношению к маске для текущей зоны безопасности)
STATUS_PROGRAM_NR = STATUS_MONITORING_I2C +12 ; / / Program_number_CommManager
STATUS_ZONE_NR = STATUS_PROGRAM_NR +1 ; / / Number_CommManager_zone
STATUS_ADC_PROGRAM = STATUS_ZONE_NR +1 ; / / ADC_program_number
STATUS_ADC_PROGRAM STATUS_LIGHT_LEVEL = 2 ; / / Статус 3 диммеры / / Dimmer 3 * 2B
Пример расчета температуры на состояние HM
я = индекс аналоговый вход 0 . . 15 для HM gettemplm функции (MSB , LSB) ;
TEMPHM [I]: = gettemplm (ул. [STATUS_ADC_HEART + я * 2 + TCP_INDEX_INC] , ул [STATUS_ADC_HEART + I * 2 +1 + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi