Automasi rumah seperti mewujudkan algoritma kawalan anda sendiri untuk eHouse sistem

Pengurusan Bangunan eHouse membolehkan anda untuk mewujudkan lapisan anda sendiri (aplikasi yang berjalan pada PC yang eHouse sistem pelayan) , yang menjadikan ia mudah untuk mencipta algoritma pengaturcaraan sendiri individu anda menggunakan template EhouseLogAnalizer perisian kami untuk Delphi . Perisian ini telah dibincangkan dalam ” Balak Analyzer pintar rumah eHouse ” lanjutan fungsi eHouse sistem Automasi Utama .
Dengan kestabilan hari ini ' ; s PC , dan Windows boleh menjadi operasi yang lancar dan berterusan perisian pengurusan eHouse rumah pintar juga dipantau oleh permohonan KillExec . exe .
Dalam kes penggantungan kesilapan permohonan ditutup dan mula lagi tanpa campur tangan pengguna sistem .
Dengan betul menubuhkan Windows dan sistem eHouse kesinambungan boleh bekerja perisian rumah pintar pada PC untuk beberapa bulan .
Penulisan yang betul rumah perisian sistem kawalan pintar memerlukan ujian berjujukan eHouse ukuran berubah (dan menghantar acara kawalan yang sesuai jika perlu – masa) .
Apabila menulis algoritma kawalan anda sendiri untuk mencipta perisian – bendera membuktikan kepada selesainya acara senselessly tidak berulang kali menghantar acara yang sama: contohnya , setiap 2 saat untuk menutup tirai yang sudah ditutup .
Permohonan boleh diberikan kepada beberapa Timers:
Pertama – Terkemuka seperti mengemaskini pemandu data 10 saat .
Satu lagi – dengan nilai â € <â € <bergantung pada kebolehubahan fenomena:
contohnya . untuk mengawal tirai , kajang untuk suhu luar dan tahap ringan mungkin beberapa minit .
Dalam kes membutakan kawalan memandu , pintu , Marquess , tingkap , dan sebagainya . boleh digunakan buluh disambungkan kepada input digital eHouse pengawal rumah pintar , bukti rapat mereka dan membuat operasi kawalan ke atas negeri RoomManager input data , yang jauh lebih baik dan lebih benar daripada bendera Perisian , yang nilai boleh ditetapkan salah akibat pepijat perisian atau kesilapan kerana memandu (tidak penutupan , mekanikal , menyekat , dan sebagainya . ) .

Contoh menggunakan data dari controller dalam eHouseLogAnalizer permohonan (gelung berulang-ulang beroperasi pada selang setiap beberapa saat) .

/ / Memula data dari pengawal dandang HeatManagera
TzewnetrznaPN: = HADC [HM_ZEWNPN] ; Suhu / / Luar Utara
TemperaturaGWC: = HADC [HM_GWC] ; / / Suhu untuk GWC – Ground penukar haba untuk recuperator
TemperaturaKominekPlaszcz: = HADC [HM_KOM1] ; / / Suhu air dalam sensor cerobong 1
TemperaturaKominekKonvekcja: = HADC [HM_KOMKONV] ; / Perolakan / Suhu perapian – sensor pada cerobong kerja sebenar perapian
TemperaturaKominekPlaszcz: = HADC [HM_KOM2] ; / / Kebakaran jaket air sensor suhu 2 – (Backup)
TemperaturaWewnÄ ™ trzna: = HADC [HM_TWEWN] ; / / Suhu bilik Dalaman – untuk CO
TemperaturaSolar: = HADC [HM_SOLAR] ; / / Suhu pengumpul suria paip puncak (panas)
TzewnetrznaPD: = HADC [HM_ZEWNPD] ; Suhu / / Luar tengah hari
Tkociol: = HADC [HM_KOC] ; / / Dandang tiub suhu puncak (panas)
TemperaturaBuforaCODol: = HADC [HM_BANDOL] ; / / Suhu CO / tangki air panas ke
TemperaturaRecuIn: = HADC [HM_REQIN] ; / / Input recuperator suhu udara bersih
TemperaturaRecuOut: = HADC [HM_REQOUT] ; / / Output suhu udara recuperator rumah
TemperaturaZaworTrojDrozny: = HADC [HM_NAG] ; / / Suhu dikawal tiga – injap cara seperti pemanas atau untuk radiator
TemperaturaRecuWyciog: = HADC [HM_REQWYC] ; / / Ekstrak suhu recuperator rumah kotor udara
TemperaturaBuforaCOGora: = HADC [HM_BANGORA] ; / / Suhu pemanasan / tangki air panas sehingga
TemperaturaBuforaCOSrodek: = HADC [HM_BANSRO] ; / / Suhu pemanasan / air panas tangki pusat
/ / Pengukuran dari sensor untuk RoomManager
TzewWschod: = RMGetTempNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 8) ; / / Penderia Suhu Luaran timur RM Tiada . 8 bagi alamat 55 – 2
TzewZachod: = RMGetTempNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 8) ; / Sensor / Suhu di luar Barat dengan No . 8 RM dengan alamat 55 – 3
TzewPolnoc: = RMGetTempNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 8) ; / Sensor / suhu di luar North Tidak . 8 RM dengan alamat 55 – 4
TzewPoludnie: = RMGetTempNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 8) ; / Sensor / suhu di luar Selatan Tiada . 8 RM dengan alamat 55 – 5
LNaslonecznienieWschod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 2 ‘ ) , 1) ; / / Tahap cahaya ambien timur sensor Tiada . 1 RM dengan alamat 55 – 2
LNaslonecznienieZachod: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 3 ‘ ) , 1) ; / / Sensor cahaya ambien tahap Barat Tidak . 1 RM dengan alamat 55 – 3
LNaslonecznieniePolnoc: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 4 ‘ ) , 1) ; / / Sensor cahaya ambien tahap Utara Tidak . 1 RM dengan alamat 55 – 4
LNaslonecznieniePoludnie: = RMGetInvPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 1) ; / / Sensor cahaya ambien tahap Selatan No . 1 RM dengan alamat 55 – 5
SilaWiatru: =: = RMGetPercentNr (get_index_rm ( ‘ 55 – 5 ‘ ) , 7) ; / / Sensor cahaya ambien tahap Selatan No . 1 RM dengan alamat 55 – 5
Algoritma kawalan boleh sewenang-wenangnya dan boleh termasuk mana-mana parameter dan ukuran setakat ini telah digunakan dan dipasang sensor kuantiti fizikal tertentu .
/ / Algoritma yang terkandung dalam pemasa pengulangan itu perlahan . setiap 10 minit
/ / Contoh tenaga – kawalan bidai roller dan kajang (mengakibatkan penjimatan kos yang ketara disebabkan oleh matahari yang cekap ' ; sinar untuk memanaskan rumah pada musim sejuk) dan pengumpulan tenaga solar percuma
/ / Pemanasan Percuma dan ekologi bilik di sebelah timur bangunan kepada cahaya matahari
jika (tidak RoletyWschod) dan kemudian / / jika mereka tidak lagi terbuka
jika (LNaslonecznienieWschod> ; 80) maka / / jika matahari – memeriksa nilai empirikal
jika (Bulan < ; ; 5) dan bulan> ; 8) kemudian / / jika bulan dari bulan September hingga April
jika (TzewWschod> ; 0) sensor kemudian / / suhu di matahari panas lebih tinggi daripada 0C
jika (Masa> ; 8) dan (Masa < ; ; 11) maka / / pada waktu pagi apabila matahari bersinar langsung dari timur
memulakan
RoletyWschod: = true ; / / Bendera untuk membuka bidai Timur
OtworzRoletyWschod ; / / Fungsi menghantar acara untuk eHouse sistem pemandu
ZamknijMarkizyWschod ; / / Jangan memberi apa-apa kerana matahari adalah terlalu rendah
akhir ;
/ / Pemanasan Percuma dan ekologi bilik di sebelah selatan bangunan , matahari ' ; sinar
jika (tidak RoletyPoludnie) kemudian / / jika mereka tidak lagi terbuka
jika (LNaslonecznieniePolodnie> ; 80) maka / / jika matahari – memeriksa nilai empirikal
jika (Bulan < ; ; 5) dan bulan> ; 8) kemudian / / jika bulan dari bulan September hingga April
jika (TzewPoludnie> ; 0) sensor kemudian / / suhu di matahari panas lebih tinggi daripada 0C
jika (jam> ; 10) dan (Masa < ; ; 14) maka / / pada waktu pagi apabila matahari bersinar langsung dari selatan
memulakan
RoletyPoludnie: = true ; / / Buka bidai bendera selatan
OtworzRoletyPolodnie ; / / Fungsi menghantar acara untuk eHouse sistem pemandu
ZamknijMarkizyPolodnie ; / / Jangan memberi apa-apa kerana matahari adalah terlalu rendah
akhir ;
/ / Pemanasan Percuma dan ekologi bilik di sebelah barat bangunan , matahari ' ; sinar
jika (tidak RoletyZachod) dan kemudian / / jika mereka tidak lagi terbuka
jika (LNaslonecznienieZachod> ; 80) maka / / jika matahari – memeriksa nilai empirikal
jika (Bulan < ; ; 5) dan bulan> ; 8) kemudian / / jika bulan dari bulan September hingga April
jika (TzewZachod> ; 0) sensor kemudian / / suhu di matahari panas lebih tinggi daripada 0C
jika (jam> ; 14) dan (Masa < ; ; 18) kemudian / / pada waktu pagi apabila matahari bersinar langsung dari barat
memulakan
RoletyZachod: = true ; / / Bendera untuk membuka bidai Barat
OtworzRoletyZachod ; / / Fungsi menghantar acara untuk eHouse sistem pemandu
ZamknijMarkizyZachod ; / / Jangan memberi apa-apa kerana matahari adalah terlalu rendah
akhir ;
/ / Ekologi dan Menjimatkan Menghadkan kesan pemanasan ruang bebas oleh cahaya matahari pada musim panas – kawalan kajang
/ / Kawalan kajang – membuka kajang untuk mengurangkan sinaran suria dan pemanasan rumah pada musim panas – timur
jika (tidak MarkizaWschodA) kemudian / / jika mereka tidak lagi terbuka
jika (SilaWiatru < ; ; 5) Kemudian / / jika tiada angin
if ((Bulan> ; 4) dan (Bulan < ; ; 9)), maka / / musim panas
jika (LNaslonecznienieWschod> ; 50), maka / / jika matahari bersinar
jika (masa> ; 6) dan (Masa < ; ; 12) kemudian / / jika waktu pagi
jika (TwewnWschodA> ; 25) maka / / jika bilik terlalu panas
memulakan
MarkizaWschodA: = true ; / / Kajang Bendera bilik terbuka
OtworzMarkizeWchodA ; / / Hantar acara untuk eHouse sistem pemandu
akhir ;
/ / Begitu juga , anda boleh meniru kod untuk kawalan bebas kajang di kawasan-kawasan lain fasad timur perubahan A ke nilai yang berbeza
/ / Kawalan kajang – membuka kajang untuk mengurangkan sinaran suria dan pemanasan rumah di tengah hari musim panas
jika (tidak MarkizaPoludnieA) kemudian / / jika mereka tidak lagi terbuka
jika (SilaWiatru < ; ; 5) Kemudian / / jika tiada angin
if ((Bulan> ; 4) dan (Bulan < ; ; 9)), maka / / musim panas
jika (LNaslonecznieniePoludnie> ; 50), maka / / jika matahari bersinar
jika (Masa> ; 8) dan (Masa < ; ; 18) maka / / jika jam di mana matahari paling sukar beroperasi dari selatan
jika (TwewnPoludnieA> ; 25) maka / / jika bilik terlalu panas
memulakan
MarkizaPoludnieA: = true ; / / Kajang Bendera bilik terbuka
OtworzMarkizePoludnieA ; / / Hantar acara untuk eHouse sistem pemandu
akhir ;
/ / Begitu juga , anda boleh meniru kod untuk kawalan bebas kajang di kawasan lain ketinggian Selatan Menukar kepada nilai yang berbeza
/ / Kawalan kajang – kajang terbuka untuk mengurangkan sinaran suria dan pemanasan rumah pada musim panas sebelah barat
jika (tidak MarkizaZachodA) kemudian / / jika mereka tidak lagi terbuka
jika (SilaWiatru < ; ; 5) Kemudian / / jika tiada angin
if ((Bulan> ; 4) dan (Bulan < ; ; 9)), maka / / musim panas
jika (LNaslonecznieniePoludnie> ; 50), maka / / jika matahari bersinar
jika (Masa> ; 8) dan (Masa < ; ; 18) maka / / jika jam di mana matahari paling sukar beroperasi dari selatan
jika (TwewnZachodA> ; 25) maka / / jika bilik terlalu panas
memulakan
MarkizaZachodA: = true ; / / Kajang Bendera bilik terbuka
OtworzMarkizeZachodA ; / / Hantar acara untuk eHouse sistem pemandu
akhir ;
/ / Begitu juga , anda boleh meniru kod untuk kawalan bebas kajang di kawasan-kawasan lain fasad barat perubahan A ke nilai yang berbeza
/ / Tutup Marquis angin yang terlalu banyak
jika (LNaslonecznieniePoludnie < ; ; 20) kemudian / / jika matahari tidak bersinar (dipilih empirikal Setelah Hujan dan hujan)
jika (MarkizaPoludnieA) maka / / jika awning terbuka
memulakan
MarkizaPoludnieA: = palsu ; / / Tukar bendera
ZamknijMarkizePoludnieA ; / / Hantar acara untuk eHouse pengawal mikropemproses
akhir ;
jika (LNaslonecznienieZachod < ; ; 20) kemudian / / jika matahari tidak bersinar (dipilih secara empirikal)
jika (MarkizaZachodA) maka / / jika awning terbuka
memulakan
MarkizaZachodA: = palsu ; / / Tukar bendera
ZamknijMarkizeZachodA ; / / Hantar acara untuk eHouse pengawal mikropemproses
akhir ;
jika (LNaslonecznienieWschod < ; ; 20) kemudian / / jika matahari tidak bersinar (dipilih secara empirikal)
jika (MarkizaWschodA) maka / / jika awning terbuka
memulakan
MarkizaWschodA: = palsu ; / / Tukar bendera
ZamknijMarkizeWschodA ; / / Hantar acara untuk eHouse pengawal mikropemproses
akhir ;
jika (SilaWiatru> ; 5) kemudian / / Angin untuk menutup tirai
jika (MarkizaZachodA atau MarkizaWschodA atau MarkizaPoludnieA) kemudian / / jika seseorang itu terbuka
memulakan
ZamknijWszystkieMarkizy ; / / Hantar acara untuk eHouse sistem pemandu
MarkizaZachodA: = palsu ;
MarkizaWschodA: = palsu ;
MarkizaPoludnieA: = palsu ;
akhir ;
/ / Tutup bidai kawalan suhu automatik adalah terlalu rendah untuk haba untuk melarikan diri di luar melalui bukaan terhad di luar tingkap
/ / Selatan – menutup bidai pada sejuk dan kekurangan matahari untuk ketinggian selatan
jika (RoletyPoludnie) maka / / jika ia dibuka
jika (TzewPoludnie < – 10) then // temperature sensor smaller than the southern – 10C indicating the large cold and lack of sun heating the sensor on the south side

memulakan
RoletyPoludnie: = palsu ; / / Buka bidai bendera selatan
ZamknijRoletyPolodnie ; / / Fungsi menghantar acara untuk eHouse sistem pemandu
/ / ZamknijMarkizyPolodnie ; / / Jangan memberi apa-apa kerana matahari adalah terlalu rendah
akhir ;
/ / Rumah penutup tirai Timur pada sejuk dan kekurangan matahari untuk fasad Timur
jika (RoletyWschod) maka / / jika ia dibuka
jika (TzewWschod < – 10) then // temperature sensor lower than the Eastern – 10C indicating the large cold and lack of sun heating the sensor on the east side

memulakan
RoletyWschod: = palsu ; / / Bendera untuk membuka bidai Timur
ZamknijRoletyWschod ; / / Fungsi menghantar acara untuk eHouse sistem pemandu
/ / ZamknijMarkizyWschod ; / / Jangan memberi apa-apa kerana matahari adalah terlalu rendah
akhir ;
/ / Tutup membutakan sebelah barat sejuk dan kekurangan matahari kepada ketinggian barat
jika (RoletyZachod) maka / / jika ia dibuka
jika (TzewZachod < – 10) then // temperature sensor below the western – 10C indicating the large cold and lack of sun heating the sensor on the west side

memulakan
RoletyZachod: = palsu ; / / Bendera untuk membuka bidai Barat
ZamknijRoletyZachod ; / / Fungsi menghantar acara untuk eHouse sistem pemandu
/ / ZamknijMarkizyZachod ; / / Jangan memberi apa-apa kerana matahari adalah terlalu rendah
akhir ;