28 Mei 2008

PROGRAMMABLE LOGIC CONTROLLER ( 4 - habis )

Counter
Counter adalah suatu alat untuk melakukan penghitungan sederhana. Cara penggunaanya kadang-kadang setiap pabrikan berbeda-beda. Berikut ini akan disajikan secara sederhana agar dengan mudah dapat dipahami.

Macam-macam counter diantaranya ada up-counters (dia hanya menjumlahkan 1,2,3...). Ini disebut CTU,(COUNT ke atas) CNT,C, atau CTR. Ada counter ke bawah (dia hanya menghitung mundur 9,8,7,...). Ini disebut CTD (hitungan mundur) manakala dia merupakan instruksi terpisah. Ada juga updown counter (dia menjumlahkan dan/atau menurun/mengurangi 1,2,3,4,3,2,3,4,5,...) Ini disebut UDC(UPDOWN counter) manakala dia merupakan instruksi terpisah.

Banyak pabrikan hanya mempunyai satu atau dua jenis counter tetapi mereka dapat digunakan untuk menjumlahkan, mengurangi atau kedua-duanya. Dalam hal ini kita berbicara counter adalah sebuah penghitung.

Kebanyakan pabrikan terbatas jumlah counter kecepatan tinggi yang dimilikinya. Ini biasanya disebut HSC (high speed counter). Suatu counter kecepatan tinggi adalah alat " perangkat keras".
Counter normal yang dibahas disini adalah counter " perangkat lunak". Dengan kata lain dia tidak secara fisik ada di dalam PLC tetapi berupa perangkat lunak.
Secara umum biasanya digunakan counter normal, kecuali jika pulsa hitungan lebih cepat 2X dalam men-scan, yaitu jika waktu scan adalah 2 ms dan pulsa hitungan tiap-tiap 4 ms atau lebih lama.

Untuk menggunakan counter kita perlu mengetahui 3 hal:

1. Dari mana asal pulsa yang kita inginkan untuk menghitung. Secara khusus ini berasal dari salah satu input.(misal sebuah sensor dihubungkan ke input 0000).
2. Berapa banyak pulsa yang kita ingin hitung sebelum bereaksi.
3. Kapan/bagaimana kita akan me-reset counter untuk memulai menghitung lagi.

Ketika program sedang berjalan pada PLC ada yang secara khusus menampilkan proses penghitungan, maka kita dapat melihat nilai-nilai terakhir.

Beberapa counter dapat menghitung dari 0 sampai 9999, - 32.768 sampai + 32.767 atau 0 sampai 65535. Mengapa angka-angka yang aneh? Sebab PLC mempunyai 16-bit counter, 0 sampai 9999 adalah 16-bit BCD (binary coded decimal), - 32,768 sampai 32767 dan 0 sampai 65535 adalah 16-bit binary.
Di sini adalah sebagian dari simbol instruksi yang kita akan temui (tergantung dari pabrikan yang kita pilih) dan bagaimana cara menggunakannya. Ingatlah bahwa dia bisa berbeda tetapi pada dasarnya cara penggunaannya sama.



Pada counter ini kita memerlukan 2 masukan. Ketika masukan pada reset ini on maka nilai hitungan kembali ke nol. Masukan kedua adalah alamat dimana pulsa yang akan kita hitung berasal.

Sebagai contoh, jika kita ingin menghitung berapa banyak kaleng minuman lewat di depan sensor yang secara phisik dihubungkan ke masukan 0001, kemudian kita akan mengaktifkan kontak normally open dengan alamat 0001.

Cxxx adalah nama dari counter. Jika kita ingin pergunakan counter 000 maka kita letakkan " C000" di sini.

yyyyy adalah banyaknya pulsa yang kita ingin hitung sebelum melakukan sesuatu. Jika kita ingin menghitung 5 kaleng minuman sebelumnya kita akan mengetik angka 5 disini. Jika kita ingin menghitung 100 kaleng minuman kita ketikan angka 100 dan seterusnya. Ketika counter sudah selesai (yaitu menghitung yyyyy kaleng minuman) maka akan mengaktifkan kontak yang kita beri label Cxxx.



Ini adalah diagram tangga suatu counter (counter 000) untuk menghitung 100 kaleng minuman dari masukan 0001 dan keluaran 500. Sensor 0002 me-reset counter itu.
Di bawah adalah simbol untuk suatu up-down counter.



Pada counter ini kita harus memberikan 3 masukan. Input reset mempunyai fungsi yang sama seperti di atas. Sekarang counter mempunyai 2 input pulsa penghitung. Satu untuk menjumlahkan dan yang lain adalah untuk menghitung mundur. Di dalam contoh ini kita akan gunakan counter UDC000 dan kita akan memberi nilai 1000, dia akan menghitung total 1000 pulsa. Masukannya menggunakan suatu sensor yang terhubung dengan masukan 0001 dan sensor yang lain pada masukan 0003 ketika melihat suatu target. Ketika masukan 0001 on, menjumlahkan dan ketika masukan 0003 on, menghitung mundur.
Ketika mencapai 1000 pulsa, maka akan mengaktifkan keluaran 500. Diagram tangganya ditunjukkan di bawah ini.



Satu hal penting untuk dicatat adalah counter dan timer tidak bisa mempunyai nama yang sama dalam sebuah PLC. Ini karena mereka menggunakan register yang sama.

Timer
Mari kita sekarang lihat bagaimana suatu timer bekerja. Apakah itu timer? Timer adalah suatu instruksi yang menunggu suatu setting waktu dari sebuah perangkat sebelum melakukan sesuatu.

Terdapat bermacam-macam pengatur waktu yang berbeda di pasaran. Seperti biasa, jenis pengatur waktu yang berbeda disediakan oleh pabrikan yang berbeda. Kebanyakan mereka adalah:

• On-Delay timer - Ini jenis pengatur waktu sederhana "delays turning on". Dengan kata lain, setelah sensor masukan on kita menunggu x-detik sebelum mengaktipkan suatu klep solenoid (keluaran). Ini adalah pengatur waktu yang paling umum. Sering juga disebut TON (timer on-delay), TIM (timer) atau TMR (timer).
• Off-Delay timer - Pengatur waktu jenis ini adalah kebalikan dari on-delay timer. Pengatur waktu sederhana "delays turning off". Setelah sensor masukan melihat suatu target maka akan mengaktifkan suatu solenoid (keluaran). Manakala sensor tidak lagi melihat target dia akan mempertahankan solenoid on untuk x-detik sebelum off. Ini disebut suatu TOF (timer off-delay).
• Retentive or Accumulating timer - Pengatur waktu jenis ini memerlukan 2 masukan. Satu masukan start pemilihan waktu dan yang lain untuk reset. On/Off timer di atas akan reset jika sensor masukan bukan on/off untuk jangka waktu timer yang lengkap. Pengatur waktu ini bagaimanapun mempertahankan waktu yang berlalu (sedang berlangsung) manakala sensor off di dalam mid-stream.
Sebagai contoh, kita ingin mengetahui berapa lama suatu sensor on untuk selama suatu 1 jam periode. Jika kita menggunakan salah satu dari timer di atas, dia akan melakukan reset ketika sensor off/on. Timer ini akan memberi kita total atau akumulasi waktu. Dia sering disebut RTO (retentive timer) atau TMRA (accumulating timer).

Mari kita lihat bagaimana cara menggunakan timer. Kita harus mengetahui 2 hal:
1. Apa yang akan memungkinkan dari timer itu. Yang secara khusus ini adalah satu menyangkut input.
2. Berapa lama kita ingin menunda sebelum dia bereaksi. Mari kita menunggu 5 detik sebelum mengaktifkan sebuah solenoid, misalnya.

Manakala instruksi sebelum simbol timer adalah benar timer start. Setelah waktu berlalu timer akan secara otomatis menutup kontaknya. Manakala program yang sedang berjalan pada PLC adalah program yang secara khusus tampil berlalu atau " akumulasi" waktu untuk kita maka kita dapat lihat nilai yang sekarang berlangsung. Timer secara khusus dapat berdetak dari 0 sampai 9999 atau 0 sampai 65535 kali.

PLC mempunyai 16-bit timers, 0 sampai 9999 adalah 16-bit BCD (binary coded decimal) dan 0 sampai 65535 adalah 16-bit binary. Masing-masing detak jam sama dengan x-detik.

Secara khusus masing-masing pabrikan menawarkan beberapa macam detak berbeda. Kebanyakan pabrikan menawarkan 10 dan 100 m kenaikan (detak jam). Suatu " m" adalah suatu milli-second atau 1/1000 detik. Beberapa pabrikan juga menawarkan 1ms sama seperti kenaikan 1 detik. Perbedaan cara kerja penambahan timer ini sama halnya di atas tetapi kadang-kadang mereka mempunyai nama berbeda untuk menunjukkan basis waktu mereka. Diantaranya TMH (high speed timer), TMS (super high speed timer) atau TMRAF (accumulating fast timer).

Yang ditunjukkan di bawah adalah suatu tipe simbol instruksi timer yang kita gunakan (tergantung yang mana pabrikan yang kita pilih) dan bagaimana cara menggunakannya. Ingatlah bahwa boleh saja berbeda tetapi pada dasarnya caranya sama. Jika kita dapat merangkai kita dapat merangkai yang manapun.

Pengatur waktu ini adalah jenis on-delay dan dinamai Txxx. Jika memungkinkan masukan timer start untuk berdetak. Ketika berdetak yyyyy (nilai yang ditetapkan lebih dulu) waktu, dia akan menyalakan kontaknya yang kita akan gunakan kemudian dalam program itu. Ingatlah bahwa jangka waktu dari suatu detak (kenaikan) bervariasi, tergantung pabrikan dan basis waktu yang digunakan. ( yaitu. suatu detak bisa 1ms atau 1 detik atau...)



Simbol Timer dalam diagram tangga.

Dalam diagram ini kita ingin masukan 0001 untuk mengaktifkannya. Ketika dia bekerja, timer T000 (suatu pengatur kenaikan waktu 100 ms) akan berdetak 100 kali. Setiap detak (kenaikan) adalah 100 ms sehingga waktu timer akan menjadi 10000 ms (10 detik). 100 detak X 100 ms= 10.000 ms. Manakala 10 detik sudah berlalu, kontak T000 menutup dan 500 on. Ketika masukan 0001 putaran off (false) timer T000 akan kembali lagi ke 0, menyebabkan kontak nya off (false) sehingga membuat keluaran 500 off.

Suatu akumulasi timer seperti berikut ini:



Timer ini dinamai Txxx. Pada saat masukan on timer akan start untuk berdetak. Ketika dia berdetak yyyyy (nilai waktu yang ditetapkan), dia akan meng-on-kan kontaknya yang bisa kita gunakan nantinya dalam program. Jika seandainya masukan off sebelum timer tuntas, nilai yang terakhir akan ditahan. Saat masukan kembali on, timer akan melanjut dari mana saat itu berhenti. Satu-satunya cara agar timer bekerja kembali dari awal kita harus on kan input reset.



Simbol Timer dalam diagram tangga.

Dalam diagram ini kita gunakan masukan 0002 untuk mengaktifkan. Ketika mengaktifkan timer T000 (pengatur kenaikan waktu 10 ms) bekerja, dia akan berdetak 100 kali. Setiap detak (kenaikan) adalah 10 ms sehingga timer akan menjadi 1000ms (1 detik). 100 detak X 10 ms= 1.000 ms. Saat 1 detik telah berlalu, kontak T000 menutup dan 500 on. Jika masukan 0002 off waktu telah dilewati akan ditahan. Manakala 0002 on lagi timer akan melanjutkan waktu disaat dia berhenti. Apabila masukan 0001 on timer T000 akan kembali ke 0, menyebabkan kontaknya off (false) dan keluaran 500 off.

Satu hal penting untuk dicatat adalah counter dan timer tidak bisa mempunyai nama yang sama. Sebab mereka menggunakan register yang sama.

Selalu ingat bahwa walaupun simbol berbeda tetapi cara kerjanya sama. Secara khusus perbedaan yang utama adalah pada jangka waktu kenaikan detak.