Otomatisasi kontrol pemanasan rumah sendiri-sendiri. Bagian 4

Kami terus berbicara tentang sistem kontrol pemanas rumah menggunakan timer-thermostat NM8036 (mulai di sini , dilanjutkan di sini dan di sini ).

NM8036

Advanced Manager adalah program yang disebutkan sebelumnya. Unit kontrol pemanas rumah pribadi adalah unit otonom, tetapi dengan program ini sangat mudah untuk membuat pengaturan untuk unit NM8036 dan memantau operasinya.

Untuk mendapatkan kemudahan ini dan tidak untuk menempati mobil saya, saya menggali di loteng komputer lama saya, yang sudah lebih dari 10 tahun, meniup debu itu dan menginstal ulang sistem. Ketika program yang saya butuhkan telah diinstal, unit sistem duduk di sudut dekat unit kontrol dan terhubung dengan kabel melalui port COM.

Awalnya, dia bersenandung di sekitar saya sepanjang waktu, terutama dengan monitor dimatikan. Saya menyalakannya hanya ketika saya sedang bekerja dengan program: Saya menganalisis jadwal yang diperoleh, mengasah program kontrol pemanas saya untuk NM8036 .

Di sini dan hari ini saya mencoba menunjukkan semua fitur Advanced Manager yang saya temukan sejauh ini di video ini. Penulis program, di Runet menyebut dirinya Brokly, menyajikannya secara gratis, sebagaimana adanya, tanpa kewajiban untuk dirinya sendiri dan dengan izin untuk merekomendasikannya kepada pengguna lain. Itulah mengapa saya mengambil kebebasan untuk memperkenalkannya kepada Anda, Guru.



Mari kita pertimbangkan lebih detail.

Pertama, mereka bertanya apa arti perubahan warna pada pembacaan sensor suhu dan ADC (layanan Terminal). Dan ini berarti dinamika perubahan, yaitu, jika suhu naik selama periode terakhir tertentu, maka bacaan disorot dalam oranye, dan ketika mereka menurun, mereka disorot dengan warna biru. Dan itu tidak disorot oleh siapa pun jika program tidak mendeteksi kecenderungan untuk berubah.



Gourmets memiliki petunjuk tentang cara mengubah parameter sensitivitas pengukuran ini. Ada file pengaturan names.ini di direktori program, banyak hal ditulis dalam file ini. Di sini, misalnya, saya memiliki bagian paling awal dari isi file ini:

[PORT]
Nama = COM1
IP = 127.0.0.1
PORT = 9999
[RELOAD]
VERS = Versi 1.95
LAST_RELOAD = 01/01/2001 1:01:01
[LOG]
Direktori = C: \ Program Files \ NM_BM8036 \ Ot Brokly
Ye = 1
STATE_ON = 1
CheckLoads1 = 1
CheckLoads1 = 1
CheckLoads2 = 1
CheckLoads3 = 1
CheckLoads4 = 0
CheckLoads4 = 0 CheckLoads5 = 0
...

Garis-garis yang dibingkai dengan tanda kurung adalah nama-nama bagian. Segala sesuatu di bawah nama adalah nama variabel dan nilainya. Dalam contoh yang ditunjukkan, ada tiga bagian: [PORT], [RELOAD] dan [LOG]. Ada tiga variabel di bagian [PORT]: Nama, yang diberi nilai COM1, IP dengan nilai 127.0.0.1, dan PORT, yang berisi angka 9999.

Kami tidak akan masuk ke perincian lebih lanjut, kami akan beralih ke spesifik. Jadi, untuk mengubah pengaturan sensitivitas untuk menentukan perubahan warna, ada bagian [SHOW] dalam file ini. Parameter berikut ditentukan di bagian ini:

'DCalm' - penundaan untuk mengatur ulang atribut warna termometer, default: 5;
'DSens' - sensitivitas atribut warna termometer, standar: 500;
'ACalm' - penundaan untuk mengatur ulang atribut warna pada input analog, default: 5;
'ASens' - sensitivitas atribut warna pada input analog, default: 100;

Dengan mengubah parameter ini, Anda dapat mencapai perubahan dalam pengaturan warna sensor sesuai dengan keinginan Anda, karena menurut Anda yang paling benar. Tetapi secara pribadi, saya tidak mengubahnya, semuanya cocok untuk saya. Ngomong-ngomong, jika di dalam milik Anda, Master, tidak ada bagian seperti itu di file-in ini, tetapi Anda ingin bermain, Anda harus membuatnya. Sederhana saja: di awal atau akhir file, tulis seperti ini:
[SHOW]
DCalm = 5
DSens = 500
ACalm = 5
ASens = 100

Dan kita mulai bermain, dalam arti, mengubah nilai variabel setelah tanda yang sama. Pada saat yang sama, kami mengamati perubahan warna sensor.

Sekarang kita akan pindah dari layanan Terminal ke layanan Analisis Grafis. Di bagian paling bawah, di sini Anda dapat memilih gaya grafik: Rata-rata, Tinggi, Minimum, Rentang. Apa artinya semua ini?

Faktanya adalah bahwa setiap titik pada grafik sesuai dengan periode waktu tertentu, misalnya, 1 menit. Selama menit ini, program menulis 20 nilai ke dalam file log (perekaman dilakukan sesuai dengan pengaturan setiap 3 detik). Manakah dari 20 nilai ini untuk ditampilkan pada grafik? Inilah yang Anda putuskan dengan pilihan gaya.

Jika Anda memilih Averaging, program akan menghitung nilai rata-rata dari 20 ini. Minimum, Maksimum - juga jelas, baik nilai minimum atau maksimum akan ditampilkan. Pada gambar, grafik dengan gaya Minimum yang dipilih.



Dan jangkauannya? Dan ketika Anda memilih Rentang, garis vertikal akan ditampilkan sebagai pengganti titik ini, dari minimum hingga nilai maksimum. Semua ini bisa dipahami dengan bermain dengan pilihan gaya.

Pengaturan untuk menggambar grafik juga tersedia di file pengaturan names.ini. Ada bagian [Grafik] untuk pengaturan ini. Ada banyak hal, kita akan memikirkan yang lebih menarik.



'GraphLineSize' - ketebalan garis grafik dalam piksel. Jika nilai ini = 1, garis grafik akan menjadi tipis, 1 piksel.



Anda dapat menetapkan garis yang lebih tebal, hingga 3-4 piksel jelek atau lebih.



'LoadsLineSize' - koefisien untuk meningkatkan tampilan grafik beban. Secara default, ini adalah 1, dan grafik muat terlihat seperti yang ada di sebelah kiri.



Dan di sini faktor pembesaran diatur ke 3. Siapa pun yang menyukainya.



'ShowMinMax' - menampilkan nilai minimum dan maksimum dalam legenda. Standarnya adalah 0 (tidak ditampilkan).



Jika Anda menempatkan 1, maka nilai minimum dan maksimum dalam waktu grafik akan ditampilkan. Omong-omong, legenda ditampilkan atau disembunyikan dengan mengklik kanan di mana saja pada grafik.



Di bagian yang sama, Anda dapat menentukan pengaturan tampilan untuk tata letak tabel. Untuk ini, variabel berikut diterima:
'Ord_XXX' - tetapkan garis dengan suhu tertentu;
'OrdLineSize_XXX' - ketebalan garis ordinat yang dipilih pada grafik;
'OrdLineStyle_XXX' - gaya garis ordinat yang dipilih pada grafik;
'OrdLineColor_XXX' - warna garis ordinat yang dipilih pada grafik;
'OrdLineName_XXX' - Nama garis ordinat yang dipilih pada grafik.

Sebagai contoh, saya mendaftarkan variabel-variabel berikut di bagian [Grafik]:
Ord_005 = 40 (angka yang ditentukan 005 untuk garis 40 derajat);
OrdLineSize_005 = 2 (menetapkan ketebalan garis 40 derajat);
OrdLineStyle_005 = 2 (menetapkan lebar goresan 2 piksel untuk gaya);
OrdLineColor_005 = 65025 (warna garis yang ditetapkan, hijau);
OrdLineName_005 = Reg (Dinamai baris)
Akibatnya, untuk 40 derajat (suhu batas untuk entri register) saya menerima markup hijau dengan nama Reg.



Warna terbentuk sebagai berikut:
(biru (0..255) * 65536) + (hijau (0..255) * 256) + merah (0..255)

Misalnya, biru murni = 255 * 65536 + 0 * 256 + 0 = 16711680
abu-abu 128 * 65536 + 128 * 256 + 128 = 8421504

Dan beberapa rahasia lagi. Jika Anda mengklik kanan pada area tertentu pada bagan dan menunggu penghitungan ulang, bagan baru akan ditampilkan dengan periode waktu dan batas-batas nilai yang dipilih oleh mouse. Namun, di sini, ternyata, saya memiliki beberapa kesalahan dalam kode program, karena bagian yang dipilih tidak sesuai dengan yang diberikan.

Jika Anda menekan tombol kiri pada garis, kami mendapatkan nilai sesaat dari titik yang ditentukan dalam grafik. Jika Anda mengklik kanan, Anda dapat mengaktifkan atau menonaktifkan legenda (meskipun, seperti yang sudah saya katakan).

Jika elemen tambahan dimasukkan dalam nama file log (layanan Log Layanan) dengan menginstal daw yang sesuai, maka tidak satu file besar akan dihasilkan dan dengan yang sulit untuk bekerja tidak hanya untuk orang tersebut, tetapi juga untuk program, tetapi untuk file yang berbeda. Menurut kotak centang yang saya miliki, file baru dibentuk setiap hari.



Satu hal yang buruk, tidak nyaman: pada tab Analisis Grafik, Anda dapat memilih file log yang dianalisis untuk menampilkan grafik. Jika Anda tidak secara manual menghapus jackdaws dari file usang tepat waktu, maka program itu, tampaknya, akan menceritakannya kembali setiap setengah menit, dan ini membutuhkan waktu, sumber daya dikeluarkan.



Sementara itu, jika kotak centang Perbaiki rentang ... dipilih, alangkah baiknya jika file yang tidak perlu dalam daftar dihapus secara otomatis.

Namun, ini sedikit, tetapi secara umum, pendapat saya tentang program Advanced Manager telah berkembang cukup positif.

Dan ada satu chip lagi, yang dimasukkan penulis ke dalam program. Benar, ini sudah untuk pengguna tingkat lanjut yang mampu membuat makro dalam sistem. Ini adalah dukungan untuk file semaphore. Semaphore - file dengan ekstensi SEM, dari berbagai ukuran dan konten, yang muncul di folder kerja program dan membawa perintah ke program kerja dalam namanya.

Setiap detik, program memeriksa keberadaan file-file tersebut di direktori. Jika semaphore ditemukan dalam direktori, program segera menghapusnya dan menjalankan perintah yang diberikan oleh semaphore. Hari ini, saya hanya tahu dua semaphores:
restart.sem - restart program
recalc.sem - menceritakan dan mengubah ukuran jendela grafik.

Penutupnya mengikuti ...

Source: https://habr.com/ru/post/id384657/


All Articles