Manajemen Sumber Daya Perangkat Keras Terjadwal

Artikel ini membahas kemungkinan implementasi sistem otomatis untuk mengelola sumber daya perangkat keras (menggunakan relay elektromagnetik sebagai contoh) dengan mengacu pada waktu absolut. Sistem seperti itu bisa sangat berguna dalam menyelesaikan masalah pengujian otomatisasi berbagai peralatan.

Misalnya, di beberapa laboratorium uji ada kebutuhan untuk mengotomatiskan pengaturan ulang daya perangkat yang dipelajari / diuji pada titik waktu yang ditentukan dengan mengacu pada skala absolut (misalnya, pada hari Senin pukul 10:00 pagi). Namun, tugas ini diperumit oleh fakta bahwa keputusan tentang kemungkinan melakukan operasi manajemen daya dipengaruhi oleh keadaan saat ini dari sumber daya perangkat keras lain dari perangkat yang sedang dipelajari (misalnya, satu atau beberapa tingkat pada jalur GPIO keluaran).

Keadaan terakhir agak menyulitkan solusi dan membuat kita berpikir tentang menggunakan beberapa modul perangkat keras eksternal di mana ada dukungan untuk sumber daya perangkat keras yang diperlukan untuk memecahkan masalah seperti itu, yaitu: relay, jam waktu nyata, jalur input GPIO.

Eksperimen pertama yang kami buat menggunakan platform Arduino. Namun, ketika menjadi perlu untuk menyalin solusi ini dalam jumlah besar dengan kualitas stabil, mereka mulai melihat ke arah solusi siap pakai. Sebagai hasilnya, kami menyesuaikan sistem menggunakan modul perangkat keras Laurent-5 eksternal dengan kemampuan untuk memonitor proses kontrol melalui Ethernet.



Untuk spesifiknya, kami perlu mengatur ulang sebentar daya perangkat yang diuji setiap hari tepat pada pukul 07:00 pagi. Namun, reset tidak boleh dilakukan jika perangkat terus melakukan operasi kritis. Dalam hal ini, level logika tinggi (+3,3 V) diatur pada garis keluaran GPIO diskrit perangkat.

Modul Laurent-5 terhubung ke perangkat tes sebagai berikut. Sinyal siap perangkat dibawa ke jalur diskrit input IO_1. Dan kekuatan perangkat diteruskan melalui kontak relai yang biasanya tertutup RELE_1. Jika relai dihidupkan, daya ke perangkat yang diuji terputus.



Untuk mengkonfigurasi sistem, pertama-tama, Anda perlu mengubah arah untuk GPIO IO_1 dari modul "input" Laurent-5. Cara termudah untuk mengonfigurasi adalah melalui antarmuka Web (alamat default adalah 192.168.0.101). Kita pergi ke bagian "General Lines IO1 - IO8" pada panel kontrol utama.



Kami mengeklik "panah" di jalur IO_1 dan mengubah arah jalur GPIO ini ke status "aktif" untuk menganalisis status garis "kesiapan" perangkat yang sedang diuji.



Selanjutnya, kita membuat aturan CAT logis yang akan melayani otomatisasi analisis garis "kesiapan" dan mengontrol relai.

Kami masuk ke bagian CAT dan klik tombol "Buat acara baru". Sebuah jendela akan muncul di mana ID = 1 akan ditugaskan ke aturan logis baru.



Pilih jenis acara RTC - tugas akan selesai pada waktu yang ditentukan.



Dalam pengaturan acara, kami menunjukkan waktu respons - setiap hari pukul 07:00 pagi.



Menanggapi terjadinya peristiwa ini menggunakan Ke-perintah, kami mengaktifkan operasi peristiwa CAT 2,3 dan 4 yang akan kita buat lebih lanjut. Aturan logis tambahan diperlukan untuk menganalisis sinyal "kesiapan" perangkat dan untuk menghindari reset daya jika tidak siap untuk ini.



Mari kita berikan nama simbolis pada aturan logis ini untuk kejelasan.



Akibatnya, acara baru dengan ID = 1 akan muncul dalam daftar aturan logis:



Tambahkan aturan logis berikut dengan ID = 2 yang akan dieksekusi pada timer dengan frekuensi 1 kali per detik.





Kami menunjukkan kondisi tambahan yang harus dipenuhi agar aturan logis dapat berfungsi, yaitu, kami menetapkan kebutuhan tingkat logis yang rendah di IO_1, dengan demikian menandakan bahwa perangkat siap untuk reset daya.



Jika semua persyaratan terpenuhi, maka matikan acara 2,3 dan 4. Kami akan mereset penghitung tanggapan untuk acara 3 (lihat di bawah) dan nyalakan relai RELE_1 selama 4 detik setelah itu ia akan secara otomatis kembali ke keadaan semula (mati).



Namun, apa yang harus saya lakukan jika perangkat "membeku" dan alarm berbunyi sepanjang waktu? Untuk ini, kami akan menggunakan peristiwa dengan ID = 3 dan 4 di mana kami menerapkan kemiripan pengawas waktu dengan pengiriman pesan alarm jika, dalam waktu tertentu, perangkat belum memberi sinyal kesiapannya untuk reset perangkat keras.

Mari kita buat acara dengan ID = 3 sesuai dengan penghitung waktu yang biasa dengan frekuensi respons sekali setiap 1 detik. Acara ini sebenarnya tidak akan melakukan apa-apa, cukup kirim perintah $ KE kosong. Namun, dengan setiap operasi, penghitung operasi acara ini akan meningkat. Menggunakan aturan logis dengan ID = 4, kami akan memantau nilai ini dan jika melebihi ambang tertentu (misalnya, 300 operasi, yang sesuai dengan 5 menit), kami akan menghentikan operasi dan menambah nilai variabel program VAR_1 untuk analisis selanjutnya dari jumlah operasi yang gagal.

Secara total, seperangkat aturan logis akan terlihat sebagai berikut. Untuk memulai seluruh sistem, cukup untuk mengaktifkan pemrosesan acara dengan ID = 1.



Dan kemudian akan ada yang berikut: setiap hari pukul 07:00 pagi aturan logis dengan ID = 1 akan dipicu. Dalam hal ini, pemrosesan acara dengan ID 2, 3 dan 4 akan dimasukkan sebagai reaksi. Jika perangkat yang diuji siap untuk mengatur ulang daya (level logis 0 hingga jalur sinyal) - sebagai bagian dari ID aturan = 2, pemrosesan peristiwa 2-4 akan dimatikan, penghitung operasi untuk aturan ke-3 diatur ulang untuk kasus acak, dan perangkat diatur ulang dengan menyalakan relai sebentar.

Secara paralel, kami memulai penghitung waktu penghitungan mundur dengan jam sekali per detik. Dengan memeriksa nilai pengawas waktu dalam kerangka aturan ID = 4, kita dapat menghentikan penantian dan memberi sinyal kegagalan seluruh operasi pada hari itu dengan menambah variabel program VAR_1, nilai yang kemudian dapat diminta melalui TCP / HTTP untuk analisis selanjutnya.

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


All Articles