Archive

Archive for the ‘PLC’ Category

Aplikasi ON-OFF Satu Tombol Pada Zelio Smart Relay

October 15, 2009 chandramde 2 comments

Rangkaian ladder ON-OFF Satu Tombol merupakan salah satu rangkaian ladder yang banyak diterapkan. Untuk setiap programmable controller, diperlukan trik tertentu sesuai dengan kemampuan kontrolernya. Berikut adalah contoh rangkaian ladder ON-OFF Satu Tombol pada Zelio Smart-Relay.

1onoff

Untuk contoh rangkaian ini pada PLC OMRON CPM2A, bisa Anda lihat tulisan saya sebelumnya (klik disini).

Semoga bermanfaat!

:D

Instruksi INTERRUPT CONTROL – INT(89)

February 6, 2009 chandramde 1 comment

int89Instruksi INT(89) berfungsi untuk mengontrol/mengarahkan interupsi dan melakukan satu dari tujuh fungsi yang dapat dipilih sesuai dengan nilai parameter C1. Instruksi INT(89) memiliki tiga buah operand yakni C1, 000, dan C2. C1 adalah konstanta dengan nilai 000 – 004, 100, dan 200. Berikut adalah fungsi instruksi INT(89) berdasarkan nilai operand C1:
1. Mask/Unmask Interrupt Inputs (C1 = 000)
2. Clear Interrupt Inputs (C1 = 001)
3. Read Current Mask Status of Interrupt Inputs (C1 = 002)
4. Restart Decrementing Counter and Unmask Interrupt (C1 = 003)
5. Restart Incrementing Counter and Unmask Interrupt (C1 = 004)
6. Mask All Interrupts (C1 = 100)
7. Unmask All Interrupts (C1 = 200)

1. Fungsi Mask/Unmask Interrupt Inputs
Fungsi ini digunakan untuk menghalangi atau mengijinkan interupsi dari kaki Input 000.03 – 000.06. Interupsi yang dihalangi (masked) akan dicatat  dan diabaikan oleh CPU. Interupsi yang diijinkan (unmasked) akan direspon dan program interupsinya akan dieksekusi.

Operand C2 (word) pada instruksi INT(89) digunakan untuk mengijinkan (unmasking) atau menghalangi (masking) masukan interupsi. Untuk mengijinkan masukan interupsi, maka bit yang bersesuaian harus direset. Dan sebaliknya, untuk menghalangi masukan interupsi, maka bit yang berseuaian harus diset. Bit ke-0 untuk Input 000.03, bit ke-1 untuk Input 000.04, bit ke-2 untuk Input 000.05, dan bit ke-3 untuk Input 000.06. Berikut adalah contoh penggunaan instruksi INT(89) untuk mengijinkan masukan interupsi 000.03 dan menghalangi masukan interupsi yang lainnya.

intfungsi1

Instruksi INT(89) akan dieksekusi pada siklus pertama program. C1 = 000 berarti menjalankan fungsi Mask/Unmask Interrupt Inputs. C2 = 000EH = 00000000 00001110B berarti mengijinkan masukan interupsi 000.03 dan menghalangi masukan interupsi yang lainnya.

Pada awal operasi, semua masukan interupsi berada dalam kondisi terhalangi. Oleh karena itu perlu dilakukan unmasking agar masukan interupsi dapat digunakan.

2. Fungsi Clear Interrupt Inputs
Fungsi ini digunakan untuk menghapus masukan interupsi. Karena CPU mencatat masukan interupsi meskipun dalam keadaan masked, maka program interupsi akan langsung dieksekusi seketika setelah masukan interupsinya di-unmasked, kecuali catatan interupsinya dihapus terlebih dahulu.

Penghapusan catatan interupsi ini perlu dilakukan jika kita ingin mengaktifkan interupsi ditengah-tengah jalannya program. Lain halnya jika unmasking dilakukan pada siklus pertama program, maka proses clearing ini tidak perlu dilakukan. Berikut adalah contoh penggunaan instruksi INT(89) untuk menghapus masukan interupsi sebelum interupsi di-unmasking.

intfungsi2

Ketika SENSOR berubah kondisi dari OFF menjadi ON, maka instruksi INT(89) pertama akan menghapus masukan interupsi dari semua kaki input (000.03 – 000.06). Selanjutnya, instruksi INT(89) berikutnya akan mengijinkan masukan interupsi Input 000.03 dan menghalangi masukan interupsi yang lainnya.

Maaf, sekian saja dulu. Fungsi-fungsi instruksi INT(89) yang lain, cara setup-nya, dan contoh programnya saya sambung lain waktu. Insya Allah…

Selamat belajar!

Artikel lain yang berhubungan: Fungsi-fungsi Interupsi CPM2A.

Fungsi-fungsi Interupsi CPM2A

February 5, 2009 chandramde 1 comment

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.

isrProgram 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.

intpriority

Selamat belajar!

Categories: PLC Tags: , , , ,

Aplikasi PLC Real-Time

January 23, 2009 chandramde 4 comments

Artikel ini saya tulis sebagai jawaban atas pertanyaan Mbak Arnee dalam Aplikasi PLC – Timer Berbasis Menit. Setelah membaca pertanyaan tersebut, saya langsung mengumpulkan data dari berbagai sumber untuk mengetahui lebih detil mengenai sistem kontrol real-time. Nah, berikut adalah kesimpulan singkat dari saya.

Sebuah sistem kontrol dikatakan real-time jika sistem kontrol tersebut mampu merespon masukan dengan tepat secara logika dan cepat. Terkadang respon tersebut harus sedemikian cepat, sehingga jika tidak dilakukan dalam periode waktu yang terbatas yang dibutuhkan, maka respon tersebut dianggap gagal, dan oleh karenanya, sistem pun dianggap gagal. Jadi, sistem kontrol yang memiliki waktu respon yang cukup cepat sehingga mampu merespon masukan dalam periode waktu yang terbatas yang dibutuhkan, maka sistem kontrol tersebut dapat disebut sebagai sistem kontrol real-time. Selambat apapun respon suatu sistem, jika masih mampu memenuhi batasan waktu respon yang dibutuhkan, tetap saja dikatakan sistem tersebut real-time.

autoclaveContoh: Sebuah kontroler suhu pada sebuah Curing Vessel berpemanas listrik yang digunakan dalam proses curing (pemasakan) kompon karet, tidak memerlukan response-time yang cepat. Dalam sistem ini, laju perubahan suhu adalah ±1,5 derajad Celcius per menit dengan maksimum suhu yang dapat dicapai sebesar 160 derajad Celcius. Selain itu, proses pemasakan kompon karet juga tidak termasuk proses yang kritis. Adanya selisih suhu antara suhu aktual dan suhu target tidak banyak mempengaruhi hasil akhir proses. Demikian juga dengan waktu proses. Adanya selisih (kurang atau lebih) terhadap lamanya waktu proses masak juga tidak mempengaruhi hasil akhir proses.

Nah, untuk sistem yang ‘enteng’ semacam ini, kontroler suhu dengan cycle-time 10 detik pun cukup. Kontroler tidak perlu mensampling suhu dengan frekuensi yang berlebihan karena lajunya hanya 1,5 derajad Celcius semenitnya.

Lalu bagaimana dengan PLC? Kita ambil contoh saja PLC OMRON CPM1A atau CPM2A. Keduanya memiliki I/O Response-Time dan Cycle-Time yang sangat cepat. Oleh karenanya setiap aplikasi sistem kontrol berbasis PLC, dimana PLC tersebut dapat merespon setiap masukan dalam periode waktu yang ditentukan, maka sistem kontrol berbasis PLC tersebut dapat dikategorikan sebagai sistem kontrol real-time.

Nah, selamat belajar!

Categories: PLC