skip_previous account_balance skip_next
TON (Timer On Delay)
Berikut ini adalah data-data yang ada dalam instruksi TON
Data | Keterangan |
Timer | Variable timer yang digunakan |
TimeBase | Interval penghitungan |
Preset | Nilai target |
Acc | Nilai perhitungan |
EN | Status yang menandakan apakah timer sedang aktif atau tidak |
TT | Status yang menandakan apakah timer sedang dalam proses menghitung |
DN | Status yang menandakan apakah penghitungan sudah mencapai target atau belum |
Penjelasan
TON adalah sebuah instruksi yang digunakan untuk memperlambat (delay) perubahan status bit dari false menjadi true dengan durasi perlambatan yang dapat diatur. Instruksi ini berjenis output dimana selalu bersifat konduktor (menghantarkan energi) sehingga instruksi lain dapat diletakkan setelah instruksi ini tanpa dipengaruhi oleh kondisi yang terjadi pada instruksi TON ini.
TON menggunakan variabel timer untuk operasinya. Variabel timer ini juga bisa digunakan oleh instruksi lain seperti TOF, ROTON dan RTO. Variabel timer ini terdiri dari 6 byte data yang merupakan kumpulan variabel data dan status sesuai dengan gambar berikut
Tiga bit pertama pada byte awal dari variabel timer adalah kumpulan dari status-status operasi. Tabel berikut menjelaskan status-status operasi tersebut
Status | True bila? | Menandakan apa? | Tetap true sampai? |
EN | Instruksi berenergi | Timer aktif | Instruksi kehilangan energi Ada instruksi RST melakukan reset timer |
TT | Instruksi berenergi | Timer sedang proses menghitung | Instruksi kehilangan energi Target tercapai Ada instruksi RST melakukan reset timer |
DN | nilai .ACC >= .PRE | Target sudah tercapai | Instruksi kehilangan energi Ada instruksi RST melakukan reset timer |
Status-status tersebut merupakan penanda pada proses penghitungan yang dilakukan oleh instruksi TON. Berikut adalah diagram logika pada instruksi TON.
Data yang dapat diatur pada instruksi TON adalah: Timer, TimeBase dan Preset. Sedangkan data Acc adalah hasil dari perhitungan data yang hanya bisa dibaca saja. Walaupun instruksi TON tidak dapat mengatur nilai Acc tetapi data Acc ini dapat diatur melalui instruksi COPY. Pada gambar contoh di atas, variabel timer yang dipakai adalah T.1, timebase yang dipilih adalah 1000ms (1 detik) dan preset (target perhitungan) diatur bernilai 5.
Dari gambar di atas terlihat bahwa status T.1.EN mengikuti status energi yang masuk ke instruksi TON. 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 TON 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 timer ini dapat dipakai oleh instruksi bit di anak tangga setelahnya sesuai dengan kebutuhan seperti pada contoh dibawah ini.
Pada anak tangga nomor 0, timer 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 timer 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 timer dapat diakses dari anak tangga yang lain.
Data preset (target) pada instruksi TON 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 TON 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 TON. 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 TON ditandai dengan warna hijau dan perlambatan OFF akibat instruksi TOF ditandai dengan warna kuning.
Video
Mohon maaf video masih dalam pengerjaan