Fungsi-fungsi Interupsi CPM2A
CPM2A menyediakan beberapa jenis pemrosesan interupsi, yakni:
- Interrupt Inputs – Program interupsi akan dieksekusi ketika kondisi Input 000.03 – 000.06 berubah dari OFF menjadi ON. Nomor subrutin interupsi yang dialokasikan untuk Input 000.03 – 000.06 adalah 000 – 003.
- Interval Timer Interrupts – Program interupsi interval timer akan dieksekusi berdasarkan interval waktu yang ditentukan dengan kepresisian 0,1 milidetik. Nomor subrutin interupsi yang dialokasikan adalah 000 – 049.
- Count-up Interrupts Using Interrupt Inputs (Counter Mode) – Sinyal input yang masuk ke kaki Input 000.03 – 000.06 akan dihitung pada kecepatan tinggi dengan frekuensi 2 kHz, dan program utama akan dihentikan sementara untuk menjalankan program interupsi. Nomor subrutin interupsi yang dialokasikan untuk Input 000.03 – 000.06 adalah 000 – 0003.
- Count-check Interrupts Using High-Speed Counter – Pulsa yang masuk ke kaki Input 000.00 – 000.02 akan dihitung pada kecepatan tnggi dengan frekuensi 20 kHz/5 kHz. Program interupsi dieksekusi ketika nilai PV High-Speed Counter telah mencapai nilai target SV atau telah sampai pada jangkauan nilai tertentu. Nomor subrutin interupsi yang dialokasikan untuk instruksi ini adalah 000 – 049.
Program interupsi didefinisikan sebagai subrutin interupsi dalam program. Sebagaimana halnya subrutin biasa, subrutin interupsi juga didefinisikan dengan instruksi SBN(92) dan RET(93) seperti diilustrasikan oleh gambar di samping ini.
Adapun aturan-aturan yang harus diikuti dalam hal pendefinisian subrutin interupsi adalah sebagai berikut.
1. Interupsi baru dapat didefinisikan dalam subrutin interupsi.
2. Interupsi yang sudah ada dapat dihapus dalam subrutin interupsi.
3. Di dalam subrutin interupsi tidak boleh ada subrutin interupsi lain.
4. Di dalam subrutin interupsi tidak boleh ada subrutin biasa.
5. Di dalam subrutin biasa tidak boleh ada subrutin interupsi.
Prioritas Interupsi
Urutan prioritas interupsi diilustrasikan oleh gambar berikut ini. Interupsi dengan prioritas yang lebih tinggi akan didahulukan, artinya, program interupsinya akan diprioritaskan untuk dieksekusi terlebih dahulu.
Jika interupsi dengan prioritas yang sama terjadi bersamaan, maka program interupsi akan dijalankan secara berurutan dari nomor subrutin interupsinya.
Jika interupsi dengan prioritas yang lebih tinggi muncul ketika subrutin interupsi dengan prioritas yang lebih rendah sedang dieksekusi, maka program akan melompat dulu ke subrutin interupsi dengan prioritas yang lebih tinggi, dan setelah subrutinnya selesai dieksekusi, program akan kembali melanjutkan subrutin interupsi yang ditinggalkannya tadi.

Selamat belajar!




saya pemula dalam hal PLC, tp saat ini saya sedang membuat tugas akhir yang berhubungan dengan PLC. dan dalam pengerjaan tugas akhir ini saya menghadapi banyak sekali kendala2, kl bs meminta referensi kepada siapa saya bisa meminta bantuan dalam mengerjakan tugas akhir saya. tolong segera di balas.