BAB II LANDASAN TEORI 2.1 Programmable Logic Controller (PLC) Definisi PLC menurut National Electrical Manufacturing Association (NEMA) adalah perangkat elektronik digital yang memakai programmable memory untuk media penyimpanan internal dari instruksi-instruksi yang mengimplementasikan fungsi-fungsi spesifik seperti logika berurutan, pewaktu, pencacah, dan aritmatika untuk mengontrol modul-modul input/output digital ataupun analog dari berbagai mesin atau proses 2. PLC pada dasarnya adalah sebuah komputer yang didesain untuk dipakai di mesin kontrol. Tidak seperti komputer, PLC telah dirancang untuk beroperasi di lingkungan industri dan disertai dengan antarmuka input/output dan bahasa pemrograman kontrol tersendiri. Singkatan yang umum untuk alat ini di lingkungan industri adalah PC (Programmable Controller). Singkatan PC juga terkenal di masyarakat umum sebagai singkatan dari Personal Computer, untuk itu singkatan PC diubah menjadi PLC (Programmble Logic Controller) 3. Pada awalnya PLC dipakai untuk menggantikan perangkat keras relay logika, tetapi karena perkembangan dari tipe-tipe fungsi yang dipakai, sehingga aplikasi yang dapat 2 Sumber : www.nema.org 3 Sumber : www.plcs.net 4
berjalan di PLC juga makin komplek. Struktur PLC yang hampir sama dengan komputer menyebabkan PLC mampu untuk menjalankan tidak hanya relay switching tetapi juga aplikasi lain seperti pewaktu, pencacah, pembanding dan lain lain. Keuntungan penggunaan PLC dibanding perangkat keras relay logika antara lain : Ukuran yang relatif lebih kecil Kemampuan untuk diprogram Relatif lebih murah Beberapa jenis PLC dapat diperbanyak modul-modulnya Dapat digunakan untuk memonitor jalannya proses pengendalian yang sedang berlangsung 2.1.1 Bagian-bagian PLC Pada dasarnya bagian-bagian PLC dapat dibagi menjadi 4 bagian utama yaitu Central Processing Unit (CPU), modul input/output, power supply dan programming device seperti yang ditunjukkan pada Gambar 2.1 4. CPU adalah otak dari PLC yang berfungsi untuk mengeksekusi program yang ditanam oleh programming device, mengontrol komunikasi antar modul dan melakukan perubahan status I/O berdasarkan program yang ada di memori. Power supply adalah komponen PLC yang berfungsi untuk memberikan arus listrik ke komponen PLC yang lain. Pada beberapa PLC arus listrik yang diberikan ke PLC dibedakan dengan arus listrik untuk divais eksternal. 4 Sumber : www.plcs.net 5
Modul input/output adalah antarmuka antara PLC dengan divais eksternal. Antarmuka ini mengkonversi sinyal yang diterimanya dari divais eksternal menjadi sinyal logika yang dapat dimengerti oleh CPU. Programming device adalah alat untuk membuat program yang nantinya akan ditanam ke memori program PLC. Programming device dapat berupa personal computer ataupun hand-held unit. Gambar 2.1 Bagian-bagian PLC Ada dua jenis PLC dilihat dari bentuknya yaitu modular dan fixed sepert terlihat pada Gambar 2.2. PLC yang kecil dan memiliki I/O yang sedikit biasanya hadir dalam bentuk fixed. PLC jenis ini hadir dalam satu paket, semua komponennya seperti CPU, Antarmuka I/O, power supply dan port komunikasi terintegrasi di dalamnya. Kelebihan utama dari PLC ini adalah harganya yang lebih murah dan biasanya jenis serta jumlah I/O dapat ditambah dengan membeli unit tambahannya (expander unit). Kelemahan PLC jenis ini adalah keterbatasan fitur yang tersedia, jumlah I/O yang sedikit dan yang paling utama jika terjadi kegagalan dalam salah satu komponen sistemnya maka komponen yang lain juga akan mengalami hal yang sama. Berbeda dengan PLC fixed, PLC bentuk modular biasanya adalah PLC dengan fitur yang 6
relatif lengkap, jumlah dan jenis I/O yang banyak, fungsi yang dapat dijalankan juga banyak. Pada PLC ini komponen-komponennya terpisah menjadi modul-modul. Setiap modul memiliki fungsi tersendiri dan terpisah dari modul yang lain. Sebuah backplane mengkoneksikan modul-modul tersebut secara elektrik sehingga dapat berkomunikasi satu sama lain 5. Gambar 2.2 Bentuk-bentuk PLC 2.1.2 Prinsip operasi PLC PLC bekerja dengan melakukan pemindaian (scanning) program secara kontinyu berulang ulang. Proses pemindaian terdiri dari tiga langkah yaitu 6 : Cek status masukan. Modul masukan menerima sinyal dari divais eksternal dan mengkonversikannya ke sinyal logika yang dapat dimengerti oleh CPU serta menyimpannya dalam register input. Ekseskusi program 5 Sumber : Programmable Controllers Operation Manual, OMRON Electronics 6 Sumber : Programmable Controllers Operation Manual, OMRON Electronics 7
CPU menjalankan program aplikasi kontrol yang terdapat pada memori dengan sinyal logika yang ada di register modul input sebagai masukan dari program tersebut. Update status keluaran Setelah mengeksekusi program aplikasi maka PLC akan mengupdate sinyal logika pada register modul keluaran. Modul keluaran mengkonversi sinyal logika yang ada di register keluaran menjadi sinyal yang dapat dipakai untuk mengkontrol eksternal divais yang lain. Setelah itu kembali lagi ke langkah pertama secara terus-menerus dan berulang-ulang seperti terlihat pada Gambar 2.3. Waktu untuk menjalankan ketiga proses pemindaian tersebut selama satu kali disebut waktu respon dari PLC. Waktu respon ini berpengaruh terhadap kesalahan pembacaan status input, semakin kecil waktu respon PLC maka semakin kecil kemungkinan terjadi kesalahan pembacaan status masukan. 8
Gambar 2.3 Proses pemindaian 2.2 Diagram Tangga (Ladder Diagram) Seperti telah disebutkan sebelumnya, kelebihan yang membuat PLC lebih handal dari relay konvensional adalah kemampuannya untuk diprogram ulang tanpa mengubah rangkaian fisiknya. PLC dipakai untuk mengotomasi proses melalui program yang ditanamkan padanya. Pada tugas akhir ini pemrograman PLC akan menggunakan ladder diagram karena bentuk pemrograman ini paling banyak digunakan dan paling mudah dipahami oleh user. Pada ladder diagram memiliki beberapa fungsi utama antara lain 7 : 7 Sumber : Frank D Petruzella, Programmable Logic Controller 9
2.2.1 Normally open Diagram ini memiliki analogi seperti sakelar, terhubung apabila parameternya bernilai 1 atau ON. Parameternya berupa alamat register modul masukan. Berikut lambang dari instruksi Normally Open. 2.2.2 Normally close Diagram ini merupakan kebalikan dari Normally open, terhubung apabila parameternya bernilai 0 atau OFF. Parameternya berupa alamat register modul. Berikut lambang dari instruksi Normally Close. 2.2.3 Coil Parameter dari diagram ini menunjukkan register modul keluaran yang dituju. Register ini akan bernilai 1 atau ON apabila terdapat power pada controller. Parameternya hanya dapat berisi alamat register modul keluaran. Berikut lambang dari instruksi Coil. 10
2.2.4 Negatif coil Kebalikan dari diagram Coil adalah Negatif Coil. Register ini akan bernilai 1 atau ON apabila tidak terdapat power pada controller. Parameternya hanya dapat berisi alamat register modul keluaran. Berikut lambang dari instruksi Negatif Coil. 2.2.5 Logika OR Logika ini akan bernilai 1 jika satu atau lebih komponen masukannya bernilai 1. Logika OR diperlihatkan pada Tabel 2.1. Tabel 2.1 Logika OR Berikut contoh dari instruksi OR 2.2.6 Logika AND Logika ini akan bernilai 1 jika semua komponen inputnya bernilai 1. Logika AND diperlihatkan pada Tabel 2.2. 11
Tabel 2.2 Logika AND Berikut contoh dari instruksi AND 2.3 Mikrokontroler ATMEL AT89S52 Mikrokontroler ATMEL AT89S52 merupakan pengembangan dari mikrokontroler standar MCS-51. Mikrokontroler jenis ini memiliki berbagai kelebihan dibanding jenis MCS-51, diantaranya 8 : Kompatibel dengan mikrokontroler standar MCS-51 8 KB Downloadable flash memory 2 KB EEPROM Tegangan operasi 4V sampai 6V 3 level program memory lock 256 byte RAM internal 4 port pararel masing masing 8 bit 3 buah 16 bit Timer/Counter 9 sumber interupsi 8 Sumber : ATMEL. Datasheet AT89S52 12
Programable UART (port serial) Dual data pointer Dipakainya downloadable flash memory memungkinkan mikrokontroler ATMEL AT89S52 dapat diprogram tanpa memerlukan tambahan chip lain seperti di jenis MCS-51. Flash memori ini juga mampu ditulis ulang sampai 1000 kali. Adanya EEPROM 2K internal dapat memungkinkan kita menyimpan data permanen ke dalam mikrokontroler ini tanpa perlu khawatir terputusnya catu daya. Oleh karena kelebihan-kelebihan yang dimilikinya itu maka dinilai sangat cocok untuk dipakai sebagai komponen utama pembuatan PLC. Untuk menggunakan fiturfitur tersebut kita terlebih dahulu harus mengetahui special function register (SFR) yang dimiliki oleh mikrokontroler ini berikut fungsinya. SFR adalah register yang terdapat pada mikrokontroler yang memiliki tugas khusus. 2.3.1 Susunan pin mikrokontroler ATMEL AT89S52 Mikrokontroler ATMEL AT89S52 biasa dikemas dalam bentuk Dual In Line Package (DIP) seperti terlihat pada Gambar 2.4 9. Berikut adalah deskripsi pin-pin yang terdapat pada Gambar 2.5 : VCC Sumber tegangan +5V 9 Sumber : ATMEL. Datasheet AT89S52 13
GND Ground Port 0 Port 0 adalah port 8 bit yang bersifat dua arah, bisa sebagai masukan dan juga keluaran. Ketika 1 dituliskan ke port 0, maka port 0 berfungsi sebagai masukan active-low. Port 0 dapat juga berfungsi untuk penunjuk alamat bawah dari eksternal memori program ataupun data. Gambar 2.4 Susunan Pin Mikrokontroler ATMEL AT89S52 Port 1 Port 1 adalah port 8 bit yang bersifat dua arah, bisa sebagai masukan dan juga keluaran. Ketika 1 dituliskan ke port 1, maka port 1 berfungsi sebagai masukan active-low. Beberapa pin port 1 memiliki fungsi tambahan, P1.0 dapat 14
dikonfigurasi sebagai masukan pencacah eksternal Timer/Counter 2 (T2), P1.1 dapat dikonfigurasi sebaagai masukan trigger Timer/Counter 2 (T2EX), dan P1.4, P1.5, P1.6, P1.7 dapat dikonfigurasi sebagai pemilih port slave SPI, data input/output, dan master clock. Port 2 Port 2 adalah port 8 bit yang bersifat dua arah, bisa sebagai masukan dan juga keluaran. Ketika 1 dituliskan ke port 2, maka port 2 berfungsi sebagai masukan active-low. Port 2 dapat juga berfungsi untuk penunjuk alamat atas dari memori eksternal program ataupun data. Port 3 Port 3 adalah port 8 bit yang bersifat dua arah, bisa sebagai masukan dan juga keluaran. Ketika 1 dituliskan ke port 3, maka port 3 berfungsi sebagai masukan active-low. Beberapa pin port 3 memiliki fungsi tambahan seperti dapat dilihat pada Tabel 2.3. Tabel 2.3 Fungsi tambahan port 3 15
RST Masukan reset, level tinggi pada pin ini selama 2 kali waktu siklus mesin ketika osilator dalam keadaan running akan mereset mikrokontroler. ALE/PROG Address Latch Enable (ALE) adalah pulsa keluaran untuk mengaitkan alamat bawah ketika mengakses memori eksternal. Pin ini juga sebagai pulsa masukan program (PROG) ketika memprogram flash memory. PSEN Program store enabled adalah pulsa pengaktif untuk membaca memori esternal. Saat mikrokontroler melaksanakan instruksi dari program yang berasal memori luar, PSEN akan diaktifkan 2 kali tiap siklus mesin, kecuali pada saat mengakses data dari memori eksternal. EA External Acces Enabled. EA harus dihubungkan dengan ground jika ingin mengakses dari program yang ada di memori luar beralamat 0000H sampai FFFFH. EA harus dihubungkan dengan VCC jika menggunakan program dari memori internal. 16
XTAL1 dan XTAL2 XTAL1 adalah input untuk penguatan inverting osilator dan XTAL2 adalah output dari penguatan inverting osilator. 2.3.2 Special function register (SFR) mikrokontroler AT89S52 Seperti telah diterangkan sebelumnya SFR merupakan register dengan tugas khusus. SFR pada mikrokontroler AT89S52 memiliki alamat dari 80H sampai FFH atau dengan kata lain ada pada 128 Byte atas dari RAM. Terdapat 128 lokasi alamat untuk SFR. Namun demikian tidak semuanya terpakai, sisa yang ada disediakan untuk vendor lain yang akan mengembangkan mikrokontroler ini. Gambar 2.5 memperlihatkan pemetaan dari SFR 10. Gambar 2.5 Pemetaan SFR 10 Sumber : Moh. Ibnu Malik, ST. Belajar Mikrokontroler Atmel AT89S52 17
Kita hanya akan membahas beberapa SFR yang berperan penting dalam tugas akhir ini. SFR SCON dan SBUF. SFR Serial Control (SCON) beralamat di 98H dan Serial Buffer (SBUF) beralamat di 99H. Register SBUF berfungsi untuk menampung sementara data 1 byte sebelum diterima atau dikirim. Sedangkan SCON berfungsi untuk mengontrol komunikasi serial yang diinginkan. Isi dari SCON adalah sebagai berikut : MSB LSB SM0 SM1 SM2 REN TB8 RB8 TI RI Keterangan : Bit(0) RI = Receive Interupt Flag. Diset oleh hardware untuk menandakan bahwa suatu byte telah diterima. Bit(1) TI = Transmit Interupt Flag. Diset oleh hardware untuk menandakan bahwa suatu byte telah selesai dikirim. Bit(2) RB8 = Receive bit 8. Bit ini digunakan sesuai mode operasi. Pada mode 2 dan 3 dimana 9 bit diterima, bit terakhir akan dicopy ke RB8. Pada mode 1 dimana 8 bit diterima maka stop bit akan dicopy ke RB8 Bit (3) TB8 = Transmit bit 8. adalah data ke 9 yang akan dikirimkan pada mode 2 atau 3. Diset atau dihapus oleh software sesuai dengan kebutuhan. 18
BIT(4)REN = Receive Enable. Bit ini harus diset untuk menerima data. Jika tidak data akan diblok. Bit(5) SM2 = Serial Mode bit 2. Digunakan pada mode 2 atau 3 untuk Bit(6) SM1 = Serial Mode bit 1 Bit(7) SM0 = Serial Mode bit 0 mendukung komunikasi multiprosesor Tabel 2.4 berikut menunjukkan hubungan bit SM1 dan SM0 terhadap mode operasi dari komunikasi serial. Tabel 2.4 Mode operasi komunikasi serial SFR IE SFR Interupt Enable adalah SFR yang bertugas untuk mengatur interupsi mana saja yang akan diaktifkan. SFR ini beralamat di A8H. MSB LSB EA - ET2 ES ET1 EX1 ET0 EX0 Keterangan : EA = Jika bit ini di-clear maka seluruh interupt akan tidak aktif ET2 = Bit pengaktif interupt timer2 19
ES = Bit pengaktif interupt SPI dan UART ET1 = Bit pengaktif interupt Timer1 EX1 = Bit pengaktif interupt external 1 ET0 = Bit pengaktif interupt timer0 EX0 = Bit pengaktif interupt eksternal 0 SFR WMCON SFR Watchdog memori atau timer control untuk mengatur timer dan pengaksesan memori. SFR ini beralamt di 96H. Berikut bit-bit yang ada di WMCON. MSB LSB PS2 PS1 PS0 EEMWE EEMEN DPS WDTTRST WDTEN Keterangan : PS2 PS1 PS0 EEMWE = Ketiga bit ini adalah bit untuk prescaler untuk watchdog timer. = Bit pengaktif penulisan data ke memori EEPROM. Setelah selesai bit ini harus diclear. EEMEN DPS = Bit pengaktif pengaksesan data dari internal EEPROM. = Data poniter Select. Jika bit ini diclear maka akan memilih bank pertama (DP0) jika diset akan dipilih bank kedua (DP1) WDTRST = Bit ini digunakan untuk mereset timer dan juga sebagai tanda bahwa EEPROM siap ditulisi kembali WDTEN = Bit pengaktif eatchdog timer. 20
2.4 ProView32 (PV32) PV32 adalah kompiler untuk bahasa Assembler standar ANSI yang didesain untuk mikroprosesor 8 bit. Software ini merupakan keluaran Franklin Software Inc. PV32 dapat digunakan pada semua mikrokontroler keluarga MCS-51 dan jenis lain yang merupakan pengembangan dari MCS-51. Pada prinsipnya PV32 mengubah file berekstension asm yang berisi program bahasa Assembler menjadi file-file berekstension hex. File hex inilah nanti yang dapat didownload ke mikrokontroler, seperti terlihat pada Gambar 2.6. Gambar 2.6 Proses di PV32 Nomor interupt disesuaikan dengan interupsi yang berkaitan dengan ISR yang kita buat, berikut adalah tabel nomor interupt dengan interupsi terkait 11 : Table 2.5 Pengalamatan Interrupsi di PV32 11 Sumber : Pari Vallal Kannan, Micrprocessor Design Project Training 21