Anda di halaman 1dari 11

Belajar PLC tanpa contoh aplikasi pasti tidak afdhol.

Berikut adalah sebuah contoh aplikasi PLC


pada pengontrolan jumlah mobil dalam area parkir.

Skenario

 Adanya mobil yang masuk ke area parkir dideteksi oleh sensor S1.
 Adanya mobil yang keluar dari area parkir dideteksi oleh sensor S2.
 Kapasitas area parkir adalah 100 mobil.
 Jika area parkir telah penuh, maka portal akan menutup pintu masuk dan tanda ‘Parkir
Penuh’ dinyalakan.
 Portal memiliki sensor pembatas untuk menyatakan kondisi portal terbuka (S3) dan
portal tertutup (S4). (S3 dan S4 tidak tergambar, maaf).
 Tombol Reset digunakan untuk mereset nilai hitungan mobil dalam area parkir menjadi
Nol.

Program Ladder
Rung Pertama. Jika Tombol Reset ditekan, maka DM0000 direset menjadi 0000 dengan
menggunakan instruksi MOVE – MOV(21). DM0000 adalah alamat data memori yang
digunakan untuk menyimpan jumlah mobil yang terdapat dalam area parkir.

Rung Kedua. Jika S1 (Sensor_IN) mendeteksi adanya mobil yang masuk, maka program akan
mengecek terlebih dahulu apakah area parkir penuh atau tidak. Hal ini dilakukan dengan
membandingkan nilai DM0000 dengan #0010 (seharusnya #0100, yakni jumlah kapasitas area
parkir, akan tetapi dalam program digunakan nilai #0010 untuk mempercepat proses simulasi).
Komparasi tersebut dilakukan menggunakan fungsi COMPARE – CMP(20).

Jika DM0000 kurang dari #0010, maka program akan memicu bit 200.00 dengan instruksi
DIFU(13). Kondisi bit 200.00 ini kemudian digunakan sebagai pemicu fungsi INCREMENT –
INC(38) untuk menambah nilai DM0000 dengan satu (DM0000 = DM0000 + 1). Sedangkan
Output 010.01 berfungsi sebagai penanda visual adanya mobil masuk.
Rung Ketiga. Jika S2 (Sensor_OUT) mendeteksi adanya mobil yang keluar dari area parkir,
maka program akan mengecek apakah nilai counter DM0000 samadengan nol. Jika nilai
DM0000 lebih dari nol, maka program akan memicu kondisi bit 200.01 dengan instruksi
DIFU(13). Kondisi bit 200.01 ini kemudian digunakan untuk memicu fungsi DECREMENT –
DEC(39) untuk mengurangi nilai DM0000 dengan satu (DM0000 = DM0000 – 1). Output
010.02 berfungsi sebagai penanda visual adanya mobil keluar.

Rung Keempat. Jika nilai DM0000 = #0010, maka berarti area parkir telah penuh –> Nyalakan
tanda ‘Parkir Penuh’.

Rung Kelima. Jika area parkir penuh, maka tutup portal pintu masuk.
Rung Keenam. Jika area parkir tidak penuh, pastikan portal pintu masuk dalam keadaan
terbuka.

Eskalator otomatis adalah eskalator yang secara otomatis akan ON ketika ada orang yang akan
menaikinya. Dan akan secara otomatis OFF jika dalam periode waktu tertentu eskalator tidak
mendeteksi adanya orang yang akan menaikinya.

Keterangan:

 S1 - Sensor kedatangan penumpang


 S2 - Sensor kepergian penumpang
 MOTOR - Motor penggerak eskalator

Skenario

 Jika S1 ON, maka MOTOR ON dan TIMER1 OFF


 Jika S2 ON, maka TIMER1 ON
 Jika TIMER1 ON, maka MOTOR OFF

Program

Rung 1. Jika S1 ON dan TIMER1 OFF, maka MOTOR ON. Nilai bit Output 010.00
(MOTOR) digunakan sebagai pengunci (bit-locking).

Rung 2. Jika S2 ON, maka selama S1 OFF, kondisi Timer1_ON akan ON. Penggunaan
instruksi DIFU(13) berfungsi untuk menyatakan bahwa prioritas S1 lebih tinggi dibandingkan
S2. Dan bahwa TIMER1 harus OFF ketika S1 ON. Hal ini untuk mengantisipasi adanya
kemungkinan S2 ON lebih lama dibandingkan dengan S1.
Rung 3. Selama nilai Timer1_ON = ON, maka TIMER1 ON. Jika nilai TIMER1 terpenuhi
maka TIMER1 akan memutus rangkaian MOTOR sehingga eskalator akan berhenti berjalan.

Perhatikan diagram ladder berikut ini.

Ketika Tombol START ditekan, maka MOTOR


akan ON. MOTOR akan tetap ON meskipun Tombol START dilepas. Untuk mematikan
MOTOR, maka ditekan Tombol STOP. Rangkaian tersebut disebut Rangkaian ON-OFF dengan
Self-Maintaining Output.

Selanjutnya, perhatikan diagram ladder berikut.


Ketika Tombol ON-OFF ditekan, maka instruksi DIFU(13) akan membangkitkan pulsa HIGH
sesaat (1 siklus) pada alamat IR200.00. Jika MOTOR dalam kondisi OFF, maka pulsa PULSE
akan mengeset instruksi KEEP(11) dan menghidupkan MOTOR pada Output 010.00.
Sebaliknya, jika MOTOR dalam kondisi ON, maka pulsa PULSE akan mereset instruksi
KEEP(11) dan mematikan MOTOR.

Dengan mengkombinasikan instruksi DIFU(13) dan KEEP(11) dapat disusun diagram untuk
Solusi ON-OFF Satu Tombol.

Mesin hitung sederhana….

Anggap saja ini mesin pengering cucian yang punya pilihan untuk mengeringkan cucian selama
1 menit, 2 menit, dan 3 menit yang dapat dipilih menggunakan tombol kuning, merah, dan
biru. Teknik pengeringan adalah dengan cara memutar cucian dalam tabung berlubang-lubang
dengan kecepatan tinggi selama 1, 2, atau 3 menit.

Skenario

1. Jika Tombol 1_Menit ditekan, maka Motor akan berputar selama 1 menit, dan
kemudian OFF.
2. Jika Tombol 2_Menit ditekan, maka Motor akan berputar selama 2 menit, dan
kemudian OFF.
3. Jika Tombol 3_Menit ditekan, maka Motor akan berputar selama 3 menit, dan
kemudian OFF.

Diagram laddernya adalah sebagai berikut.


Rung 1. Jika Tombol 1_Menit ditekan, maka SV (Setting Value) Timer TIM001 akan diisi
dengan nilai 600 hex (60 detik). Kenapa gak pake MOV(21) aja? Karena tidak bisa, instruksi
MOV(21) tidak dapat mengakses memori area TC. Oleh karena itu digunakan instruksi
BSET(71). Lihat Instruksi BSET(71).

Rung 2. Jika Tombol 2_Menit yang ditekan, maka SV TIM001 akan diisi dengan 1200 hex
(120 detik).

Rung 3. Jika Tombol 3_Menit yang ditekan, maka SV TIM001 akan diisi dengan 1800 hex
(180 detik).
Rung 4. Jika Tombol 1_Menit ditekan ATAU Tombol 2_Menit ditekan ATAU Tombol
3_Menit ditekan, maka bit flag RUN yang ada di alamat IR200.00 akan diset oleh instruksi
KEEP(11). Bit flag RUN akan direset oleh Completion-Flag dari TIM001.

Rung 5. Selama bit flag RUN berada dalam kondisi ON, maka TIM001 akan menghitung dan
MOTOR akan berputar. Sementara itu, LAMPU indikator akan berkedip-kedip dengan
frekuensi 1 detik. Setelah SV samadengan nol, maka Completion-Flag TIM001 akan ON. Pada
siklus berikutnya, bit flag RUN akan direset sehingga MOTOR dan LAMPU akan OFF.

Dan jangan lupa memberi END(01) di akhir program.

Aplikasi PLC – Timer Berbasis Menit


December 17, 2008 chandramde Leave a comment Go to comments

Dengan memanfaatkan bit 1-Minute Clock Pulse yang berada di alamat SR254.00, dapat dibuat
rangkaian Timer berbasis menit sebagai berikut.
Rung 1. Jika Tombol START ditekan, maka alamat IR200 akan diisi dengan nilai 45 hex.
Kenapa hexa dan bukannya desimal akan terjawab di rung berikutnya. Selain mengisi alamat
IR200 dengan 45 hex, bit TimeIsRunning pada alamat 201.00 akan diset dan bit TimeIsUp
pada alamat 201.01 akan direset. Alamat IR200 digunakan untuk menyimpan sebagai SV
(Setting Value).
Rung 2. Apabila TimeIsRunning ON, maka setiap 1 menit sekali, nilai pada IR200 akan
dikurangi 1. Perhatikan bahwa di sini digunakan instruksi DEC(39) dengan tipe operand BCD.
Inilah sebabnya pada Rung 1 di atas, SV pada alamat IR200 diisi menggunakan instruksi
MOV(21) dengan nilai hexa sebagaimana diketahui bahwa nilai hexa merupakan representasi
nilai desimal dalam format BCD. Jadi dalam contoh aplikasi ini timer akan menghitung selama
45 menit.

Setiap 1 menit juga, nilai SV pada alamat IR200 akan dibandingkan dengan nol. Jika sama atau
lebih besar, maka bit TimeIsUp yang merupakan Completion-Flag dari timer berbasis menit ini
akan diset dan bit TimeIsRunning akan direset untuk menghentikan timer ini.

Rung 3. Selama Completion-Flag (TimeIsUp) OFF, maka POMPA1 akan ON. Jika TimeIsUp,
maka POMPA1 akan OFF dan POMPA2 akan ON.

Catatan

Dalam contoh ini SV disimpan dalam area memori IR (Internal Relay) yang tidak
mempertahankan nilainya ketika PLC dimatikan. Jika diinginkan nilai SV yang bertahan nilainya
ketika PLC dimatikan, maka dapat digunakan area lain seperti HR atau DM.

Demikian juga halnya dengan bit TimeIsRunning dan bit TimeIsUp, dapat digunakan area HR.

Anda mungkin juga menyukai