Ehouse 1 – Domótica – controlador de estados en forma binaria

Ehouse Domótica , Xestión de Edificios versión 1 – cadro de estado do controlador de sistema Domótica .
Para crear un totalmente funcional , propio software eficiente para os paneis de control que requiren visualización precisa implementar desencriptación directa eHouse estado do controlador 1 en forma binaria . Dependendo da elección do modo de funcionamento normal ou enderezo estendido (Extended_address) , marco para enviar o estado do condutor é a seguinte (entre parénteses marcada diferenza no enderezo modo estendido) .
Este modo está obrigado a traballar baixo a supervisión de condutor CommManager e envía o enderezo de destino da mensaxe fora de eventos , Enderezo propio para o dispositivo de destino pode dicir o remitente para recibir eventos (man – trasfega) .
Se a interface RS – 485 definitivamente non recomendo intentos directas para conectar o condutor , como o envío de algúns comandos poden causar a memoria tal programa de limpeza (firmware) Controladores o que podería acabar coa súa vida .
Outros comandos ou sinais aleatorios no RS – 485 pode comprometer a estabilidade do sistema ou definitivamente abrandar o seu traballo .
Ehouse nativa Controladores de automatización deben traballar baixo a supervisión de aplicación produtor ” Ehouse . exe ” .
Por razóns de seguridade , pode ler o estado dos controladores sen conectar a eles a través da aplicación eHouse . Exe (o protocolo UDP e LAN) .
Isto é non – lectura invasivo , non cargar ningún software, nin controladores , E o que é máis , non intrusiva en calquera protocolo de transferencia de forma vía RS – 485 .
A situación é diferente cando eHouse_1 controladores traballan baixo a supervisión de CommManager .
CommManager controlador pode enviar estado (eHouse 1 e CommManager en un paquete integrado) , a LAN UDP e acceso a estes datos é sen conexión e non – CommManager así como directamente invasivo ou controladores Ehouse outros Ethernet .
Recibindo datos sobre o estado de UDP non podemos prexudicar condutores , e un máximo de datos de entrada misinterpret .
Sistema EHouse non enviar nada para a seguridade do condutor UDP , un condutor non importa se o cliente recibe os datos enviados sobre UDP ou non , ou se a conta de clientes é 0 ou 250 .
Recibir información do eHouse sistema de automatización residencial , o UDP é seguro e non leva de forma algunha controladores ou software eHouse , Enviar transmisións (UDP_broadcast) á LAN .
Caixa de estado ten o seguinte formato:
< ; ; DATA_SIZE> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; mando> ; ; < ; ; Data_1> ; ; . . . . . < ; ; Datos> ; ; < ; ; Data_N> ; ; < ; ; DATA_SIZE> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; mando> ; ; < ; ; Data_1> ; ; . . . . . < ; ; Datos> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Modo Normal / vs . (Enderezo Extended)
1 . tamaño dos datos (tamaño dos datos)
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 . . o resto dos datos para un comando dado .
Se enviar o estado do controlador ' ; o control de mando ‘ s ‘ .
Continúe a seguir os datos en formato binario para minimizar a transferencia de información a través dunha serie RS – 485 .
Por razóns de seguridade , para os datos é anexada comprobar – Resumindo para eliminar emisións incorrectas realizar .
Envía o estado do comando é ‘ s ‘ ,
Status de cadro de condutores Domótica eHouse 1 e unha descrición do número de byte (desprazamento de índice en función do modo de funcionamento (normal ou extended_address) .
Este desprazamento constante chamada embaixo TCP_INDEX_INC . Dependendo do modo , pode tomar un valor de 3 ao enderezo estendido ou 0 para transmisión normal . Cando escribindo un programa , pode considerar este parámetro como unha variable , porque nos permite facilmente manipular os datos en versións posteriores se o cadro é desprazado dunha maneira ou doutra .
Índices de cada estado marco byte do eHouse controladores 1 (o inicio do cadro):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / O valor A/D_converters_2_bytes_1B = MSB , 2B LSB =! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Saída dixital afirma primeiro índice

/ / Número menor cada saída LSB bit 1 , MSB maior
STATUS_IN 20 +2 + TCP_INDEX_INC ; / / Entrada dixital estados número menor LSB , MSB maior
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Estados de entradas dixitais (interrupción) número menor LSB , MSB maior
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Amosa os estados a partir de 25 . . 32 do mesmo xeito que a saída
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / Estado / dun dimmer dimmer 1B
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Non zona actual EN
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / No programa actual
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / Inputextender Input / A no estado activo
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / B inputextender entrada no estado activo
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / A inputextender / Entrada no estado activo
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / Input / inputextender A Alarmas e advertencia
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Entrada inputextender Alarmas B e Aviso
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / Alarmas inputextender / Entrada C e Aviso
/ HeatManager estado /
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / As medicións de temperatura de 16 sensores do mesmo xeito que para a RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Output dixital afirma tamén que RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ CommManager Estado / – integrado co estado dos controladores eHouse 1 (sistema híbrido) eHouse 1, baixo a supervisión de CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Engade o estado dos dispositivos conectados ao RS485 (eHouse_1) enriba de 71 bytes
STATUS_ADC_ETH = 72 ; / / ADC_measurements_16_inputs * 2B A / = 3V3 D_notation_as_for_RM_Vcc
STATUS_ADC_ETH_END = STATUS_ADC_ETH 32 ; / / Fin da medición A / D
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 veces i2c 10 * 8 / / max = 160 saídas do módulo módulo de extensión en
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 veces I2C 6 * 8 / / max 96 entradas no módulo de extensión
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in o estado de alarma (en relación coa máscara da zona de seguridade de corrente)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / Input_warning / estado (con relación á máscara para o actual zona de seguridade)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / Input_condition / control (en relación coa máscara da zona de seguridade de corrente)
STATUS_PROGRAM_NR = STATUS_MONITORING_I2C 12 ; / / Program_number_CommManager
STATUS_ZONE_NR = 1 STATUS_PROGRAM_NR ; / / Number_CommManager_zone
STATUS_ADC_PROGRAM = 1 STATUS_ZONE_NR ; / ADC_program_number /
STATUS_ADC_PROGRAM STATUS_LIGHT_LEVEL = 2 ; / / Estado 3 dimmers / DIMM / 3 * 2B
Exemplo de cálculo da temperatura sobre o estado de HM
i = índice de entrada analóxica 0 . . 15 de HM gettemplm función (msb , LSB) ;
TEMPHM [i]: = gettemplm (str [STATUS_ADC_HEART + i * 2 + TCP_INDEX_INC] , str [STATUS_ADC_HEART + i * 2 1 + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi