Sistem automatik menggerakkan maklumat melalui peringkat tetap: penderia (sensor), penukaran, pemproses (processor), penggerak (actuator). Menyurih bermaksud mengikuti satu bacaan melalui peringkat itu dan menulis apa yang dilakukan oleh setiap peringkat.
Ini kemahiran permulaan dalam automasi dan sistem baharu, dan ia muncul apabila soalan memerihalkan senario fizikal dan bertanya apa yang dilakukan komputer.
Apa yang dilakukan oleh setiap peringkat?
- Penderia (input): mengukur kuantiti fizikal seperti suhu, cahaya, tekanan atau gerakan.
- ADC (penukar analog-ke-digital): mengubah isyarat analog yang berubah kepada nilai digital, apabila penderia memerlukannya.
- Pemproses: membandingkan nilai dengan peraturan yang disimpan, contohnya “melebihi 30”, dan memutuskan output.
- DAC (penukar digital-ke-analog): mengubah nilai digital kembali kepada isyarat analog, apabila peranti output memerlukannya.
- Penggerak (output): melakukan sesuatu yang fizikal, seperti memutar kipas atau membuka injap.
Tidak semua sistem memerlukan kedua-dua penukar. Baca senario dan masukkan hanya peringkat yang diperihalkan. Tahun sukatan pelajaran anda menentukan istilah yang wajib digunakan, jadi semak laman Cambridge.
Bagaimana menyurih satu kitaran?
- Tulis peraturan dalam satu baris, dengan ambang dan perbandingannya.
- Ambil bacaan seterusnya daripada penderia.
- Gunakan perbandingan pada bacaan itu dan catat benar atau palsu.
- Catat output yang diterima penggerak.
- Ulang untuk bacaan seterusnya.
Contoh berlangkah
Pengawal kipas rumah hijau menjalankan lima kitaran. Penderia menghantar 24, 27, 31, 29 dan 26 (°C) secara berurutan.
FOR cycle ← 1 TO 5
temp ← GetReading()
IF temp > 30
THEN
fan ← "ON"
ELSE
fan ← "OFF"
ENDIF
OUTPUT cycle, temp, fan
NEXT cycle
| cycle | temp | temp > 30 | fan |
|---|---|---|---|
| 1 | 24 | false | OFF |
| 2 | 27 | false | OFF |
| 3 | 31 | true | ON |
| 4 | 29 | false | OFF |
| 5 | 26 | false | OFF |
Hanya kitaran 3 menghidupkan kipas. Dengan kata lain: penderia mengukur, ADC menukar, pemproses mendapati 31 lebih besar daripada 30, dan penggerak menerima ON.
Kesilapan yang perlu diawasi
Kesilapan lazim ialah menganggap sempadan termasuk apabila peraturan tidak begitu.
Jawapan salah: bagi bacaan 30, kipas ialah ON.
Pelajar membaca “melebihi 30” sebagai “30 atau lebih”.
Peraturan menyatakan temp > 30, jadi 30 > 30 ialah palsu dan kipas kekal OFF. Jika peraturannya temp >= 30, kipas akan hidup. Salin simbol perbandingan dengan tepat ke dalam jadual surihan.
Semak sendiri
1. Dengan peraturan yang sama, apakah keadaan kipas bagi bacaan 30, 30.5, 12?
Show answer
30 > 30 palsu, jadi OFF. 30.5 > 30 benar, jadi ON. 12 > 30 palsu, jadi OFF.
2. Lampu automatik mempunyai penderia cahaya, pemproses dan lampu. Namakan peranti input, tugas pemproses dan peranti output.
Show answer
Peranti input: penderia cahaya. Tugas pemproses: membandingkan bacaan cahaya dengan nilai yang disimpan dan memutuskan sama ada lampu perlu hidup. Peranti output: lampu (penggerak).
3. Peraturannya IF temp < 18 THEN heater ← "ON". Bacaan ialah 20, 18, 17. Berikan keadaan pemanas bagi setiap satu.
Show answer
20 < 18 palsu: OFF. 18 < 18 palsu: OFF. 17 < 18 benar: ON.
Ke mana selepas ini?
Seterusnya, lihat bagaimana sesetengah sistem menggunakan output sendiri untuk membetulkan diri dalam membezakan maklum balas daripada urutan tetap. Pelatih surihan pseudokod membolehkan anda menyurih peraturan seperti ini, dan kotak pasir penaakulan Python menunjukkan peraturan yang sama dalam Python ringkas.
Jika menyurih ialah langkah tempat markah anda tercicir, tuisyen Computer Science bersama guru yang ditugaskan boleh memberi tumpuan tepat pada perkara itu.