• Tidak ada hasil yang ditemukan

KONSOL SEBAGAI PEMROGRAM PADA IMPLEMENTASI PLC MENGGUNAKAN MIKROKONTROLER TUGAS AKHIR - Konsol sebagai pemrogram pada implementasi PLC menggunakan mikrokontroler - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "KONSOL SEBAGAI PEMROGRAM PADA IMPLEMENTASI PLC MENGGUNAKAN MIKROKONTROLER TUGAS AKHIR - Konsol sebagai pemrogram pada implementasi PLC menggunakan mikrokontroler - USD Repository"

Copied!
149
0
0

Teks penuh

(1)

i

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

Nama : Jhon Sitmen Bongga NIM : 045114062

PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

ii

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

By:

Name : Jhon Sitmen Bongga

Student Number: 045114062

ELECTRICAL ENGINEERING STUDY PROGRAM

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF ENGINEERING

SANATA DHARMA UNIVERSITY

(3)
(4)
(5)
(6)

vi

Kupersembahkan karya tulis ini kepada :

Tuhan Yesus Kristus atas kesempatan, hidup, talenta, dan roh

kudus yang selama ini mendampingi langkahku

Bapak dan Ibu Tercinta serta kedua saudaraku untuk

pengorbanan, dukungan, semangat, doa, kasih sayang, dan

pembelajaran hidup yang telah diberikan

(7)
(8)

viii pada LCD dalam bahasa mnemonik PLC.

Konsol PLC ini akan menampilkan program PLC yang terdiri dari instruksi dan operand. Instruksi dan operand yang dikodekan dalam kode biner delapan bit. Program yang digunakan, dimasukkan melaluikeypad dan diproses oleh mikrokontroler ATmega8535 untuk ditampilkan pada LCD dan kemudian dikirim ke CPU PLC dengan menggunakan komunikasi serial RS-232. LCD menggunakan tipe LMB162ABC dan keypad menggunakanmatriks keypad 5×5. Dari hasil percobaan, alat ini telah bekerja sesuai dengan perancangan. Hal ini dapat dibuktikan, dari hasil pengujian konsol PLC dengan program LD, AND, OR, OUT, NOT, CNT dan TIM. Program LD, AND, OR menggunakan operand 001-008 dan program OUT menggunakan operand 101-108. Program CNT menggunakan operand 010 dan program TIM menggunakan operand 001-250.

(9)

ix

are decoded in eight bit, binary code. Programs for PLC are entered using keypad and proceed by microcontroller ATmega8535. Programs are shown on LCD and sent to PLC CPU using RS-232 serial communication. LCD use LMB162ABC type and keypad use keypad matrix 5 x 5.

Result of experiments show that PLC console have been work according the design plan. It can be proven from PLC console test result with LD, AND, OR, OUT, NOT, CNT and TIM programs. LD, AND, OR programs use operand 008 and OUT programs use operand 101-108. CNT programs use operand

001-010and TIM programs use operand 001-250.

(10)

x

karunia-Nya sehingga tugas akhir dengan judul “Konsol sebagai Pemrogram pada Implementasi PLC Menggunakan Mikrokontroler” ini dapat diselesaikan dengan baik.

Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan bantuan dengan caranya masing-masing, sehingga tugas akhir ini bisa diselesaikan. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada:

1. Kedua orang tua yang tercinta atas doa, kesabaran dan dukungan baik secara moral ataupun materi.

2. Kedua saudaraku Rostiani Silta dan Chrishart Yedithya atas dukungan dan pengertiannya.

3. Bapak Martanto, ST, MT dan Ibu Wiwien Widyastuti, ST, MT selaku dosen pembimbing yang telah dengan sabar membimbing, memberi semangat dan saran yang membantu penulis dalam menyelesaikan tulisan ini.

4. Seluruh dosen teknik elektro dan laboran yang telah banyak memberikan pengetahuan kepada penulis selama kuliah.

(11)

xi bantuan.

8. Margaretha Silviana yang selalu memberiku semangat dalam berkarya. 9. Berbagai pihak yang tidak bisa penulis sebutkan satu-persatu atas bantuan,

bimbingan, kritik dan saran.

Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih.

Yogyakarta, Juni 2009

(12)

xii

HALAMAN JUDUL... i

HALAMAN PERSETUJUAN... iii

HALAMAN PENGESAHAN... iv

HALAMAN PERNYATAAN KEASLIAN KARYA... v

HALAMAN PERSEMBAHAN DAN MOTTO... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS... vii

INTISARI...viii

ABSTRACT... ix

KATA PENGANTAR... x

DAFTAR ISI... xii

DAFTAR GAMBAR... xvii

DAFTAR TABEL... xxi

BAB I PENDAHULUAN... 1

1.1. Judul ... 1

1.2. Latar Belakang Masalah ... 1

1.3. Tujuan dan Manfaat penelitian ... 2

1.4. Batasan Masalah ... 3

1.5. Metodologi Penelitian ... 3

(13)

xiii

2.2.1. Kode Mnemonik ... 8

2.2.2. Diagram Ladder ... 8

2.2.2.1. Normally Open... 9

2.2.2.2. Normally Closed ... 9

2.2.2.3. Keluaran... 10

2.3. Instruksi-instruksi Logika dalam PLC ... 10

2.3.1 Instruksi LD dan LD NOT... 11

2.3.2 Instruksi AND dan AND NOT ... 11

2.3.3 Instruksi OR dan OR NOT ... 14

2.3.4 Intruksi END... 16

2.4. Mikrokontroler ATmega8535... 17

2.4.1. Fitur dan Deskripsi PIN ATmega8535... 17

2.4.2. Peta Memory... 19

2.4.2.1 Flash Memory ... 19

2.4.2.2 SRAM... 20

2.4.2.3 EEPROM ... 21

2.4.3. Register Serba Guna... 21

2.4.4 Register I/O danPort I/O ... 23

2.4.5 Interupsi... 24

(14)

xiv

2.6Matriks Keypad... 33

2.7 Komunikasi Serial... 34

BAB III PERANCANGAN... 38

3.1. Diagram Blok... 38

3.2 Rancangan Perangkat Keras ... 40

3.2.1 RangkaianMatriks Keypad... 40

3.2.2 Rangkaian Mikrokontroler ATmega8535 ... 42

3.2.2.1 Rangkaian Osilator... 42

3.2.2.2 Rangkaian Reset... 43

3.2.3 Komunikasi Serial RS232 ... 44

3.2.4 Komunikasi Mikrokontroler dengan LCD ... 46

3.3 Pemrograman Mikrokontroler ... 47

3.3.1 PembacaanKeypad... 49

3.3.2 Pengolahan Kode Instruksi ... 51

3.3.3 Pengolahan Kode Data ... 54

3.3.4 Simpan Kode... 61

3.3.5 Tampilkan pada LCD ... 62

(15)

xv

4.3 PengujianKeypaddan Tampilan pada LCD ... 72

4.3.1 Pengujian LD dan LD NOT... 73

4.3.2 Pengujian AND dan AND NOT ... 75

4.3.3 Pengujian OR dan OR NOT ... 76

4.3.4 Pengujian CNT... 78

4.3.5 Pengujian TIM ... 80

4.3.6 Pengujian RUN, PROG dan SEND ... 81

4.3.7 Pengujian ENTER dan DEL... 84

4.3.8 Pengujian UP dan DOWN ... 86

4.3.9 Pengujian OUT dan END... 87

4.4 Pengujian Komunikasi antar Mikrokontroler ... 88

4.5 Pengiriman Program ke CPU PLC ... 90

4.5.1 Instruksi LD dan LD NOT... 91

4.5.2 Instruksi OR dan OR NOT ... 92

4.5.3 Instruksi AND dan AND NOT ... 93

4.5.4 Instruksi CNT ... 94

4.5.5 Instruksi TIM ... 94

4.5.6 Instruksi OUT ... 95

(16)

xvi

(17)

xvii

Gambar 2.2 Konfigurasi Kontak NO... 9

Gambar 2.3 Konfigurasi Kontak NC ... 10

Gambar 2.4 Konfigurasi Kontak Output... 10

Gambar 2.5 Diagram

Ladder

Instruksi LD danLD NOT... 11

Gambar 2.6 Diagram

Ladder

Instruksi AND dan AND NOT ... 12

Gambar 2.7 Diagram

Ladder

Instruksi OR dan OR NOT ... 14

Gambar 2.8 Diagram

Ladder

Instruksi END ... 17

Gambar 2.9 Konfigurasi Pin ATmega8535... 18

Gambar 2.10 Memori Program AVR ATmega8535 ... 20

Gambar 2.11 Peta Memori Data AVR ATmega8535... 20

Gambar 2.12

Register

Serbaguna ... 21

Gambar 2.13

Register

X,Y,Z... 22

Gambar 2.14

Register

SFIOR... 23

Gambar 2.15

Register

UBBRH dan UBBRL... 28

Gambar 2.16

Register

UCSRC... 28

Gambar 2.17 Rangkaian RESET ... 20

Gambar 2.18 Bentuk LCD 16 x 2... 31

Gambar 2.19 Bagian LCD 16 x 2 ... 31

(18)

xviii

Gambar 3.2 Diagram Blok Konsol PLC ... 39

Gambar 3.3

Matriks Keypad ...

40

Gambar 3.4 Konfigurasi Mikrokontroler,

Keypad

... 42

Gambar 3.5 Rangkaian Osilator ... 43

Gambar 3.6 Rangkaian Reset ... 44

Gambar 3.7 Rangkaian Komunikasi Antar Mikrokontroler... 45

Gambar 3.8 Komunikasi ATmega8535 ... 46

Gambar 3.9

Flowchart

Program Utama... 48

Gambar 3.10 Proses Pembacaan

Keypad

... 49

Gambar 3.11 Proses Instruksi... 52

Gambar 3.12 Proses Data... 56

Gambar 3.13

Flowchart

Simpan Kode ... 61

Gambar 3.14

Flowchart

Tampilkan pada LCD... 63

Gambar 3.15

Flowchart

Inisialisasi LCD ... 65

Gambar 3.16 Aktivasi Komunikasi Serial ... 66

Gambar 3.17

Frame

Kode Instruksi dan Data... 67

Gambar 3.18

Flowchart

Kirim Kode Instruksi dan Data... 68

Gambar 3.19 Inisialisasi USART ... 69

(19)

xix

Gambar 4.5 LD dan LD NOT dengan data 002 dan 004 ... 74

Gambar 4.6 AND dan AND NOT dengan data 003 dan 005... 75

Gambar 4.7 AND dan AND NOT dengan data 006 dan 007... 76

Gambar 4.8 OR dan OR NOT dengan data 004 dan 006... 77

Gambar 4.9 OR dan OR NOT dengan data 007 dan 005... 77

Gambar 4.10 CNT dengan data 001 ... 78

Gambar 4.11 CNT dengan data 003 ... 79

Gambar 4.12 TIM dengan data 156... 80

Gambar 4.13 TIM dengan data 250... 80

Gambar 4.14 Fungsi Mode RUN... 82

Gambar 4.15 Fungsi Mode PROG... 82

Gambar 4.16 Fungsi Mode SEND... 83

Gambar 4.17 Fungsi ENTER dan DEL ... 85

Gambar 4.18 Fungsi UP dan Down... 86

Gambar 4.19 Program OUT dan END... 88

Gambar 4.20 Kode program LD dan LD NOT pada

codevisionAVR...

89

Gambar 4.21 Kode program RUN pada

codevisionAVR ...

89

Gambar 4.22 Kode Program pada EEPROM ATmega8535... 90

(20)

xx

Gambar 4.27 Isi

memory

Konsol untuk Program AND dan AND NOT ... 93

Gambar 4.28 Isi

memory

CPU PLC untuk program AND dan AND NOT ... 93

Gambar 4.29 Isi

memory

Konsol untuk Program CNT ... 94

Gambar 4.30 Isi

memory

CPU PLC untuk program CNT ... 94

Gambar 4.31 Isi

memory

Konsol untuk Program TIM ... 95

Gambar 4.32 Isi

memory

CPU PLC untuk program TIM... 95

Gambar 4.33 Isi

memory

Konsol untuk Program OUT ... 95

Gambar 4.34 Isi

memory

CPU PLC untuk program OUT ... 96

Gambar 4.35 Isi

memory

Konsol untuk Program Apilkasi ... 97

(21)

xxi

Tabel 2.1 Mnemonik PLC...8

Tabel 2.2 Mnemonik LD dan LD NOT ...11

Tabel 2.3 Mnemonik AND dan AND NOT...12

Tabel 2.4 Tabel Kebenaran Gerbang AND...13

Tabel 2.5 Tabel Kebenaran Gerbang AND NOT...14

Tabel 2.6 Mnemonik OR dan OR NOT...15

Tabel 2.7 Tabel Kebenaran Gerbang OR NOT ...15

Tabel 2.8 Tabel Kebenaran Gerbang OR...16

Tabel 2.9 AlamatVektor InterupsiATmega8535 ...25

Tabel 2.10 Perhitungan UBBR dan Baudrate ... 29

Tabel 2.11 Pin Tampilan LCD ...32

Tabel 3.1 Kombinasi Baris dan Kolom Matriks Keypad...41

Tabel 3.2 Konfigurasi Pin LCD dan Mikrokontroller ...47

(22)

BAB I

PENDAHULUAN

1.1 Judul

Konsol Sebagai Pemrogram pada Implementasi PLC Menggunakan Mikrokontroler

1.2 Latar Belakang Masalah

Dalam bidang industri, penggunaan mesin otomatis dan pemrosesan secara otomatis merupakan hal yang umum. Sistem pengontrolan dengan elektromekanik yang menggunakan relay-relay mempunyai banyak kelemahan, diantaranya kontak-kontak yang dipakai mudah aus karena panas / terbakar atau karena hubung singkat, membutuhkan biaya yang besar saat instalasi, pemeliharaan dan modifikasi dari sistem yang telah dibuat jika di kemudian hari diperlukan modifikasi. Dengan menggunakan PLC (Programmable Logic

Controller) permasalahan tersebut dapat diatasi, karena sistem PLC

mengintegrasikan berbagai macam komponen yang berdiri sendiri menjadi suatu sistem kendali terpadu dan dengan mudah merenovasi tanpa harus mengganti semua instrumen yang ada [1].

(23)

untuk menjalankan fungsi-fungsi logika, seperti fungsi pencacah, fungsi urutan proses, fungsi pewaktu, fungsi aritmatika, dan fungsi yang lainnya dengan cara memprogramnya [2].

Selain PLC perkembangan elektronika akhir-akhir ini khususnya mikrokontroler menunjukkan bahwa semakin banyak dijumpai aplikasi-aplikasi peralatan elektronis khususnya otomasi dan pengendalian suatu sistem yang dikehendaki agar mampu berdiri sendiri. PLC sendiri adalah suatu sistem elektronika yang menggunakan memori yang dapat diprogram. Kinerja PLC sama dengan kinerja mikrokontoler yang dapat diprogram, dapat menyimpan dan menjalankan instruksi-intsruksi logika [3], sehingga PLC dapat dirancang dengan menggunakan mikrokontroler. Pada penelitian ini, akan dirancang sebuah alat pemrogram PLC melaluiprogrammer/monitor (P/M) yang sering disebut sebagai

hand held programmeratau konsol dengan menggunakan mikrokontroler sebagai

pengendali utama. Alat ini akan memprogram CPU (Cental Processing Unit ) PLC dan menampilkan instruksi-instruksi program yang digunakan pada LCD

(Liquid Crystal Display).

1.3 Tujuan dan Manfaat Penelitian

Pada pembuatan alat ini tujuan yang ingin dicapai adalah membuat

hardware yang dapat memprogram dan menampilkan instruksi-instuksi yang

(24)

selanjutnya yang berkaitan dengan aplikasi mikrokontroller untuk pemrograman PLC

1.4 Batasan Masalah

Perangkat yang akan dirancang mempunyai batasan masalah sebagai berikut:

1. Menampilkan instruksi-instruksi yang digunakan dengan LCD module 16×2karakter

2. Menggunakan komunikasi serial untuk komunikasi data

3. Mikrokontroler yang digunakan adalah mikrokontroler ATmega8535

4. Keypad yang dirancang sesuai dengan instruksi pada pemrograman PLC

yaitu: AND, OR, LD, OUT, CNT, NOT, TIM. 5. Menggunakan 8 port input dan 8 port output 6. Menggunakan 1 CNT dan TIM

1.5 Metodologi Penelitian

Adapun metodologi penelitian yang dilakukan terdiri dari :

1. Studi literatur, yaitu dengan mempelajari berbagai informasi, baik dari buku maupun internet sehingga dapat digunakan sebagai referensi pendukung dalam penyusunan laporan.

2. Perencanaan rancangan dan pembuatan alat dalam bentuk perangkat keras maupun perangkat lunak.

(25)

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini dibagi menjadi lima bab yang disusun sebagai berikut :

BAB I. PENDAHULUAN

Berisi latar belakang penelitian, rumusan masalah, tujuan dan manfaat penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan. BAB II. DASAR TEORI

Berisi dasar teori meliputi PLC, LCD LMB162A, dan mikrokontroler yang akan digunakan dalam perancangan.

BAB III. PERANCANGAN ALAT

Berisi perancangan alat yang meliputi diagram blok perancangan, perancangan perangkat keras, dan pemrograman mikrokontroler.

BAB IV. HASIL PENGAMATAN DAN PEMBAHASAN

Bab ini berisi hasil pengamatan dan pembahasan dari pengujian yang telah dilakukan.

BAB V. PENUTUP

(26)

BAB II

DASAR TEORI

PLC (Programmable Logic Controller) adalah suatu peralatan elektronik yang bekerja secara digital, memiliki memori yang dapat diprogram, menyimpan perintah-perintah untuk melakukan fungsi-fungsi khusus seperti logic,

sequencing, timing, counting, dan aritmatika untuk mengontrol berbagai jenis

mesin atau proses melalui analog atau digital input / output modules [3]. PLC banyak digunakan pada aplikasi-aplikasi industri, misalnya pada proses pengepakan, penanganan bahan, perakitan otomatis dan lain sebagainya. Dengan kata lain hampir semua aplikasi yang memerlukan kendali listrik atau elektronik membutuhkan PLC

2.1. Prinsip Kerja PLC

(27)

sinyal dengan logika high (1) dan low (0). Sinyal keluaran ini dapat langsung dihubungkan ke peralatan yang akan dikontrol atau dengan bantuan kontaktor untuk mengaktifkan peralatan yang akan dikendalikan. Bagian PLC pada prinsipnya terdiri dari CPU (Central Processing Unit), PM (Programming

Memori), PD (Programming Device), modul input/output dan unit catu daya,

ditunjukkan pada gambar 2.1.

Gambar 2.1. Diagram Blok Bagian PLC [4].

2.2 Pemrograman PLC

(28)

diinginkan oleh pemrogram. Untuk itu terdapat dua cara pemrograman dalam PLC yaitu:

1.Ladder diagram, artinya manusia menyusun program berdasarkan

gambar rangkaian asli yang digunakan untuk sistem kendali.

2. Bahasa mnemonik, mengubah dari ladder diagram ke bahasa mnemonik. Penyusunan ladder diagram sebagai sebuah program dapat dilakukan dengan menggunakan alat pemrogram khusus. Umumnya unit pemrogram yang digunakan adalah programming konsol untuk memprogram dengan bahasa mnemonik dan personal computer untuk memprogram dengan menggunakan

ladder diagram.

Programming konsol adalah piranti yang dibuat khusus untuk

pemrograman PLC berbeda dengan personal computer yang berupa komputer konvensional biasa yang diberi program khusus untuk pemrograman PLC.

Programming konsol sering juga disebut hand held programmer dan

mempunyai beberapa fungsi yaitu:

1. Off, difungsikan untuk menghentikan PLC sehingga program yang dibuat tidak dapat dijalankan

2. Run, difungsikan untuk pengendalian suatu proses pada saat program dalam kondisi diaktifkan.

3. Monitor untuk mengetahui keadaan suatu proses yang terjadi pada PLC 4. Program yang menyatakan suatu keadaan dimana programmer/monitor

(29)

2.2.1 Kode Mnemonik

Kode mnemonik juga bahasa teknik yang merupakan sarana perantara untuk memasukkan program ke dalam PLC khususnya menggunakan Personal

Computer atau konsol [5]. Kode ini memuat keterangan mengenai instruksi dan

data operand. Deskripsi suatu proses kerja dari sebuah sistem yang dikendalikan dapat dituangkan ke dalam sebuah kode mnemonik yang memuat keterangan-keterangan mengenai alamat dan tanggapan dariinput-output, serta fungsi-fungsi program pengontrol. Contoh tabel mnemonik dapat dilihat pada tabel 2.1

Tabel 2.1 Mnemonik PLC [5]

Instruksi Operand

LD 0000

AND 0001

OR 0002

AND 0003

2.2.2 Diagram Ladder

Pada PLC diagram kendali dinamakan diagram ladder (tangga) [5]. Dinamakan diagram tangga dikarenakan bentuknya menyerupai tangga (tersusun seperti tangga), seperti kita berjalan menuruni tangga mulai tangga atas dan perlahan ke bawah. Pada penggambaran diagram tangga dikenal kontak-kontak yang hampir sama dengan relai-relai mekanik, yaitu: Normally Open (NO),

(30)

2.2.2.1 Normally Open (NO)

Normally open (NO) adalah salah satu jenis saklar yang dalam keadaan

normal berkondisi OFF (Normally Open), berupa satu kutub (berasal dari satu sumber) dan menghantarkan arus hanya ke satu beban [5]. Penghantaran arus dan tegangan (kondisi ON) dari suatu sumber terjadi jika saklar terhubung dan pemutusan arus dan tegangan (kondisi OFF) terjadi saat saklar tidak terhubung atau ketika tidak mendapat arus. Instruksi tersebut ditunjukkan pada gambar 2.2.

2.2.2.2 Normally Close (NC)

Saklar ini menandakan keadaan saklar yang normalnya pada keadaan ON/tertutup, jadi jika saklar tersebut diaktifkan akan menjadi OFF/terbuka. instruksi tersebut ditunjukkan pada gambar 2.3.

(31)

2.2.2.3 Keluaran (Output)

Instruksi keluaran (output) juga digunakan pada PLC. Keluarannya dapat berupa relay yang akan mengaktifkan kontak-kontak NO dan NC [5]. instruksi tersebut ditunjukkan pada gambar 2.4.

Gambar 2.4 Konfigurasi kontak output [5]

2.3. Instruksi-instruksi Logika dalam PLC

Instruksi-instruksi tangga atauladder instruction adalah instruksi-instruksi yang terkait dengan kondisi-kondisi di dalam diagram tangga [5]. Instruksi-instruksi tangga, baik yang independen maupun kombinasi atau gabungan dengan blok instruksi berikut atau sebelumnya, akan membentuk kondisi-kondisi eksekusi. Pada bagian ini instruksi-instruksi yang digunakan sebagai acuan adalah instruksi pada PLC Omron.

2.3.1 Instruksi LOAD (LD) dan LOAD NOT (LD NOT)

Instruksi LD digunakan untuk memasukkan masukan yang dikehendaki sebagai bagian awal dari tangga [5]. Sedangkan NOT untuk menandakan kontak

(32)

logika saja pada awal program. Bentuk diagram ladder dan mnemonik perintah tersebut dapat dilihat pada gambar 2.5 dan tabel 2.2.

Tabel 2.2 Mnemonik LD dan LDNOT [5]

Instruksi

Operand

LD

0001

LD NOT

0002

2.3.2 Instruksi AND dan ANDNOT

Instruksi AND digunakan untuk memasukkan masukan yang diseri dengan masukan sebelumnya [5]. Tentunya instruksi yang diseri harus terpenuhi semuanya untuk mengeluarkan satu keluaran. Bentuk ladder dan mnemonik perintah tersebut dapat dilihat pada gambar 2.6 dan tabel 2.3.

0000 0001 0002 0001

0002

(33)

Tabel 2.3 Mnemonik AND dan AND NOT [5]

Instruksi Operand

LD 0000

AND 0001

AND NOT 0002

Untuk menganalisa gerbang AND dengan 2 buah masukan A dan B dengan keluaran Q, maka terdapat kemungkinan untuk menganalisa masukannya, seperti yang ditunjukkan pada tabel 2.4.

1. Kemungkinan pertama, masukan A = 0 dan B = 0. Dengan kata lain tidak ada masukan, maka keluarannya Q = 0.

2. Kemungkinan kedua, masukan pada A = 1 dan B = 0. Terdapat masukan hanya di A dan tidak ada masukan pada B, maka keluarannya Q = 0. 3. Kemungkinan ketiga, masukan pada A = 0 dan B = 1. Terdapat masukan

hanya di B dan tidak ada masukan pada A, maka keluarannya Q = 0. 4. Kemungkinan keempat, masukan pada A = 1 dan B = 1. Terdapat

masukan pada A dan B, maka keluarannya Q = 1. Tabel 2.4. Tabel kebenaran gerbang AND [5]

Masukan Keluaran

A B Q

0 0 0

1 0 0

0 1 0

(34)

Untuk menganalisa gerbang NOT AND dengan 2 buah masukan A dan B dengan keluaran Q, maka terdapat 4 kemungkinan untuk menganalisa masukannya, seperti yang ditunjukkan pada tabel 2.5.

1. Kemungkinan pertama, masukan A = 0 dan B = 0. Dengan kata lain tidak ada masukan, maka keluarannya Q = 1.

2. Kemungkinan kedua, masukan pada A = 1 dan B = 0. Terdapat masukan hanya di A dan tidak ada masukan pada B, maka keluarannya Q = 1. 3. Kemungkinan ketiga, masukan pada A = 0 dan B = 1. Terdapat masukan

hanya di B dan tidak ada masukan pada A, maka keluarannya Q = 1. 4. Kemungkinan keempat, masukan pada A = 1 dan B = 1. Terdapat

masukan pada A dan B, maka keluarannya Q = 0.

Tabel 2.5. Tabel kebenaran gerbang AND NOT [5]

Masukan Keluaran

A B Q

0 0 1

1 0 1

0 1 1

1 1 0

2.3.3. Instruksi OR dan ORNOT

Instruksi OR digunakan untuk memasukkan masukan yang diparalel dengan masukan yang sebelumnya. Beberapa instruksi memungkinkan terletak pada garis terpisah secara paralel, maka kondisi pertama merupakan instruksiload

(35)

Tabel 2.6 Mnemonik OR dan OR NOT [5]

Instruksi Operand

LD 0000

OR 0001

OR NOT 0002

Untuk menganalisa gerbang OR, terdapat 4 kemungkinan untuk menganalisa masukannya, seperti yang ditunjukkan pada tabel 2.7.

1. Kemungkinan pertama, masukan pada A = 0 dan B = 0. Dengan kata lain tidak ada masukan, maka keluarannya Q = 0.

2. Kemungkinan kedua, masukan pada A = 1 dan B = 0. Terdapat masukan pada A = 1 dan tidak ada masukan pada B, maka keluarannya Q = 1. 3. Kemungkinan ketiga, masukan pada A = 0 dan B = 1. Terdapat masukan

pada B dan tidak ada masukan A, maka keluarannya Q = 1.

4. Kemungkinan keempat, masukan pada A = 1 dan B = 1. Terdapat masukan pada A dan B, maka keluarannya Q = 1.

0001 0002 0000

(36)

Tabel 2.7. Tabel kebenaran gerbang ORNOT [5]

Masukan Keluaran

A B Q

0 0 0

0 1 1

1 0 1

1 1 1

Untuk menganalisa gerbang OR, terdapat 4 (empat) kemungkinan dengan menganalisa yang ada pada masukan-masukannya:

1. Kemungkinan pertama, masukan pada A = 0 dan B = 0. Dengan kata lain tidak ada masukan, maka keluarannya Q = 1.

2. Kemungkinan kedua, masukan pada A = 1 dan B = 0. Terdapat masukan pada A = 1 dan tidak ada masukan pada B, maka keluarannya Q = 0. 3. Kemungkinan ketiga, masukan pada A = 0 dan B = 1. Terdapat masukan

pada B dan tidak ada masukan A, maka keluarannya Q = 0.

4. Kemungkinan keempat, masukan pada A = 1 dan B = 1. Terdapat masukan pada A dan B, maka keluarannya Q = 0.

Tabel 2.8. Tabel kebenaran gerbang OR [5]

Masukan Keluaran

A B Q

0 0 1

0 1 0

1 0 0

(37)

2.3.4. Instruksi END

Instruksi terakhir yang harus dituliskan atau digambarkan dalam diagram tangga adalah instruksi END, instruksi tersebut dapat dilihat pada gambar 2.8 [5]. CPU pada PLC akan mengerjakan semua instruksi dalam program dari awal (baris pertama) hingga ditemui instruksi END yang pertama, sebelum kembali lagi mengerjakan instruksi dalam program dari awal lagi, artinya instruksi-instruksi yang ada di bawah atau setelah instruksi END akan diabaikan.

2.4. Mikrokontroler ATmega8535

Mikrokontroler ATmega8535 memiliki fitur yang cukup lengkap. Mulai dari dari kapasitas memori program dan memori data yang cukup besar, interupsi,

timer/counter, PWM, USART, TWI, analog comparator, EEPROM internal dan

juga ADC internal semuanya ada dalam ATmega8535 [6]. Sehingga dengan fitur yang cukup lengkap kita dapat merancang suatu sistem untuk kepentingan komersial mulai dari sistem yang sederhana sampai dengan sistem yang relative kompleks hanya dengan menggunakan satu IC saja, yaitu dengan IC ATmega8535.

END

(38)

2.4.1. Fitur dan Deskripsi PIN ATmega8535

Berikut ini adalah fitur-fitur yang dimiliki ATmega8535:

1) 130 macam instruksi , yang hampir semuanya dieksekusi dalam satu siklusclock.

2) 32×8-bitregister serba guna.

3) Kecepatan mencapai 16 MIPS dengan clock 16MHz.

4) 8 KByte Flash Memori, yang memiliki fasilitasin-sistem Programming. 5) 512Byte internal EEPROM dan 512Byte SRAM.

6) ProgrammingLock, fasilitas untuk mengamankan kode program.

7) 2 buahtimer/counter 8-bit dan 1 buahtimer/counter 16-bit.

8) 4 channeloutputPWM, 8 channel ADC 10-bit dan serial USART.

9) Master/Slave SPI serial interface dan serial TWI atau 12C dan ON-Chip Analog Comparator

(39)

Pada gambar 2.9 menunjukkan konfigurasi pin ATmega8535 , sehingga pin tersebut dapat di deskripsikan sebagai berikut:

1) Power, VCC dan GND (ground)

2) PORTA (PORTA0−7), merupakan pin IO dua arah dan berfungsi khusus

sebagai pin masukan ADC

3) PORTB (PORTB0−7), merupakan pin IO dua arah dan fungsi khusus

sebagai pintimer/counter, komparator analog dan SPI

4) PORTC (PORTC07), merupakan pin IO dua arah dan fungsi khusus 5) PORTD (PORTD07), merupakan pin IO dua arah dan fungsi khusus 6) RESET adalah pin untuk me-reset mikrokontroler

7) XTAL1 dan XTAL2 pin untukexsternal clock

8) AVCC adalah pin masukan untuk tegangan ADC

9) AREF adalah pin masukan untuk tegangan referensi eksternal ADC

2.4.2. Peta Memori

ATmega8535 memiliki dua ruang memori utama, yaitu memori data dan memori program [7]. Selain dua memori utama, ATmega8535juga memiliki fitur EEPROM yang dapat digunakan sebagai penyimpan data.

2.4.2.1. Flash Memori

(40)

menggunakan 16 atau 32 bit dengan alamat dari $000 hingga $FFF. Untuk keamanan software, memori flash dibagi menjadi dua bagian, yaitu denganBoot

Program dan bagian Application Program. AVR tersebut nmemiliki 12 bit

Program Counter(PC) sehingga mampu mengalamati flashmemori.

Gambar 2.10 Memori Program AVR ATmega8535 [7]

2.4.2.2. SRAM

ATmega8535 memiliki 608 alamat memori data yang terbagi menjadi 3 bagian, yaitu 32 buahregister file, 64 buah IO register file dan 512 byte internal SRAM.

(41)

Tampak pada gambar 2.11 diatas bahwa alamat $0000-$001F ditempati oleh

register file. I/O register menempati alamat dari $0020-$005F. Sedangkan sisanya

sebagai internal SRAM sebesar 512byte ($0060-$025F) [7].

2.4.2.3. EEPROM

ATmega8535 juga memliki memori data berupa EEPROM 8 bit sebesar

512 byte ($000-$1FF) yang terpisah dari memori program maupun memori data

[7]. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.

2.4.3. Register Serba Guna dan Stack Pointer

ATmega8535 memiliki 32 byte register serba guna yang terletak pada awal alamat RAM seperti pada gambar 2.12 [7].

(42)

Dari 32 byte register serba guna di atas, 6 byte terakhir juga digunakan sebagai pointer yaituregister pointer X,register pointer Y danregister pointer Z, seperti pada gambar 2.13.

Gambar 2.13. Register X,Y,Z [7]

Stack pointer digunakan untuk menyimpan alamat program yang sedang

dikerjakan pada saat terjadi instruksi percabangan. Stack pointer menempati alamat memori RAM paling atas dan akan turun semakin kebawah dengan bertambahnya data yang disimpan. Instruksi PUSH digunakan untuk menyimpan data ke stack pointer kemudian secara otomatis stack pointer berkurang 1. Sebaliknya instruksi POP digunakan untuk mengambil data dari stack pointer

(43)

2.4.4. Register I/O dan

Port

I/O

ATmega8535 memiliki 64 byte register I/O (input /output) yang dapat diakses sebagai bagian dari memori RAM (menggunakan instruksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT) [7]. Untuk mengakses register I/O seperti mengakses data pada memori RAM maka

register I/O di atas menempati alamat 0020-005F, tetapi jika register I/O diakses

seperti mengakses I/O maka register I/O menempati alamat memori 0000-00#F. Semua port keluarga AVR bersifat bit-directional (dua arah) pada saat berfungsi sebagaiport I/O digital. Bahkan setiap pin dapat di konfigurasikan baik sebagai masukan maupun keluaran secara individu tanpa mempengaruhi pin-pin yang lain. Hal ini dapat dilakukan dengan perintah SBI dan CBI. Pengaturanport

I/O baik sebagai input maupun output otomatis akan diikuti dengan pengaturan

pull-up resistor internal. Pengaturan pull-up resistor bisa saja dinon-aktifkan

melalui bit PUD pada register SFIOR yang tampak pada gambar 2.14. Jika bit PUD diset ’1’ maka berarti konfigurasipull-up port I/O non-aktif.

(44)

Tiga alamt memori IO dialokasikan untuk mengatur konfigurasi setiap

port I/O yaitu:

1. Data Register (PORTx)

2. Data Direction Register(DDRx)

3. Port Input Pin(PINx)

Data Direction Register (DDRx) digunakan untuk mendefinisikan port

sebagai input sebagai output. Jika DDRx diisi ‘1’ berarti sebagai output dan jika diisi ‘0’ berarti sebagai input. Data register (PORTx) digunakan untuk menyimpan data yang akan ditulis/dikeluarkan keport I/O pada saat dikonfigurasi sebagai output sedangkan Port Input Pin (PINx) digunakan untuk menyimpan data yang terbaca dariport I/O pada saat dikonfigurasi sebagai input.

2.4.5. Interupsi

ATmega8535 menyediakan 21 macam sumber interupsi yang masing-masing memiliki alamat programvektor interupsiseperti pada tabel 2.8 [7]. Setiap

interupsi yang aktif akan dilayani segera setelah terjadi permintaan interupsi,

(45)

Tabel 2.9 AlamatVektor Interupsi ATmega8535 [7]

2.4.6. Timer dan Counter

ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah

timer/counter 8-bit dan 1 buah timer/counter 16-bit [7]. Ketiga modul

timer/counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak

saling mempengaruhi satu sama lain. Selain itu semua timer/counter dapat difungsikan sebagai sumberinterupsi dan register tertentu untuk mengatur mode dan cara kerjanya.

1.Timer/Counter 0

Timer/Counter 0 merupakan modul timer/counter 8-bit yang dapat

(46)

1) Mode 0

Berfungsi sebagai pencacah tunggal yang dapat mencacah dari 0×00 sampai dengan 0×FF. Mode ini disebut dengan mode normal.

2) Mode 1

Berfungsi sebagaiphase correctPWM (PCP). 3) Mode 2

Berfungsi sebagaiClear Timer on Compare Match(CTC). 4) Mode 3

Berfungsi sebagai sebagai Fast PWM. Mode ini hampir sama dengan modephase correctPWM.

2.Timer/Counter 1

Timer/counter 1 merupakan modul timer/counter 16-bit yang dapat

berfungsi sebagai pencacah tunggal, pembangkit PWM 16-bit, pembangkit frekuensi, pencacahevent eksternal, dan sebagai pembangkit interupsi yang terdiri dari 4 sumber pemicu yaitu 1 interupsi overflow, 2 interupsi output

compare match dan 1interupsi input capture.

3.Timer/Counter 2

Timer/counter 2 merupakan modul timer/counter 8-bit yang dpat

(47)

Mode kerja timer/counter 2 sama persis dengan mode kerja

timer/counter 0, hanya saja pada timer/counter 2 memiliki satu fitur

tambahan yaitu asynchronous mode. Perbedaan antara synchronous dan

asynchronous hanya terletak pada sumber clock saja. Jika pada mode

synchronous seperti yang digunakan pada timer/counter 0 dantimer/counter

1 memiliki sumber clock yang berasal dari kristal yang terhubung melalui pin XTAL1 dan XTAL2 maka pada mode asynchronous memiliki sumber

clock eksternal yang terhubungmelalui pin TOSC1 dan TOSC2.

2.4.7. USART

Universal Synchronous and Asynchronous Serial Receiver and

Transmitter (USART) juga merupakan salah satu mode komunikasi serial yang

memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukantransfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART [7].

USART memungkinkan transmisi data baik secara synchronous maupun

asynchronous sehingga dengan demikian USART pasti kompatibel dengan

UART. Pada ATmega8535, secara umum pengaturan mode komunikasi baik

synchronousmaupunasynchronousadalah sama. Perbedaannya hanyalah terletak

(48)

hardware untuk mode asynchronous hanya membutuhkan 2 pin yaitu TXD dan RXD sedangkan untuk modesynchronousharus 3 pin yaitu TXD, RXD dan XCK. Untuk mengatur mode dan prosedur komunikasi USART dilakukan melaluiregister USCRA, UCSRB, UCSRC, UBRRH, UBRRL dan UDR. Secara khusus untuk mengatur USART baud rate menggunakan register UBRRL-UBRRH.

UBRRL dan UBRRH atau sering disebut sebagai UBRR merupakan

register yang digunakan untuk mengatur kecepatan/baudrate transmisi data pada

komunikasi USART. UBRR sebetulnya berupa register 16-bit tetapi untukupper bytenya yaituregister UBRRH digunakan bersama-sama dengan register UCSRC pada gambar 2.16. Sehingga untuk mengaksesnya diperlukan pemilihanregister

dengan menggunakan bit URSEL seperti pada gambar 2.15.

Gambar 2.15Register UBBRH dan UBBRL [7]

Gambar 2.16 Register UCSRC [7] 1. Bit 15-URSEL:Register Select

Jika bit URSEL, bernilai ’1’ berarti mengaksesregister UCSRC dan jika bit URSEL benilai ’0’ berarti mengaksesregister UBRRH.

(49)

3. Bit 11:0 – UBRR11:0 USART Baut Rate Register

UBRR11:0 adalah register dengan lebar 12-bit yang digunakan untuk menentukan baudrate komunikasi USART. Pengaturan baudrate dan penentuan nilai register UBBR dapat dihitung dengan menggunakan rumus yang terdapat pada tabel 2.10.

Tabel 2.10 Perhitungan UBRR dan Baud Rate [7]

Keterangan:

BAUD :Baudrate (bps)

Fosc :Frekuensi Osilator (Frekuensi kristal) UBRR :Nilai register UBRR (UBRRH-UBRRL)

Pada perhitungan baudrate sering dilakukan pendekatan terhadap hasil perhitungan rumus. Sebagai hasil pendekatan akan menyebabkan terjadinyaerror,

dengan error yang muncul akibatnya pendekatan ini dapat dirumuskan sebagai berikut[6]:

100 1×

  

=

BaudRate BaudRate

Error ClosestMatch %

Keterangan:

(50)

BaudRate :BaudRate hasil perhitungan

BaudRateCloseddst Match :BaudRatePembulatan

2.4.8 Reset

Rangkaian reset digunakan untuk mereset program yang terdapat pada mikrokontroler [8]. Rangkain reset dapat dilihat pada gambar 2.17.

1

2

VC C

GND

Gambar 2.17 Rangkaian RESET [8].

Pada gambar diatas apabila saklar tidak ditekan, pin reset pada mikrokontroler akan mendapatkan logika rendah ‘0’. Sedangkan saat saklar ditekan pin akan mendapatkan logika tinggi ‘1’ dan akan mereset mikrokontoler. Lamanya waktu yang disbutuhkan untuk mereset adalah dua siklus mesin dan memenuhi persamaan 2.1.

T = R x C ………(2.1)

(51)

LCD (Liquid Crystal Display) adalah suatu penampil dari bahan cairan kristal yang pengoperasiannya menggunakan sistem dot matriks [9]. Pada perancangan alat ini digunakan penampil LCD 2 × 16 karakter seperti terlihat pada gambar 2.18 dan gambar 2.19, yang artinya LCD ini memiliki 2 baris dan 16 kolom karakter. Sehingga jumlah total karakter yang dapat ditampilkan sekaligus adalah sebanyak 32 karakter. Masing-masing karakter tersebut terbentuk dari susunan titik yang berukuran 8 baris dan 5 kolom dot.

Pada LCD ini terdiri dari 8 jalur data, 3 jalur kendali dan fasilitas Pengaturan kontras serta backlight. LCD ini dapat dikendalikan dengan mikrokontroler atau mikroposesor. Deskripsi pin LCD tersebut dapat dilihat pada tabel 2.11.

Tabel 2.11 Pin Tampilan LCD [9].

(52)

1. DB0 s/d DB7, merupakan jalur data yang dipakai untuk menyalurkan kode ASCII maupun perintah pengatur kerja LCD tersebut.

2. RS (register select), merupakan pin yang dipakai untuk membedakan jenis data yang dikirim ke LCD. Jika RS berlogika ‘0’, maka data yang dikirim adalah perintah untuk mengatur kerja LCD tersebut. Jika RS berlogika ‘1’, maka data yang dikirim adalah kode ASCII yang ditampilkan.

3. R/W (read/write), merupakan pin yang digunakan untuk mengaktifkan pengiriman dan pengambilan data ke dan dari LCD. Jika R/W berlogika ‘0’, maka akan diadakan pengiriman data ke LCD. Jika R/W berlogika ‘1’, maka akan diadakan pengambilan data dari LCD.

Nomor Pin Kontak Nomor Pin Kontak

1 VEE (0V) 9 DB2

2 VCC (5V) 10 DB3

3 kontras LCDVo pengatur 11 DB4

4 RS 12 DB5

5 R/W 13 DB6

6 E 14 DB7

7 DB0 15 A

(53)

4. E(enable), merupakan sinyal sinkronisasi. Saat E berubah dari logika ‘1’ ke ‘0’, maka data di DB0 s/d DB7 akan diterima atau diambil dariport

mikrokontroler.

5.

VCC dan GND, Sebagai terminal power supply (+5V).

2.6 Matriks keypad

Kofigurasi matriks keypad terdiri dari tombol-tombol yang tersusun atas baris dan kolom [10]. Rangkaian matriks keypad sederhana dapat dilihat pada gambar 2.20.

2

3

4

5

6

7

1

8

9

*

0

#

B2

B3

B4

K1 K2 K3

B1

(54)

Penggunaan matrikskeypadbertujuan untuk menghemat jumlahportyang digunakan pada mikrokontroler. Pada gambar 2.20 adalah matriks keypad 4 x 3 yang artinya terdiri dari 4 baris dan 3 kolom.Matriks keypad ini tersusun dari 12 tombol, apabila tidak menggunakan konfigurasimatriks keypadmaka dibutuhkan 12port sedangkan denganmatriks keypadhanya menggunakan 7port.

Pengecekan padamatriks keypadadalah dengan sistem pengecekan secara berurutan (scanning). Sebagai contoh apabila ingin mengecek angka 1, maka terlebih dahulu kolom K1 diberi logika ‘0’, lalu dilakukan pengecekan tiap baris. Apabila baris B1 = ‘0’ artinya tombol 1 sedang ditekan. Pengecekan ini juga berlaku untuk tombol yang lainnya dengan pengecekan baris dan kolom secara bergantian [10].

2.7 Komunikasi Serial

(55)

hingga + 25 volt, sehingga kehilangan daya karena panjangnya kabel bukan masalah utama. Komunikasi serial port bersifat asinkron sehingga sinyal detak tidak dikirim bersama data. Setiap word (kata) disinkronkan dengan start bit dan satu pulsa detak (clock) internal di kedua sisi menjaga bagian data saat pewaktuan.

Spesifikasi elektris dari serial port adalah sebagai berikut:

1. “Space” (logika 0) adalah tegangan antar +3 hingga + 25 volt. 2. “Mark” (logika 1) adalah tegangan antara – 3 hingga – 25 volt.

3. Daerah antara +3 volt hingga – 3 volt tidak didifinisikan atau tidak terpakai.

4. Tegangan open circuit tidak boleh melebihi 25 volt. 5. Arus hubungan singkat tidak boleh melebihi 500 mA.

Gambar 2.21 Komunikasi Serial DB9

(56)

Tabel 2.12 Komunikasi Serial DB9

PIN SIGNAL

1 Data Carrier Detect

2 Received Data

3 Transmitted Data

4 Data Terminal Ready

5 Signal Ground

6 Data Set Ready

7 Request To Send

8 Clear to Send

9 Ring Indicator

MAX232 adalah multichannel RS232 driver / receiver yang hanya membutuhkansingle supplysebesar 5V. MAX232 memiliki jalur komunikasi RX dan TX namun yang digunakan hanya bagian TX (Transmiter) saja dengan ketentuan sebagai berikut:

1.Logic Low(0) pada input dapat menghasilkan tegangan output sebesar +10V.

2.Logic High(1) pada input menghasilkan tegangan output sebesar –10V.

Dalam aplikasi ini MAX232 digunakan untuk menerima keluaran dari

microcontroller, mengolahnya dan mengirimkan sinyal. Antarmuka serial

merupakan pintu gerbang komunikasi antara mikrokontroler dengan Base

Terminal (telepon seluler). Terminal memiliki gerbang serial yang dapat

digunakan untuk berkomunikasi dengan perangkat-perangkat yang lain. Komunikasi serial tersebut menggunakan standar komunikasi serial UART dengan 1 start-bit, 8 data-bit, dan 1 stop-bit.

(57)

akan menerima data serial, sedangkan TXD berfungsi mentransmisikan data-data serial dari mikrokontroler [5]. IC MAX232 dapat dilihat pada gambar 2.22.

(58)

BAB III

PERANCANGAN ALAT

PLC (Programmable Logic Control) dapat diprogram dengan dua cara,

yaitu dengan menggunakan komputer dan alat pemrogram konsol. Pada perancangan alat secara umum dibutuhkan beberapa bagian sebagai berikut, PC

(Personal Computer), Konsol dan CPU (Central Processing Unit) PLC.

Pada pembuatan dasar kerja alat ”Konsol Sebagai Pemrogram Pada Implementasi PLC Menggunakan Mikrokontroler” ini dibutuhkan perancangan perangkat keras (hardware) maupun perangkat lunak (software). Perancangan peralatan yang dibuat meliputi penyusunan diagram blok, rancangan perangkat keras dan pemrograman mikrokontroler (flow chart).

3.1 Diagram Blok

Gambar 3.1.Diagram blok sistem PLC

PC atau KOMPUTER

KONSOL

CPU PLC INPUT

(59)

Gambar 3.2. Diagram blok konsol PLC

Pada prinsipnya PLC terdiri dari konsol, PC yang berfungsi sebagai alat untuk memrogram PLC, dan CPU yang merupakan otak dari sebuah pengendalian PLC yang digunakan sebagai pusat pemrosesan semua instruksi-instruksi atau perintah-perintah yang digunakan PLC. Diagaram blok PLC secara umum dapat dilihat pada gambar 3.1. Dengan melihat diagram blok konsol PLC pada gambar 3.2, mikrokontroler berfungsi sebagai pusat pengolahan instruksi dan operand yang dibutuhkan dalam pemrograman PLC. Dalam perancangan konsol PLC, dibutuhkan jugakeypaddan LCD.Keypad yang digunakan berfungsi sebagai alat untuk memasukkan instruksi dan operand yang dibutuhkan dalam pemrograman PLC sedangkan penggunaan LCD berfungsi sebagai alat penampil instruksi dan operand. Instruksi yang digunakan terdiri dari instruksi AND, OR, LD, NOT, OUT, TIM, CNT dan END. Instruksi dan operand yang dibutuhkan diterjemahkan dalam sebuah kode biner delapan bit. Untuk pengkodean instruksi dan operand dapat dilihat pada lampiran kode instruksi dan operand.

001 002 003 004 005 006 007 008

INPUT

OUTPUT CPU PLC

010 020 030 040 050 060 070 080

KEYPAD µKONTROLER

(60)

3.2 Rancangan Perangkat Keras

Perancangan perangkat keras untuk bagian konsol PLC terdiri dari 4 bagian yaitu, rangkaian matriks keypad, rangkaian mikrokontroler, komunikasi antar mikrokontroler, dan komunikasi mikrokontroler dengan LCD.

3.2.1 Rangkaian Matriks Keypad

Matriks keypadyang digunakan adalahmatriks keypad5 × 5 yang artinya

tersusun atas 5 baris dan 5 kolom. Keypad ini dihubungkan dengan port B (PB) danport A (PA) mikrokontroler ATmega8535, untuk barisnya terhubung dengan jalur PB.0 sampai PB.4, sedangkan kolomnya terhubung dengan jalur PA.0 sampai PA.4 dan untuk konfigurasimatriks keypaddapat dilihat pada gambar 3.3.

RUN PROG SEND ENTER DEL

7 8 9 LD AND

4 5 6 OR NOT

1 2 3 OUT UP

END 0 CNT TIM DOWN

Gambar 3.3Matriks Keypad 5 × 5

PB.2

PB.1

PB.0 PB.4

PB.3

(61)

Cara kerja darimatriks keypadadalah dengan sistemscanningtombol satu per satu. Kolom 1 sampai dengan kolom 5 (PA.4 - PA.0) berfungsi sebagai keluaran mikrokontroler. Sedangkan baris 1 sampai dengan baris 5 (PB.0 – PB.4) sebagai masukan mikrokontroler. Keluaran mikrokontroler akan memberikan kondisi ‘0’ pada setiap kolom secara bergantian, sehingga apabila ada tombol yang ditekan maka baris tersebut akan memiliki kondisi ‘0’ pula. Sebagai contoh apabila tombol ‘OUT’ ditekan maka baris 2 (PB.1) dan kolom 3 (PA.3) akan berkondisi ‘0’, demikian pula untuk penekanan tombol-tombol lainnya. Kombinasi baris dan kolom matriks keypad yang digunakan ditunjukkan pada tabel 3.1.

Tabel 3.1 Kombinasi baris dan kolommatriks keypad

PA.0 PA.1 PA.2 PA.3 PA.4 PB.0 PB.1 PB.2 PB.3 PB.4

RUN 0 1 1 1 1 1 1 1 1 0 7 0 1 1 1 1 1 1 1 0 1 4 0 1 1 1 1 1 1 0 1 1 5 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1

PROG 1 0 1 1 1 1 1 1 1 0

8 1 0 1 1 1 1 1 1 0 1 5 1 0 1 1 1 1 1 0 1 1 2 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1

SEND 1 1 0 1 1 1 1 1 1 0

9 1 1 0 1 1 1 1 1 0 1 6 1 1 0 1 1 1 1 0 1 1 3 1 1 0 1 1 1 0 1 1 1 CNT 1 1 0 1 1 0 1 1 1 1

ENTER 1 1 1 0 1 1 1 1 1 0

LD 1 1 1 0 1 1 1 1 0 1 OR 1 1 1 0 1 1 1 0 1 1 OUT 1 1 1 0 1 1 0 1 1 1 TIM 1 1 1 0 1 0 1 1 1 1 DEL 1 1 1 1 0 1 1 1 1 0 AND 1 1 1 1 0 1 1 1 0 1 NOT 1 1 1 1 0 1 1 0 1 1 UP 1 1 1 1 0 1 0 1 1 1

(62)

3.2.2 Rangkaian mikrokontroler ATmega8535

Mikrokontroler digunakan sebagai pengolah instruksi masukan dari

keypad kemudian ditampilkan pada LCD. Pada perancangan akan digunakan

Mikrokontroler ATmega8535. Mikrokontroler ini menghubungkan antara keypad

dan LCD. Konfigurasinya dapat dilihat pada gambar 3.4. VCC U1 ATmega8535 12 13 10 22 23 24 25 26 27 28 29 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 30 9 32 1 1 XTAL2 XTAL1 VCC (SCL)PC0 (SDA)PC1 PC2 PC3 PC4 PC5 (TOSC1)PC6 (TOSC2)PC7 PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4 PD5/OC1A PD6/WR PD7/RD PB0(XCK/TO) PB1(T1) PB2(INT2/AIN1) PB3/AIN1 PB4/SS PB5/MOSI PB6/MISO PB7/SCK PA0(ADC0) PA1(ADC1) PA2(ADC2) PA3(ADC3) PA4(ADC4) PA5(ADC5) PA6(ADC6) PA7(ADC7) AVCC RESET AREF G N D J1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 KOLOM VCC VCC 22pF

RS-232

1 2 VCC B A R I S VEE 22pF

K E Y P A D

8MHZ 1N4001 5K 1 2 KOMUNIKASI 10uF

LCD

Gambar 3.4 Konfigurasi Mikrokontroler,Keypad, LCD

3.2.2.1 Rangkaian Osilator

(63)

serial. Rangkaian osilator ini terdiri dari dua kapasitor dan sebuah kristal seperti yang ditunjukkan pada gambar 3.5. Dalam perancangan ini resonator kristal yang digunakan adalah kristal 4 MHz yang dapat memberikan instruksi cycle time

(waktu 1 siklus) sebesar 1 µs. Satu siklus mesin mikrokontroler ini dikerjakan dalam 4 periode osilator. Sesuai dengan yang ada di data sheet, jika dipakai kristal 4 MHz maka kapasitor yang digunakan sebesar 22 pF.

22pF

Y2

8MHZ

XTAL1

XTAL2

22pF

Gambar 3.5 Rangkaian Osilator

3.2.2.2 Rangkaian Reset

(64)

pengosongan kapasitor, sehingga waktu reset minimal 2 µs dapat dipenuhi, rumusan waktu pengosongan kapasitor yang digunakan sesuai dengan persamaan 2.1 pada dasar teori.

C R

T = × ………..(2.1)

Pada perancangan dipilih waktu pengosongan sebesar 100 ms dengan asumsi waktu reset telah memenuhi, bila nilai R dipilih 10 k , maka nilai C adalah

C × =10.000 1

, 0

C = 10 µF

Saat tombol pushbutton ditekan, reset akan bekerja manual dan menyebabkan pin reset berlogika low. Namun saat tombol dilepaskan, pin reset akan berlogikahigh.

10K

VCC

RESET

SW

10uF

(65)

3.2.3. Komunikasi Serial RS232

Komunikasi secara serial (serial communications) merupakan cara menghantar operand yang lebih mudah dikendalikan dibanding dengan komunikasi parallel (parallel communications) disebabkan sistem komunikasi

parallel terlalu mahal untuk kegunaan jarak jauh. Operand yang dikirim dengan

komunikasi serial, dikirim per 1 bit saja. Pengiriman operand pada IC mikrokontroler, fasilitas yang digunakan untuk komunikasi serial adalah UART

(Universal Asynchronous Receiver Transmitter).

(66)

C4 1 u F /2 5 V C3 1 u F /2 5 v TX C2 1uF/25V GND C1 1uF/ 25v

VC C +5v DB9 1 2 3 4 5 6 7 8 9 GND U2 MAX232_0 13 8 11 10 1 3 4 5 2 6 12 9 14 7 16 15 R1IN R2IN T1I N T2I N C+ C1-C2+ C2-V+ V-R1OUT R2OUT T1OUT T2OUT VCC GND RX C 5 1 u F /2 5 v GND VCC

Gambar 3.7 Konfigurasi Komunikasi RS-232

3.2.4 Komunikasi Mikrokontroler dengan LCD

KOMUNIKASI RS232 R 2 5K 1 3 2 LCD 1 2 10uF 10K 1N4001 1 2 22pF J1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VCC 8MHz U1 ATmega8535 12 13 10 22 23 24 25 26 27 28 29 14 15 16 17 18 19 20 21 1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 30 9 32 11 XTAL2 XTAL1 VC C (SCL)PC0 (SDA)PC1 PC 2 PC 3 PC 4 PC 5 (TOSC1)PC6 (TOSC2)PC7 PD0/RXD PD1/TXD PD2/IN T0 PD3/IN T1 PD 4 PD5/OC1A PD6/WR PD 7/ RD PB0(XCK/TO) PB1(T1) PB2(IN T2/AIN1) PB3/AIN1 PB4/SS PB5/MOSI PB6/MISO PB7/SCK PA0(ADC0) PA1(ADC1) PA2(ADC2) PA3(ADC3) PA4(ADC4) PA5(ADC5) PA6(ADC6) PA7(ADC7) AVCC RESET AREF G ND 22pF VCC VC C VCC

(67)

Komunikasi mikrokontroler ATmega8535 dengan LCD yang ada pada gambar 3.8, tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD LMB162ABC sudah terdapat driver mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio berfungsi untuk mengatur kontras karakter yang tampil, nilai potensio yang digunakan adalah sebesar 5k sesuai yang ada di data sheet. Sebelum menggunakan LCD maka terlebih dahulu dilakukan inisialisasi, konfigurasi pin LCD denganportmikrokontroler dapat dilihat pada tabel 3.2.

Pada perancangan ini alat penampil (LCD karakter) yang digunakan, berfungsi unutk menampilkan program yang digunakan pada PLC yang terdiri dari instruksi dan operand. Instruksi dan operand yang akan ditampilkan pada pernacangan ini terdiri instruksi LD, OR, AND, NOT, OUT, CNT, TIM dan operand yang terdiri dari tiga digit seperti operand 001, 003, 004 dan 005. Sebagai contoh instruksi dan operand yang akan ditampilkan dapat dilihat pada tabel 3.3.

Tabel 3.2 Konfigurasi Pin LCD dan Mikrokontroler

Pin LCD PORT

Mikrokontroler

RS PD.4

E PD.6

D0 PC.0

D1 PC.1

D2 PC.2

D3 PC.3

D4 PC.4

D5 PC.5

D6 PC.6

(68)

Tabel 3.3 Program PLC

Instruksi Operand

LD 001

AND 002

OUT 080

3.3 Pemrograman Mikrokontroler

(69)

m u la i

in is ia l i s a s i p o r t m i k r o k o n tr o le r

p e m b a c a a n k e y p a d

p e n g o l a h a n k o d e i n s t r u k s i

k o d e s u d a h l e n g k a p ?

s i m p a n k o d e

ta m p i lk a n p a d a L C D

k i r i m k o d e ?

k ir i m k o d e

s e l e s a i

T

Y

T

Y p e n g o la h a n k o d e d a t a

Gambar 3.9FlowchartProgram Utama

3.3.1 Pembacaan Keypad

(70)

m u la i

se t k o lo m 1

ba ris 2 d itek a n?

ba ris 3 d itek a n?

ba ris 4 d itek a n?

ba ris 5 d itek a n?

in s t ru k si= D O W N

ins truk si= U P

in st ru ks i= N O T

in st ru ks i= A N D

in st r u ks i= D E L

se t k o lo m 2

ba ris 1 d itek a n?

ba ris 2 d itek a n?

ba ris 3 d itek a n?

ba ris 4 d itek a n?

ba ris 5 d itek a n?

inst r u k si= T IM

in struk si = O U T

in st ru ks i= O R

ins tr uk si= LD

instr uk si= E N T E R ba ris 1 d itek a n?

A B

(71)

A B

set kolom 3

baris 1 ditekan?

baris 2 ditekan?

baris 3 ditekan?

baris 4 ditekan?

baris 5 ditekan?

set kolom 4

baris 1 ditekan?

baris 2 ditekan?

baris 3 ditekan?

baris 4 ditekan?

baris 5 ditekan?

instruksi=CNT data=3 data=6 data=9 instruksi=SEND data=0 data=2 data=5 data=8 instruksi=PROG C D Y T Y T Y T Y T Y T Y T Y T Y T Y T Y T C D

set kolom 5

baris 1 ditekan?

baris 2 ditekan?

baris 3 ditekan?

baris 4 ditekan?

baris 5 ditekan?

selesai instruksi=END data=1 data=4 data=7 instruksi=RUN

(72)

3.3.2 Pengolahan kode Instruksi

Instruksi-instruksi masukan yang digunakan pada perancangan ini adalah PROG, RUN, AND, OR, CNT, TIM, OUT, NOT, LD, dan END. Pada pengolahan kode instruksi ini terdapat 2 instruksi yang difungsikan sebagai perintah untuk memulai pemrograman dan mengaktifkan CPU PLC, yaitu instruksi PROG dan RUN. Semua instruksi yang digunakan telah dikodekan dalam bentuk kode delapan bit dan disimpan padaflash memory, misalnya untuk kode instruksi AND (0001 0000). Pada proses ini saat tombol keypad ditekan instruksi sama dengan AND, OR, CNT dan instruksi berikutnya. Secara khusus ada beberapa instruksi yang digabung dengan instruksi yang lainnya yaitu AND, OR, OUT, dan LD.

Penggabungan tersebut dilakukan karena dalam memrogram PLC ada beberapa instruksi yang digabung, sebagai contoh untuk instruksi AND LD, OR NOT, OUT NOT, LD NOT, dan penggabungan instruksi yang lainnya. Instruksi yang telah dimasukkan akan mengecek kode instruksi yang telah disimpan dalam

flash memory atau terjadi proses pengolahan kode instruksi dalam flash memori

(73)

mulai

instruksi = RUN?

instruksi = AND?

baca kode PROG

baca kode RUN

baca kode AND instruksi =

TIM?

instruksi = CNT?

instruksi = NOT?

baca kode ANDTIM

baca kode AND CNT

baca kode AND NOT// ANDTIMNOT//ANDCNT NOT

instruksi =

OR? baca kode OR

instruksi = TIM? instruksi = CNT? instruksi = NOT?

baca kode OR TIM

baca kode ORCNT

baca kode OR NOT// OR TIM NOT//ORCNT NOT instruksi = PROG? A B Y T Y T Y T Y T Y T Y T Y T Y T Y T Y T

(74)

A B

instruksi =

LD? baca kode LD

instruksi = TIM? instruksi = CNT? instruksi = NOT

baca kode LD TIM

baca kode LD CNT

baca kode LD NOT// LD TIM NOT//LD CNT NOT

instruksi = CNT? instruksi = TIM? instruksi = OUT? instruksi = END

baca kode CNT

baca kode TIM

baca kode OUT

baca kode END

instruksi =

NOT baca kode OUT NOT

selesai Y T Y T Y T Y T Y T Y T Y T Y T Y T

(75)

3.3.3 Pengolahan kode Operand

Pengolahan kode operand merupakan lanjutan dari pengolahan kode instruksi, dalam aturan pemrograman PLC yang dirancang, operand selalu dimasukkan setelah instruksi. Algoritma pemrograman operand dapat dilihat pada gambar 3.12. Operand yang digunakan dalam perancangan ini, berupa operand 3 digit yang telah dikodekan dengan kode biner 8 bit. Sebagai contoh untuk instruksi AND NOT dengan operand 001, operandnya dikodekan 0000 0001b.

Secara umum operand PLC dimasukkan melalui tombol keypad, seperti yang telah dijelaskan sebelumnya, operand tersebut diterjemahkan dalam bentuk kode dan kodenya disimpan dalam EEPROM. Sehingga operand yang dimasukkan akan menyesuaikan kode operand yang ada dalam EEPROM.

Untuk pembacaan operand secara umum menggunakan pencacah 3 digit, yang berfungsi untuk membedakan 3 buah digit operand yang diperlukan dalam pemrograman PLC. Operand 3 digit yang digunakan pada perancangan ini, dibedakan atas 3 karakter misalnya operand 002 terdiri dari 3 karakter, pembacan karakter 1, 2 dan ke 3 dimulai dari sebelah kiri. Operand masukan yang digunakan dibedakan menurut pengelompokan instruksi dan jumlahport input dan

port outputPLC yang dirancang.

(76)

NOT diberi operand 001 dan instruksi AND CNT, AND CNT NOT, OR CNT NOT, LD CNT, LD CNT NOT diberi operand 002.

Untuk membedakan karakter operand yang pertama kali dilakukan adalah mengaktifkan pencacah 3 digit dan menentukan syarat operand, misalnya untuk operand instruksi CNT, operand karakter 1 atau X mempunyai syarat X=3, karakter 2 atau Y diberi syarat Y<=1 dan syarat karakter 3 atau Z adalah Z<=9. jika angka atau operand yang dimasukkan tidak memenuhi syarat, maka operand tersebut bukan merupakan operand CNT.

Setelah penentuan syarat operand, karakter 1 dikalikan dengan 100, karakter 2 dikalikan dengan 10 dan karakter 3 tidak diberi operasi perkalian karena karakter 3 merupakan digit terkahir dari operand atau bernilai satuan. Hal terakhir yang dilakukan dari proses pembacaan logika CNT tersebut adalah masing-masing karakter (karakter 1-3) ditambahkan, hasil penambahan karakter tersebut merupakan operand 3 digit.

(77)

mulai

instruksi = AND//ANDNOT

OR//ORNOT LD//LDNOT OUT//OUT NOT

pencacah 3 digit a=0

baca keypad (angka) kar I=x,kar II=y,kar III=z

a=a+1

a=1 x=0 (x) * 100=kar Itampilkan x

a=a-1

a=2 y=0 (y) * 10=kar IItampilkan y

a=a-1

A

A

a=3 z < 8 tampilkan z(z)=kar III

a=0 a=a-1

A A

A

A A

B

Y

T

Y Y

T T

Y Y

T T

Y Y

T T

C

(78)

B

instruksi = AND TIM//AND TIM NOT

OR TIM//OR TIM NOT LD TIM//LD TIM NOT

pencacah 3 digit i=0

baca keypad (angka) kar I=x,kar II=y,kar III=z

i=i+1 i=1 i=2 x=0 y=0 i=i-1 i=i-1 D D tampilkan x x * 100=kar I

tampilkan y y * 10=kar II

D

D

i=3 z=1

i=0 i=i-1

D D

tampilkan z z =kar III C D E Y T Y T Y T Y T Y T Y T Y T

(79)

E

instruksi = AND CNT//AND CNT NOT

OR CNT//OR CNT NOT LD CNT//LD CNT NOT

pencacah 3 digit j=0

baca keypad (angka) kar I=x,kar II=y,kar III=z

j=j+1 j=1 j=2 x=0 y=0 j=j-1 j=j-1 F F

tampilkan x x * 100=kar I

tampilkan y y * 10=kar II

F

F

j=3 z=2

j=0 j=j-1

F F

tampilkan z z =kar III C F G Y T Y T Y T Y T Y T Y T Y T

(80)

instruksi =CNT pencacah 3 digitk=0

baca keypad (angka) kar I=x,kar II=y,kar III=z

k=k+1

k=1

k=2

x=0

y <= 1 k=k-1

k=k-1 H

H

tampilkan x x * 100=kar I

tampilkan y y * 10=kar II

H

H

k=3 z <= 9

k=0 k=k-1

H H

tampilkan z z =kar III C H G P Y T Y T Y T Y T Y T Y T Y T

(81)

P

instruksi = TIM

pencacah 3 digit n=0

baca keypad (angka) kar I=x,kar II=y,kar III=z

n=n+1

M

n=1 x < 3 tampilkan x x * 100=kar I

n=n-1

M

M

n=2 x=1 y <= 9

x=2 y < 6

tampilkan y y * 10=kar II

n=n-1 M

M

n=3 x=1

y <= 9 z <= 9

x=2

y < 6 z=0

tampilkan z z =kar III

n=0

n=n-1 M

M

selesai

data=kar I + kar II + kar III

baca kode data C Y T Y T Y T Y T Y T Y T Y T Y T Y T Y T Y T

(82)

3.3.4 Simpan Kode

Setelah pengolahan kode instruksi dan operand masukan, dilakukan proses penyimpanan kode instruksi dan operand dalam EEPROM. Kode yang tersimpan dalam EEPROM dialamatkan mulai dari alamat 000H. Penyimpanan kode dilakukan dengan menambahkan alamat yang digunakan (penambahan alamat hanya ditambah satu untuk setiap penambahan), misalnya 000H ditambah satu jadi 001H dan penambahan selanjutnya. Proses penyimpanan kode instruksi dan operand berlangsung sampai semua kode yang dikehendaki selasai diproses atau disimpan pada EEPROM. Flowchart penyimpanan kode dapat dilihat pada gambar 3.13.

m u l a i

a l a m a t a w a l E E P R O M = 0 a l a m a t= a la m a t a w a l E E P R O M

in s tr u k s i = E N T E R ?

a la m a t + + s i m p a n k o d e i n s t r u k s i p a d a a l a m a t d i E E P R O M

s i m p a n k o d e d a ta p a d a a l a m a t d i E E P R O M

a la m a t + +

s e l e s a i

T

Y

(83)

3.3.5 Tampilkan pada LCD

Penggunaan LCD adalah sebagai penampil. Untuk dapat menampilkan instruksi dan operand, LCD terlebih dahulu harus diberi insialisasi. Proses inisialisasi LCD terdiri dari tiga instruksi, function set, display ON/OFF control

danentry mode set.

Awal proses inisialisasi adalah dengan memberikan logika rendah pada

port RS (Register Select) dan R/W (Read/Write) kemudian memberikan intruksi

tentang panjang operand yang akan digunakan. Instruksi ini disebut function set

yang bertujuan agar LCD mengetahui batas instruksi yang dikirimkan berikutnya. Pada perancangan ini digunakan panjang operand sebesar 8 bit dengan cara memberikan operand 03FH pada LCD.

Kemudian LCD diberi instruksi display ON/OFF control yang berfungsi mengaktifkandisplaydancursordengan memberikan operand 00DH pada LCD.

Instruksi berikutnya adalah entry mode set yang berfungsi untuk pergerakan

cursor,operand 04H untuk geser kiri dan 006H untuk geser kanan.

Untuk menampilkan karakter ke LCD terlebih dahulu RS diberi logika tinggi (RS = “1”) dan R/W diberi logika rendah (R/W = “0”). Flowchart

(84)

operand yang ditampilkan dapat dilihat kembali dengan menggunakan fasilitas UP, DOWN pada keypad. Jika terjadi kesalahan dalam pemrograman PLC atau kesalahan dalam penulisan instruksi dan operand, instruksi dan operand tersebut dapat dihapus dengan fasilitas DEL pada keypad.Pada perncangan ini jika konsol dimatikan dan dihidupkan kembali, maka instruksi dan operand yang lama akan tetap ditampilkan pada LCD. Hal ini disebabkan oleh kode yang disimpan pada EEPROM tidak akan terhapus meskipun catu daya konsol mati.

m ulai

in isialisa si LC D

ba ca ko de di E E P R O M pad a a la m a t + 0 (ko de instru ksi),

alam at +1 (kode data)

tam pi lk an instruksi d an da ta p ada ba ris 2 LC D

in stru ksi= U P ?

ba ca ko de di E E P R O M p ada alam at -4 (ko d e instruk si),

ala m a t -3 (ko de da ta)

T

Y

A B

(85)

baca kode di EEPROM pada alamat -2 (kode instruksi),

pada alamat -1 (kode data) tam pilkan instruksi dan data

pada baris 1 LCD

tam pilkan instruksi dan data pada baris 2 LCD

instruksi=DOW N? A

B

baca kode di EEPROM pada alamat +0 (kode instruksi),

alamat +1 (kode data)

tampilkan instruksi dan data pada baris 1 LCD

baca kode di EEPROM pada alamat +2 (kode instruksi),

alamat +3 (kode data)

tampilkan insruksi dan data pada baris 2 LCD

instruksi=DEL? hapus baris 2 pada LCD

selesai

Y

T

(86)

M U L A I

K IR IM D A T A 0 3 F H F U N C T I O N S E T

K IR I M D A T A 0 D H D IS P L A Y O N /O F F

C O N T R O L

K IR I M D A T A 0 0 4 H a ta u 0 0 6 H E N T R Y S E T M O D E

A

A

S E T P O R T R S ( R S = 1 )

C L E A R P O R T R /W R /W = 0

T A M P I L K A N K A R A K T E R IN S T R U K S I D A N D A T A

S E L E S A I

Gambar 3.15FlowchartInisialisasi LCD

3.3.6 Kirim Kode

(87)

UCSRA

UCSRB

UCSRC

Kondisi default UCSRA

0 0 1 0 0 0 0 0 UCSRB

0 0 0 0 0 0 0 0 UCSRC

1 0 0 0 0 1 1 0 Pengaturan saat mengaktifkan USART

UCSRA

1 1 0 0 1 0 0 1 UCSRB

1 1 0 1 0 0 0 0 UCSRC

0 1 1 0 0 0 0 0

(88)

Dalam proses pengiriman kode ada tiga perintah yang sangat berperan penting yaitu PROG, RUN, dan SEND. Perintah PROG untuk memrogram PLC, perintah RUN unruk menjalankan PLC, dan perintah SEND untuk mengirim kode instruksi dan operand. Pengiriman kode ke mikrokontroler CPU PLC diperlukan sebuah sinyal ACK untuk mengetahui kondisi CPU PLC, apakah dalam keadaan sibuk atau tidak.

Jika CPU PLC dalam keadaan tidak sibuk maka kode instruksi dan operand dapat dikirimkan. Setelah kode instruksi dan operand diterima oleh CPU PLC, maka kode selanjutnya siap dikirimkan. Untuk contoh pengiriman kode dapat dilihat pada gambar 3.17, sistem pengiriman kode dikirim dengan menggunakan operand delapan bit. Proses pengiriman kode akan berlangsung sampai semua kode yang dibutuhkan selesai dikirimkan.

Gambar 3.17FrameKode Instruksi dan Operand

Untuk mengakhiri proses pengiriman kode instruksi dan operand, ditandai dengan kode instruksi END yang bernilai 0FFH atau 1111 1111b. Flowchart

pengiriman kode dan inisialisasi USART dapat dilihat pada gambar 3.18 dan gambar 3.19

Instruksi LD 0 0 1 1 0 0 0 0

Operand LD 0 0 0 0 0 0 1 0

Instruksi AND 0 0 0 1 0 0 0 0

Operand AND 0 0 0 0 0 0 1 1

(89)

mulai

inisialisasi USART

instruksi=PROG?

kirim kode PROG

terima kode ACK? PLC belum siap di program

PLC siap diprogram

instruksi=RUN?

kirim kode RUN

terima kode ACK PLC tidak siap dijalankan

P

Gambar

Gambar 2.1. Diagram Blok  Bagian PLC [4].
Tabel 2.1 Mnemonik PLC [5] Instruksi Operand LD 0000 AND 0001 OR 0002 AND 0003 2.2.2 Diagram Ladder
Gambar 2.13. Register X,Y,Z [7]
Tabel 2.9 Alamat Vektor Interupsi ATmega8535 [7]
+7

Referensi

Dokumen terkait

Dengan Nama Retribusi Terminal Penumpang, dipungut retribusi sebagai Pembayaran atas Pelayanan Penyediaan Tempat Parkir untuk Kendaraan Penumpang dan Bus Umum,

Sebagai lembaga keuangan yang belum lama lahir, BMT Al-Ishlah Bobos membutuhkan sosialisasi dan promosi secara lebih optimal kepada masyarakat.. Keaktifan pengelola

(5) Jumlah Bea Balik Nama Kendaraan Bermotor yang terutang dalam SKPDKB sebagaimana dimaksud pada ayat (1) huruf a angka 3 dikenakan sanksi administrasi berupa kenaikan sebesar 25

Jaringan jalan di Kabupaten Tana Toraja pada umumnya telah sesuai dengan potensi-potensi wilayah yang ada, namun sebagian besar kondisinya rusak (74%). Berdasarkan

Tambahkan Tombol untuk menghapus data, caranya: Pada toolbox klik Command Button lalu letakkan pada Form, pada Form akan muncul jendela Command Buttom Wizards, Pada Categories

Karena saat anda berkata tidak bisa, sama dengan menegaskan kepada pikiran bawah sadar anda untuk tidak bisa, sedangkan suatu saat anda pasti bisa.Tentunya hal

Adapun teknik pengumpulan data dalam penelitian ini dilakukan dengan: (1) observasi, observasi dalam penelitian ini digunakan untuk mengamati proses pembelajaran

Cara Pembuatan Obat Ikan Yang Baik (CPOIB) merupakan pedoman untuk mengatur seluruh proses produksi yang meliputi kegiatan mengolah bahan baku, produk antara,