eHouse 1 – 家庭自動化 – 控制器的狀態以二進制形式

eHouse 家庭自動化 , 大廈管理 第1版 – 系統控制器的狀態幀 家庭自動化 .
要創建一個全功能的 , 需要可視化的控制面板,有效的自己的軟件需要實現以二進制形式直接解碼eHouse 1驅動程序的狀態 . 根據正常的操作模式的選擇或擴展地址(Extended_address) , 幀發送驅動器的狀態如下(括號內顯著性差異在擴展模式地址) .
此模式需要的監督的CommManager驅動程序下工作,外部事件和發送消息的目的地址 , 可以告訴自己的地址到目的設備的發送方接收事件(手 – 搖) .
如果接口RS – 485絕對不建議直接連接到驅動器 , 發送一些命令可能會導致這樣的清潔程序存儲器(固件) 控制器 這可能結束自己的生命 .
其它命令或在RS中的隨機信號 – 485可能會破壞系統的穩定性肯定減慢他的工作 .
本機eHouse 自動化控制器 應工作的監督下,生產性應用 ” eHouse . exe文件 ” .
出於安全考慮 , 你可以閱讀驅動程序的狀態沒有連接到他們的應用程序eHouse . 埃克(UDP協議和局域網) .
這是不可 – 侵入閱讀 , 不加載既不是軟件也不控制器 , 更有什者 , 不以任何方式轉讓協議,通過RS侵入 – 485 .
目前的情況是不同的eHouse_1控制器工作的監督下,CommManager .
CommManager控制器可以發送狀態(eHouse 1和CommManager於一體的綜合包) , UDP局域網和對這些數據的訪問是無連接的,非 – 侵入性,以及直接從CommManager或其他以太網Ehouse的控制器 .
UDP接收數據狀態我們不能損害驅動程序, , 傳入的數據和一個最大的誤解 .
EHouse系統不發送任何UDP駕駛員安全 , 無論客戶端是否接收到的數據通過UDP發送或驅動程序不 , 或客戶的計數是否為0或250 .
從eHouse家庭自動化系統接收數據 , UDP是安全的,不會以任何方式控制器或eHouse軟件加載 , 發送到LAN廣播(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> ; ;
正常模式/對 . (擴展地址)
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 .
為了確保安全 , 數據附加檢查 – 綜上所述,以消除不正確的廣播執行 .
發送命令狀態 ‘ 小號 ‘ ,
驅動程序的框架狀態 家庭自動化 eHouse 1和描述的字節數(索引偏移取決於操作模式(正常或extended_address) .
這種不斷的轉移命名為以下TCP_INDEX_INC . 根據模式 , 對於正常的發送擴展地址或0,其可以採用的值是3 . 當編寫軟件 , 你可能認為這是作為一個變量的參數 , 因為它可以讓我們輕鬆處理的數據,在以後的版本中,如果在一個這樣或那樣的幀轉移 .
索引的每個字節幀狀態的驅動程序eHouse 1(幀起始):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / /值的A/D_converters_2_bytes_1B = MSB , 2B = 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乙
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的乙報警和警告
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / /的輸入inputextenderÇ報警和警告
/ /狀態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 ; / /將狀態71字節以上的設備連接到RS485(eHouse_1)
STATUS_ADC_ETH = 72 ; / / ADC_measurements_16_inputs * 2B A / D_notation_as_for_RM_Vcc = 3V3
STATUS_ADC_ETH_END STATUS_ADC_ETH +32 ; / /結束的A / 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 * 2B
上的溫度的狀態的HM的實施例的計算
I =指數模擬量輸入0 . . 15為:HM gettemplm功能(MSB , LSB) ;
TEMPHM [I]:= gettemplm(STR [STATUS_ADC_HEART + I * 2 + TCP_INDEX_INC] , 海峽[STATUS_ADC_HEART + I * 2 +1 + TCP_INDEX_INC) eHouse_Home_Automation_OpenSource_Delphi