PLC Basic 3 – Sistem Bilangan dan Kode

3.1 Sistem Desimal

Pengetahuan tentang sistem bilangan dan kode digital yang berbeda-beda cukup berguna saat bekerja dengan PLC atau sebagian besar jenis komputer digital. Persayaratan dasar perangkat ini adalah untuk merepresentasikan, menyimpan, dan mengoperasikan bilangan. Pada umumnya, PLC bekerja pada bilangan biner.

Sistem desimal mempunyai basis 10. Radix atau basis dari sistem bilangan menentukan jumlah bilangan dari simbol atau digit yang berbeda. Nilai dari bilangan desimal tergantung pada digit yang membuat angka-angka dan besaran nilai setiap digit. Besaran nilai ditentukan pada setiap posisi digit dari kanan ke kiri. Gambar 3-1 mengilustrasikan bagaimana nilai dari bilangan desimal dapat dikalkulasi dengan mengalikan setiap digit dengan besaran posisinya dan jumlahkan hasilnya.

Gambar 3-1 Besaran nilai pada sistem desimal

 

3.2 Sistem Biner

Sistem biner menggunakan basis 2. Digit yang diizinkan hanya 0 dan 1. Dengan sirkuit digital, mudah untuk membedakan antara 2 level tegangan (contohnya + 5 V dan 0 V), yang dapat direlasikan ke digit biner 1 dan 0 (gambar 3-2).

Gambar 3-2 Sinyal digital

 

Selama sistem biner hanya menggunakan 2 digit, masing-masing posisi dari bilangan biner hanya bisa melalui dua perubahan. Tabel 3-1 menampilkan perbandingan antara 4 sistem bilangan yang umum : desimal (basis 10), oktal (basis 8), hexadesimal (basis 16) dan biner (basis 2).

Bilangan biner setara dengan desimal dapat ditentukan dengan cara yang mirip dengan apa yang dipakai oleh bilangan desimal. Pada kali ini besaran nilai dari posisinya adalah 1, 2, 4, 8, 16, 32, 64 dan seterusnya. Ketika besaran bilangan desimal memakai kelipatan pangkat 10 dari setiap posisinya, bilangan biner memakai kelipatan pangkat 2. Gambar 3-3 mengilustrasikan bagaimana bilangan biner 10101101 diubah ke desimal menjadi 173.

Tabel 3-1 Perbedaan sistem bilangan

 

Gambar 3-3 Merubah bilangan biner ke bilangan desimal

 

Setiap digit pada bilangan biner disebut bit. Dalam memori processor terdapat ratusan atau ribuan register. Register dimaksudkan sebagai words. Setiap word dapat menyimpan data bits. Jumlah bits pada setiap word tergantung pada sistem PLC yng digunakan. 16 bit dan 32 bit word yang paling umum digunakan. Bits dalam words juga dapat digroupkan menjadi bytes. Sebuah grup 8 bits adalah byte dan grup dari 2 byte atau lebih adalah word. Gambar 3-4 mengilustrasikan sebuah 16 bits word yang terbuat dari 2 bytes. Least significant bit (LSB) adalah digit yang mewakili nilai paling kecil dan most significant bit (MSB) mewakili nilai terbesar.

Gabar 3-4 Sebuah 16 bits word

 

Memori PLC diorganisasikan menggunakan bytes, single-words atau double-words. PLC lama menggunakan 8 bits atau 16 bits memori dan sistem baru seperti ControlLogix dari AB menggunakan 32 bits double words. Ukuran memori PLC berhubungan dengan besarnya program yang dapat disimpan.

Gambar 3-5 Memori 1-K word

 

Untuk merubah bilangan desimal ke bilangan biner, kita harus melakukan pembagian dengan 2 secara berurut.  Gambar 3-6 mengilustrasikan merubah bilangan desimal 47 menjadi biner. Dimulai dari membagi bilangan desimal dengan 2. Jika ada sisa bagi, di tempatkan pada LSB.  Jika tidak ada sisa bagi, 0 ditempatkan pada LSB. Hasil pembagian diturunkan dan proses ini diulangi lagi sampai hasil dari pembagian  menjadi 0.

Gambar 3-6 Merubah bilangan desimal benjadi bilangan biner

 

3.3 Bilangan Negatif

Jika bilangan desimal positif mempunyai tanda plus (+) dan bilangan negatif mempunyai tanda minus (-). Pada sistem bilangan biner tidak memungkinkan menggunakan tanda plus dan minus. Salah satu metode mewakili bilangan biner sebagai nilai positif atau negatif menggunakan sign bit pada sisi MSB. Pada posisi sign bit, 0 mengindikasikan bilangan positif dan 1 mengindikasikan bilangan negatif (Tabel 3-2).

Tabel 3-2 Tanda pada bilangan biner

 

Metode lain yang mengekspresikan bilangan negatif pada sistem digital menggunakan komplemen pada bilangan biner, yaitu dengan merubah semua nilai 1 menjadi 0 dan 0 menjadi 1. Ini disebut juga komplemen 1 pada bilangan biner. Sebagai contoh komplemen 1 dari 1001 adalah 0110.

Cara paling umum untuk mengekspresikan bilangan biner negatif menggunakan komplemen 2. Komplemen 2 adalah bilangan biner yang dihasilkan saat komplemen 1 di tambahkan 1. Sistem ini ditunjukan pada tabel 3-3. Sign bit 0 berarti positif dan sign bit 1 berarti negatif.

Menggunakan komplemen 2 membuat mudah PLC untuk melakukan operasi perhitungan matematika. PLC akan mengetahui nilai yang diambil dari memori berupa nilai negatif jika MSB nya bernilai 1. Ketika bilangan negatif dimasukan dari keyboard, PLC akan menyimpannya sebagai komplemen 2.

Tabel 3-3 Komplemen 1 dan 2 mewakili bilangan positif dan negatif

 

3.4 Sistem Oktal

Untuk mengekspresikan nilai dalam sitem bilangan biner membutuhkan digit lebih banyak dari sistem desimal. Terlalu banyak binary digits dapat menjadi rumit untuk ditulis dan dibaca. Untuk mengatasi masalah ini, sistem bilangan lainnya dapat digunakan.

Sistem bilangan oktal adalah sistem basis 8 digunakan karena 8 data bits membuat byte informasi yang dapat dialamatkan. Gamabr 3-8 mengilustrasikan pengalamatan modul I/O menggunakan sistem bilangan oktal. Rentang digit dari 0 sampai 7, dimana nilai 8 dan 9 tidak bisa digunakan. AB PLC-5 menggunakan pengalamatan I/O octal-base dimana SLC 500 dan Logix menggunakan pengalamatan desimal basis 10.

Oktal adalah cara yang baik untuk menangani bilangan biner yang besar. Tabel 3-4 menunjukan 1 digit octal dapat mengekspresikan 3 digit biner. Gambar 3-9 mengilustrasikan bagaimana nilai oktal 462 dirubah ke desimal menjadi 306.

Merubah oktal ke biner sangat mudah. Sebagi contoh nilai oktal 462 diubah menjadi biner dengan menghimpun 3-bit group seperti yang diilustrasikan pada gambar 3-10.

Tabel 3-4 Relasi biner dan octal

 

Ganbar 3-9 Merubah bilangan oktal ke bilangan desimal

 

Gambar 3-10 Merubah bilangan oktal ke bilangan biner

 

3.5 Sistem heksadesimal

Sistem bilangan heksadesimal (hex) digunakan pada PLC karena data word terdiri dari 16 data bit atau dua byte. Sistem heksadesimal adalah sistem basis 16, dengan A sampai F digunakan untuk mewakili nilai desimal 10 sampai 15 (tabel 3-5). Sistem bilangan heksadesimal memungkinkan nilai biner yang besar di wakili dalam bagian-bagian kecil.

Teknik yang digunakan untuk merubah heksadesimal ke desimal atau sebaliknya sama dengan teknik yang digunakan untuk biner dan oktal. Untuk merubah bilangan heksadesimal ke desimal, digit pada heksadesimal di kalikan dengan basis 16, tergantung pada digit signifikan. Gambar 3-11 mengilustrasikan bagaimana merubah nilai hexsadesimal 1B7.

Bilangan heksadesimal dapat dengan mudah di rubah ke bilangan biner. Merubahnya dengan menulis 4-bit biner pada setiap digit bilangan heksadesimal untuk masing-masing posisi sepeti yang diilustrasikan pada gambar 3-12.

Tabel 3-5 Sistem bilangan heksadesimal

 

Gambar 3-11 Merubah bilangan heksadesimal ke bilangan desimal

 

Gambar 3-12 Merubah bilangan heksadesimal ke bilangan biner

 

3.6 Sistem Binary Coded Decimal (BCD)

Binary coded decimal (BCD) meneyediakan jalan yang mudah untuk menangani nilai yang besar yang dibutuhkan untuk input ke PLC atau output dari PLC. Sistem BCD merubah kode decimal yang dimasukan oleh pemakai misalnya thumbwheel switch dan LED display menjadi sistem BCD. Tabel 3-6 menunjukan contoh nilai dalam desimal, biner, BCD dan heksadesimal.

Tabel 3-6 Nilai dalam desimal, biner, BCD dan heksadesimal

 

Sistem BCD menggunakan 4 bits untuk mewakili masing-masing digit desimalnya. 4 bits digunakan untuk merubah nilai 0 sampai 9. Pada sistem BCD, nilai desimal tersebesar yang dapat ditampilkan adalah 9.

Untuk membedakan sistem bilangan BCD dari sistem biner, penunjukan BCD ditempatkan disebelah kanan dari digit satuan. BCD yang mewakili bilangan desimal 7863 ditunjukan pada gambar 3-13.

Gambar 3-13 BCD mewakili dari bilangan desimal

 

Thumbwheel switch adalah salah satu contoh peralatan input yang menggunakan BCD (gambar 3-14). Papan sirkuit dipasang pada thumbwheel mempunyai satu sambungan untuk masing-masing bit ditambah sambungan common. Operator memilih dalam desimal antara 0 dan 9 dan thumbwheel switch mengeluarkan output yang sama dengan 4 bits dari data BCD. Sebuah 4 digit thumbwheel switch serupa akan membutuhkan 16 (4 x 4) input.

Gambar 3-14 Thumbwheel switch BCD

 

PLC mempunyai beberapa fungsi atau instruksi seperti yang diilustrasikan pada gambar 3-15. Mengubah BCD-to-binary dibutuhkan untuk input dan mengubah binary-to-BCD dibutuhkan untuk output. Instruksi convert akan mengubah pola biner pada sumber alamat N7:23 ke pola BCD yang mempunyai nilai desimal yang sama ke alamat tujuan O:20.

Gambar 3-15 Merubah bilangan PLC

 

Banyak PLC yang memperbolehkan merubah format data yang akan ditampilkan. Anda dapat merubah format tampilan data ke biner, octal, desimal, hexsadesimal atau ASCII.

 

3.7 Kode Gray

Kode Gray adalah jenis kode biner yang khusus, tidak menggunakan besaran tiap posisinya. Dalam kata lain, setiap posisi tidak mempunyai besaran pasti. Kode Gray secara umum kode biner yang sudah dimodifikasi sehingga hanya satu bit berubah ketika nilai perhitungan bertambah. Perubahan drastis bisa dilihat pada transisi biner 0111 ke 1000 (desimal 7 sampai 8). Perubahan tersebut dapat mengakibatkan peluang kesalahan yang tidak sesuai untuk aplikasi positioning. Akan tetapi, banyak encoder yang menggunakan kode Gray untuk menentukan posisi angular.

Tabel 3-7 Kode Gray, biner dan desimal

 

Gambar 3-16 menunjukan sebuah piringan optical encoder yang menggunakan 4-bit kode Gray untuk mendeteksi perubahan posisi angular. Pada contoh ini, piringan encoder dipasang pada rotor dan mengeluarkan output kode Gray. Photo dioda mendeteksi cahaya yang direflksikan dari masing-masing cell melintasi satu baris jalur encoder. Tergantung dari jumlah cahaya yang direfleksikan, masing-masing cell akan mengeluarkan output tegangan yang berhubungan dengan biner 1 atau 0. Dengan demikian, 4 bit yang berbeda akan dihasilkan untuk masing-masing baris pada pringan.

Gambar 3-16 Piringan optical encoder

 

3.8 Kode ASCII

ASCII kepanjangan dari American Standard Code for Informastion Interchange. ASCII merupakan kode alphanumeric karena kode ini tersusun dari huruf dan angka. Karakter yang bisa diakses oleh kode ASCII memuat 10 digit angka, 26 huruf kecil dan 26 huruf besar dan 25 karakter spesial. Tabel 3-8 menunjukan sebagian daftar kode ASCII.

Keystroke dikeyboard pada komputer diubah langsung menjadi ASCII untuk diproses oleh komputer. Setiap saat menekan key pada keyboard komputer, sebuah 7 atau 8 bit word disimpan pada memori komputer.

Modul input ASCII mengubah kode ASCII dari peralatan eksternal menjadi informasi alphanumeric yang dapat diproses oleh PLC. Antarmuka komunikasi dapat menggunakan RS-232 atau RS-422. Modul akan mengirim dan menerima file ASCII dan dapat digunakan untuk membuat antarmuka operator.

Tabel 3-8 Sebagian kode ASCII

 

3.9 Parity Bit

Beberapa sistem komunikasi PLC menggunakan digit biner untuk memeriksa ketepatan dari pengiriman data. Sebagai controh, ketika data dikirim antara PLC, salah satu digit biner secara tidak sengaja dapat berubah dari 1 ke 0. Ini terjadi karena perpindahan atau noise atau karena kesalahan pada jaringan transmisi. Sebuah parity bit digunakan untuk mendeteksi kesalahan yang mungkin terjadi ketika sebuah data dipindahkan.

Parity adalah sebuah sistem dimana setiap karakter dikirim mengandung satu bit tambahan. Bit tersebut disebut juga parity bit. Bit parity bisa 0 atau 1, tergantung dari jumlah 1 dan 0 pada karakter tersebut. Dua sistem parity yang banyak digunakan : odd dan even. Odd parity berarti jumlah bilangan biner 1 pada karakter, termasuk parity bit adalah ganjil (odd). Even parity berarti jumlah bilangan biner 1 pada karakter, termasuk parity bit adalah genap (even). Contoh dari odd dan even parity ditunjukan pada tabel 3-9

tabel 3-9 Odd dan Even Parity

 

3.10 Aritmatika Biner

Operasi matematika memuat penambahan, pengurangan, perkalian dan pembagian. Penambahan biner mengikuti aturan yang sama dengan penambahan desimal. Ketika melakukan penambahan bilangan biner ada 4 kondisi yang akan terjadi:

Tiga kondisi awal mudah karena sama seperti penambahan desimal, tapi kondisi terakhir sedikit berbeda. Pada desimal, 1 + 1 = 2. Pada biner, 2 di tulis 10. Oleh karena itu, pada biner 1 + 1 = 0, dengan menyimpan 1 untuk ke posisi berikutnya, seperti pada controh dibawah ini :

Dalam fungsi artimatik, nilai awal yang akan dikombninasikan oleh pengurangan yaitu minuend dan subtrahend. Hasil dari pengurangan disebut difference, direpresentasikan sebagai :

Untuk melakukan pengurangan dari bilangan biner yang besar, kurangi kolom demi kolom, pinjam dari kolom yang terdekat jika diperlukan. Perlu diingat bahwasanya bila meminjam dari kolom terdekat, maka menjadi dua digit, contoh nya 0 meminjam 1 jadi 10.

Bilangan biner juga bisa negatif. Prosedur untuk kalkulasi ini sama dengan pengurangan desimal karena nilai kecil dikurangi nilai besar dan tanda negatif ditulis di depan hasilnya.

Ada metode lain untuk melakukan pengurangan :

  • Komplemen 1
  • Komplemen 2

Prosedur untuk pengurangan menggunakan komplemen 1 sebagai berikut :

Step 1   : Ubah subtrahend menjadi komplemen 1

Step 2   : Jumlahkan kedua bilangan tersebut

Step 3   : Pindahkan hasil simpan dan tambahkan ke hasil tersebut (end-around carry)

Ketika masih ada hasil simpan pada hasil akhir, hasilnya menjadi positif. Ketika tidak ada hasil simpan maka hasilnya negatif dan tanda minus ditulis didepannya.

Untuk pengurangan menggunakan komplemen 2, komplemen 2 ditambahkan sebagai pengganti pengurangan. Dalam hasilnya, jika hasil simpan 1 maka hasilnya positif, jika hasil simpan 0 maka hasilnya negatif.

Perkalian pada bilangan biner mempunyai cara yang sama dengan bilangan desimal. Ketika melakukan perkalian bilangan biner ada 4 kondisi yang akan terjadi :

0 X 0 = 0

0 X 1 = 0

1 X 0 = 0

1 X 1 = 1

Untuk mengalikan bilangan biner lebih dari 1 digit, bentuk hasil partial dan tambahkan kesemuanya, seperti contoh dibawah ini :

Proses untuk pembagian satu bilangan biner dengan lainnya sama dengan pembagian bilangan desimal, seperti contoh dibawah ini :

 

Referensi :

  • Programmable Logic Controller – Fifth Edition, Frank D Petruzella
  • Automating Manufacturing System with PLCs, Hugh Jack

Leave a Comment

Your email address will not be published. Required fields are marked *