eHouse 1 – Home Automation – Controller-Zuständen in binärer Form

eHouse Home Automation , Building Management Version 1 – Rahmen der System-Controller-Status Home Automation .
Um eine voll funktionsfähige erstellen , effiziente eigene Software für Bedienfelder, die Visualisierung benötigen, müssen direkte Decodierung eHouse 1-Fahrer-Status in binärer Form zu implementieren . Je nach Wahl des normalen Betriebsmodus oder erweiterten Adresse (Extended_address) , Rahmen, um den Status des Fahrers zu senden ist wie folgt (in Klammern deutliche Unterschied im erweiterten Modus-Adresse) .
Dieser Modus wird benötigt, um unter der Aufsicht von CommManager Treiber arbeiten und sendet die Nachricht Zieladresse äußere Ereignisse , Eigene Adresse an das Zielgerät kann sagen, den Absender zu Events zu erhalten (Hand – schütteln) .
Wenn die Schnittstelle rs – 485 definitiv nicht empfehlen direkten Versuche, dem Treiber verbunden , wie das Senden einige Befehle kann eine solche Reinigung Programmspeicher (Firmware) Controller was könnte am Ende ihres Lebens .
Andere Befehle oder zufällige Signale in RS – 485 untergraben die Stabilität des Systems oder definitiv verlangsamen seine Arbeit .
Ureinwohner eHouse Automation Controllers sollte unter der Aufsicht von Produzent Anwendung arbeiten ” eHouse . exe ” .
Aus Sicherheitsgründen , Sie können den Status der Fahrer ohne eine Verbindung zu ihnen durch die Anwendung eHouse lesen . Exe (UDP-Protokoll und LAN) .
Dies ist nicht – invasive Lesen , nicht geladen weder Software noch Controllern , und was mehr , nicht aufdringlich in irgendeiner Weise Transfer-Protokoll über RS – 485 .
Die Situation ist anders, wenn eHouse_1 Controller unter der Aufsicht von CommManager arbeiten .
CommManager Controller kann Sendestatus (eHouse 1 und CommManager in einem integrierten Paket) , die UDP-LAN und Zugriff auf diese Daten ist verbindungslos und nicht – invasive als auch direkt von CommManager oder andere Ethernet eHouse Controller .
Empfangen von Daten über UDP-Status können wir nicht schaden Treiber , und ein Maximum von ankommenden Daten missinterpretieren .
EHouse System nichts an den UDP Sicherheit der Fahrer zu senden , ein Fahrer nicht darauf an, ob der Client die Daten über UDP verschickt empfängt oder nicht , oder ob die Anzahl von Kunden ist 0 oder 250 .
Empfangen von Daten aus eHouse Hausautomation , das UDP ist sicher und nicht in irgendeiner Weise Steuerungen oder eHouse Software zu laden , Senden Sendungen (UDP_broadcast) mit dem LAN .
Feld Status hat folgendes Format:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; command> ; ; < ; ; Daten_1> ; ; . . . . . < ; ; Data> ; ; < ; ; DATA_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; command> ; ; < ; ; Daten_1> ; ; . . . . . < ; ; Data> ; ; < ; ; DATA_N> ; ; < ; ; 0> ; ;
Normal Mode / vs . (Extended Address)
1 . Größe der Daten (Größe der Daten)
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 . . der Rest der Daten für einen gegebenen Befehl .
Wenn Sie senden den Status des Fahrers ; s Steuerbefehl ‘ s ‘ .
Weiter, um die Daten in binärer Form folgen, um die Übermittlung von Informationen über eine serielle RS minimieren – 485 .
Aus Sicherheitsgründen , auf die Daten angebracht zu überprüfen – Zusammenfassend zu eliminieren korrekt Übertragungen durchzuführen .
Befehl senden Status ‘ s ‘ ,
Rahmenstatus Treiber Home Automation eHouse 1 und eine Beschreibung der Byte-Zahl (Index Verschiebung abhängig von der Betriebsart (normal oder extended_address) .
Diese ständigen Verschiebung unten genannten TCP_INDEX_INC . Je nach Betriebsart , es kann einen Wert von 3 für die erweiterte Adresse oder 0 für normale Übertragung erlassen . Wenn man Software , könnten Sie diesen Parameter als Variable betrachten , weil sie uns ermöglicht auf einfache Weise die Daten manipulieren in späteren Versionen, wenn der Rahmen in der einen oder anderen verschoben wird .
Indizes jedes Byte Frame-Status der Treiber eHouse 1 (der Start of Frame):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Der Wert von A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 2 + TCP_INDEX_INC ; / / Digital-Ausgang, sagt der erste Index

/ / Jeder Ausgang 1 Bit LSB kleinste Zahl , MSB größten
STATUS_IN = 20 2 + TCP_INDEX_INC ; / / Digital-Eingang Zustände LSB kleinste Zahl , MSB größten
STATUS_INT = 21 2 + TCP_INDEX_INC ; / / Staaten der digitalen Eingänge (Interrupt) LSB kleinste Zahl , MSB größten
STATUS_OUT25 = 22 2 + TCP_INDEX_INC ; / / Ausgänge Staaten von 25 . . 32 die gleiche Weise wie die Ausgangs
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / Status eines Dimmers Dimmer 1B
STATUS_ZONE_PGM = 26 2 + TCP_INDEX_INC ; / / Keine aktuellen Zone für EM
STATUS_PROGRAM = 27 2 + TCP_INDEX_INC ; / / Keine aktuelle Programm
STATUS_INPUTEXT_A_ACTIVE = 28 2 + TCP_INDEX_INC ; / / Eingang inputextender A im aktiven Zustand
STATUS_INPUTEXT_B_ACTIVE = 32 2 + TCP_INDEX_INC ; / / Eingang inputextender B im aktiven Zustand
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / Eingang inputextender C im aktiven Zustand
STATUS_INPUTEXT_A = 40 + 2 TCP_INDEX_INC ; / / Input inputextender A Alarme und Warnungen
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / Input inputextender B Alarme und Warnungen
STATUS_INPUTEXT_C = 60 2 + TCP_INDEX_INC ; / / Input inputextender C Alarme und Warnungen
/ / Status HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Temperaturmessungen von 16 Sensoren in gleicher Weise wie für die RM
STATUS_OUT_HEART = 33 + 2 TCP_INDEX_INC ; / / Digital-Ausgang besagt ähnlich RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – integriert mit dem Status von Treibern eHouse 1 (Hybridsystem) eHouse 1 unter Aufsicht CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Stellen Sie den Status der angeschlossenen Geräte RS485 (eHouse_1) über 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 ; / / Ende der A / D-Messung
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 mal i2c 10 * 8 / / max = 160 Modul Ausgänge Erweiterungsmodul
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 mal i2c 6 * 8 / / max 96 Eingänge Erweiterungsmodul
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in dass der Alarmzustand (mit Bezug auf die Maske für die aktuelle Sicherheitszone)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning Zustand (mit Bezug auf die Maske für die aktuelle Sicherheitszone)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition Überwachung (in bezug auf die Maske für die aktuellen Sicherheitszone)
STATUS_PROGRAM_NR = STATUS_MONITORING_I2C 12 ; / / Program_number_CommManager
STATUS_ZONE_NR = STATUS_PROGRAM_NR ein ; / / Number_CommManager_zone
STATUS_ADC_PROGRAM = STATUS_ZONE_NR ein ; / / ADC_program_number
STATUS_ADC_PROGRAM STATUS_LIGHT_LEVEL = 2 ; / / Status 3 Dimmer / / Dimmer 3 * 2B
Beispiel Berechnung der Temperatur über den Status von HM
i = Index Analogeingang 0 . . 15 für HM gettemplm Funktion (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