ホームオートメーション  ,  ビル管理  eHouse – デコードマイクロコントローラのステータス 
  ホームオートメーション  LANまたは無線LANに接続されたコントロールパネルで受信された , はUDP(User Datagram Protocol)を介して .  
 バイナリ形式での標準的なフレームの受信状態 , とともに  コントローラ  記事で説明しました ” インテリジェントビルのeHouseコントローラのステータスパッケージ ” . 
 デコードフレームは、パックからのデータのすべてのビットを分析する必要があります .
加えて , コントローラの各タイプ: 
- RoomManager
 - ExternalManager
 - HeatManager
 - InputExtender
 - CommManager
 - LevelManager
 - EthernetRoomManager
 
 デジタル入力の量の違いを持っている , 測定入力 , デジタル出力 , 調光器 , その結果、監視機能とアルゴリズム , 標準フレーム変異のデータはコントローラのタイプに応じていること . 
 復号化するための必要性この結果独立して、コントローラのタイプごとに、少しずつ . 
 フレーム復号アルゴリズムを作成し、テストするために、マイクロコントローラのすべてのタイプの実装の場合で1ヶ月程度かかることがあります . 
 最小にこの時間を最小限に抑えるために、 , eHouseから借りたアルゴリズムを提示する準備を容易にする . exeアプリケーション , 自動的にタッチパネルのテンプレートレコード(錠剤用)Windows XPにコントローラおよび負荷データからすべての情報をデコードする , ビスタ , 7 , 8 . 
 自動的にeHouseソフトウェアライブラリにデータをロードした後 , 数行のコードで , あなたは数分で独自の制御アルゴリズムのeHouseシステムを作成することができます . 
 eHouseステータス標準のバイナリフレームのデコードソフトウェアはパネル用のテンプレートライブラリで実装されています . これは、バイナリを実行する必要がある , eHouseなしイーサネット·コントローラーから直接デコード状況について . exeアプリケーション監視 . 
 デコードフレーム全体(マイクロコントローラ用eHouse1 RM , EM , HM)(strのプロシージャset_rm機能によって行われる:array_of_char ; TCP_INDEX_INC:整数) ; 
 パラメータは、バッファ状態及びシフト(オフセット)の関数である . バッファは状況から受信したすべてのデータが含まれています . オフセットは、伝送のタイプ(拡張アドレスに依存 , 通常の , 通信アルゴリズムに依存し、他の将来の応用) . 
 これは、自動的に個別に各コントローラのアレイのステータスを埋め、その後、直接画面タッチ·パネルに自動的にデータまたは更新データを操作することができます . 
 この機能は、UDPソケットコンポーネントから受信したデータのイベントプロシージャ(TNMUDPで活性化される – onDataReceivedイベントに)バイナリと呼ばれる . 
 レセプションは次のとおりです。 
 手順TForm1に . binaryDataReceived(送信者:TComponentは ; 
 NumberBytes:整数 ; FromIP:文字列 ; ポート:整数) ; 
 VARはC:配列[0 . . charの1024] ; 
 MyStream:TMemoryStream ; 
 始まる 
 filesystem_statusし、終了している場合 ; / / noのファイルシステムfilesystem_status場合 
 MyStream:= TMemoryStream . 作る ; / /データのストリームを作成します。 
 バイナリ . ReadStream(MyStream) ; / /データストリームを読む 
 MyStream . 記事を読む(c [0] , NumberBytes) ; / /ロード·バッファC 
 set_rm(C , 1) ; / /バイナリデータに変換し、負荷コントローラeHouse 1のレジスタのrm [インデックス] 
 Test_save ; / /テスト容易な操作のためにテキストファイルに出力を記録 
 update_panel ; コントロールパネルの/ /ロードデータ 
 終わり ; 
 それはあなたが自動的に非することができます – LANまたは無線経由でデータの侵襲的なコレクション – はUDP(User Datagram Protocol)を介してパッケージの放送と無線LAN . 
 以上、何しても、サーバーへのオープン接続のみポートブロードキャストをリッスンする必要はありません ‘ 6789 ‘ デフォルトまたは他の . 
 エラーリンク , ネットワーク , ルータは、懸濁液または不特定のソフトウェアエラー(TCPサーバとの通信の場合のように)にはなりません , しかし、データだけ、または適切なサーバのUDPクライアント·アプリケーションに影響を与えることなく、データを更新して消える .
警告! . あなたはeHouseホームオートメーションのためのWindows上での制御ソフトウェアを作成する場合 , それは1つのアプリケーション内のすべてのアルゴリズムを実装する必要がある , そのデータを分析し、すべてのアルゴリズムを実行し、それらを視覚化 . 我々は、同じPC上で2つのUDPリスナーソケットが存在しないことを時々観察 . 
 ライブラリのバイナリの中で最も重要な変数: 
 boiler_alarm:ブール=偽 ; / /ボイラーアラームアラームプログラムされた温度を超えた 
 / /オーバー – 温度アラームボイラー 
 bonfire_stat:整数 ; / /篝火加熱レベル0 – バイナリモードでは7 – 雇用状況火災 
 / / 0 – 発射する – 加熱しない 
 / / 1 – /消火で火災=> ; ; 緑のレベル< ; ; 一時ジャケット(緑LED点滅) – が緑色に点滅し切れる 
 / / 2 – =>上の火災 ; ; 緑のレベル> ; ; =一時ジャケット> ; ; 黄色レベル – histeressis(緑色LED) – 緑 
 / / 3 – =>上の火災 ; ; 黄色レベル – histeressis> ; ; 一時ジャケット> ; ; histeressisレベル+黄)(緑+黄色のLED) – 緑 – 黄色 
 / / 4 – =>上の火災 ; ; 黄色レベル+ histeressis> ; ; 一時ジャケット> ; ; 赤レベル – histeressis(黄色) – 黄色 
 / / 5 – 無条件=> ; ; 赤レベル – histeressis < ; ; 一時ジャケット< ; ; histeressisレベル+赤(赤+黄色LED)が黄色 – 赤 
 / / 6 – 無条件=> ; ; 一時ジャケット> ; ; histeressisレベル+赤(赤色LED定数) – 赤 
 / / 7 – 無条件=> ; ; 一時ジャケット> ; ; たき火アラーム(赤LED点滅)ALARM – 赤色の点滅 
 bonfire_sensor_error:ブール=偽 ; / /エラーセンサーすぎてかがり火両者の異なる水ジャケット温度センサーを 
 / /エラーの暖炉のマントルの温度センサーあまりに大きな違い 
 recuperator_status:文字列 ; 療養の/ /ステータス , 換気 , 暖房 – 復熱と換気の状態 
 recu_winter:ブール=偽 ; / /レキュペレータ冬/夏の熱交換器モードの有効/無効 – レキュペレータ冬/夏 
 recu_manual_amalva:ブール= trueを ; amalvaレキュペレータ用/ /レキュペレータオート/マニュアルモード(内部コントローラの元amalvaによって管理オート , eHouse HeatManagerへマニュアル)/ / 
 レキュペレータamalva手動/自動 
 went_cooler:ブール= trueを ; システム療養療養またはON / OFFをGWCの換気やクーラーのオン/オフ/ /ウォータークーラー 
 went_gwc:ブール=偽 ; オン/オフ/ / GHE(地中熱交換器)サーボモータ – オン/オフの地中熱交換器モーター 
 went_aux_gwc_fan:ブール=偽 ; 地中熱交換器のスイッチをオン/オフ/ /補助GWCベンチレーター/ファン – 支援GWCファン 
 bonfire_dgp:ブール=偽 ; / /篝火の熱い空気分配システムを有効/無効 – 暖炉DGPからの熱気がファン流通 
 ventilation_on:ブール=偽 ; / /換気は現在、オン/オフが働いている – 換気と熱回収を含む 
 heater_pump:ブール= trueを ; オン/オフを換気するためのヒーターのための/ /ポンプ – ラジエータ用ヒートポンプ暖房と換気回路 
 three_ways_cutoff:整数= 0 ; / / 3つの方法オフカット方向0 , レベル1を増やす , – レベル1)の回転電気の方向性を減少 – 三方弁 
 solar_pump:ブール=偽 ; オン/オフ/ /ソーラーポンプ – ソーラーポンプ 
 boiler_on:ブール=偽 ; / /ボイラー有効/無効 – オン/オフボイラー 
 boiler_pump:ブール=偽 ; オン/オフボイラーポンプの/ /ステータス – オン/オフボイラーポンプ 
 boiler_fuel_out:ブール=偽 ; aproximate燃料の/ /ボイラー出(加熱の時間をカウント) – 固形燃料のボイラー(ボイラーの運転時間に基づいて算出される)の推定燃料不足 
 boiler_power_on:ブール=偽 ; オン/オフ/ /ボイラーsupplayパワー ; – オン/オフボイラ発電 
 boiler_fuel_supply_override:ブール=偽 ; / /オーバーライドsupplyier燃料ボイラー(eHouse /内部ボイラーコントローラによる制御) – オン/オフ制御された親燃料供給システムのeHouse 
 bonfire_pump:ブール=偽 ; オン/オフ/ /篝火ポンプの状態 – オン/オフ消防ポンプ 
 recu_speed:整数= 0 ; / /レキュペレータSpeeed 0 . . 3 – レキュペレータスピード 
 recu_temperature:整数 ; RECU 0の/ /温度レベル . . amalwa用30C温度レキュペレータ 
 _recu_mode:文字列= ‘ ‘ ; それHEatManagerコントロールパネル(eHouseなどのテキストで/ /療養モード . exe)を – コントロール·パネル·アプリケーションHeatMAnageremのeHouseとしてレキュペレーターモード . exeファイル 
 行った:文字列 ; HeatManagerコントロールパネル(eHouseとして/ /テキスト換気状態 . exe)を – 換気状態eHouseのHeatManagerパネルと同じ . exeファイル 
 ボイラー , 太陽:文字列 ; / /ボイラー , コントロールパネルなどの太陽光発電のテキストHeatManagerステータス(eHouse . exe)を – ボイラーの状態やソーラーパネルコントロール(HeatManager)eHouse . exeファイル 
 コミ:文字列 ; HeatManagerコントロールパネル(eHouseとして/ /テキストたき火のステータス . exe)を – 火災のコントロールパネルアプリケーションheatmanagerのeHouseとしての地位 . exeファイル 
  コントロールライト