MENGENAL SCALING UNTUK PLC.
Scaling adalah istilah yang dipakai untuk melakukan pembandingan sinyal keluar dan sinyal masuk.
Hampir semua PLC selalu memakai scaling untuk melakukan penghitungan angka sinyal masuk dan sinyal keluar. Biasanya skaling ini dipakai untuk menterjemahkan besaran sinyal dari sumber ( seperti transmitter, sensor dan sinyal retransmisi dari sebuah kontroller ).
Pada ladder kali ini menjelaskan bagaimana membuat ladder scaling sederhana pada PLC OMRON.
Sinyal dari Transmitter yang besarnya 4-20mA tadi , dibaca oleh alamat CIO2011 . Jika sinyal dari TX sebesar 4mA, maka alamat ini akan menginformasikan angka 0. Jika sinyal dari TX sebesar 20mA, maka alamat ini akan menginformasikan angka 4000. Tentu saja besar sinyal yang masuk ke CIO 2011 ini antara 0 hingga 4000.
Sinyal ini dipindah dengan perintah MOV untuk berpindah ke alamat memori D0. Kenapa menggunakan instruksi MOV? Karena sinyal dari CIO 2011 adalah sinyal berjenis integer 16 bit. Dikatakan 16 bit karena sinyal ini dicacah menjadi xxxx xxxx xxxx xxxx ( ada 16 angka biner ). Jika semua angka adalah 1 atau 1111 1111 1111 1111, maka sama dengan angka 65535. Sebetulnya angka 4000 lebih kecil dari 65.536 karenanya angka input 4000 ini bisa disebut angka integer.
Setelah angka dipindah ke D0, maka angka tersebut dibagi angka desimal senilai 40. Hasil dari pembagian ini diletakkan pada alamat D2. Untuk instruksi ini, pada hasil pembagiannya bukan menjadi angka integer lagi, akan tetapi menjadi angka Double Word. Double word adalah angka 32 bit atau angka maksimumnya adalah 4.294.967.295 ( 4,29 milyar ).
Sinyal 4000 jika dibagi 40 maka akan menghasilkan nilai 100. Akan tetapi jika sinyal yang masuk di D0 adalah 2000, maka D2 menjadi 50. Jika sinyal D0 menjadi 2020, maka D2 tidak menunjukkan angka 50,5 akan tetapi tetap 50. Karena 2020 dibagi 40 adalah 50 dan sisanya adalah 20 diletakkan di alamat memori D3.
Karena angka pada D2 adalah berjenis double word, maka harus di lakukan diinstruksi MOV dengan tujuan untuk menggeser 1 word saja angka yang ada di memori D2 untuk dipindah ke alamatmemori D4. Dan angka sisanya yang di memori D3 dibiarkan tidak dipakai.
Hasil scaling dipindah ke alamat memori D4 dan menjadi bilangan berjenis bilangan Integer.
BAGAIMANA JIKA HASIL ANGKA YANG DIMINTA ADALAH PENUNJUKAN METER KETINGGIAN DAN BUKAN PERSENTASE KETINGGIAN?
Jika kita menginginkan jika hasil scaling adalah menunjukkan meter, maka langkah yang harus dilakukan adalah:
- Pastikan range dari transmitter. Jika range dari TX adalah 0 hingga 10.000mmH2O, maka pada ketinggian 6 meter air transmitter akan menerjemahkan menjadi (( 6.000/10.000 ) x 16 ) + 4 mA = 13,6 mA.
- Jika transmitter mengeluarkan 13,6 mA maka bisa dipastikan PLC akan membaca angka sebesar : (( 13,6 mA – 4 mA ) / 16 mA ) x 4000 = 2400.
- Berarti jika sinyal 2400 supaya menampilkan angka 600 cm, maka perlu dibagi dengan angka 2400 / 600 = 4.
Mari kita buktikan dengan simulasi ladder dibawah ini.
BAGAIMANA JIKA SAYA MENGINGINKAN ANGKA YANG TAMPIL ADALAH SESUAI DENGAN YANG DI LAPANGAN, YAKNI 5 METER/ 500cm, PADAHAL ANGKA PADA TRANSMITTER MENUNJUKKAN LEBIH RENDAH, YAKNI 4550 mmH2O?
Setelah diteliti, maka berat jenis dari bahan yang mengisi tangki adalah sekitar 0,91. Walaupun ketinggian isi tangki adalah 500cm, akan tetapi angka yang tertampil adalah 455cm. Jika menginginkan angka yang akan tampil di layar monitor nanti adalah tetap 500cm, maka langkah yang kita lakukan adalah berikut ini:
- Pastikan range dari transmitter. Jika range dari TX adalah 0 hingga 10.000mmH2O, maka pada ketinggian 5 meter dan transmitter membaca 4550mm ( karena berat jenis kelapa sawit adalah 0,91, maka transmitter akan menerjemahkan menjadi (( 4.550/10.000 ) x 16 ) + 4 mA = 11,28 mA.
- Jika transmitter mengeluarkan 11,28 mA maka bisa dipastikan PLC akan membaca angka sebesar : (( 11,28 mA – 4 mA ) / 16 mA ) x 4000 = 1820.
- Berarti jika sinyal 1820 supaya menampilkan angka 500 cm, maka perlu dibagi dengan angka 1820 / 500 = 3,64
- Karena bilangan integer tidak mengenal koma, maka angka sinyal harus dikalikan 100.
- Selanjutnya hasil perkalian tadi dibagi 364. Perlu di ingat bahwa 364/100=3,64. Perhatikan jika 1820 / ( 364 / 100) = ( 1820 x 100 ) / 364
- Selanjutnya hasil angka tadi di MOV supaya menjadi angka integer.
Perhatikan ladder dibawah ini.
Perhatikan pada instruksi diatas. Perhatikan bahwa alamat D2 adalah berjenis Double word. Ada tulisan 182000,D berarti angka ini adalah angka berjenis double word atau angka berdigit 32.
Sedangkan pada instruksi dibawahnya adalah instruksi /(430) yang hanya beroperasi pada bilangan integer saja. Maka tentu saja angka yang masuk adalah -14608. Perlu diketahui bahwa angka -14608 adalah angka sisa dari 182000/65536 = 2 sisa 50928. Karena bilangan signed integer hanya mampu membaca 32768, maka oleh PLC angka ini diberi tanda – (minus) . Angka minus -14608 adalah hasil kalkulasi angka 65536 – 50928 = 14608.
Solusi yang benar adalah instruksinya harus diganti dengan instruksi /L, yang mana instruksi ini bekerja untuk jenis bilangan 32bit( double word maupun double integer maupun floating point ). Perhatikan gambar dibawah ini:
Angka hasil kalkulasi pada gambar diatas adalah tepat 500,D yang berarti angka ini berjenis Double integer. Perlu diketahui bahwa instruksi /L(430) ini membutuhkan 4 memori pada kolom D4. Karena D4 dan D5 dipakai untuk menyimpan angka hasil pembagian dan memori D6 dan D7 dipakai untuk menyimpan angka sisanya. Di dalam memori ini kita lihat bahwa hasil kalkulasi 182100 / 364 = 500 dengan sisa 100. Berarti angka 500 disimpan di kolom D5, selanjutnya angka sisa 100 ini disimpan di memori D6.
Berarti untuk menjadi bilangan integer harus dibuatkan instruksi MOV bagi memori D4 untuk di taruh di alamat memori D8. Kenapa kok bukan D6 saja dengan alasan loncat dua-dua? Jawabannya adalah tidak bisa! Karena D6 telah dipakai untuk menaruh angka sisa dari hasil penjumlahan bilangan double integer ini.
Berarti nampak disini bahwa angka final adalah yang tampak pada alamat memori D8. Selanjutnya coba kita simulasi untuk angka mulai ketinggian level tangki kelapa sawit di lapangan sampai dengan angka yang ada di D8 hasilnya sebagai berikut:
cm level | Angka pada TX (mmH2O) | Arus output TX (mA) | Angka pada Analog input | Hasil scaling |
100 | 910 | 5,46 | 365 | 100 |
300 | 2730 | 8,37 | 1092 | 300 |
600 | 5460 | 12,74 | 2184 | 600 |
800 | 7280 | 15,65 | 2912 | 800 |
Aktual ketinggian bahan di lapangan di presentasikan sama pada alamat hasil scaling. Dan angka scaling inilah yang akan disampaikan kepada konsumen, operator, maupun supervisor yang berkepentingan untuk memonitoring level ini.