SCALING SEDERHANA UNTUK SINYAL ANALOG PADA PLC OMRON

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.

scaling sederhana. cukup membagi sinyal masuk dari input analaog dengan angka tertentu akan menjadi hasil angka
simple scaling ladder

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.

isi memori dari alamat D0 , d2 dan d3
angka pada isi memori

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.

kebutuhan memori
memahami jenis bilangan dan pemakaian jumlah memori

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:

  1. 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.
  2. Jika transmitter  mengeluarkan 13,6 mA maka bisa dipastikan PLC akan membaca angka sebesar : (( 13,6 mA – 4 mA ) / 16 mA ) x 4000 = 2400.
  3. 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.

14 dibagi 4
angka input dibagi dengan bilangan konstan 4
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:

  1. 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.
  2. Jika transmitter  mengeluarkan 11,28 mA maka bisa dipastikan PLC akan membaca angka sebesar : (( 11,28 mA – 4 mA ) / 16 mA ) x 4000 = 1820.
  3. Berarti jika sinyal 1820  supaya menampilkan angka 500 cm, maka perlu dibagi dengan angka  1820 / 500 = 3,64
  4. Karena bilangan integer tidak mengenal koma, maka angka sinyal harus dikalikan 100.
  5. Selanjutnya hasil perkalian tadi dibagi 364. Perlu di ingat bahwa 364/100=3,64. Perhatikan jika 1820 / ( 364 / 100) = ( 1820 x 100 ) / 364
  6. Selanjutnya hasil angka tadi di MOV supaya menjadi angka integer.

Perhatikan ladder dibawah ini.

salah instruksi.jpg
hasil kalkulasi salah karena salah instruksi

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:

17 bagi L.jpg
menggunakan instruksi /L untuk membagi bilangan double word

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.

18 4 memori.jpg
instruksi membutuhkan 4 alamat memori

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.

19 mov ke d8.jpg
instruksi MOV untuk memindah bilangan doubleword menjadi integer saja.

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.

yohan Indrawijaya

Share

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Post comment