PLC Omron CJ1M: Aritmatika pada Ladder


Operasi aritmatika juga terkadang dibutuhkan dalam pengendalian dengan PLC. Operasi ini sekarang sudah tersedia dalam PLC sehingga bisa digunakan dalam program ladder. Operasi-operasi aritmatika ini mencakup penjumlahan, pengurangan, perkalian, pembagian, bahkan trigonometri. Bilangan yang diolah bisa berbentuk integer (bilangan bulat) dan juga float (bilangan pecahan). Berikut akan saya tunjukkan penggunaan operasi aritmatika pada PLC Omron CJ1M Series.

Contoh ini akan memperlihatkan penggunaan operasi aritmatika untuk menkonversi data word (16-bit) input analog menjadi nilai analog yang sebenarnya masuk. Misalkan input analog menerima input arus 4 – 20 mA dan dikonversi menjadi data word dengan resolusi 4000. Berdasarkan datasheet, sinyal ini dikonversi menjadi 4 mA = 0000hex dan 20 mA = 0FA0hex sehingga persamaan konversinya adalah

i = 10hex/0FA0hex * (x + 03E8hex)

dengan:

i = nilai arus

x = word hasil konversi

Input analog misalkan disetting Unit No. 2 dan arus masuk dari terminal pin 3. Jadi, input yang sudah dikonversi, yakni x, akan berada di alamat CIO 2023. Untuk mengubah data word x menjadi nilai arus i, langkah pertama adalah menjumlah x dengan angka 03E8hex. Operasi ini menggunakan fungsi + 2023 #03E8 D0. Fungsi itu menjumlahkan bilangan yang berada di CIO2023 dengan angka 03E8hex dan hasilnya dimasukkan ke dalam DM0.

Setelah itu, hasilnya yang di dalam DM0000 dikalikan dengan angka 10hex dengan fungsi * DM0000 #10 DM0001. Hasil perkalian ini dimasukkan ke dalam memori DM0001 dan DM0002. Dua alamat memori digunakan untuk menampung hasil perkalian karena hasil perkalian dua bilangan word (16 bit) bisa menghasilkan bilangan sepanjang 2 word (32 bit).

Kemudian, hasil perkalian tadi harus dibagi dengan bilangan 0FA0hex. Karena hasil pembagian bisa menghasilkan bilangan pecahan, maka hasil perkalian dan bilangan oFAohex harus diubah ke dalam bentuk float terlebih dahulu. Hasil perkalian di DM0001 dan DM0002 diubah ke float dengan fungsi FLTL D1 D3 dan bilangan 0FA0hex diubah ke float dengan fungsi FLT #0FA0 D5. FLTL berfungsi untuk mengubah bilangan 2 word (32-bit) menjadi float dan FLT mengubah bilangan 1 word (16-bit) menjadi float. Bentuk float hasil perkalian disimpan di DM0003 dan 0FA0hex disimpan di DM0005.

Yang terakhir adalah operasi pembagian. Hasil perkalian yang sudah berbentuk float tadi dibagi dengan bilangan 0FA0hex yang sudah berupa float juga. Operasi ini menggunakan fungsi /F D3 D5 D7. Bilangan hasil perkalian yang disimpan di DM0003 dibagi dengan bilangan 0FA0hex yang disimpan di DM0005. Hasil pembagian ini disimpan dalam DM0007. Selesailah perhitungan arus yang masuk ke input analog. Hasil akhirnya adalah nilai arus yang masuk ke input analog dalam mA. Dalam diagram ladder, operasi-operasi aritmatika tadi menjadi seperti ini:

aritmatik

About Junot D. Ojong

Author is a control systems engineer at a private company in Jakarta.
This entry was posted in teknik and tagged , , , , , , , , , , , , , . Bookmark the permalink.

8 Responses to PLC Omron CJ1M: Aritmatika pada Ladder

  1. kas says:

    mas. biasane untuk aplikasi apa yaa……
    bisa kasih contoh aplikasi yang di pake di industri ga…….
    mkasih sebelumnya mas

    • banyak sih mas kalo saya pikir aplikasinya. Misalkan ada flowmeter, mau kita tampilkan/olah datanya itu bukan flow, melainkan total cairan yang lewat. Jadi harus mengalikan flow dengan menit. Atau ingin mengetahui kecepatan cairan dari flow, jadi musti membagi flow dengan luas penampang pipa.

      • affandi says:

        di omron tidak ada modul konversi langsung dari flowrate ke totaliser, jadi harus dikonversi manual.. ini yang kadang2x bikin bug memori CJ

  2. affandi says:

    Pak, hasil akhir dari ladder ini dalam mA khan?, berupa nilai desimal atau hexadesimal? misalnya hasil akhir perhitungan harusnya 5,3 mA apakah di memori tersebut juga tertulis 5,3 mA juga atau dengan kode yg lain ?

    • Loh perasaan saya udah jawab ini kok hilang ya. Di memori ya tergantung setting tampilannya mau pakai basis apa, kalau hexa ya dalam hexa, kalau decimal ya muncul 5.3.

  3. hari says:

    pak sama ingin mengetes baterai dari 0 sampai 10 volt. saya menggunakan CQM1H dan analog input AD041. Bagaimana leader diagramnya. saya menggunakan chanel 2, tetapi saat baterai itu saya test 10 volt pada chanel 2 tersebut tercbaca nila 48. padahal kalau saya lihat dibuku pada 10 volt nilai chanel 2=0FD0H. Bagaimana leader diagramnya? terimakasih pak

  4. Iwan says:

    Mantabs hasilnya bahkan lebih bagus dari fungsi scl pada cx programmer, saya uda coba cara/formula diatas dengan menggunakan PLC omron CJ2M dan kalibrator 4-20mA , terima kasih Pak

Leave a comment