skip_previous account_balance skip_next
CTU (Counter Up)
Berikut ini adalah data-data yang ada dalam instruksi CTD
Data | Keterangan |
Counter | Variable counter yang digunakan |
Preset | Nilai target |
Acc | Nilai perhitungan/counting |
CU | Status yang menandakan apakah counter sedang hitung maju atau tidak |
CD | Status yang menandakan apakah counter sedang dalam hitung mundur atau tidak |
DN | Status yang menandakan apakah penghitungan sudah mencapai target atau belum |
OV | Status yang menandakan apakah penghitungan sudah melebihi batas "overflow" yakni 32.767 |
Penjelasan
CTU adalah sebuah instruksi yang digunakan untuk mencacah atau menghitung pulsa. Counter pada CTU menghitung maju atau akan terus bertambah setiap kali ada perubahan status energi dari takberenergi menjadi berenergi
CTU menggunakan variabel counter untuk operasinya. Variabel counter ini juga bisa digunakan oleh instruksi lain seperti CTD. Variabel counter ini terdiri dari 6 byte data yang merupakan kumpulan variabel data dan status sesuai dengan gambar berikut
Lima bit pertama pada byte awal dari variabel counter adalah kumpulan dari status-status operasi. Tabel berikut menjelaskan status-status operasi tersebut
Status | True bila? | Menandakan apa? | Tetap true sampai? |
CU | Instruksi berenergi | counter hitung maju | Instruksi kehilangan energi Ada instruksi RST melakukan reset counter |
CD | intruksi CTD dengan sumber yang sama dengan instruksi ini berenergi | counter hitung mundur | intruksi CTD dengan sumber yang sama dengan instruksi ini
kehilangan energi Ada instruksi RST melakukan reset counter |
DN | nilai .ACC >= .PRE | Target sudah tercapai | Instruksi kehilangan energi Ada instruksi RST melakukan reset counter |
OV | nilai .ACC >= 32767 | Nilai perhitungan/counting melewati batas atas | nilai .ACC < 32767 Ada instruksi RST melakukan reset counter |
UN | nilai .ACC <= -32768 | Nilai perhitungan/counting melewati bawah | nilai .ACC > -32768 Ada instruksi RST melakukan reset counter |
Data yang dapat diatur pada instruksi CTU adalah: Counter dan Preset. Data Acc adalah hasil dari perhitungan data yang hanya bisa dibaca saja. Walaupun instruksi CTU tidak dapat mengatur nilai Acc tetapi data Acc ini dapat diatur melalui instruksi COPY.
Dari gambar di atas terlihat bahwa status T.1.EN mengikuti status energi yang masuk ke instruksi CTU. Status proses perhitungan (T.1.TT) akan menjadi true tepat di saat status T.1.EN berubah dari false menjadi true. Status T.1.TT menandakan bahwa proses perhitungan sedang aktif sehingga nilai T.1.ACC akan meningkat (bertambah 1) setiap kali melewati 1 interval perhitungan. Interval perhitungan dalam contoh ini adalah 1000ms (1 detik) sehingga data pada T.1.ACC akan bertambah 1 setiap 1 detik sekali (per detik). Penambahan ini akan terus berlangsung terus selama proses perhitungan belum selesai atau T.1.ACC belum mencapai target (T.1.ACC < T.1.PRE). Setelah perhitungan mencapai target maka status T.1.TT akan false dan status T.1.DN akan aktif yang menandakan bahwa perhitungan sudah mencapai target. Apabila instruksi CTU ini kehilangan energi pada saat target belum tercapai maka otomatis perhitungan memulai dari awal lagi (reset). Dan apabila target sudah tercapai namun masih ada energi pada instruksi maka nilai Acc akan jenuh pada nilai target (warna hijau pada gambar).
Data-data status pada counter ini dapat dipakai oleh instruksi bit di anak tangga setelahnya sesuai dengan kebutuhan seperti pada contoh dibawah ini.
Pada anak tangga nomor 0, counter T.1 akan memulai perhitungan tepat disaat S.1 berubah dari false menjadi true (tepat di saat tombol S.1 dipencet). Pada anak tangga nomor 1, instruksi NO akan terus memantau status TT. Jika proses perhitungan masih berlangsung (status T.1.TT aktif) maka R.1 akan bernilai true. Pada anak tangga nomor 2, instruksi NO akan terus memantau status DN pada counter 1. Jika perhitungan sudah mencapai 5 detik maka status T.1.DN akan aktif sehingga R.2 akan true.
Selain data status (1 bit), data nilai (bytes) juga dapat diakses oleh instruksi lain seperti pada anak tangga nomor 3. Instruksi EQU membandingkan nilai hasil perhitungan pada T.1 dengan konstanta 3. Contoh ini memberitahukan bahwa data nilai dan status counter dapat diakses dari anak tangga yang lain.
Data preset (target) pada instruksi CTU juga dapat diikatkan pada variabel lain yang sama-sama berjenis 16 bit yakni variabel I. Dengan pengikatan ini maka nilai target dapat diubah-ubah sesuai kebutuhan. Pengubahan bisa dilakukan melalui diagram tangga atau menggunakan komunikasi MODBUS RTU. Berikut contoh pengikatan nilai preset pada variabel I.
Anak tangga nomor 0 digunakan untuk mengubah variabel I.1 menjadi bernilai 5. Penggunaan instruksi OSR diawal anak tangga menyebabkan anak tangga ini hanya akan di jalankan satu kali saja setelah PLC reset/start sehingga anak tangga ini bisa disebut sebagai pemberi nilai awal (initial) pada variabel I.1. Pada anak tangga nomor 1, data preset/target diikatkan pada variabel I.1 sehingga jika nilai I.1 berubah maka perhitungan waktu juga akan berubah mengikuti nilai I.1.
Gambar berikut adalah contoh penggunaan intruksi CTU dan TOF dalam satu project. 3 buah conveyor harus dioperasikan secara berurutan baik saat memulai maupun saat berhenti. Urutan saat mulai adalah A,B,C dan saat berhenti adalah C,B,A dengan selisih 2 detik tiap conveyor.
Saat memulai operasi, hal yang diperlukan adalah memperlambat ON untuk conveyor B dan C oleh sebab itu diperlukan instruksi CTU. Saat menghentikan operasi, hal yang diperlukan adalah perlambatan OFF untuk conveyor B dan A oleh sebab itu diperlukan instruksi TOF. Contoh diagram tangga dapat dilihat sebagai berikut.
Diagram waktu operasi dapat dilihat pada gambar berikut.
Perlambatan ON akibat instruksi CTU ditandai dengan warna hijau dan perlambatan OFF akibat instruksi TOF ditandai dengan warna kuning.
Video
Mohon maaf video masih dalam pengerjaan