Upload
uther-lightbringer
View
274
Download
14
Embed Size (px)
Citation preview
100
BAB VI PEMBUATAN PROGRAM APLIKASI PLC
PENDAHULUAN
Pada bagian ini akan dibahas contoh-contoh aplikasi kontrol dengan
menggunakan salah satu jenis PLC yaitu PLC Omron. Hal ini dilakukan supaya
pembahasan lebih terfokus, dan mengingat bahwa program antara PLC yang satu
dengan yang lain hampir sama.
Pada bagian ini akan dibahas struktur memori PLC Omron, serta perancangan
dan pembuatan program aplikasi PLC. Setelah mempelajari bagian ini, mahasiswa
diharapkan dapat membuat program aplikasi dengan fungsi/instruksi dasar dan
menengah.
6.1 STRUKTUR MEMORI PLC OMRON Pengenalan terhadap struktur memori suatu PLC sangat diperlukan, agar supaya
dapat menggunakannya dengan tepat susuai dengan fungsinya masing-masing. Pada
PLC Omron CPM1, terdapat beberapa memori yang memiliki fungsi-fungsi khusus.
Masing-masing lokasi memori memiliki ukuran 16-bit atau 1 word, beberapa word
membentuk daerah atau region dan masing-masing region inilah yang memiliki fungsi-
fungsi khusus.
Tidak seperti mikrokontroler, yang hanya mendefenisikan sebagian dari fungsi-
fungsi memorinya, pada PLC, semua bagian memori didefenisikan fungsinya secara
khusus. Selain itu, dalam PLC semua lokasi memori dapat dialamati per-bit, atau
dengan kata lain dapat diakses per-bit atau bit addressable. Tabel 6.1 memperlihatkan
Data Area PLC Omron CPM1.
Daerah IR
Bagian memori ini digunakan untuk mmenyimpan status keluaran dan masukan
PLC. Beberapa bit berhubungan langsung dengan terminal masukan (input) dan
keluaran (output). Daerah memori IR terbagi atas tiga macam area, yaitu area masukan
(input area), area keluaran (output area), dan area kerja (work area). Untuk mengakses
memori ini, cukup dengan menuliskan angkanya saja, 000 untuk masukan, 010 untuk
keluaran, dan 200 untuk memori kerja. Tabel 6.2 memperlihatkan terminal unit CPU
yang digunakan untuk input/output eksternal dari beberapa model PLC CPM1.
101
Tabel 6.1. Data Area PLC Omron CPM1
Tabel 6.2. IR Area PLC CPM1 yang dihunbungkan dengan terminal unit CPU
Daerah SR
Daerah SR merupakan bagian khusus dari lokasi memori yang digunakan
sebagai bit-bit kontrol dan status (flag), paling sering digunakan untuk pencacah dan
interupsi. Misalnya, SR253.13 (atau 253.13 saja) adalah Always ON Flag atau nilainya
selalu ON selama PLC dihidupkan, sedangkan SR253.14 (atau 253.14 saja) adalah
102
Always OFF Flag atau nilainya selalu OFF selama PLC dihidupkan. SR255.04 (atau
255.04 saja) digunakan sebagai Flag CARRY (CY). SR255.05, SR255.06, dan SR255.07
masing-masing digunakan untuk menyimpan status Lebih Besar Dari (Greater Than),
Sama Dengan (Equals). Dan Lebih Kecil Dari (Less Than) hasil dari fungsi
perbandingan CMP.
Daerah TR
Saat pindah ke sub-program selama eksekusi program maka semua data yang
terkait hingga batasan RETURN sub-program akan disimpan dalam daerah TR ini.
Untuk PLC CPM1A (juga CPM2A) hanya memiliki 8 bit, yaitu TR0 sampai TR7.
Daerah HR
Bit-bit pada daerah HR ini digunakan untuk menyimpan data dan tidak akan
hilang walaupun PLC sudah tidak mendapat catu daya atau PLC sudah dimatikan,
karena menggunakan baterai. Untuk PLC CPM1A (juga CPM2A), daerah ini terdiri dari
20 word (HR00 sampai HR19) atau 320 bit (HR00.00 sampai HR19.15). Bit-bit HR ini
dapat digunakan bebas di dalam program sebagaimana bit-bit kerja (work bits).
Daerah AR
Ini merupakan daerah lain yang juga digunakan untuk menyimpan bit-bit kontrol
dan status, seperti status PLC, kesalahan, waktu sistem dan lain sejenisnya. Dan seperti
daerah HR, daerah AR juga dilengkapi dengan baterai, sehingga data-data kontrol
maupun status tetap akan tersimpan walaupun PLC sudah dimatikan. Untuk PLC
CPM1A, daerah ini terdiri dari 16 word (AR00 sampai AR15) atau 256 bit (AR00.00
sampai AR15.15). Misalnya, AR08 bit 00 sampai 03 digunakan untuk menyimpan kode
kesalahan Port RS232, dengan ketentuan tiap bit:
00 – Normal,
01 – Kesalahan Paritas,
02 – Kesalahan Frame,
03 – Kesalahan Overrun.
Daerah LR
Digunakan sebagai pertukaran data saat dilakukan koneksi atau hubungan
dengan PLC yang lain. Untuk PLC CPM1A dan CPM2A, daerah ini terdiri atas 16 word
(LR00 sampai LR15) atau 256 bit (LR00.00 sampai LR15.15).
103
Daerah Pewaktu/Pencacah (Timer/Counter) – T/C Area
Daerah ini digunakan untuk menyimpan nilai-nilai pewaktu atau pencacah.
Untuk PLC CPM1A terdapat 128 lokasi (TC000 sampai TC127), sedangkan pada PLC
CPM2A terdapat 226 lokasi (TC000 sampai TC225).
Daerah DM
Berisikan data-data yang terkait dengan pengaturan komunikasi dengan
komputer dan data pada saat ada kesalahan.
6.2 INSTRUKSI-INSTRUKSI PADA PLC OMRON 1. Instruksi-instruksi Tangga (Ladder Instructions)
Instruksi-instuksi tangga adalah instruksi-instruksi yang terkait dengan kondisi-
kondisi di dalam diagram tangga. Instruksi-instruksi tangga, baik yang independen
maupun yang kombinasi atau gabungan dengan blok instruksi, akan membentuk kondisi
eksekusi. Gambar 6.1 memperlihatkan kode mnemonik, diagram tangga, dan area data
operan dari instruksi-instruksi tangga.
Gambar 6.1. Kode mnemonik, diagram tangga, dan area data operan dari instruksi-instruksi tangga.
104
a. LOAD (LD) dan LOAD NOT (LD NOT)
Kondisi pertama yang mengawali sembarang blok logika di dalam diagram
tangga berkaitan dengan instruksi LOAD (LD) atau LOAD NOT (LD NOT). Contoh
instruksi ini ditunjukkan pada gambar 6.2.
Gambar 6.2. Contoh instruksi LD dan LD NOT
b. AND dan AND NOT
Jika terdapat dua atau lebih kondisi yang dihubungkan seri pada garis instruksi
yang sama maka kondisi pertama menggunakan instruksi LD atau LD NOT, dan sisanya
menggunakan instruksi AND atau AND NOT. Gambar 6.3 menunjukkan suatu
penggalan diagram tangga yang mengandung tiga kondisi yang dihubungkan secara seri
pada garis instruksi yang sama dan berkaitan dengan instruksi LD, AND NOT, dan
AND. Masing-masing instruksi tersebut membutuhkan satu baris kode mnemonik.
Gambar 6.3. Contoh penggunaan instruksi AND dan AND NOT
c. OR dan OR NOT
Jika dua atau lebih kondisi yang dihubungkan paralel, artinya dalam garis
instruksi yang berbeda kemudian bergabung lagi dalam satu garis instruksi yang sama
maka kondisi pertama terkait dengan instruksi LD dan LD NOT dan sisanya berkaitan
dengan instruksi OR dan OR NOT. Gambar 6.4 menunjukkan tiga buah instruksi yang
105
berkaitan dengan instruksi LD NOT, OR NOT, dan OR. Masing-masing instruksi
tersebut membutuhkan satu baris kode mnemonik.
Gambar 6.4. Contoh penggunaan instruksi OR dan OR NOT
d. Kombinasi instruksi AND dan OR
Jika instruksi AND dan OR digabung atau dikombinasikan dalam suatu
rangkaian tangga yang kompleks maka bisa dipandang satu persatu, artinya bisa dilihat
masing-masing hasil gabungan dua kondisi menggunakan instruksi AND atau OR
secara sendiri-sendiri kemudian menggabungkannya menjadi satu kondisi menggunakan
instruksi AND atau OR yang terakhir. Gambar 6.5 menunjukkan contoh diagram tangga
yang mengimplentasikan cara seperti tersebut di atas.
Gambar 6.5. Contoh penggabungan instruksi AND dan OR
106
2. Instruksi-instruksi Blok Logika
Instruksi-instuksi blok logika tidak berhubungan dengan suatu kondisi tertentu
pada diagram tangga, melainkan untuk menyatakan hubungan antar blok-blok logik,
misalnya instruksi AND LD akan meng-AND-logik-kan kondisi eksekusi yang
dihasilkan oleh dua blok logik, demikian juga dengan OR LD untuk meng-OR-logik-
kan kondisi eksekusi yang dihasilkan dua blok logik.
a. AND LOAD (AND LD)
Gambar VI-6 menunjukkan contoh penggunaan blok logik AND LD yang terdiri
atas dua blok logik, yang akan menghasilkan kondisi ON jika blok logik kiri dalam
kondisi ON (salah satu dari IR000.00 atau IR000.01 yang ON) dan blok logik kanan
juga dalam keadaan ON (IR000.02 dalam kondisi ON atau IR000.03 dalam kondisi
OFF).
Gambar 6.6. Contoh penggunaan instruksi blok logika AND LD
b. OR LOAD (OR LD)
Instruksi ini digunakan untuk meng-OR-logik-kan dua blok logika. Gambar 6.7
menunjukkan contoh penggunaan blok logik OR LD yang terdiri atas dua blok logik.
Kondisi eksekusi ON akan dihasilkan jika blok logik atas atau blok logik bawah dalam
kondisi ON. Artinya, IR000.00 dan kondisi ON dan IR000.01 dalam kondisi OFF atau
IR000.02 dan IR000.03 dalam kondisi ON).
107
Gambar 6.7. Contoh penggunaan instruksi blok logika OR LD
Untuk membuat kode mnemonik diagram tangga yang kompleks, caranya
dengan cara membagi membagi diagram tersebut ke dalam blok-blok logik yang besar,
kemudian membagi lagi blok yang besar tersebut menjadi blok-blok logik yang lebih
kecil, demikian seterusnya hingga tidak perlu lagi dibuat blok yang lebih kecil lagi.
Blok-blok ini kemudian masing-masing dikodekan, mulai dari yang kecil, dan
digabungkan satu per satu hingga membentuk diagram tangga yang asli. Instruksi blok
logik AND LD dan OR LD hanya digunakan untuk menggabungkan dua blok logik
saja (blok logik yang digabungkan berupa hasil penggabungan sebelumnya, atau hanya
sebuah kondisi tunggal). Gambar 6.8 memperlihatkan suatu contoh diagram tangga
yang kompleks, yang dapat dibagi dua blok besar (blok A dan B). Blok A dapat dibagi
lagi menjadi dua blok yang lebih kecil (blok A1 dan A2), dan blok B dibagi menjadi
dua blok yang lebih kecil, yaitu blok B1 dan B2. Kemudian blok-blok logik yang kecil
ini ditulis terlebih dahulu, diawali dengan menuliskan blok A1 (alamat 00000 dan
00001) dan blok A2 (alamat 00002 dan 00003), kemudian digabung menggunakan
instruksi blok logik OR LD (alamat 00004). Selanjutnya blok B1 dituliskan (alamat
00005 dan 00006) dilanjutkan dengan blok B2 (alamat 00007 dan 00008) dan digabung
dengan instruksi blok logik OR LD (alamat 00009). Hasilnya berupa blok A dan blok B
yang kemudian juga digabung menggunakan blok logik AND LD (alamat 00010).
108
Gambar 6.8. Contoh diagram tangga yang kompleks
3. Instruksi Kontrol Bit
Terdapat tujuh instruksi dasar yang dapat digunakan untuk mengontrol status bit
secara individual, yaitu OUTPUT, OUTPUT NOT, SET, RESET, DIFFERENTIATE
UP (DIFU), DIFFERENTIATE DOWN (DIFD), dan KEEP. Semua instruksi ini
dituliskan di sisi paling kanan diagram tangga dan membutuhkan sebuah alamat bit
sebagai operan. Selain instruksi-instruksi ini digunakan untuk membuat bit-bit keluaran
ON atau OFF dalam area IR (ke piranti eksternal), mereka juga digunakan untuk
mengontrol bit-bit lainnya.
a. Instruksi OUTPUT (OUT) dan OUTPUT NOT (OUT NOT)
Instruksi ini digunakan untuk mengontrol operan yang berkaitan dengan kondisi
eksekusi (apakah ON atau OFF). Dengan menggunakan instruksi OUT, maka bit operan
akan menjadi ON jika kondisi eksekusinya juga ON, sedangkan OUT NOT akan
menyebabkan bit operan menjadi ON jika kondisi eksekusinya OFF. Gambar 6.9
memperlihatkan simbol tangga dan area data operan dari instruksi OUT dan OUT NOT,
sedangkan Gambar 6.10 memperlihatkan contoh implementasi kedua instruksi tersebut.
109
Gambar 6.9. Simbol tangga dan area data operan instruksi OUT dan OUT NOT
Gambar 6.10. Contoh penggunaan instruksi OUT dan OUT NOT
b. SET dan RESET
Instruksi SET dan RESET hampir sama dengan instruksi OUTPUT dan
OUTPUT NOT, hanya saja instruksi SET dan RESET ini mengubah kondisi status bit
operan saat kondisi eksekusinya ON. Kedua instruksi ini tidak akan mengubah kondisi
status bit jika kondisi eksekusinya OFF. Instruksi SET akan meng-ON-kan bit operan
saat kondisi eksekusinya ON, tetapi tidak seperti instruksi OUT, SET tidak akan meng-
OFF-kan bit operan walaupun kondisi eksekusinya sudah menjadi OFF (setelah ON).
Sedangkan instruksi RESET akan meng-OFF-kan bit operan saat kondisi eksekusinya
ON, tetapi tidak seperti instruksi OUT NOT, RESET tidak akan meng-ON-kan bit
operan walaupun kondisi eksekusinya sudah OFF (setelah ON).
Gambar 6.11 memperlihatkan simbol tangga dan area data operan dari instruksi
SET dan RESET, sedangkan Gambar 6.12 memperlihatkan contoh penggunaan kedua
instruksi tersebut di atas. Pada diagram tangga tersebut, IR200.00 akan ON jika kondisi
IR001.00 ON dan akan terus ON tidak tergantung kondisi IR001.00 selanjutnya, hingga
kondisi IR001.01 menjadi ON sehingga me-RESET IR200.00 (menjadi OFF).
Gambar 6.11. Simbol tangga dan area data operan instruksi SET dan RESET
110
Gambar 6.12. Contoh penggunaan instruksi SET dan RESET
c. DIFFERENTIATE UP (DIFU) dan DIFFERENTIATE DOWN (DIFD)
Instruksi DIFU dan DIFD digunakan untuk meng-ON-kan bit operan hanya satu
siklus saja, atau dengan kata lain hanya sesaat saja. Instruksi DIFU digunakan untuk
meng-ON-kan bit operan sesaat saja (hanya satu silus) saat terjadi transisi kondisi
eksekusi dari OFF ke ON. Sedangkan instruksi DIFD digunakan untuk tujuan yang
sama dengan DIFU, tetapi pada saat terjadi transisi kondisi eksekusi dari ON ke OFF
(kebalikan transisinya DIFU).
Gambar 6.13 memperlihatkan simbol tangga dan area data operan dari instruksi
DIFU dan DIFD, sedangkan Gambar 6.14 memperlihatkan diagram tangga sederhana
yang menggunakan instruksi DIFU dan DIFD. Pada diagram tangga tersebut, IR200.01
akan ON untuk satu siklus (sesaat), jika terjadi transisi perubahan kondisi eksekusi pada
IR000.00 dari OFF menjadi ON. Saat DIFU(13) 200.01 dikerjakan lagi untuk siklus
berikutnya, IR200.01 tetap akan OFF (tidak tergantung lagi pada status IR000.00).
IR200.02 akan ON untuk satu siklus saja jika terjadi transisi perubahan kondisi eksekusi
pada IR000.01 dari ON menjadi OFF. Saat DIFD(14)200.02 dikerjakan lagi untuk
siklus berikutnya, IR200.02 akan tetap OFF (tidak tergantung lagi status IR000.01).
Gambar 6.13. Simbol tangga dan area data operan dari instruksi DIFU dan DIFD
Gambar 6.14. Contoh penggunaan instruksi DIFU dan DIFD
111
d. Instruksi KEEP
Instruksi KEEP digunakan untuk menyimpan status suatu bit operan berbasis
pada dua kondisi eksekusi. Untuk keperluan ini, instruksi KEEP dihubungkan ke dua
garis instruksi. Garis instruksi pertama digunakan untuk meng-ON-kan bit operan,
sedangkan garis instruksi kedua digunakan untuk meng-OFF-kan bit operan, hal
tersebut akan terjadi jika kondisi eksekusi pada garis instruksi yang terkait ON. Bit
operan instruksi KEEP akan dijaga ON atau OFF-nya walaupun ada di dalam bagian
diagram yang mengandung INTERLOCK.
Gambar 6.15 memperlihatkan simbol tangga dan area data operan dari instruksi
KEEP, sedangkan Gambar 6.16 memperlihatkan contoh diagram tangga yang
menggunakan instruksi KEEP. HR00.00 akan ON saat IR000.02 dalam kondisi ON dan
IR000.03 dalam kondisi OFF, HR00.00 akan tetap ON hingga IR000.04 atau IR000.05
dalam kondisi ON. Karena instruksi ini memerlukan lebih dari satu garis instruksi maka
garis-garis instruksi dikodekan terlebih dahulu (alamat 00000 sampai 00003) sebelum
menuliskan instruksi KEEP-nya (alamat 00004).
Gambar 6.15. Simbol tangga dan area data operan dari instruksi KEEP
Gambar 6.16. Contoh penggunaan instruksi KEEP(11)
Dalam merancang suatu program diagram tangga, untuk membuat program lebih
efektif, ada dua hal yang perlu diperhatikan dan dapat dimanfaatkan, yaitu:
Bit-bit Penyimpan (Self-maintained)
Walaupun instruksi KEEP dapat digunakan untuk membuat bit-bit yang bisa
menahan sendiri, kadangkala dibutuhkan membuat bit-bit yang bisa menahan sendiri
112
dengan cara yang lain, sehingga bit-bit tersebut bisa di-OFF-kan pada bagian program
yang mengandung INTERLOCK. Untuk membuat bit-bit tersebut, bit operan suatu
instruksi OUT dibuat sebagai suatu kondisi untuk OUT yang sama dalam suatu bentuk
penggabungan OR, sehingga bit operan OUT akan tetap ON atau OFF hingga muncul
perubahan kondisi pada bit-bit yang lain.
Sebagai contoh, kita bisa mengubah diagram tangga pada Gambar 6.16 (yang
menggunakan instruksi KEEP) dengan menghilangkan instruksi KEEP tersebut dan
meletakkan bit operan OUT ke suatu garis instruksi tersendiri yang kemudian digabung
dengan OR. Hasilnya ditunjukkan pada Gambar 6.17.
Gambar 6.17. Contoh diagram tangga yang menggunakan bit penyimpan
Bit-bit Kerja (Work Bits) atau Relai Internal
Dalam pemrograman diagram tangga, mengkombinasikan kondisi-kondisi untuk
secara langsung menghasilkan kondisi eksekusi seringkali sulit dilakukan. Kesulitan ini
dapat ditangani dengan cara menggunakan beberapa bit untuk memicu instruksi lain
secara tidak langsung. Bit-bit I/O dan bit-bit terdedikasi lainnya tidak dapat digunakan
sebagai bit-bit kerja. Semua bit-bit yang ada di dalam area IR yang tidak dialokasikan
untuk I/O dan bebarapa bit yang tidak digunakan dalam area AR, dapat digunakan
sebagai bit-bit kerja.
Bit-bit kerja biasanya sering digunakan bersama-sama dengan instruksi-instruksi
OUT, OUT NOT, DIFU, DIFD, dan KEEP. Bit kerja pertama kali langsung digunakan
oleh instruksi-instruksi tersebut sebagai bit operan sehingga kemudian bisa digunakan
sebagai kondisi yang akan menentukan instruksi-instruksi lainnya. Bit-bit kerja dapat
digunakan untuk menyederhanakan diagram tangga pada saat suatu kombinasi kondisi
perlu diulang-ulang di beberapa bagian dalam diagram tangga yang bersangkutan.
113
4. Instruksi END
Instruksi END merupakan instruksi terakhir yang harus dituliskan atau
digambarkan dalam diagram tangga. CPU pada PLC akan mengerjakan semua instruksi
dalam program dari awal (baris pertama) sampai ditemui instruksi END yang pertama,
sebelum kembali lagi mengerjakan instruksi dalam program dari awal (artinya instruksi-
instruksi yang ada di bawah instruksi END akan diabaikan). Instruksi END tidak
memerlukan operan dan tidak boleh diawali dengan suatu kondisi seperti pada instruksi
lainnya.
Suatu diagram tangga atau program PLC harus diakhiri dengan instruksi END,
jika tidak maka program tidak dijalankan sama sekali. Angka yang dituliskan pada
instruksi END pada kode mnemonik merupakan kode fungsinya. Gambar 6.18
memperlihatkan contoh penggunaan instruksi END.
Gambar 6.18. Contoh penggunaan instruksi END
5. Instruksi TIMER dan COUNTER
a. Instruksi TIMER (TIM)
Instruksi TIM dapat digunakan sebagai timer (pewaktu) ON-delay pada
rangkaian relai. Gambar 6.19 memperlihatkan simbol tangga dan area data operan dari
instruksi TIM. Instruksi TIM membutuhkan angka timer (N), dan nilai set (SV) antara
0000 sampai 9999 (artinya 000,0 sampai 999,9 detik).
Gambar 6.19. Simbol tangga dan area data operan dari instruksi TIMER (TIM)
114
Instruksi untuk Timer Kecepatan Tinggi (High speed Timer) adalah TIMH.
TIMH membutuhkan angka timer (N), dan nilai set (SV) antara 0000 sampai 9999
(artinya 00,00 sampai 99,99 detik). Gambar 6.20 memperlihatkan simbol tangga dan
area data operan dari instruksi TIMH.
Gambar 6.20. Simbol tangga dan area data operan dari instruksi TIMH b. Instruksi COUNTER (CNT)
CNT yang digunakan di sini adalah counter penurunan yang diset awal.
Penurunan satu hitungan setiap kali saat sebuah sinyal berubah dari OFF ke ON.
Counter harus diprogram dengan input hitung, input reset, angka counter, dan nilai set
(SV) Nilai set ini adalah 0000 smpai 9999. Gambar 6.21 memperlihatkan simbol tangga
dan area data operan dari instruksi CNT.
Gambar 6.21. Simbol tangga dan area data operan dari instruksi COUNTER (CNT) Instruksi untuk Reversible Counter adalah CNTR. CNTR(12) adalah reversible,
up/down circular counter, sehingga bisa dipakai untuk menghitung antara nol dan SV
[set value] tergantung dari dua masukan, apakah increment pada input (II) atau
decrement pada input (DI). Nilai saat itu (PV) akan naik satu jika input II mendapat
masukan ON kemudian OFF, dan akan turun satu jika input DI mendapat masukan ON
kemudian OFF. Jika keduanya mendapatkan masukan bersama maka nilai saat itu tidak
berubah.. Jika nilai saat itu 0000 dan mendapat masukan turun maka nilai saat itu akan
115
berubah ke nilai set value SV dan Completion Flag akan ON, jika nilai saat itu melebihi
SV maka PV akan menjadi 0000. CNTR(12) akan reset [nilai saat itu menjadi nol] jika
input reset R berubah dari OFF ke ON. PV tidak akan naik/turun selama R ON
kemudian akan menghitung lagi jika R OFF. nilai PV untuk CNTR(12) tidak akan
reset pada saat program interlock atau oleh karena gangguan supply. Gambar 6.22
memperlihatkan simbol tangga dan area data operan dari instruksi CNTR.
Gambar 6.22. Simbol tangga dan area data operan dari instruksi CNTR
6. Instruksi SHIFT REGISTER (SFT(10))
Instruksi SFT akan menggeser 1 bit dari suatu 16 data bit pada kanal yang
ditentukan. Meskipun instruksi ini menggeser data dalam kanal-kanal, terdapat kanal
start dan kanal end yang harus dispesifikasikan sebagai data. Jika input reset diaktifkan,
16 bit tersebut semuanya akan direset secara bersamaan. Apabila Holding Relay Area
digunakan, data tersebut akan ditahan sewaktu terjadi gangguan daya. Gambar 6.23
memperlihatkan simbol tangga dan area data operan dari instruksi SFT.
Gambar 6.23. Simbol tangga dan area data operan dari instruksi SFT. 7. Instruksi Pemindahan Data: MOVE (MOV(21))
Instruksi MOV berfungsi untuk mengkopi isi dari S (source word) ke D
(destination word). Gambar 6.24 memperlihatkan simbol tangga dan area data operan
dari instruksi MOV.
116
Gambar 6.24. Simbol tangga dan area data operan dari instruksi MOV
8. Instruksi Perbandingan: COMPARE (CMP(20))
Instruksi CMP berfungsi untuk membandingkan Cp1 dan Cp2 dan hasilnya
disimpan di flag GT (Great Than), EQ (Equals), dan LT (Less Than) pada SR area.
Gambar 6.25 memperlihatkan simbol tangga dan area data operan dari instruksi CMP.
Gambar 6.25. Simbol tangga dan area data operan dari instruksi CMP.
9. Instruksi Perhitungan BCD
a. Set Carry – STC(40)
Instruksi STC(40) menyebabkan ON pada CY (SR 25504). Gambar 6.26
memperlihatkan simbol tangga dari instruksi STC.
Gambar 6.26. Simbol tangga dari instruksi STC
b. Clear Carry – CLC(41)
Instruksi CLC(41) menyebabkan OFF pada CY (SR 25504). Gambar 6.27
memperlihatkan simbol tangga dari instruksi CLC.
Gambar 6.27. Simbol tangga dari instruksi CLC
117
c. BCD ADD – ADD(30)
Instruksi ADD(30) menjumlahkan isi Au, Ad dan CY dan hasilnya disimpan
di R. CY diset jika hasilnya lebih dari 9999. Gambar 6.28 memperlihatkan simbol
tangga dan area data operan dari instruksi ADD.
Gambar 6.28. Simbol tangga dan area data operan dari instruksi ADD
d. BCD SUBTRACT – SUB(31)
Instruksi SUB(31) mengurangi isi dari Su dan CY dari Mi dan hasilnya
ditempatkan di R. Jika hasilnya negatif maka CY di set dan komplemen 10 dari hasil
sebenarnya disimpan di R. Untuk merubah komplemen 10 ke hasil sebenarnya
kurangkan isi R dengan nol. Gambar 6.29 memperlihatkan simbol tangga dan area data
operan dari instruksi SUB.
Gambar 6.29. Simbol tangga dan area data operan dari instruksi SUB
10. Instruksi Increment/Decrement
a. BCD Increment – INC(38)
Instruksi INC bertujuan menaikkan satu isi dari Wd, tanpa berakibat pada
Carry (CY). Gambar 6.30 memperlihatkan simbol tangga dan area data operan dari
instruksi INC.
118
Gambar 6.30. Simbol tangga dan area data operan dari instruksi SUB.
b. BCD Decrement – DEC(39)
Instruksi DEC bertujuan menurunkan satu isi Wd, tanpa berakibat pada CY.
DEC(39) cara kerjanya sama dengan INC(38) tetapi pada DEC(39) turunkan satu.
Gambar 6.31 memperlihatkan simbol tangga dan area data operan dari instruksi DEC.
Gambar 6.31. Simbol tangga dan area data operan dari instruksi DEC
6.3 CONTOH-CONTOH APLIKASI PLC
Setelah kita mengetahui struktur memori dan instruksi-instruksi dari PLC
yang akan digunakan maka langkah selanjutnya adalah merancang program aplikasi dan
mengoperasikannya/menyimulasikannya. Prosedurnya dapat digambarkan dalam bentuk
diagram alir, seperti pada Gambar 6.32.
1. Pengontrolan Putaran Motor dalam Dua Arah Putaran
Deskripsi Sistem:
Sistem di-ON dan di-OFF dengan 4 push button (PB). Jika PB 1 ditekan maka
motor berputar ke kanan (clock-wise/cw) ditandai dengan bekerjanya kontaktor 1 (K1)
dan akan tetap berputar meskipun PB 1 dilepas. Motor akan OFF jika PB 2 ditekan. Jika
motor dalam keadaan OFF dan PB 3 ditekan maka motor akan berputar ke kiri (counter
clock-wise/ccw) ditandai dengan bekerjanya kontaktor 2 (K2), dan akan tetap berputar
meskipun PB 3 dilepas. Motor akan OFF jika PB 4 ditekan. Kontaktor K1 dan K2 tidak
boleh bekerja bersamaan.
Diagram rangkaian sistem relai (wired logic), diperlihatkan pada Gambar 6.33.
119
Start
Deskripsi Kontrol
Penulisan Program keDiagram Tangga
Pemrograman
Simulasi Program
ProgramBenar?
I/O disambung denganPeralatan Luar
Uji Kerja
BekerjaBenar?
Simpan Program
Kontrol Siap Kerja
END
Koreksi Kembali
Koreksi Sambungan
Ya
Ya
Tidak
Tidak
Merencanakan alamatI/O
Gambar 6.32. Diagram alir perancangan program aplikasi, dan pengoperasian PLC
120
Gambar 6.33. Rangkaian Kontrol dan Daya Pengoperasian Motor dalam Dua Arah
Putaran sistem Wired Logic.
Tabel pengalamatan dari peralatan input-output (I/O) diperlihatkan pada Tabel
6.3, dan diagram tangga (ladder diagram) dari rangkaian kontrol untuk sistem kontrol
dengan dua arah putaran dapat dibuat seperti pada Gambar 6.34 dan kode mnemonik
(statement list/STL) diperlihatkan pada Tabel 6.4.
Jika peralatan I/O tersebut dihubungkan dengan PLC maka rangkaian pengawatannya
seperti diperlihatkan pada Gambar 6.35.
Tabel 6.3. Pengalamatan peralatan I/O sistem contoh No. 1
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 Push button 1 (PB1) 010.00 Kontaktor K1
000.01 Push button 2 (PB2) 010.01 Kontaktor K2
000.02 Push button 3 (PB3)
000.03 Push button 4 (PB4)
121
Gambar 6.34. Ladder diagram pengontrolan motor dengan dua arah putaran
Tabel 6.4. Program dalam bentuk kode nemonik
2. Tundaan ON dan OFF (ON and OFF Delay)
Deskripsi Sistem:
PLC Omron memiliki pewaktu (timer) ON-delay. Tetapi dengan modifikasi
program dapat diperoleh pewaktu yang OFF-delay. Aplikasi berikut memperlihatkan
suatu sistem dengan dua output (OFF-delay dan ON-delay) yang penundaan waktunya 5
detik. Diagram pewaktuannya seperti pada Gambar 6.36, dan tabel pengalamatan I/O-
nya seperti pada Tabel 6.4. Diagram tangga dan kode mnemoniknya diperlihatkan pada
Gambar 6.37.
122
Gambar 6.35. Rangkaian pengawatan peralatan I/O dengan PLC untuk pengontrolan
motor dalam dua arah putaran.
Tabel 6.4. Pengalamatan peralatan I/O pada sistem contoh No. 2.
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Tombol Start (PB1) 010.00 (10.00) OFF-delay
000.01 (0.01) Tombol Stop (PB2) 010.01 (10.01) ON-delay
Gambar 6.36. Diagram pewaktuan sistem OFF-delay dan ON-delay
123
(a)
(b)
Gambar 6.37. Program ON/OFF-delay dengan PLC OMRON (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list)
3. Penggunaan Pewaktu (Timer) dan Pencacah (Counter)
Deskripsi Sistem:
Timer pada PLC Omron hanya dapat melakukan pewaktuan hingga 999,9 detik
saja. Bagaimana kalau dibutuhkan pewaktuan > 999,9 detik? Dalam hal ini digunakan
gabungan antara pewaktu dan pencacah. Misalnya untuk waktu 1 jam (3600 detik),
dapat dilakukan dengan pewaktu 36 detik sebanyak 100 kali, atau 360 detik sebanyak
10 kali.
124
Tabel pengalamatan I/O-nya seperti pada Tabel 6.5. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.38.
Tabel 6.5. Pengalamatan peralatan I/O pada sistem contoh No. 3.
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Tombol Start (PB1) 010.00 (10.00) Alat/Lampu
(a)
(b)
Gambar 6.38. Program dengan pewaktuan yang lebih besar dari 999,9 det. (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list)
125
4. Penggunaan Fungsi Geser (Shift) SFT(10)
Deskripsi Sistem:
PLC Omron CPM1 memiliki sebuah fungsi geser (SFT(10)) yang dapat
digunakan untuk menggeser bit-bit dalam area memori PLC yang bersangkutan. Supaya
hasil pergeseran bit (pada IR200) dapat diamati pada keluaran maka masing-masing
posisi bit dihubungkan ke bit keluaran (10.00 sampai 10.03 untuk 4 keluaran).
Tabel pengalamatan I/O-nya seperti pada Tabel 6.6. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.39.
Tabel 6.6. Pengalamatan peralatan I/O pada sistem contoh No. 4.
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Saklar Data 010.00 (10.00) Status bit 200.00
000.01 (0.01) Saklar Clock 010.01 (10.01) Status bit 200.01
000.02 (0.02) Saklar Reset 010.02 (10.02) Status bit 200.02
010.03 (10.03) Status bit 200.03
(a)
126
4(A) 2(B)
Z1 Y1
5(R) 3(S)
1(P)
S1 S2 S3 S42.01.0
1.011.02
2.022.01
1.1 2.114(Z) 12(Y)
4(A) 2(B)
Z2 Y2
5(R) 3(S)
1(P)
14(Z) 12(Y)
(b)
Gambar 6.39. Program penggunaan shift register (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list) Sistem di atas dapat diaplikasi pada sebuah sistem yang melibatkan dua silinder
yang diaktifkan oleh dua solenoid ganda (seperti pada Gambar 6.40). Rangkaian
aktivasi sekuensial Z1, Y1, Z2, Y2 (sebagai output 10.00, 10.01, 10.02, 10.03)
ditentukan oleh sensor/limit switc S1, S2, S3, dan S4 (sebagai input clock).
Gambar 6.40. Sistem dua silinder yang diaktifkan melalui solenoid ganda
127
5. Penggunaan Fungsi Timer pada Aplikasi Pengaturan Lampu Lalu Lintas
Deskripsi Sistem:
Salah satu aplikasi dari Timer adalah pengaturan lampu lalu lintas, yang terdiri
dari 3 lampu yang menyala secara bergantian. Untuk memudahkan dalam simulasi,
dimisalkan bahwa ketiga lampu tersebut menyala secara bergantian selama 5 detik.
Tabel pengalamatan I/O-nya seperti pada Tabel 6.7. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.41.
Tabel 6.7. Pengalamatan peralatan I/O pada sistem pengaturan lampu lalu-lintas
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Push Button Start/ON 010.00 (10.00) Lampu 1
000.01 (0.01) Push Button Stop/OFF 010.01 (10.01) Lampu 2
010.02 (10.02) Lampu 3
(a)
128
(b)
Gambar 6.41. Program pengaturan lampu lalu lintas (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list)
6. Penggunaan Fungsi CNT pada Aplikasi Pengepakan Apel ke dalam Box
Deskripsi Sistem:
PLC dapat digunakan untuk mengontrol proses pengepakan apel ke dalam boks
(seperti pada Gambar 6.42a). Aplikasi semacam ini digolongkan pada aplikasi
pengepakan (packing application), dan kasusnya bermacam-macam. Pada contoh
aplikasi ini, ketentuannya adalah sebagai berikut:
- Saat tombol START diaktifkan (ON) maka konveyor pembawa boks akan jalan
ON).
- Jika sensor boks (Sen_box) mendeteksi keberadaan boks maka konveyor
pembawa boks akan berhenti dan konveyor pembawa apel mulai dijalankan.
129
- Sensor apel (Sen_Apel) akan menghitung hingga 10 buah apel, kemudian
menghentikan konveyor pembawa apel (pencacah/counter apel akan direset) dan
proses dijalankan dari awal lagi, demikian seterusnya hingga tombol STOP
dipencet. Diagram pewaktuannya ditunjukkan pada Gambar 6.42b.
Tabel pengalamatan I/O-nya seperti pada Tabel 6.8. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.43.
(a)
(b) Gambar 6.42. (a). Sistem pengepakan apel ke boks (b). Diagram pewaktuan
130
Tabel 6.8. Pengalamatn peralatan I/O pada sistem pengepakan apel
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Tombol START 010.00 (10.00) Konveyor Apel
000.01 (0.01) Tombol STOP 010.01 (10.01) Konveyor Box
000.02 (0.02) Sensor Apel
000.03 (0.03) Sensor Box
(a)
(b)
Gambar 6.43. Program pengepakan apel ke dalam boks (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list)
131
7. Aplikasi Sortir Produk
Deskripsi Sistem:
Pada aplikasi ini, sistem dilengkapi oleh suatu sensor yang dapat mendeteksi
produk yang rusak, sehingga dapat dibuang dari bagian pembawa barang atau konveyor
barang. Produk yang rusak tersebut akan dibuang dari konveyor pada saat berada pada
posisi kelima setelah terdeteksi pada posisi pertama (seperti dipelihatkan pada Gambar
6.44).
Tabel pengalamatan I/O-nya seperti pada Tabel 6.9. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.45.
Tabel 6.9. Pengalamatan peralatan I/O pada sistem sortir produk
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.02 (0.02) Sensor Produk Rusak 010.00 (10.00) Mekanis Pembuang 000.03 (0.03) Pulsa DETAK
000.04 (0.04) RESET Register
Gambar 6.44. Sistem sortir produk
Pada sistem ini, fungsi shif register SFT(10) dan area data HR00 dapat digunakan. Pada
posisi 4 dari 0, produk rusak harus dibuang dengan membuka pintu buang (melalui
mekanisme pembuangan).
132
Jika ada produk rusak terdeteksi maka sensor produk rusak memberikan data 1 pada
HR00 bit pertama (HR00.00), dan pada saat bersamaan muncul pulsa Detak 000.03.
Dengan adanya funsi geser SFT(10) maka pada detak kelima atau pada saat data 1
mencapai bit kelima (HR00.04) akan mengakibatkan pintu buang 010.00 menjadi ON
atau membuka. Demikian seterusnya.
(a)
(b)
Gambar 6.45. Program sistem sortir barang (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list)
8. Aplikasi Kontrol Pintu Gudang
Deskripsi Sistem:
Gambar 6.46 memperlihatkan sebuah sistem kontrol pintu gerbang dengan
menggunakan PLC. Sebuah sensor ultrasonik digunakan untuk mendeteksi keberadaan
truk yang mendekat ke pintu gudang, sehingga pintu gudang mulai dibuka. Selanjutnya
sebuah sensor foto (fotosensor) digunakan untu mendeteksi keberadaan truk di pintu
gudang. Dengan adanya sensor-sensor tersebut, ditambah dengan saklar atas dan bawah
(yang akan digunakan untuk menghentikan motor pembuka/penutup pintu) maka sistem
pengontrolan pintu gudang tersebut akan bekerja secara otomatis.
133
Gambar 6.46. Sistem pengontrolan pintu gudang Tabel pengalamatan I/O-nya seperti pada Tabel 6.10. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.47.
Tabel 6.10. Pengalamatan peralatan I/O pada sistem pengontrolan pintu gudang
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Sensor Ultrasonik (S1) 010.00 (10.00)
Penaik Pintu
(K1) 000.01 (0.01) Sensor Fotosensor (S2)
000.02 (0.02) Saklar Batas Atas (S3) 010.01 (10.01)
Penurun Pintu
(K2) 000.03 (0.03) Saklar Batas Bawah (S4)
(a)
134
(b)
Gambar 6.47. Program sistem pengontrolan pintu gudang (a). Ladder diagram (b). Kode mnemonik, atau daftar instruksi (statement list)
9. Aplikasi Kontrol Parkir Mobil
Deskripsi Sistem:
Misalnya suatu tempat parkir yang dapat memuat 5 mobil. Sistem terdiri dari 2
sensor (sensor untuk mendeteksi mobil masuk dan keluar). Suatu sinyal akan dihasilkan
jika tempat parkir tersebut penuh. Setiap kali ada mobil masuk ke tempat parkir maka
jumlah mobil akan bertambah satu, demikian juga setiap ada mobil keluar dari tempat
parkir maka jumlah mobil akan berkurang satu. Hal ini akan dilakukan secara otomatis.
Gambar 6.48. Sistem pengontrolan tempat parkir
135
Jika jumlah mobil di tempat sudah mencapai 5 mobil (sesuai kapasitas tempat parkir
tersebut) maka akan ditampilkan indikator, bahwa ”PARKIR PENUH” (car park full),
sehingga mobil berikutnya yang akan parkir diharapkan tidak masuk lagi untuk parkir,
atau pemilik mobil yang bersangkutan mengetahui bahwa tempat parkir sudah penuh,
sehingga bisa mencari tempat parkir lainnya.
Tabel pengalamatan I/O-nya seperti pada Tabel 6.11. Diagram tangga dan kode
mnemoniknya diperlihatkan pada Gambar 6.49.
Tabel VI-11. Pengalamatan peralatan I/O pada sistem pengontrolan tempat parkir
Input Output
Pengalamatan Peralatan Pengalamatan Peralatan
000.00 (0.00) Sensor 1 (S1) 010.00 (10.00) Tanda
PARKIR PENUH 000.01 (0.01) Sensor 2 (S2)
(a)
136
(b) Gambar 6.49. Program sistem pengontrolan tempat parkir (a). Kode mnemonik, atau daftar instruksi (statement list) (b). Ladder diagram
137
Setiap kendaraan masuk, PLC akan menambah satu melalui sensor S1. Demikian juga,
setiap kendaraan keluar dikurangi satu melalui sensor S2. Hasil penambahan dan
pengurangan disimpan pada HR00 (sebagai data 1). Data 1 dibandingkan dengan data 2
(kapasitas tempat parkir) dengan menggunakan fungsi CMP(20), yang hasilnya
disimpan di flag GT, EQ dan LT pada SR area (255.05, 255.06, dan 255.07). Yang
digunakan dalam program ini adalah Greater Than (GT) Flag, dan Equals (EQ) Flag.
6.4 SOAL-SOAL LATIHAN Petunjuk:
Dalam perancangan dan pembuatan program dengan PLC dengan sistematis, ikuti
prosedur seperti pada Gambar VI-37.
1. Rancanglah sebuah program ladder diagram untuk tiap-tiap sistem yang
melaksanakan aktivitas-aktivitas seperti di bawah ini:
a. Mengaktifkan sebuah pompa ketika ketinggian air di dalam tangki naik di atas
1,2 m, dan mematikannya ketika ketinggian air turun di bawah 1,0 m.
b. Mengaktifkan sebuah pompa, dan 100 detik kemudian menyalakan sebuah
pemanas, lalu 30 detik setelahnya akan mengaktifkan motor pemutar.
2. Rancanglah sebuah program ladder diagram untuk mengontrol sebuah mesin cuci,
dengan deskripsi sistem sebagai berikut.
Pada saat sistem di-ON, sebuah pompa akan menyala selama 100 detik. Setelah
pompa tersebut OFF, sebuah pemanas akan nyala selama 50 detik. Selanjutnya,
pemanas dimatikan, dan pompa lainnya dinyalakan untuk mengosongkan air dari
dalam tabung cuci.
3. Rancanglah sebuah program ladder diagram untuk mengontrol sebuah silinder
pergerakan-dua-arah (double-acting cylinder) yang dikontrol oleh sebuah katup
solenoid, yaitu sebuah silinder dengan piston yang dapat bergerak ke dua arah yang
berlawanan, di mana solenoid mengatur kedua posisi piston dengan menggerakkan
ke kanan dan menahannya selama 2 detik, dan kemudian mengembalikannya ke kiri.
4. Diketahui sistem kontrol konveyor pengisi cairan pada botol seperti pada Gambar
L6-1.
138
Deskripsi kerja sistem:
Jika tombol PB Start ditekan maka motor M2 akan tetap ON selama tombol PB
Stop tidak ditekan. Motor M1 akan ON sampai mendeteksi kehadiran botol melalui
limit switch LS. Setelah botol berada pada posisi pengisian selama 0,5 detik maka
valve tanki cairan VOUT akan ON sampai photodetektor PD mendeteksi level
cairan pada botol yang dikehendaki. Botol akan tetap pada posisinya sampai 1 detik.
Selanjutnya, ia akan meng-energize suatu relai yang digunakan untuk menggerakkan
kembali motor M1.
Pertanyaan: Buat program ladder diagram untuk sistem kontrol tersebut!
Gambar L6-1
5. PLC digunakan sebagai alat kendali penentu prioritas bel suatu acara kuis yang
diikuti oleh 3 peserta. Pembawa acara memberikan pertanyaan kepada ketiga peserta.
Ketiga peserta berlomba untuk menekan tombol untuk menjawab pertanyaan dari
pembawa acara. Indikator lampu pada peserta yang berhasil menekan tombol paling
pertama akan menyala, dan buzzer akan berbunyi. Lampu tersebut akan tetap
menyala dan buzzer tetap berbunyi, dan akan OFF setelah 5 detik atau di-reset oleh
pembawa acara. Buatlah ladder diagramnya!