Senin, 30 Januari 2012

Dasar - Dasar Pemrograman PLC (Bagian 4)


Lanjutan dari bagian 3.............

F. Oscillator

Pada contoh sebelumnya, sedikit tidak didiskusikan bagaimana cara membuat operasi scan atau pewaktu (timing). Kita selalu mengasumsikan bahwa setiap menjumpai kondisi coil yang ter-energize (mendapat power) berarti sistem telah bekerja. Padahal kita harus mengetahui prosedur yang digunakan oleh controller dalam menyelesaikan ladder logic diagram. Sebagai contoh untuk mengetahui proses scanning dapat memberi manfaat ke kita sebagai programmer, mari kita kembangkan pembuatan oscilator. Dalam program PLC, oscilator adalah coil yang dapat di nyalakan dan dimatikan ( ON – OFF ) secara bergantian pada setiap periode scan. Oscilator dapat digunakan untuk mengendalikan sesuatu seperti fungsi mathematic, fungsi manipulasi data, yang dikontrol dengan transitional contact. Transitional contact adalah perpindahan contact dari close ke open atau dari open ke close. Sebagai contoh fungsi mathematic pada beberapa controller yang hanya melakukan proses yang ditugaskan padanya pada sekali scan ketika control logic di switch dari open ke close. Sepanjang control logic hanya close atau open saja, maka fungsi tidak akan dijalankan. Untuk meng-enable fungsi supaya terjadi dan berkelanjutan maka transitional contact ini harus diletakkan dalam control logic. Hal ini akan megakibatkan fungsi akan bekerja pada setiap scan karena transitional contact dari oscilator akan selalu switch dari open ke close pada setiap siklus scan.

Contact dan coil mempunyai nama yang sama, oleh karena itu jika coil ter-energize maka contact akan open dan sebaliknya jika coil de-energize maka contact akan close. Begitulah fungsi dari konfigurasi ini sebagai penyedia transitional contact.

Sesuatu yang pertama kali dilaksankan oleh controller dalam beroperasi adalah Update I/O, dalam hal ini pada ladder diagram Update I/O tidak ada karena tidak ada contact maupun coil yang dapat diakses dari luar PLC (tidak ada untuk input maupun output). Setelah Update I/O controller berpindah ke control logic pada rung pertama, dalam kasus ini adalah N/C contact CR1. Control Logic akan diselesaikan jika coil yang berhubungan dengan rung tersebut ter-energize atau de-energize. Jika controller mulai beroperasi semua coil dalam kondisi de-energize. Hal ini mengakibatkan N/C contact CR1 menjadi closed, selama N/C contact CR1 dalam keadaan closed, coil CR1 akan ter-energize. Karena dalam ladder hanya terdapat sebuah rung saja, maka setelah rung ini selesai dikerjakan selanjutnya controller akan berpindah untuk melaksanakan Update I/O yang lain. Setelah selesai Update, controller akan berpindah lagi ke rung yang pertama (hanya ada satu rung saja) dan kemudian menyelesaikannya. Lagi, disini ada N/C contact CR1, bagaimanapun, sekarang coil CR1 ter-energize akibat scan sebelumnya sehingga akan mengakibatkan N/C contact CR1 akan open. Hal ini akan mengakibatkan controller melakukan de-energize terhadap coil CR1. Setelah penyelesaian ladder diagram ini selesai dikerjakan, controller akan melaksanakan Update I/O yang lain. Setelah Update I/O ini akan kembali lagi untuk menyelesaikan lagi ladder logic pada rung yang pertama dan hasilnya akan mengindikasikan bahwa N/C contact CR1 dalam scan ini akan close karena coil CR1 terjadi de-energized pada scan sebelumnya. Selama N/C contact keadannya close akan mengaikibatkan coil CR1 ter-energized. Hal ini akan terus terjadi bergantian …ON-OFF-ON-OFF-ON… berurutan selamanya selama controller beroperasi. Coil akan ON untuk satu scan dan kemudian akan OFF untuk scan berikutnya. Tak peduli berapa banyak jumlah rung dalam ladder, untuk setiap scan coil CR1 secara berurutan ON dalam satu scan, OFF dalam satu scan, ON dalam satu scan dan seterusnya. Fungsi ini hanya akan terjadi pada saat perpindahan contact (contact transition) OFF-to-ON. Transisi berikutnya akan terjadi pada setiap scan yang lain. Ini adalah salah satu contoh metoda untuk membuat transitional contact.

Kita sekarang menambahkan kontak tambahan pada rung oscilator dengan sebuah contact gate untuk oscilator seperti gambar dibawah. Kontak tambahan didalam rung adalah N/O IN1 contact. Jika IN1 adalah OFF pada saat Update I/O, untuk scan ini N/O IN1 akan open dan begitu pula sebaliknya. Ini menyajikan ke kita tentang metode mengendalikan operasi coil CR1. jika kita menginginkan CR1 untuk menyediakan transitional (oscilating) contact, kita harus mengaktifkan IN1 ( 1 ), dan bila kita menginginkan CR1 tidak aktif maka IN1 harus di OFF kan ( 0 ).

Contact Logic pada gambar diatas terdiri dari tiga contact, dua N/O dan satu N/C. N/O contact IN1 didefinisikan sebagai ON switch untuk rangkaian ini dan N/C contact IN2 digunakan sebagai OFF switch. Ketika IN1 di aktifkan maka N/O contact IN1 akan close dan IN2 masih belum aktif sehingga N/C contact IN2 masih close sehingga coil CR1 akan ter-energize. Setelah CR1 ter-energize, jika IN1 dimatikan (N/O contact IN1 adalah open) coil CR1 akan tetap ter-energize untuk scan berikutnya karena N/O contact CR1 akan close. Coil CR1 akan tetap ter-energize sampai akhirnya N/C contact IN2 open dengan cara mengaktifkan IN2 ON. Jika IN2 ON maka CR1 akan de-energize karena N/C contact IN2 open. Jika kemudian IN2 OFF lagi coil CR1 akan tetap de-energize karena solusi untuk contact logic ini akan “False” selama N/O contact IN1 dan N/O contact CR1 keduanya open. N/O contact CR1 disini disebut sebagai holding contact. Oleh karena itu operasi dari rung logic ini adalah sebagai berikut : jika switch ON (IN1) ditekan sebentar, coil CR1 akan ter-energize dan tetap akan ter-energize sampai switch OFF (IN2) ditekan sebentar.

H. Always – ON and Always – OFF Contact

Ketika program dikembangkan, ada kalanya suatu kontak diinginkan untuk selalu ON. Pada PLC keluaran terbaru pada umumnya suatu coil bisa diset untuk keperluan ini. Bagaimanapun pada beberapa kejadian programmer harus menggunakan contact ini didalam ladder diagram. Untuk kejadian, seperti contact akan digunakan untuk level-triggered operasi aritmatik yang akan dilaksanakan pada setiap scan. Kebanyakan PLC membutuhkan minimal satu contact pada setiap rung. Untuk memenuhi kebutuhan ini dan harus selalu mempunyai logika benar, suatu contact harus diletakkan dalam suatu rung yang selalu berlogika berlogika benar. Ada dua cara untuk membuat contact ini:

Membuat coil yang selalu de-energized dan menggunakan N/C contact dari coil tersebut.

Membuat coil yang selalu ter-energized dan menggunakan N/O contact dari coil tersebut.

Meletakkan rung ini di bagian atas program akan mengijinkan programmmer untuk menggunakan N/C contact untuk kesuluruhan ladder kapan saja sepanjang contact diinginkan untuk selalu ON. Coil CR1 akan selalu de-energized karena N/O contact CR1 AND N/C contact CR1 tidak akan pernah bernilai benar (false).

Penyelesaian logika untuk rung ini adalah akan selalu bernilai benar karena N/C contact CR1 OR N/O contact CR1 selalu bernilai benar. Hal ini akan menyebabkan coil CR1 selalu ter-energize. Rung ini harus selalu diletakkan pada setiap awal ladder untuk menyediakan coil yang selalu ter-energize pada scan pertama.

Tidak ada komentar:

Posting Komentar