eHouse 1 – Home Automation – điều khiển dưới dạng nhị phân

eHouse Home Automation , Quản lý tòa nhà phiên bản 1 – khung hình của tình trạng điều khiển hệ thống Home Automation .
Tạo một chức năng đầy đủ , hiệu quả của phần mềm cho các bảng điều khiển đó có yêu cầu trực quan cần phải thực hiện trực tiếp giải mã eHouse tình trạng lái xe 1 dưới dạng nhị phân . Tùy thuộc vào sự lựa chọn chế độ hoạt động bình thường hoặc địa chỉ mở rộng (Extended_address) , khung để gửi tình trạng của người lái xe là như sau (trong ngoặc đánh dấu sự khác biệt trong chế độ mở rộng địa chỉ) .
Chế độ này được yêu cầu làm việc dưới sự giám sát của người lái xe CommManager và gửi địa chỉ đích tin nhắn bên ngoài sự kiện , Riêng của địa chỉ cho các thiết bị đích có thể nói cho người gửi đến người nhận các sự kiện (tay – lắc) .
Nếu rs giao diện – 485 chắc chắn không khuyên bạn nên cố gắng trực tiếp để kết nối với lái xe , như gửi một số lệnh có thể làm cho chương trình làm sạch bộ nhớ như (firmware) Bộ điều khiển có thể kết thúc cuộc sống của họ .
Các lệnh hoặc tín hiệu ngẫu nhiên trong RS – 485 có thể làm suy yếu sự ổn định của hệ thống hoặc chắc chắn làm chậm công việc của mình .
Native eHouse Tự động hóa điều khiển nên làm việc dưới sự giám sát của các ứng dụng sản xuất ” eHouse . exe ” .
Để bảo mật , bạn có thể đọc trạng thái của trình điều khiển mà không cần kết nối với họ thông qua các eHouse ứng dụng . Exe (giao thức UDP và mạng LAN) .
Điều này là không – xâm lấn đọc , không tải không phải phần mềm cũng không điều khiển , và những gì là , không xâm nhập trong bất kỳ giao thức truyền thông qua RS – 485 .
Tình hình là khác nhau khi eHouse_1 bộ điều khiển làm việc dưới sự giám sát của CommManager .
CommManager điều khiển có thể gửi trạng thái (eHouse 1 và CommManager trong một gói tích hợp) , LAN UDP và truy cập vào dữ liệu này không kết nối và không – xâm lấn cũng như trực tiếp từ CommManager hoặc bộ điều khiển Ethernet khác Ehouse .
Dữ liệu nhận được tình trạng trên UDP, chúng tôi không thể làm hại trình điều khiển , và tối đa của dữ liệu đến hiểu sai .
EHouse hệ thống không gửi bất cứ điều gì để lái xe an toàn UDP , một người lái xe không quan trọng cho dù khách hàng nhận được các dữ liệu được gửi qua UDP hay không , hay số lượng của khách hàng là 0 hoặc 250 .
Nhận dữ liệu từ hệ thống tự động hóa nhà eHouse , UDP là an toàn và không tải trong bất kỳ cách nào điều khiển hoặc phần mềm eHouse , gửi chương trình phát sóng (UDP_broadcast) vào mạng LAN .
Tình trạng hộp có định dạng sau:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; lệnh> ; ; < ; ; dữ liệu_1> ; ; . . . . . < ; ; Dữ liệu> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; lệnh> ; ; < ; ; dữ liệu_1> ; ; . . . . . < ; ; Dữ liệu> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Chế độ bình thường / vs . (Địa chỉ mở rộng)
1 . kích thước của dữ liệu (kích thước của dữ liệu)
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 . . phần còn lại của các dữ liệu cho lệnh đã cho .
Nếu bạn gửi tình trạng của người lái xe ' ; s lệnh điều khiển ‘ s ‘ .
Tiếp tục thực hiện theo các dữ liệu dưới dạng nhị phân để hạn chế tối đa việc chuyển giao thông tin thông qua RS nối tiếp – 485 .
Vì sự an toàn , dữ liệu được gắn kiểm tra – tổng hợp để loại bỏ các chương trình phát sóng không chính xác thực hiện .
Gửi lệnh tình trạng ‘ s ‘ ,
Khung hình trạng thái của trình điều khiển Home Automation eHouse 1 và mô tả một số byte (chỉ số thay đổi tùy thuộc vào chế độ hoạt động (bình thường hoặc extended_address) .
Này thay đổi liên tục có tên dưới đây TCP_INDEX_INC . Tùy thuộc vào chế độ , nó có thể áp dụng một giá trị của 3 địa chỉ mở rộng hoặc 0 để truyền bình thường . Khi viết phần mềm , bạn có thể xem xét tham số này như là một biến , vì nó cho phép chúng ta dễ dàng thao tác dữ liệu trong các phiên bản sau này nếu khung được chuyển trong cách này hay cách khác .
Chỉ số mỗi khung byte trạng thái của các trình điều khiển eHouse 1 (bắt đầu của khung):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Giá trị của A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Đầu ra kỹ thuật số các tiểu bang chỉ số đầu tiên

/ / Số lượng nhỏ nhất Mỗi đầu ra 1 bit LSB , MSB lớn nhất
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Digital input bang LSB nhỏ nhất số , MSB lớn nhất
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Quốc gia của yếu tố đầu vào kỹ thuật số (gián đoạn) LSB nhỏ nhất số , MSB lớn nhất
STATUS_OUT25 = 22 2 + TCP_INDEX_INC ; / / Outputs tiểu bang từ 25 . . 32 cách tương tự như đầu ra
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / Tình trạng của một 1B mờ mờ
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Không có khu vực hiện tại cho EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Không có chương trình hiện tại
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Input inputextender A trong trạng thái hoạt động
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / Input inputextender B ở trạng thái active
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / Input inputextender C ở trạng thái active
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; / / Input inputextender Báo động và Cảnh báo
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / Input / inputextender B Báo động và Cảnh báo
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Input inputextender C Báo động và Cảnh báo
/ / Tình trạng HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Nhiệt độ đo từ 16 bộ cảm ứng cùng một cách như đối với RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Đầu ra kỹ thuật số quốc gia tương tự như RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Tình trạng commmanager – tích hợp với tình trạng của các trình điều khiển eHouse 1 (hệ thống hybrid) eHouse 1 dưới sự giám sát của CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Đặt tình trạng của các thiết bị kết nối với RS485 (eHouse_1) trên 71 byte
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 ; / / End của phép đo A / D
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 lần i2c 10 * 8 / / tối đa = 160 kết quả đầu ra mô-đun mở rộng mô-đun
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 lần i2c 6 * 8 / / tối đa 96 đầu vào module mở rộng
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in tình trạng báo động (đối với mặt nạ cho vùng bảo mật hiện tại)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning nhà nước (đối với mặt nạ cho vùng bảo mật hiện tại)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition giám sát (đối với mặt nạ cho vùng bảo mật hiện tại)
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 ; / / Tình trạng 3 dimmers / / mờ 3 * 2B
Ví dụ tính toán của nhiệt độ trên tình trạng của HM
i = chỉ số đầu vào tương tự 0 . . 15 HM gettemplm chức năng (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