• Tidak ada hasil yang ditemukan

DAFTAR PUSTAKA. [3] OMRON. Programmable Controllers Operation Manual, OMRON Electronics

N/A
N/A
Protected

Academic year: 2021

Membagikan "DAFTAR PUSTAKA. [3] OMRON. Programmable Controllers Operation Manual, OMRON Electronics"

Copied!
34
0
0

Teks penuh

(1)

DAFTAR PUSTAKA.

[1] HTTP://www. NEMA. Org

[2] HTTP://www.plcs.net

[3] OMRON. Programmable Controllers Operation Manual, OMRON Electronics

Pte.Ltd. 2002.

[4] Frank D Petruzella, Programmable Logic Controller, McGraw Hill .USA. 1998.

[5] ATMEL. Datasheet AT89S52.

[6] Moh. Ibnu Malik, ST. Belajar Mikrokontroler Atmel AT89S52.Gava Media

Yogyakarta. 2003

[7] Pari Vallal Kannan, Micrprocessor Design Project Training. University of

Texas. Dallas.

(2)

DAFTAR PUBLIKASI

1. Gun Gun Gumilar, Asep Suhendi, dan Khairurrijal. “Rancang Bangun

Programmable Logic Controller (PLC) Minimum Berbasis Mikrokontoler

ATMEL AT89S52”. Asosiasi Akademisi Perguruan Tinggi Seluruh Indonesia

(ASASI) (Ciawi, Bogor, 9-11 Agustus 2007).

2. Gun Gun Gumilar dan Khairurrijal. “Super Programmable Logic Controller

T100MD-888+”. Seminar Instrumentasi Berbasis Fisika (SIBF) (Bandung, 31

Agustus 2006).

3. Yanuar Syapaat, Suryadi, Heri Permadi, Gun Gun Gumilar, dan Khairurrijal.

”Aplikasi Mikrokontroler MCS-51 dalam Percobaan Bandul untuk Penentuan

Nilai Gravitasi Bumi”. Seminar Nasional Teknologi dan Rekayasa Industri

(SNTRI07). Applied Tech. 07 Vol. 1 (serpong, April 2007).

(3)
(4)

RANCANG BANGUN

PROGRAMMABLE LOGIC CONTROLLER (PLC) MINIMUM

BERBASIS MIKROKONTOLER ATMEL AT89S52

Gun Gun Gumilar

1

, Asep Suhendi, dan Khairurrijal

2

K.K. Fisika Material Elektronik, Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Teknologi Bandung

Jalan Ganesa 10, Bandung 40132

E-mail :

2

krijal@fi.itb.ac.id,

1

gun@planck.fi.itb.ac.id

Abstrak

Programmable Logic Controller (PLC) merupakan suatu piranti yang dibuat sebagai pengganti

kumpulan relay-relay mekanik yang digunakan dalam sistem kontrol. PLC bekerja dengan cara

membaca status (kondisi) yang dialami oleh masukannya, untuk kemudian digunakan dalam

pengubahan status keluarannya. Sedangkan bentuk dan jumlah pengubahan yang terjadi pada

keluaran PLC bergantung pada program yang diberikan oleh pengguna dalam bentuk diagram ladder

yang disebut dengan program aplikasi kendali. Mikrokontroler Atmel AT89S52 telah dimanfaatkan

dalam rancang bangun sebuah PLC minimum. Sistem operasi PLC minimum tersebut juga telah

dibangun untuk memindai (scan) proses, yang dimulai dengan melakukan pembacaan modul-modul

masukan, mengeksekusi program aplikasi kendali dan diakhiri dengan meng-update modul-modul

keluarannya. Instruksi yang dapat dieksekusi oleh sistem operasi PLC minimum tersebut dapat berupa

fungsi kombinasional, sekuensial, pewaktu, dan pencacah. Selain itu, PLC minimum tersebut dapat

berkomunikasi dengan divais lain (komputer) melalui RS232 secara asinkron untuk melakukan

download, upload dan monitor PLC.

Kata Kunci : Programmable Logic Controller (PLC), mikrokontroler AT89S52, sistem kontrol

I. Pendahuluan

Industrialisasi adalah sektor penting

dalam kehidupan manusia. Hampir semua

kebutuhan manusia tidak dapat lepas dari

proses yang terjadi di industri. Salah satu cara

untuk meningkatkan hasil produksi di

industri-industri adalah dengan terus mengembangkan

sistem pengendalian proses produksi tersebut.

Seiring perkembangan yang terjadi di bidang

elektronika melahirkan teknologi sistem

pengendali Programmable Logic Controller

(PLC) yang mampu melakukan pengendalian

secara diskrit dan analog, memiliki kemudahan

dalam pemrograman dan handal untuk

digunakan sebagai basis sistem otomasi di

industri-industri.

PLC (Programmable Logic

Controller) atau kendali logika terprogram

merupakan suatu piranti elektronik yang

dirancang untuk dapat beroperasi secara digital

dengan menggunakan memori sebagai media

penyimpanan instruksi-instruksi internal untuk

menjalankan fungsi-fungsi logika, seperti

fungsi pencacah, fungsi urutan proses, fungsi

waktu, fungsi aritmatika dan fungsi yang

lainnya dengan cara memprogramnya.

Program-program yang telah dibuat kemudian

dimasukkan dalam PLC melalui

programmer/monitor. Pembuatan program

dapat digunakan melalui komputer sehingga

dapat mempercepat hasil pekerjaan. Fungsi

lain pada PLC adalah dapat digunakan untuk

memonitor jalannya proses pengendalian yang

sedang berlangsung, sehingga dapat dengan

mudah dikenali urutan kerja (work squence)

proses pengendalian yang terjadi

1

.

II.Perancangan Sistem Minimum

PLC

2.1 Komponen Utama Penyusun Sistem

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

1.

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.

(5)

Gambar 1 Bagian-bagian PLC

Modul input/output adalah interface

antara PLC dengan divais eksternal. Interface

ini mengkonversi sinyal yang diterimanya dari

divais eksternal menjadi sinyal logic 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

2

.

2.2 Spesifikasi sistem minimum PLC

Sistem PLC ini dibuat dengan

perangkat keras yang memiliki fasilitas

minimun beserta perangkat lunak sistem

operasi yang ditanamkan pada mikrokontroler

sehingga memfungsikan mikrokontroler

tersebut sebagai PLC. Selain itu juga dibuat

program konversi dari diagram ladder menjadi

suatu format data yang dapat dimengerti oleh

sistem operasi tersebut. Pembuatan perangkat

lunak diagram Ladder untuk memprogram

PLC dibuat sendiri dengan menggunakan

bahasa pemrograman Visual Basic 6. Diagram

blok sistem PLC yang akan dibangun dapat

dilihat pada gambar 2.

Spesifikasi sistem minimum PLC

yang akan dibuat adalah :

1.

PLC dapat diprogram dengan diagram

ladder. Program yang akan ditanamkan ke

PLC tersebut selanjutya disebut dengan

program aplikasi kontrol. Program

aplikasi ini nantinya dapat di downloading

ke PLC dan juga dapat di uploading dari

PLC ke komputer melalui komunikasi

serial RS232 secara asinkron UART

(Universal Asynchronous Receiver

/Transmitter).

2.

Selama PLC diaktifkan atau dalam

keadaan RUN komputer dapat mengakses

data-data masukan atau keluaran dan

variabel proses melalui komunikasi

UART.

3. PLC ini terdiri dari 8 masukan digital, 8

keluaran digital, 1 saluran masukan

analog, tampilan LCD dan 1 port

komunikasi serial RS232.

Gambar 2 Rancangan sistem PLC

2.3 Rancang Bangun Perangkat Keras

Jenis mikrokontroler yang

difungsikan sebagai PLC pada sistem ini

adalah mikrokontroler Atmel AT89S52. Ada

beberapa alasan yang mendasari penggunaan

mikrokontroler ini diantaranya

3

:

• Adanya downloadable flash memory 8 KB

• Adanya satu timer tambahan.

• Harganya yang tergolong murah

• Mudah didapat dipasaran

2.3.1 Komunikasi Serial RS232

Untuk berkomunikasi dengan divais

luar melalui komunikasi RS232, digunakan

port 3.0 sebagai penerima data (RXD) dan port

3.1 sebagai pengirim data (TXD). Tegangan

pada mikrokontroler untuk standar digitalnya

adalah +5V dan 0V, standar ini bukan level

TTL yang menjadi standar komunikasi serial

RS232, maka Integreted Circuit (IC) Maxim

232 digunakan untuk mengubahnya menjadi

level TTL RS232. Port serial pada

mikrokontroler AT89S52 bersifat full duplex

artinya pengiriman dan penerimaan data dapat

dilakukan secara bersamaan.

2.3.2 Port Masukan Digital

Saluran masukan PLC pada sistem ini

menggunakan port 0 pada mikrokontroler

AT89S52. Karakteristik yang dimilikinya

adalah input digital dengan tegangan masukan

kurang dari 5VDC adalah logika 0 dan lebih

dari 5VDC berlogika 1 (aktif high)

Pengalamatan port masukan

mengunakan standar yang didapat pada buku

Programmable Logic Controller karya Frank

D. Petruzella, seperti dapat dilihat pada tabel

1

4

.

(6)

2.3.3 Port keluaran digital

Saluran keluaran digital PLC

menggunakan port 2 pada mikrokontroler

AT89S52. Untuk mengatur keluaran yang

diinginkan, pada port keluaran ini digunakan

IC 74HC573 sebagai latch yang berfungsi

untuk mengatur keluaran dari PLC. Pengaturan

latch ini dilakukan melalui port 3.3 dari

mikrokontroler, apabila dikirimkan sinyal high

maka data dari port 2 akan masuk ke port

keluaran, ketika dikirimkan sinyal low maka

IC tersebut akan menyimpan data terakhir

yang masuk ke port keluaran (latch).

Pengalamatan port keluaran dapat

dilihat pada tabel 2. Karakteristik dari port

keluaran adalah keluaran tegangan 5 VDC

4

Tabel 2 Pengalamatan port keluaran

2.3.4 Tampilan LCD

Pada PLC ini terdapat port yang

digunakan untuk menampilkan data melalui

LCD, port yang digunakan adalah port 2 dari

mikrokontroler, yang pengaturan

penggunaannya diatur melalui port 3.7. Pada

sistem tampilan LCD ini digunakan IC

74LS245 sebagai buffer yang mengatur arah

data yang masuk ke LCD. Tampilan LCD ini

bisa dipergunakan untuk menampilkan

berbagai parameter yang sedang dioperasikan

oleh PLC dengan cara memprogramnya,

sehingga bisa diketahui berbagai variabel yang

diinginkan.

2.4 Rancang Bangun Perangkat Lunak

Sistem operasi yang dibuat dan akan

ditanam ke mikrokontroler AT89S52 ini

berfungsi untuk mengatur cara kerja PLC atau

dengan kata lain memfungsikan

mikrokontroler AT89S52 sebagai PLC.

Pemrograman sistem operasi ini akan ditulis

dengan bahasa Assembler. Secara umum

algoritma sistem operasi yang akan dibuat

dapat dilihat pada gambar 7.

2.4.1 Prosedur utama

Prosedur ini adalah prosedur yang

dijalankan oleh mikrokontroler pertama kali,

Prosedur ini dinamakan program utama yang

akan menjalankan fungsi utama sistem operasi.

Prosedur ini akan menjalankan satu persatu

instruksi dari program aplikasi Berikut

prosedur utama untuk masing-masing

instruksinya

5

.

o LOAD

Instruksi ini akan membaca data register I/O

sesuai dengan parameternya dan

menyimpannya dalam stack. Format data

untuk instruksi ini adalah 00 diikuti dengan

alamat I/O yang akan diakses, contoh

001001.

o LOADNOT

Instruksi ini akan membaca data register I/O

sesuai dengan parameternya, di-XOR dengan

1 dan menyimpannya dalam stack. Format

data untuk instruksi ini adalah 01 diikuti

dengan alamat I/O yang akan diakses,

contoh 011002.

o AND

Instruksi ini akan membaca isi stack dan

di-AND-kan dengan data register I/O sesuai

dengan parameternya kemudian disimpan ke

stack kembali. Format data untuk instruksi

ini adalah 02 diikuti dengan alamat I/O yang

akan diakses, contoh 021002.

o ANDNOT

Instruksi ini akan membaca isi stack, isi

stack ini di-AND-kan dengan hasil data

register I/O di-XOR dengan 1, kemudian

disimpan ke stack kembali. Format data

untuk instruksi ini adalah 03 diikuti dengan

alamat I/O yang akan diakses, contoh

031002.

o OR

Instruksi ini akan membaca isi stack dan

di-OR-kan dengan data register I/O sesuai

dengan parameternya kemudian disimpan ke

stack kembali. Format data untuk instruksi

ini adalah 04 diikuti dengan alamat I/O yang

akan diakses, contoh 041002

o ORNOT

Instruksi ini akan membaca isi stack, isi

stack ini di-OR-kan dengan hasil dari data

register I/O di-XOR dengan 1, kemudian

disimpan ke stack kembali. Format data

untuk instruksi ini adalah 05 diikuti dengan

alamat I/O yang akan diakses, contoh

051002.

o ORLOAD

Instruksi ini akan membaca data stack

sebelumnya dan di-OR-kan dengan data

stack sekarang kemudian disimpan kembali

(7)

kedalam stack. Format data untuk instruksi

ini adalah 06 tanpa parameter.

Gambar 7 Algoritma Power-ON Ready (POR) PLC

o ANDLOAD

Instruksi ini akan membaca data stack

sebelumnya dan di-AND-kan dengan data

stack sekarang kemudian disimpan kembali

kedalam stack. Format data untuk instruksi

ini adalah 07 tanpa parameter.

o ST

Instruksi ini akan membaca data dari stack

dan diberikan ke register output sesuai

dengan parameternya. Format data untuk

instruksi ini adalah 08 diikuti dengan alamat

I/O yang akan diakses, contoh 081002.

o STNOT

Instruksi ini akan membaca data dari stack

dan di-XOR-kan dengan 1 kemudian

diberikan ke register output sesuai dengan

parameternya. Format data untuk instruksi

ini adalah 09 diikuti dengan alamat I/O yang

akan diakses, contoh 091002.

2.5 Cara Kerja Sistem

Untuk menjalankan sistem PLC ini,

terlebih dahulu sistem harus terkoneksi dengan

PC(Personal Computer) atau divais lain

melalui komunikasi serial. Adapun langkah

untuk memprogram PLC tersebut adalah

sebagai berikut:

o

Downloading Program Aplikasi Kontrol

Langkah pertama adalah menanamkan

program aplikasi kedalam PLC, yang dapat

dijalankan saat PLC dalam mode standby.

Komunikasi ini dilakukan dengan cara

mengirim karakter ‘w’ (write) yang diikuiti

dengan deretan instruksi-instruksi program

aplikasi dan diakhiri dengan karakter ‘@’

sebagai tanda akhir dari program aplikasi.

Deretan instruksi-instruksi yang dikirim

akan disimpan didalam memori

mikrokontroler.

o

Uploading Program Aplikasi Kontrol

Komunikasi ini untuk mendapatkan

instruksi-instruksi pada program aplikasi

yang ada di memori PLC, yang dapat

dijalankan saat PLC dalam mode RUN.

Komunikasi ini dilakukan dengan cara

mengirim karakter ‘r’ (read) ke PLC,

selanjutnya PLC akan mengirimkan semua

instruksi yang tersimpan didalam memori

sehingga user bisa mengetahui program

yang ditanamkan didalam mikrokontroler.

o Pembacaan status I/O

Komunikasi ini untuk memonitor status

input atau output PLC, yang dapat

dijalankan saat PLC pada mode RUN.

Komunikasi ini dilakukan dengan cara

mengirim karakter ‘m’ (monitor) ke PLC,

sehingga bisa diketahui status input dan

output pada program aplikasi yang sedang

dijalankan.

III. Hasil dan Pembahasan

Berikut adalah gambar rancangan

minimum PLC dengan fitur delapan buah input

digital, delapan buah output digital dan

tampilan LCD.

Gambar 8 PLC minimum

Pada Gambar 8 diperlihatkan salah

satu program ladder yang diaplikasikan pada

sistem minimum PLC. Aplikasi tersebut

merupakan aplikasi sederhana dengan dua

masukan dan satu keluaran.

(8)

Pada contoh aplikasi tersebut terlihat

masukan yang digunakan adalah input 0 yang

bersifat normally open dengan kode 1000,

sedangkan masukan yang kedua menggunakan

input 1 yang bersifat normally close dengan

kode 1001. Kedua masukan ini dihubungkan

dengan operator and. Hasil dari penggabungan

kedua input ini dihubungkan dengan keluaran

0 dengan kode 0000.

Sebelum dikirimkan ke dalam PLC,

program ladder tersebut dikonversi ke dalam

format heksa terlebih dahulu. Dalam bentuk

heksa, program ladder tersebut akan terlihat

sebagai berikut

001000021001080000@.

00 merupakan format heksa yang akan

me-load (normally open) masukan dengan alamat

1000, kemudian 02 merupakan representasi

dari logika and antara masukan sebelumnya

(1000) dengan masukan berikutnya (1001).

Hasil operasi kedua masukan akan menjadi

keluaran untuk alamat 0000, 08 merupakan

kode yang diartikan sebagai keluaran dari

PLC.

Tabel 3 hasil uji ladder logika and sistem minimum PLC

IN0 IN1 OUT0 0 0 0 0 1 0 1 0 1 1 1 0

Pada uji logika tersebut nilai dari IN0

dan IN1 diubah-ubah, perubahan keempat

input ini menyebabkan perubahan OUT0,

perubahan tersebut dapat dilihat pada Tabel 3

diatas.

IV. Kesimpulan dan Saran

Berdasarkan hasil rancang bangun

dan ujicoba sistem minimum PLC yang

diimplementasikan, terdapat beberapa hal yang

dapat disimpulkan, antara lain:

a. Untuk mengimplementasikan PLC tidak

diperlukan perangkat-perangkat yang

mahal, semua perangkat atau komponen

yang diperlukan mudah didapat di pasar.

b. Sistem operasi PLC yang dibuat telah

mengakomodasi fungsi-fungsi AND, OR,

dan XOR..

c.

PLC yang diimplementasikan tidak

memiliki port input dan output serta

register yang banyak walaupun

sebenarnya masih terdapat port-port

pararel yang tidak digunakan pada

mikrokontroler AT89S52. Hal ini

dikarenakan keterbatasan kapasitas flash

memory.

d. Tidak adanya proteksi terhadap pengiriman

instruksi tidak dikenal menyebabkan crash

pada PLC jika mengirimkan karakter

selain instruksi lewat hyperterminal.

V. Daftar Pustaka

[1]

HTTP://www.NEMA.Org

[2]

HTTP://www.plcs.net

[3]

Moh. Ibnu Malik, ST. Belajar

Mikrokontroler Atmel AT89S52.Gava

Media Yogyakarta. 2003

[4]

Frank D Petruzella, Programmable

Logic Controller, McGraw Hill .USA.

1998

[5]

OMRON. Programmable Controllers

Operation Manual, OMRON

Electronics Pte.Ltd. 2002

[6]

ATMEL. Datasheet AT89S52

[7]

Dallas

Semiconductor.

Datasheet

Maxim

[8]

Pari Vallal Kannan, Micrprocessor

Design Project Training. University of

(9)

Super Programmable Logic Controller T100MD-888+

Gun Gun Gumilar

1)

dan Khairurrijal

2)

Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Teknologi Bandung

Jalan Ganesa 10, Bandung 40132

1)

E-mail: gun@planck.fi.itb.ac.id

2)

E-mail: krijal@fi.itb.ac.id

Abstrak – Salah satu jenis peralatan kontrol

otomatis yang saat ini banyak digunakan

adalah PLC (Programmable Logic

Controller). Dengan adanya PLC maka segala

proses kontrol yang semula dirasa cukup rumit

dapat tertangani dengan lebih baik secara

otomatis. Aplikasi PLC sendiri saat ini tidak

hanya terbatas pada dunia industri saja, tetapi

juga sudah merambah ke berbagai bidang

yang lain seperti kesehatan, pertanian bahkan

sampai pada peralatan kebutuhan sehari-hari.

Jenis PLC yang dibahas pada essai ini adalah

Super PLC tipe T100MD-888+ yang

diproduksi oleh Triangle Research Inc.

Pemaparan mengenai Super PLC ini

mencakup karakteristik, sistem I/O, cara kerja,

bahasa yang dipergunakan sampai beberapa

aplikasi sederhana.

Kata Kunci: Programmable Logic Controller

(PLC), Super PLC.

1. PENDAHULUAN

PLC (Programmable Logic Controller) atau

kendali logika terprogram merupakan suatu

piranti elektronik yang dirancang untuk dapat

beroperasi secara digital dengan menggunakan

memori sebagai media penyimpanan

instruksi-instruksi internal untuk menjalankan

fungsi-fungsi logika, seperti fungsi-fungsi pencacah, fungsi-fungsi

urutan proses, fungsi waktu, fungsi aritmatika

dan fungsi yang lainnya dengan cara

memprogramnya. Program-program yang

telah dibuat kemudian dimasukkan dalam PLC

melalui programmer/monitor. Pembuatan

program dapat digunakan melalui komputer

sehingga dapat mempercepat hasil pekerjaan.

Fungsi lain pada PLC adalah dapat digunakan

untuk memonitor jalannya proses pengendalian

yang sedang berlangsung, sehingga dapat

dengan mudah dikenali urutan kerja (work

squence) proses pengendalian yang terjadi

Salah satu jenis PLC yang tergolong sebagai

keluaran terbaru adalah Super PLC jenis

T100MD-888+. PLC jenis ini dikeluarkan oleh

Triangle Research International, Inc. Berikut

dipaparkan tentang Super PLC T100MD-888+.

2. SUPER PLC T100MD-888+

2.1. Komponen Utama Penyusun SUPER

PLC T100MD-888+

Dalam Super PLC T100MD-888+ terdapat 4

(empat) komponen utama sebagai penyusun

sistem keseluruhan, yaitu :

1. Central Prossesing Unit (CPU), merupakan

otak dari Super PLC yang terdiri dari 3

bagian :

a. Mikroprosesor, merupakan otak dari Super

PLC yang difungsikan untuk operasi

matematika dan operasi logika.

b. Memori, merupakan daerah CPU yang

digunakan untuk melakukan proses

penyimpanan dan pengiriman data pada

Super PLC.

c. Catu daya, berfungsi untuk mengubah

sumber masukan tegangan bolak-balik

menjadi tegangan searah.

2. Programmer/Monitor

3. Input/Output modules

4. Rak dan chasis

Hubungan bagian utama dari Super PLC

tersebut dapat dilihat pada Gambar 1 berikut

ini

(10)

2.2. Karakteristik

Salah satu jenis PLC yang tergolong sebagai

keluaran terbaru adalah Super PLC jenis

T100MD-888+. PLC jenis ini memiliki

beberapa karakteristik sebagai berikut

[2]

:

1. 8 saluran input analog 10 bit.

2. 2 saluran output analog 8 bit.

3. 2 saluran Programmable Motion

Controllers untuk mengatur gerak motor

stepper hingga 20.000 pulsa per detik.

4. 2 saluran output PWM (Pulse Width

Modulated).

5. 2 saluran HSC (High Speed Counters) 32

bit yang bisa menghitung hingga

mencapai 10.000 Hz.

6. 4 saluran input untuk interrupt

7. 2 saluran pengukuran pulsa masukan

untuk mengukur frekuensi dan lebar pulsa

dari pulsa yang datang hingga 10.000 Hz.

8. Real time clock/calendar untuk

memprogram aksi ON/OFF yang telah

dijadwalkan.

9. Program memori EEPROM 16 bit (6016

karakter), yang bisa diperbesar hingga

8190 karakter dengan menggunakan

IC-M2018P.

10. EEPROM yang bisa diprogram sebanyak

1700 karakter untuk data pengguna, bisa

diperbesar hingga 7750 karakter dengan

IC-M2018P.

11. Terdapat 16 sambungan komputasi PID

yang menjadikan PLC jenis ini dapat

secara langsung memberikan kontrol PID

secara digital untuk proses otomatisasi.

12. Sambungan port RS232 untuk koneksi

dengan PC guna pemrograman atau

pemantauan.

13. Sambungan port RS485 untuk networking

atau koneksi dengan piranti lain di luar

PLC seperti layar LCD dan RS485

berdasarkan I/O cards analog.

14. Memiliki protokol standar industri, baik

port serial RS232 maupun RS485 yang

secara berkesinambungan mendukung

komunikasi beberapa protokol, seperti :

i) Native ASCII based Host Link

Commands

ii) MODBUS RTU

iii) MODBUS ASCII

iv) OMRON C20H Host Link Commands.

15. Watch-Dog Timer (WDT) yang akan

me-reset PLC jika CPU tidak berfungsi karena

kesalahan hardware atau software. Sistem

reset oleh WDT dapat ditentukan oleh

perintah STATUS (1).

Gambar keseluruhan dari PLC T100MD-888+

adalah sebagai berikut

Gambar 2, T100MD-888+ dan modul LCD [3]

2.3. Sistem I/O (Masukan dan Keluaran)

2.3.1. Masukan dan Keluaran Khusus

Empat saluran pertama dari delapan saluran

masukan ON/OFF T100MD dapat

dikonfigurasikan sebagai “special inputs”

seperti Counter dengan kecepatan tinggi,

interrupt dan pengukuran pulsa (Pulse

Measurement). Sedangkan pada pada

saluran keluaran, beberapa salurannya dapat

dikonfiguraikan sebagai PWM dan

pengontrol pulsa keluaran untuk stepper.

Jika saluran I/O khusus ini tidak digunakan

maka saluran-saluran tersebut dapat

digunakan sebagai saluran ON/OFF biasa

pada Diagram Ladder. Jika dua atau lebih

fungsi khusus menggunakan saluran I/O

yang sama maka hanya satu yang akan

bekerja pada satu waktu. Kedudukan dari

I/O khusus ini dapat dilihat pada tabel

berikut :

2.3.1.1. Masukan Khusus

Masukan khusus pada Super PLC

T100MD-888+ dapat dilihat pada Tabel 1

berikut ini

Tabel 1. Masukan Khusus

Sebuah pin yang dipergunakan sebagai

suatu masukan khusus tertentu tidak bisa

dipergunakan sebagai masukan khusus

yang lain pada saat yang bersamaan,

misalnya pin 3 tidak bisa digunakan

sebagai Counter kecepatan tinggi dan pada

(11)

saat sama berfungsi sebagai pin pengukur

pulsa.

2.3.1.2. Keluaran Khusus

Keluaran khusus pada Super PLC

T100MD-888+ dapat dilihat pada Tabel 2

berikut ini

Tabel 2 Keluaran Khusus

2.3.2. Sistem I/O Analog dan Digital

2.3.2.1. Sistem I/O Analog

Super PLC T100MD-888+ memiliki

delapan buah saluran I/O analog.

Kedelapan saluran I/O analog tersebut

menggunakan konektor DB15 yang

terletak pada sudut kiri pada Super PLC

T100MD888+. Super PLC ini

memerlukan masukan tegangan referensi

analog +5V dan ground analog pada

bagian female DB15 seperti terlihat pada

Gambar 3.

Signal Pin # A/D #1 8 A/D #2 7 A/D #3 6 A/D #4 5 A/D #5 4 A/D #6 3 A/D #7 OR D/A #1 2 A/D #8 OR D/A #2 1

Analog Ref. AVcc 13-15 Analog ground AVss 9-11

Gambar 3 saluran I/O analog

2.3.2.2. Sistem I/O Digital

Pada saluran I/O digital, terdapat delapan

buah saluran masukan dan delapan buah

saluran keluaran. Pada tiap saluran

masukan dan saluran keluaran terdapat

LED yang akan menyala apabila I/O

dipergunakan. Nyala LED ini akan sesuai

dengan posisi pin yang dipergunakan

sebagai saluran I/O. Untuk Input digital,

LED yang dipergunakan berwarna hijau

sedagkan untuk Output digital LED yang

dipergunakan berwarna merah.

[4]

2.4. Perangkat Lunak

Perangkat lunak merupakan bagian paling

penting dari T100MD-888+ karena perangkat

lunaklah yang akan mengatur kerja dari PLC

ini, tanpa adanya perangkat lunak yang

didownload ke PLC, maka PLC ini tidak akan

berkerja. Jenis perangkat lunak yang

dipergunakan adalah bahasa pemrograman

Ladder dan Tbasic. Perangkat lunak yang

digunakan untuk memprogram PLC jenis ini

adalah perangkat lunak Internet Trilogi Versi

5.3 yang dikeluarkan oleh Triangle Research

International, Inc. Seperti diberikan dalam

Gambar 4.

Gambar 4. Tampilan Perangkat Lunak Internet Trilogi Versi 5.3

Pada PLC jenis ini, diberikan fasilitas untuk

melakukan download program ataupun

monitoring terhadap kinerja sistem dengan

menggunakan sistem jaringan, sehingga ketika

pengguna ingin memasukan program atau

melihat keberjalanan sistem, tidak perlu

dilakukan dengan datang ke lokasi dimana

PLC berada, tetapi cukup mengkoneksikannya

dengan jaringan internet sehingga ia dapat

memprogram atau memantau sistem di

manapun ia berada.

Penggambaran untuk diagam ladder dikenal

simbol-simbol yang hampir sama dengan

relay-relay mekanik, yaitu :

a.

Saklar Normally Open (NO)

b.

Saklar Normally Close (NC)

(12)

Pada sistem digital dikenal beberapa tipe dasar

gerbang logika. Gerbang merupakan suatu

rangkaian dengan satu atau beberapa masukan

yang akan menghasilkan satu buah keluaran

bila diberi masukan. Gerbang logika yang

dapat diimplementasikan dengan diagram

Ladder adalah

a. Gerbang AND

b. Gerbang OR

c. Gerbang NAND (Not AND)

d. Gerbang NOR (Not OR)

e. Gerbang XOR (Exclusive OR)

f. Gerbang XNOR(Exclusive NOR)

Beberapa gerbang tersebut juga dapat

digabungkan dalam suatu rangkaian hingga

diperoleh keluaran yang diinginkan.

2.5 Cara Operasi

Langkah untuk membuat suatu aplikasi pada

Super PLC T100MD-888+ ini adalah sebagai

berikut :

a. Pertama tentukan terlebih dahulu jenis

aplikasi yang akan digunakan

b. Setelah itu, buat pemrogramannya dengan

menggunakan diagram Ladder

c. Penggunaan diagram Ladder ini cukup

mudah karena pengguna hanya cukup

memasukkan simbol-simbol yang

melambangkan suatu masukan atau

keluaran tertentu.

d. Setelah program selesai dibuat, maka

langkah selanjutnya adalah men-download

program tersebut ke PLC.

e. Apabila pada aplikasi yang dibuat

mempergunakan lebih dari satu PLC,

maka pen-download-annya pun akan

berbeda untuk tiap PLC. Tetapi dapat

dilakukan melalui satu komputer saja asal

komputer tersebut terhubung dengan

semua PLC yang dipakai.

f.

Langkah selanjutnya adalah

mengkonfigurasikan hardwarenya sesuai

dengan program yang dibuat.

g. Untuk pengontrollan alat, bisa dilakukan

melalui hardware langsung ataupun bisa

menggunakan software.

3. HASIL DAN PEMBAHASAN

Pada Gambar 5 diperlihatkan salah satu

program ladder yang diaplikasikan pada Super

PLC. Aplikasi tersebut merupakan aplikasi

sederhana untuk menyalakan LED secara

bergantian yang seolah-olah LED tersebut

berjalan.

Pada diagram tersebut, apabila user menekan

saklar start, maka diagram ladder pada baris

yang pertama akan terhubung, akibatnya relay

run akan ter-energis. Karena saklar start dan

run merupakan gerbang OR, maka meskipun

saklar start di lepas, sistem akan terus berjalan

hingga saklar stop di tekan. Relay run

terhubung dengan timer Clk0,5s, yang artinya

timer ini akan meloloskan sinyal setiap 0,5

detik sekali. Hasil keluaran dari timer ini akan

dibaca sebagai detak oleh keluaran Seq1, yang

kemudian Seq1 akan meneruskan sinyalnya

menuju setiap keluaran sesuai dengan detak

yang diberikan, dalam hal ini dari detak 1

sampai 4 detak setelah itu akan berulang lagi.

Untuk keluarann yang berupa LED, maka akan

terlihat nyala LED yang berjalan secara

bolak-balik hingga saklar stop ditekan.

LED tersebut akan menyala secara bergantian

mulai dari LED no 1 dan 8 kemudian diikuti

oleh LED no 2 dan 7 dan seterusnya dengan

selang waktu 0,5 detik. Proses ini akan

berlangsung terus hingga tombol stop di tekan.

Pada diagram ladder tersebut juga dilengkapi

dengan tombol manual, sehingga pengguna

dapat mengaktifkan sistem secara manual.

Ketika tombol manual diaktifkan, maka detak

yang dihasilkan oleh timer Clk0,5s akan

tertahan. Untuk memberikan detak pada

keluaran Seq1, dilakukan dengan menekan

tombol Step.

(13)

Selain contoh di atas, Super PLC

T100MD-888+ juga dapat diaplikasikan sebagai

pencacah (Counter) dan pada berbagai fungsi

pewaktu seperti :

a. On-Delay (penunda on)

b. Off-delay (penunda off)

c. Limited on time (pembatas waktu on)

d. Repeat Cycling (Siklus pengulangan)

e. Sistem dengan penekanan tombol jenis

pushbutton.

f.

Dan lain-lain

4. RINGKASAN

PLC (Programmable Logic Controller)

merupakan sebuah alat kontrol yang

dipergunakan sebagai alat kontrol otomatis,

sehingga dapat meningkatkan jumlah hasil

produksi secara efektif dan efisien. Saat ini

penggunaan PLC tidak hanya terbatas pada

dunia industri saja tetapi juga sudah

diaplikasikan pada alat kedokteran,

alat-alat rumah tangga, dll.

Salah satu jenis PLC yang merupakan seri

keluaran terbaru adalah super PLC, beberapa

kelebihan Super PLC T100MD-888+ ini

adalah :

• Fleksibel (keluwesan)

• Deteksi dan koreksi kesalahan lebih

mudah

• Harga relatif murah

• Pengamatan visual (visual observation)

• Kecepatan operasi (speed of operation)

• Implementasi proyek lebih singkat

• Lebih sederhana dan mudah dalam

penggunaannya, memodifikasi lebih

mudah tanpa tambahan biaya.

• Dokumentasi mudah.

Di samping kelebihan tersebut, Super PLC

tersebut kurang cocok untuk proses seperti

pada lingkungan panas dan vibrasi yang tinggi.

DAFTAR PUSTAKA

[1] M. Budiyanto dan A. Wijaya, “Pengenalan

Dasar-dasar PLC (Programmable Logic

Controller) Disertai Contoh Aplikasinya”,

Gava Media, Yogyakarta, 2003

[2] Anonim, “User Manual Super

Programmable Controllers”, Triangle

Research International, Inc., USA, 2003.

[3] http://scmstore.com/english/PLC/

SCMT100/MD888/info.htm

[4] www.flexibleautomation.co.nz/triplc/

mdseries.htm

(14)

Aplikasi Mikrokontroler MCS-51 dalam Percobaan Bandul untuk Penentuan

Nilai Gravitasi Bumi

Yanuar Syapaat, Suryadi, Heri Permadi, Gun Gun Gumilar, dan Khairurrijal*)

Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Teknologi Bandung

Jalan Ganesha 10, Bandung, Indonesia, 40132

*E-mail: krijal@itb.ac.id

Abstrak

Mikrokontroler dapat dianalogikan dengan komputer berukuran kecil atau biasa disebut minikomputer. Layaknya

sebuah komputer yang memiliki posesor, memori, port input untuk mouse, port output untuk printer, layar dll.

mikrokontroler juga mempunyai fitur yang sama tetapi berukuran sangat kecil bila dibandingkan komputer.

Mikrokontroler AT89S52 merupakan salah satu jenis dari mikrokoktroler MCS-51 yang mempunyai 8 Kbyte sistem

flash memori sehingga kemampuan baca tulis program bisa mencapai 1000 kali, 32 pin I/O dan dengan kelebihan

lain, mikrokontroler ini dapat digunakan dalam berbagai fungsi. Dan pada percobaan kali ini, mikrokontroler ini

digunakan untuk menghitung nilai gravitasi dari percobaan bandul. Sensor inframerah digunakan sebagai

pendeteksi gerak bandul dan sinyal sensor tersebut dimasukan kedalam mikrokontrole. Sinyal yang masuk

diidentifikasi sebagai interupsi pada mikrokontroler yang di program untuk mengenali bahwa waktu antara dua

sinyal dari sensor sebagai perioda bandul. Perumusan matematis percobaan bandul menyatakan adanya hubungan

antara besar perioda, panjang tali dan nilai gravitasi, oleh karena itu nilai gravitasi dapat dihitung kemudian.

Pengolahan data mempergunakan ms excel yang mengolah data hasil akusisi dari hyperteminal. Percobaan ini

diharapkan dapat menunjukkan bahwa pengamatan fenomena fisika bukanlah sesuatu hal yang sangat sulit. Oleh

karena itu pembuatan alat-alat ini sangat cocok untuk lab fisika di sekolah-sekolah ataupun perguruan tinggi dan

akan sangat membantu pembelajaran fisika.

Katakunci : Mikrokontroler, AT89S52, Program, bandul, Gravitasi

I. PENDAHULUAN

Sampai saat ini fisika masih

dianggap suatu hal yang sulit baik secara

teori maupun secara praktek, fisika

dianggap sekumpulan rumus yang tidak

dapat diaplikasikan dalam kehidupan

sehari-hari, percobaan-percobaanya

dianggap sesuatu hal yang sulit

dilakukan dan dengan biaya yang mahal.

fisika dengan peralatan yang kita

dimiliki apa adanya, percobaan fisika

dapat divariasikan agar terlihat lebih

mudah. Contohnya pada penentuan nilai

percepatan gravitasi bumi dengan

percoban bandul. Osilasi bandul

digantungkan pada ketinggian tertentu

kemudian diamati periodanya. Dari

osilasi kemudian didapatkan perioda,

yang digunakan dalam perhitungan

untuk mendapatkan nilai percepatan

gravitasi bumi.

Dengan adanya mikrokontroler maka

fenomena fisika dapat diotomatisasi

termasuk percobaan penentuan nilai

gravitasi bumi. Osilasi bandul di deteksi

oleh sensor dan kemudian datanya

dikirim ke mikrokontroler yang

diprogram untuk menghitung periode

dari osilasi bandul tersebut.

Mikrokontroler yang dipergunakan

(15)

merupakan keluarga MCS-51 yaitu

mikrokontroler AT89S52 yang

diproduksi oleh Atmel, mikrokontroler

ini mempunyai beberapa kelebihan

diantaranya harganya yang relatif murah.

II.

TEORI PENENTUAN NILAI

GRAVITASI

MENGGUNAKAN METODA

PERCOBAN BANDUL

Dalam fisika (mekanika), besaran

percepatan gravitasi g dapat ditentukan

dengan berbagai metode, diantaranya

osilasi bandul, pegas, dan osilasi zat cair

dalam pipa. Pada bandul yang berosilasi,

diperoleh periode osilasi T sebagai

fungsi panjang tali l . Fungsi ini dapat

dinyatakan dalam persamaan :

1

)

Pers.1.Perioda Bandul

Gbr.1. Ilustrasi Percobaan

Dari persamaan diatas apabila

panjang tali, dan peridoe osilasi bandul

diketahui maka dapat dihitung nilai

percepatan gravitasi bumi sehingga

persamaanya dapat diubah menjadi :

g = 4π

2

l/T

2

Pers.2. Percepatan Gravitasi Bumi

dimana :

g = percepatan gravitasi bumi

(meter/detik

2

)

l = panjang tali (meter)

T = peroioda osilasi bandul

Π = konstanta 3,14

III.

PEMROGRAMAN PADA

MIKROKONTROLER

l

a

c

Gbr.2.Perida Bandul

b

Perioda atau waktu getar (T) adalah

selang waktu yang diperlukan untuk

melakukan satu getaran lengkap(satuan

detik)

3

), atau dengan kata lain waktu

yang diperlukan oleh bandul (Gbr.2.)

untuk menempuh perjalanan dari b ke c

kemudian ke b lagi, atau dari b ke a

kemudian ke b lagi. Pergerakan bandul

ini dideteksi oleh sensor

infrared-phodioda.

Gbr.3.Sensor Infrared-Photodioda

Transmitter memancarkan

gelombang inframerah yang selalu

(16)

diletakkan di antara pergerakan bandul,

tetapi apabila bandul melintas diantara

sensor ini maka sinyal dari infrared

terpotong sehingga menyebabkan

perubahan kondisi pada photodioda.

Perubahan inilah yang dideteksi oleh

mikrokontroler.

Sensor ditempatkan di antar lintasan

b, satu periode bandul berarti sensor

menangkap sinyal pada titik b sebanyak

dua kali, dan pada mikrokontroler di

definisikan satu kali sensor menangkap

sinyal sebagai satu interupt yang berarti

dua kali intrupt adalah satu periode

bandul tersebut.

Sehingga diagram alirnya dapat

digambarkan sebagai berikut :

Gbr.4. Diagram Alir Program

Dapat dilihat di atas bahwa perioda

didefinisikan sebagai waktu antara

terjadinya dua kali interupt. Pada

percobaan yang dilakukan Adanya

interupt ini di tandai oleh nyalanya LED

yang di pasang pada board

mikrokontroler.

IV. AKUSISI DATA

4.1 Pengambilan data dengan

Hyperterminal

Data dari mikrokontroler yang

bernilai perioda dari bandul, kemudian

dikirimkan ke computer melalui

komunikasi serial RS232, dan pada

computer data ditampilkan pada aplikasi

hyperterminal yang sebelumnya telah di

setting agar dapat menerima data dari

komunikasi serial sehingga

penggambilan data dapat dilihat seperti

gambar di bawah ini.

Gbr.5. Akusisi Data Dengan Hyperterminal

Data dari hyperterminal berupa

perioda osilasi badul kemudian di

pindahkan ke note pad atau langsung ke

Ms Excel yang kemudian diolah sesuai

tujuan yaitu menghitung nilai dari

percepatan gravitasi.

(17)

Data yang didapat adalah perioda

osilasi bandul data tersebut bernilai

milidetik sehingga diubah dahulu

menjadi detik, dan berdasarkan

persamaan . maka perhitungan nilai

gravitasi dapat dicari. Seperti disajikan

pada table 1.

TABEL I

PENGOLAHAN DATA DENGAN MS EXCEL

Hasil Perhitungan Nilai Gravitasi

t(ms) t(s) t^2 Nilai

Gravitasi

1935 1.935 3.74423 10.42779641 1935 1.935 3.74423 10.42779641 1937 1.937 3.75197 10.40627361 1935 1.935 3.74423 10.42779641 1934 1.934 3.74036 10.43858285 1937 1.937 3.75197 10.40627361 1935 1.935 3.74423 10.42779641 1941 1.941 3.76748 10.36342745 1935 1.935 3.74423 10.42779641 1935 1.935 3.74423 10.42779641 1936 1.936 3.7481 10.41702667 1936 1.936 3.7481 10.41702667 1936 1.936 3.7481 10.41702667 1927 1.927 3.71333 10.51455877 1934 1.934 3.74036 10.43858285 1936 1.936 3.7481 10.41702667 1934 1.934 3.74036 10.43858285 1930 1.93 3.7249 10.48189643 1936 1.936 3.7481 10.41702667 1936 1.936 3.7481 10.41702667 1840 1.84 3.3856 11.53237713 1952 1.952 3.8103 10.24695562 1911 1.911 3.65192 10.69136381

Perhitungan sederhana ini dilakukan

pada aplikasi Ms Excel dengan

formulasi sesuai persamaan di atas.

V. DISKUSI

Mikrokontroler diprogram agar dapat

mengamati nilai dari periode osilasi

bandul sebaik mungkin, dalam program

telah di perkirakan bahwa eror yang

terjadi hanyalan satu milidetik, tetapi

pada kenyataanya nilai yang di dapat

berbeda dengan referensi.

Hasil nilai rata-rata nilai percepatan

gravitasi yang diperoleh adalah 10,47

m/s

2

berbeda dengan referensi yaitu

sebesar 9,8 m/s

2

.

Banyak faktor yang mempengaruhi

dari keakuratan data yang diperoleh,

mulai dari faktor lingkungan sampai

faktor pada alat itu sendiri. Faktor

lingkungan yang mempengaruhi

diantaranya kemiringan dari lantai,

getaran-getaran yang terjadi ketika

percobaan dan sebagainya. Keakuratan

data juga dipengaruhi oleh alat dan cara

percobaan, misalkan ayunan bandul

yang tidak sempurna sehingga

simpangan yang terjadi tidak selurus

yang diinginkan, selain itu besarnya

bandul yang digunakan, sensor

mendeteksi bandul ketika bandul

tersebut melewati sensor, apabila sisi

bandul tersebut cukup besar maka sensor

akan langsung mendeteksinya dan ketika

badul tersebut kembali maka sisi

sebaliknya sensor akan mendeteksi

sehingga pendeteksian bandul tidak tepat

di tengah-tengah pusat massa.

Tetapi penggunaan mikrokontroler

ini merupakan suatu bukti bahwa

fenomena fisika dapat kita variasikan

dengan kemampuan kita yang lain

sehingga dapat dilakukan lebih mudah.

(18)

VI. KESIMPULAN

Mikrokontroler AT89S52 yang

merupakan mikrokontroler keluarga

ATMEL dapat diaplikasikan dalam

berbagai bidang, salah satunya dalam

fenomena fisika penentuan nilai

percepatan gravitasi dengan percobaan

bandul. Mikrokontoler menerima sinyal

dari sensor yang di program agar dapat

mendeteksi setiap perioda bandul setiap

dua kali pengiriman sinyal dari sensor.

Data kemudian diolah dengan Ms Excel

sehingga didapatkan nilai dari

percepatan gravitasi, dan dari percobaan

ini didapat nilai percepatan gravitasi

sebesar +- 10,4 m/s2. tentu saja nilai

yang di dapat memiliki perbedaan

dengan nilai referensi yaitu sebesar 9,8

m/s2 dikarenakan berbagai faktor yaitu,

delay dari pemrograman, pantulan sinar

sendor dari bandul, keadaan lingkungan

dan berbagai faktor lainnya. Tetapi pada

intinya percobaan ini menjadi menarik

karena ternyata fenomena fisika dapat di

otomatisasi sehingga memudahkan kita

dalam melakukan pengamatannya.

VII.

REFERENSI

[1] Khairurrijal, M. Miftahul Munir,

Asep Suhendi, Hendrayana Thaha,

Suryadi ”DIKTAT

MIKROKONTROLER MCS-51”, 2007.

[2] Eko Afgianto, ”Belajar

mikrokontroller AT89C51/52/55, Teori

dan Aplikasi” Andi, Yoyakarta, 2005.

[3] Data Sheet mikrokontroller

AT89C51/52/55

[4]http://www.saburchill.com/physics/pr

acticals/006.html

(19)

(20)

Sistem Operasi PLC Minimum

ORG 00H ACALL INIT CLR P3.7 SETB P3.3 MOV P2,#00000000B START: JNB RI,START MOV P2,#00000000B ACALL TERIMA MOV R0,#30H MOV R1,#20H CJNE A,#'w',BACA ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Sub Rutin Penyimpanan Data (Upload)

SIMPAN: CLR A ACALL TERIMA MOV @R0,A INC R0 CJNE A,#'@',SIMPAN SJMP START ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BACA: CJNE A,#'r',MONITOR BACA2: CLR A MOV A,@R0 INC R0 ;~~~~~~~~~~~~~~~~~~~~~~~ ACALL KIRIM ;~~~~~~~~~~~~~~~~~~~~~~~ CJNE A,#'@',BACA2 SJMP START ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Sub Rutin Aktivasi PLC

MONITOR: CJNE A,#'m',START CLR A MONITOR1: MOV R0,#30H MOV R1,#20H CLR A CLR C MONITOR2: MOV R2,#2H MOV R3,#3H CJNE A,#'@',MONITOR3 JB RI,START SJMP MONITOR1 MONITOR3: CLR A MOV A,@R0 CJNE A,#'@',LANJUT JB RI,START

(21)

LANJUT: INC R0 DJNZ R2,MONITOR3 ACALL AKSI SJMP MONITOR2 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Sub Rutin Hubungan Antar Elemen

AKSI: LOAD: CJNE A,#'0',LOAD_NOT ACALL PILIH_PORT CLR A RLC A MOV @R1,A ;INC R1 RET LOAD_NOT: CJNE A,#'1',AND_ ACALL PILIH_PORT CLR A CPL C RLC A MOV @R1,A ;INC R1 RET AND_: CJNE A,#'2',AND_NOT ACALL PILIH_PORT ;DEC R1 CLR A RLC A ANL A,@R1 MOV @R1,A RET AND_NOT: CJNE A,#'3',OR_ ACALL PILIH_PORT ;DEC R1 CLR A CPL C RLC A ANL A,@R1 MOV @R1,A RET OR_: CJNE A,#'4',OR_NOT ACALL PILIH_PORT ;DEC R1 CLR A RLC A ORL A,@R1 MOV @R1,A RET OR_NOT: CJNE A,#'5',ST ACALL PILIH_PORT ;DEC R1

(22)

CLR A CPL C RLC A ORL A,@R1 MOV @R1,A RET ST: CJNE A,#'8',ST_NOT CLR A ;MOV A.@R1 ;RRC A ACALL TERUS_OUT RET ST_NOT: CJNE A,#'9',ULANG_AKSI CLR A MOV A,@R1 RRC A CPL C RLC A MOV @R1,A ACALL TERUS_OUT RET ULANG_AKSI: RET ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Sub Rutin Pemilihan Port Masukan

PILIH_PORT: CLR A MOV A,@R0 CJNE A,#'@',TERUS_IN RET TERUS_IN: CJNE A,#'1',PORT_OUT_TERUS INC R0 PORT_IN: CLR A MOV A,@R0 INC R0 DJNZ R3,PORT_IN PORT_IN0: CJNE A,#'0',PORT_IN1 MOV C,P0.0 RET ;~~~~~~~~~~~~~~~~~~~~~~~~~ PORT_OUT_TERUS: LJMP PORT_OUT ;~~~~~~~~~~~~~~~~~~~~~~~~~ PORT_IN1: CJNE A,#'1',PORT_IN2 MOV C,P0.1 RET PORT_IN2: CJNE A,#'2',PORT_IN3 MOV C,P0.2

(23)

PORT_IN3: CJNE A,#'3',PORT_IN4 MOV C,P0.3 RET PORT_IN4: CJNE A,#'4',PORT_IN5 MOV C,P0.4 RET PORT_IN5: CJNE A,#'5',PORT_IN6 MOV C,P0.5 RET PORT_IN6: CJNE A,#'6',PORT_IN7 MOV C,P0.6 RET PORT_IN7: MOV C,P0.7 RET ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Sub Rutin Pemilihan Port Keluaran

PORT_OUT: INC R0 TERUS_OUT: CLR A MOV A,@R0 INC R0 CJNE A,#'@',TERUS_OUT0 RET TERUS_OUT0: CJNE A,#'0',TERUS_OUT1_LANJUT TERUS_OUT2: CLR A MOV A,@R0 INC R0 DJNZ R3,TERUS_OUT2 PORT_OUT0: CJNE A,#'0',PORT_OUT1 MOV A,@R1 RRC A MOV P2.0,C RET ;~~~~~~~~~~~~~~~~~~~~~~~~ TERUS_OUT1_LANJUT: LJMP TERUS_OUT1 ;~~~~~~~~~~~~~~~~~~~~~~~~ PORT_OUT1: CJNE A,#'1',PORT_OUT2 MOV A,@R1 RRC A MOV P2.1,C RET PORT_OUT2:

(24)

CJNE A,#'2',PORT_OUT3 MOV A,@R1 RRC A MOV P2.2,C RET PORT_OUT3: CJNE A,#'3',PORT_OUT4 MOV A,@R1 RRC A MOV P2.3,C RET PORT_OUT4: CJNE A,#'4',PORT_OUT5 MOV A,@R1 RRC A MOV P2.4,C RET PORT_OUT5: CJNE A,#'5',PORT_OUT6 MOV A,@R1 RRC A MOV P2.5,C RET PORT_OUT6: CJNE A,#'6',PORT_OUT7 MOV A,@R1 RRC A MOV P2.6,C RET PORT_OUT7: MOV A,@R1 RRC A MOV P2.7,C RET TERUS_OUT1: LJMP AKSI ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Sub Rutin Komunikasi Serial

INIT: MOV SCON,#50H MOV A,PCON SETB ACC.7 MOV PCON,A MOV TMOD,#20H MOV TH1,#0FDH SETB TR1 RET TERIMA:

JNB RI,$ ;cek masukan CLR RI ;Ri di nolkan supaya bisa menerima karakter baru

MOV A,SBUF ;pindahkan karakter ke akumulator RET

KIRIM:

(25)

CLR TI RET END

(26)

Ladder Programming

Private Sub CmdConvert_Click()

For i = 0 To 48 n = 2 * i m = 2 * i + 1

If LD1(n).Tag <> "normal" Then If LD1(n).Tag = "input1" Then LD1(n).Tag = "normal" If txtTanda.Text = "0" Then txtTanda.Text = "1"

TxtConvert.Text = TxtConvert.Text & "00" & NmKomp1(n).Text ElseIf txtTanda.Text = "1" Then

TxtConvert.Text = TxtConvert.Text & "02" & NmKomp1(n).Text End If

ElseIf LD1(n).Tag = "input2" Then LD1(n).Tag = "normal" If txtTanda.Text = "0" Then txtTanda.Text = "1"

TxtConvert.Text = TxtConvert.Text & "01" & NmKomp1(n).Text ElseIf txtTanda.Text = "1" Then

TxtConvert.Text = TxtConvert.Text & "03" & NmKomp1(n).Text End If

ElseIf LD1(n).Tag = "output1" Then LD1(n).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "08" & NmKomp1(n).Text txtTanda.Text = "0"

ElseIf LD1(n).Tag = "output2" Then LD1(n).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "09" & NmKomp1(n).Text txtTanda.Text = "0"

End If End If

If LD1(n + 1).Tag = "normal2_1" Then If LD1(n + 2).Tag = "input1" Then LD1(n + 2).Tag = "normal" If txtTanda.Text = "0" Then txtTanda.Text = "1"

TxtConvert.Text = TxtConvert.Text & "00" & NmKomp1(n + 2).Text If LD1(n + 16).Tag = "input1" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "04" & NmKomp1(n + 16).Text ElseIf LD1(n + 16).Tag = "input2" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "05" & NmKomp1(n + 16).Text End If

ElseIf txtTanda.Text = "1" Then

TxtConvert.Text = TxtConvert.Text & "02" & NmKomp1(n + 2).Text If LD1(n + 16).Tag = "input1" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "04" & NmKomp1(n + 16).Text ElseIf LD1(n + 16).Tag = "input2" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "05" & NmKomp1(n + 16).Text End If

End If

ElseIf LD1(n + 2).Tag = "input2" Then LD1(n + 2).Tag = "normal" If txtTanda.Text = "0" Then txtTanda.Text = "1"

TxtConvert.Text = TxtConvert.Text & "01" & NmKomp1(n + 2).Text If LD1(n + 16).Tag = "input1" Then

(27)

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "05" & NmKomp1(n + 16).Text End If

ElseIf txtTanda.Text = "1" Then

TxtConvert.Text = TxtConvert.Text & "03" & NmKomp1(n + 2).Text If LD1(n + 16).Tag = "input1" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "04" & NmKomp1(n + 16).Text ElseIf LD1(n + 16).Tag = "input2" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "05" & NmKomp1(n + 16).Text End If

End If

ElseIf LD1(n + 2).Tag = "output1" Then LD1(n + 2).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "08" & NmKomp1(n + 2).Text If LD1(n + 16).Tag = "output1" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "08" & NmKomp1(n + 16).Text ElseIf LD1(n + 16).Tag = "output2" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "09" & NmKomp1(n + 16).Text End If

ElseIf LD1(n + 2).Tag = "output2" Then LD1(n + 2).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "09" & NmKomp1(n + 2).Text If LD1(n + 16).Tag = "output1" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "08" & NmKomp1(n + 16).Text ElseIf LD1(n + 16).Tag = "output2" Then

LD1(n + 16).Tag = "normal"

TxtConvert.Text = TxtConvert.Text & "09" & NmKomp1(n + 16).Text End If

End If End If Next i End Sub

Private Sub CmdKomponen0_Click() For i = 0 To 48

n = 2 * i

If n <> 12 And n <> 26 And n <> 40 And n <> 54 And n <> 68 And n <> 82 And n <> 96 Then If LD1(n).Tag = "fokus" Then

If n > 0 Then

If LD1(n - 1).Tag <> "normal2_2" Then Load FrmInput

FrmInput.Show 1

NmKomp1(n).Text = TxtIn.Text LD1(n).Tag = "input1"

LD1(n).Picture = LoadPicture(".\Ladder\NO.jpg") If LD1(n + 1).Tag = "normal2_2" Then

LD1(n + 2).Tag = "fokus" LD1(n + 2).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = True CmdKonektor1.Visible = False CmdKonektor2_1.Enabled = False CmdKonektor0.Enabled = True If (n + 1) = 12 Or (n + 1) = 26 Or (n + 1) = 40 Or (n + 1) = 54 Or (n + 1) = 68 Or (n + 1) = 82 Or (n + 1) = 96 Then CmdKomponen2.Enabled = True CmdKomponen3.Enabled = True End If Else LD1(n + 1).Tag = "fokus"

(28)

LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = False CmdKonektor1.Visible = True CmdKonektor2_1.Enabled = True CmdKonektor1.Enabled = True End If End If

If LD1(n - 1).Tag = "normal1" Then CmdKonektor5.Enabled = True CmdKonektor2_1.Enabled = False CmdKonektor0.Enabled = False CmdKonektor1.Enabled = False End If ElseIf n = 0 Then Load FrmInput FrmInput.Show 1 NmKomp1(n).Text = TxtIn.Text LD1(n).Tag = "input1" LD1(n).Picture = LoadPicture(".\Ladder\NO.jpg") LD1(n + 1).Tag = "fokus" LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor1.Visible = True CmdKonektor0.Visible = False CmdKonektor2_1.Enabled = True CmdKonektor1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False End If End If End If CmdKomponen0.Enabled = False CmdKomponen1.Enabled = False Next i End Sub

Private Sub CmdKomponen1_Click() For i = 0 To 48

n = 2 * i

If n <> 12 And n <> 26 And n <> 40 And n <> 54 And n <> 68 And n <> 82 And n <> 96 Then If LD1(n).Tag = "fokus" Then

If n > 0 Then

If LD1(n - 1).Tag <> "normal2_2" Then Load FrmInput

FrmInput.Show 1

NmKomp1(n).Text = TxtIn.Text LD1(n).Tag = "input2"

LD1(n).Picture = LoadPicture(".\Ladder\NC.jpg") If LD1(n + 1).Tag = "normal2_2" Then

LD1(n + 2).Tag = "fokus" LD1(n + 2).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = True CmdKonektor1.Visible = False CmdKonektor2_1.Enabled = False CmdKonektor0.Enabled = True If (n + 1) = 12 Or (n + 1) = 26 Or (n + 1) = 40 Or (n + 1) = 54 Or (n + 1) = 68 Or (n + 1) = 82 Or (n + 1) = 96 Then CmdKomponen2.Enabled = True CmdKomponen3.Enabled = True End If Else LD1(n + 1).Tag = "fokus" LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = False

(29)

CmdKonektor2_1.Enabled = True CmdKonektor1.Enabled = True End If

End If

If LD1(n - 1).Tag = "normal1" Then CmdKonektor5.Enabled = True CmdKonektor2_1.Enabled = False CmdKonektor0.Enabled = False CmdKonektor1.Enabled = False End If ElseIf n = 0 Then Load FrmInput FrmInput.Show 1 NmKomp1(n).Text = TxtIn.Text LD1(n).Tag = "input2" LD1(n).Picture = LoadPicture(".\Ladder\NC.jpg") LD1(n + 1).Tag = "fokus" LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor1.Visible = True CmdKonektor0.Visible = False CmdKonektor1.Enabled = True CmdKonektor2_1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False End If End If End If CmdKomponen0.Enabled = False CmdKomponen1.Enabled = False Next i End Sub

Private Sub CmdKomponen2_Click() For i = 0 To 6

n = 14 * (i + 1) - 2

If LD1(n).Tag = "fokus" Then Load FrmOutput FrmOutput.Show 1 NmKomp1(n).Text = TxtOut.Text LD1(n).Tag = "output1" LD1(n).Picture = LoadPicture(".\Ladder\Out1.jpg") If n < 82 Then p = n + 15 m = n + 2 For j = 0 To 11 m = m + 1

If LD1(m).Tag <> "" Then Exit For Next j

End If

If LD1(n - 1).Tag = "normal1" Then LD1(n - 14).Tag = "fokus"

LD1(n - 14).Picture = LoadPicture(".\Ladder\focus.jpg") ElseIf LD1(m).Tag <> "" And n < 82 Then

If LD1(p).Tag <> "end" Then LD1(n + 15).Tag = "normal" LD1(n + 16).Tag = "fokus" LD1(n + 16).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = True CmdKonektor1.Visible = False CmdKonektor0.Enabled = True CmdKomponen0.Enabled = True CmdKomponen1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False End If

(30)

ElseIf LD1(n + 1).Tag = "normal" And LD1(m).Tag = "" Then LD1(n + 2).Tag = "fokus" LD1(n + 2).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = True CmdKonektor1.Visible = False CmdKonektor0.Enabled = True CmdKomponen0.Enabled = True CmdKomponen1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False End If End If Next i End Sub

Private Sub CmdKomponen3_Click() For i = 0 To 6

n = 14 * (i + 1) - 2

If LD1(n).Tag = "fokus" Then Load FrmOutput FrmOutput.Show 1 NmKomp1(n).Text = TxtOut.Text LD1(n).Tag = "output2" LD1(n).Picture = LoadPicture(".\Ladder\Out2.jpg") If n < 82 Then p = n + 15 m = n + 2 For j = 0 To 11 If m < 97 Then m = m + 1

If LD1(m).Tag <> "" Then Exit For End If

Next j End If

If LD1(n - 1).Tag = "normal1" Then LD1(n - 14).Tag = "fokus"

LD1(n - 14).Picture = LoadPicture(".\Ladder\focus.jpg") ElseIf LD1(m).Tag <> "" And n < 82 Then

If LD1(p).Tag <> "end" Then LD1(n + 15).Tag = "normal" LD1(n + 16).Tag = "fokus" LD1(n + 16).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = True CmdKonektor1.Visible = False CmdKonektor0.Enabled = True CmdKomponen0.Enabled = True CmdKomponen1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False End If

ElseIf LD1(n + 1).Tag = "normal" And LD1(m).Tag = "" Then LD1(n + 2).Tag = "fokus" LD1(n + 2).Picture = LoadPicture(".\Ladder\focus.jpg") CmdKonektor0.Visible = True CmdKonektor1.Visible = False CmdKonektor0.Enabled = True CmdKomponen0.Enabled = True CmdKomponen1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False End If End If Next i End Sub

(31)

Private Sub CmdKonektor0_Click() For i = 0 To 47

n = 2 * i

If LD1(n).Tag = "fokus" Then

If n <> 12 And n <> 26 And n <> 40 And n <> 54 And n <> 68 And n <> 82 And n <> 96 Then LD1(n).Tag = "normal" LD1(n).Picture = LoadPicture(".\Ladder\Con1.jpg") LD1(n + 1).Tag = "fokus" LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") End If If n = 12 Or n = 26 Or n = 40 Or n = 54 Or n = 68 Or n = 82 Or n = 96 Then CmdKonektor0.Enabled = False CmdKonektor1.Enabled = False Else CmdKonektor1.Enabled = True End If End If Next i CmdKonektor0.Visible = False CmdKonektor1.Visible = True CmdKomponen0.Enabled = False CmdKomponen1.Enabled = False CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False CmdKonektor2_1.Enabled = True End Sub

Private Sub CmdKonektor1_Click() For i = 0 To 47

n = 2 * i + 1

If LD1(n).Tag = "fokus" Then

If n <> 13 And n <> 27 And n <> 41 And n <> 55 And n <> 69 And n <> 83 And n <> 97 Then LD1(n).Tag = "normal" LD1(n).Picture = LoadPicture(".\Ladder\Con1.jpg") LD1(n + 1).Tag = "fokus" LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") ElseIf n = 13 Or n = 27 Or n = 41 Or n = 55 Or n = 69 Or n = 83 Or n = 97 Then LD1(n).Tag = "normal" LD1(n).Picture = LoadPicture(".\Ladder\blank.jpg") LD1(n + 1).Tag = "fokus" LD1(n + 1).Picture = LoadPicture(".\Ladder\focus.jpg") End If If n = 11 Or n = 25 Or n = 39 Or n = 53 Or n = 67 Or n = 81 Or n = 95 Then CmdKomponen0.Enabled = False CmdKomponen1.Enabled = False CmdKomponen2.Enabled = True CmdKomponen3.Enabled = True CmdKonektor0.Enabled = False Else CmdKomponen0.Enabled = True CmdKomponen1.Enabled = True CmdKomponen2.Enabled = False CmdKomponen3.Enabled = False CmdKonektor0.Enabled = True End If End If CmdKonektor2_1.Enabled = False CmdKonektor1.Visible = False CmdKonektor0.Visible = True CmdKonektor1.Enabled = False Next i End Sub

Private Sub CmdKonektor2_1_Click() For i = 0 To 40

Gambar

Gambar 2 Rancangan sistem PLC
Gambar 8 PLC minimum
Gambar 1.  Skematik Super PLC T100MD-888+
Gambar keseluruhan dari PLC T100MD-888+
+3

Referensi

Dokumen terkait

Dua segitiga akan kongruen jika dua sudut pada segitiga pertama sama besar dengan dua sudut yang bersesuaian pada segitiga kedua, dan sisi yang merupakan kaki

Pada kesempatan ini diucapkan terima kasih yang sebesar-besarnya kepada Bapak Prof.Dr.Ir.I Made Alit Karyawan Salain,DEA selaku Ketua Program Studi Teknik Sipil

19) menyusun laporan dalam rangka audit komunikasi sebagai ketua; 20) menyusun konsep pengembangan sistem informasi dan kehumasan; 21) menyusun konsep strategi pelayanan

Pada tabel 1.1, dapat dilihat bahwa sebagian mahasiswa asrama sebagai mahasiswa baru mengalami kesulitan dalam memenuhi tuntutan pada lingkungan sosial asrama dan

Kesimpulan dari penelitian ini adalah ekspresi protein P13K dan P53 terhadap prediksi respon radioterapi diperoleh nilai IRS P13K pada respon radioterapi baik lebih

Menanamkan rasa malu, misalnya dengan membiasakan anak untuk ganti baju di tempat tertutup; Menanamkan jiwa maskulinitas pada anak laki-laki dan jiwa feminitas

Tiga kombinasi perlakuan terbaik adalah kombinasi isolat Par1-Cv + Gl1BuA4 (Pf berasal dari rizosfir Pisang Cavendish dataran rendah) dengan FMA (berasal dari rizosfir Pisang Buai

a) Berdasarkan hasil observasi, maka motivasi belajar mahasiswa pada siklus II yang paling tinggi adalah aspek minat mencapai 25,97%. Kemudian pada aspek perhatian siswa