PLC JUGA BISA MENJADI KALKULATOR

Pada suatu hari ada seorang teman bertanya: ” Bisakah menghitung aset POM Bensin dengan PLC?”. Saya jawab : Bisa. Anda cukup memasukkan angka nilai input bahan komoditas tangki anda, harga rupiah tiap tiap komoditas, dan disitu kita buatkan ladder penghitungnya.
“Ah masak? biasanya kan kami pakai jasa programmer IT untuk itu?”
“Malahan kalau sampeyan mau beli transmitter dan dipasang tiap tiap tangki, maka sampeyan justru bisa tahu secara realtime berapa volume tangkinya dan berapa nilai aset sampeyan, bah” kata saya kepada sebut saja Abah.
Dari percakapan ini kadang anda para pembaca juga ikut bertanya: “bagaimana caranya?”. Ya mudah saja.
- Pasangkan tranmitter untuk menterjemahkan posisi level bahan bakar yang ada di tangki pendam anda.
- Masukkan isyarat listrik dari PLC tadi untuk di scaling oleh PLC.
- Buatkan program untuk kalkulasi volume, nilai total dan nilai rupiah.
- Buatkan program monitoringnya.
Nah, sekarang harus dimulai dari mana nih? Oke. Kita bahas yang nomer 3 saja. Karena yang nomer 1,2 dan nomer 4 sudah ada artikelnya di dalam website ini.
MEMBUAT FUNCTION BLOK KALKULATOR RUPIAH
Karena bahan bahan ada banyak, maka kita cukup membuat 1 rumus saja, dan 1 rumus ini nanti kita copas kan ke bahan yang lain. Maksudnya gimana sih? Ya. Kita membuat sebuah Function Blok di dalam Ladder PLC Omron
Buatlah program baru yang isi di dalamnya meliputi nama PLC, jenis PLC, nomer CPU ,I/O table dan sebagainya hingga sudah sesuai. Selanjutnya kita membuat sebuah Function Block berwujud Ladder. Berilah nama dan berilah nama keterangan nama pengarangnya ( Author) dan nomer revisi. Untuk revisi paling awal bisa diisi dengan 0.
Setelah membikin sebuah file dengan nama NILAI_KOMODITAS, maka kliklah. Akan muncul sebuah bidang kerja seperti gambar dibawah. Mirip dengan LAdder seperti biasanya. Arahkan mouse ke area kerja rung nomer 0. Mulailah dengan memasukkan instruksi P_On dan lanjutkan dengan mengisi sebuah instruksi pengali / multiply (bersimbol * ). Ketikkan isi instruksinya dengan (contoh) *(spasi)VOLUME(spasi)HARGA(spasi)HASIL(Enter / Klik OK)

Selanjutnya anda diminta untuk mengisi keterangan dari nama variabel VOLUME, HARGA, dan HASIL. Untuk variabel VOLUME, isilah dengan jenis pemakaiannya (usage) sebagai Input, untuk variabel HARGA, isilah dengan jenis pemakaian (usage ) sebagai Input, untuk variabel HASIL, isilah dengan jenis usage Output. 2 variabel input ini kita buat berjenis Integer (INT) dan 1 variabel output kita pilih DINT (double integer ). Kenapa kok harus DINT? karena jelas sudah bisa dipastikan kalau angka yang akan ditampilkan pasti ada yang diatas 65.536 . Contoh jika volume bahan 1 adalah 1000L dan harganya adalah 10.000, maka bisa dipastikan hasilnya adalah 10 juta. Dan ini lebih dari 65.536.
Selanjutnya variabel yang bernama HASIL tadi kita ubah menjadi bilangan Floating ( bilangan berkoma). Buatlah sebuah instruksi FLTL. FLTL adalah sebuah instruksi untuk merubah bilangan Double Integer (32bit) menjadi Floating Point 32bit. Ketikkan FLTL(spasi)HASIL(spasi)HASIL_F. Selanjutnya jadikan type Data dari variabel HASIL_F tadi dengan jenis bilangan REAL. Pemakaian variabel sebagai bilangan Internal karena tidak untuk ditampilkan di bagian terluar Function Block.
Lakukan hal yang sama untuk membuat sebuah variabel, contohnya adalah NILAI_JT. Jenis bilanga yang dipakai adalah berjenis Floating ( REAL), dan pemakaian bilangan adalah Output. Dibawah ini adalah contoh ladder sebuah rumus kalkulator aset dari sebuah tangki bahan bakar.
PENJELASAN LADDER FUNCTION BLOCK
Penjelasan gambar: Volume dan Harga dikalikan, hasilnya diletakkan pada variabel yang bernama HASIL. Variabel Hasil ini dijadikan bilangan berjenis REAL / Floating point. Selanjutnya instruksi FTL &1000 F_1000 adalah perintah menjadian angka tetap /konstanta 1000 desimal untuk dijadikan bilangan floating dengan diberi nama (contoh) F_1000.
Angka Floating ini dikalikan dengan dirinya sendiri untuk menjadi angka floating 1.000.000 ( satu juta). Angka pada variabel HASIL_F (floating) ini dibagi dengan angka kontan 1 juta (floating), selanjutnya hasilnya diletakkan pada variabel NILAI_JT (floating).
Variabel NILAI_JT (Floating) inilah yang nanti akan dijadikan angka keluar (Output) dari Function Block ini.
Setelah selesai melakukan programming, maka ladder ini harus di uji dulu, apakah logika yang terpasang sudah benar. Kliklah icon bertanda seperti gambar dibawah. Maka komputer segera melaporkan hasil kompail dari program anda.
Kali ini ada sebuah error. Lihat digambar atas bahwa tulisan yang diingkari adalah bertuliskan ….not connected. Ini berarti ada ladder yang belum kita selesaikan. Sekarang coba kita klik pada tulisa ERROR:….. diatas.

Ternyata diketahui bahwa sebuah P_On tidak terhubung ke sebuah saklar maupun sebuah koil. Bisa dikatakan sebagai kabel terbuka. Selanjutnya masukkan instruksi New Function Block Call untuk memasukkan Function Block yang barusan kita buat. Pada kolom FB Definition, kita pilih NILAI_KOMODITAS, lalu pada kotak kosong FB Instance kita isi dengan (contoh) BENSIN, kemudian lanjutkan dengan klik OK.
Sebuah Function block hadir di dalam rung. Dengan nama BENSIN, dengan jenis FB NILAI_KOMODITAS. Sekarang kita memberi alamat alamat dari terminal terminal input dan input dari FB ini. Arahkan mouse pada sebelah (contoh) terminal VOLUME. Kliklah. Muncul sebuah box New Parameter. Isilah kotak kosong dengan sebuah alamat memori. Isikan (contoh) D10. Setelah klik OK, maka muncul kotak lagi untuk diisi dengan komen. Isilah dengan (contoh) TANGKI BENSIN dan lanjutkan dengan klik OK.
Hasilnya adalah seperti dibawah ini. Alamat D10 adalah alamat untuk input dari Function Block. Pada beberapa aplikasi, alamat (contoh) D10 berasal dari scaling input analog, selanjutnya di hitung lagi. D60 adalah alamat input operator untuk menentukan harga rupiah dari bahan (contoh) BENSIN. Variabel HASIL berjenis bilangan DINT( Double Integer ), variabel NILAI_JT berjenis REAL dan diletakkan pada alamat memori (contoh) D112.

PERCOBAAN SIMULASI
Setelah dilakukan simulasi, maka kita coba isikan D10 dengan sebuah angka liter sebesar (contoh) 8652 dan D60 kita isikan dengan angka harga bensin sebesar (contoh) 6750. Maka Function Block akan mengkalkulasikan hasilnya dengan penunjukan pada alamat (contoh) D110 senilai 58401000,D atau 58 juta 401 ribu dan alamat (contoh) D112 senilai 58,4 Float. 58,401 disini diasumsikan sebagai juta.

Kita bisa melakukan hal yang sama untuk bahan yang lainnya seperti gambar ladder dibawah ini

Penjelasan ladder: Pada rung 1, 2,3,4 di isi dengan FB NILAI_KOMODITAS akan tetapi diberi nama sendiri sendiri yakni (contoh) PERTALITE, PERTAMAX92, PERTAMAX95, dan SOLAR. Prinsip kalkulasinya menggunakan rumus yang sama akan tetapi dimanfaatkan untuk macam macam bahan yg lain.
Ini berarti alamat yang dipakai harus berbeda beda pula, seperti alamat memori harga masing masing bahan, alamat masing masing hasil, dan alamat masing masing juta rupiah.
MENJUMLAH NILAI RUPIAH DENGAN STRUCTURE TEXT
Bisakah angka angka berjenis bilangan REAL yang menyatakan juta rupiah itu ditotal? Maksudnya sih biar kita tahu berapa duit atas aset kita? Jawabnya adalah: Bisa.
Pada artikel ini saya coba buatkan teknik menjumlah banyak input dengan menggunakan metode bahasa pemrograman berjenis Structure Text.
Arahkan mouse pada icon Function Block. Lanjutkan dengan Insert Function Block > Structure Text. Selanjutnya isikan properties dengan nama PENJUMLAH_6, Isikan mana Author dan nomer Revision.
Selanjutnya disisi kanan Function Block anda akan keluar semacam bidang kosong. Coba ketikkan TOTAL:=RP1+RP2+RP3+RP4+RP5+RP6; tanpa spasi. Selanjuntya isikanlah pada sisi atas pada kolom Name dan kolom Data Type dengan Insert Variable. Isikan nama nama variabel yang baru saja kita ketikkan. Semua type data adalah berjenis REAL dan untuk RP1 hingga RP6 dijadikan Input.
Lanjutkan pengisian variabel hingga RP6. Selanjutnya pada Tab Output, isikan variabel baru dengan nama TOTAL, berjenis bilangan REAL, dan dipakai sebagai Output. Lanjutkan dengan klik OK.
Selanjutnya lakukanlah kompail pada ladder anda. Walaupun Function block dianggap sudah benar, tapi masih ada warning. Karena Fuction Block yang diberi nama PENJUMLAH_6 ini belum dimasukkan ke dalam Rung.

Sekarang kita masuk ke dalam ladder . Pada sebuah rung, isikan sebuah Function Block. Masukkan FB dengan type PENJUMLAH_6 dan diberi nama TOTAL. Lanjutkan dengan OK.

Sebuah FB bernama TOTAL telah masuk ke dalam ladder. berilah alamat pada RP1, RP2 hingga RP6. Juga terminal output yang bernama TOTAL. Alamat untuk RP1 kita hubungkan dengan D112 yang asalmya adalah hasil kalkulasi pada FB sebelumnya (FB ber type NILAI_KOMODITAS ). RP2 dihubungkan ke D116, dan seterusnya hingga RP5. Untuk RP6, diisi dengan alamat D132 walaupun tidak terpakai. Alamat (contoh) D132 ini jika tidak dipakai harus di isi dengan angka floating bernilai 0,00 supaya hasil kalkulasi TOTAL nya tidak salah.

HASIL SIMULASI
Selanjutnya kita coba lakukan simulasi pada program ini. Maka akan kita lihat bahwa PLC bisa menghitungkan angka angka volume dan total uang yang dimiliki pada perusahaan penyalur bahan bakar ini.

Penjelasan ladder: Diketahui angka nilai juta rupiah dari masing masih bahan bakar dan total aset juta rupiah pada tangki tangki penyimpanan.
Dari contoh artikel ini bisa dipastikan bahwa PLC juga bisa diterapkan sebagai pengali, penjumlah dari sebuah angka dan data. Baik yang bergerak maupun konstan.
Jenis bilangannya pun bisa kita sesuaikan sendiri mengikuti kaidah di lapangan dan kaidah kebutuhan aplikasi ini.
Terima kasih.





















