plc
-
Upload
berlyos-morenzia -
Category
Documents
-
view
52 -
download
9
Transcript of plc
Pengertian PLC
Programmable Logic Controllers (PLC) adalah komputer elektronik yang mudah digunakan (user
friendly) yang memiliki fungsi kendali untuk berbagai tipe dan tingkat kesulitan yang beraneka
ragam
Definisi Programmable Logic Controller menurut Capiel (1982) adalah : sistem elektronik yang
beroperasi secara dijital dan didisain untuk pemakaian di lingkungan industri, dimana sistem ini
menggunakan memori yang dapat diprogram untuk penyimpanan secara internal instruksi-
instruksi yang mengimplementasikan fungsi-fungsi spesifik seperti logika, urutan, perwaktuan,
pencacahan dan operasi aritmatik untuk mengontrol mesin atau proses melalui modul-modul I/O
digital maupun analog.
Berdasarkan namanya konsep PLC adalah sebagai berikut :
1. Programmable, menunjukkan kemampuan dalam hal memori untuk menyimpan program yang
telah dibuat yang dengan mudah diubah-ubah fungsi atau kegunaannya.
2. Logic, menunjukkan kemampuan dalam memproses input secara aritmatik dan logic (ALU),
yakni melakukan operasi membandingkan, menjumlahkan, mengalikan, membagi, mengurangi,
negasi, AND, OR, dan lain sebagainya.
3. Controller, menunjukkan kemampuan dalam mengontrol dan mengatur proses sehingga
menghasilkan output yang diinginkan.
PLC ini dirancang untuk menggantikan suatu rangkaian relay sequensial dalam suatu sistem
kontrol. Selain dapat diprogram, alat ini juga dapat dikendalikan, dan dioperasikan oleh orang
yang tidak memiliki pengetahuan di bidang pengoperasian komputer secara khusus. PLC ini
memiliki bahasa pemrograman yang mudah dipahami dan dapat dioperasikan bila program yang
telah dibuat dengan menggunakan software yang sesuai dengan jenis PLC yang digunakan
sudah dimasukkan.
Fungsi dan kegunaan PLC sangat luas. Dalam prakteknya PLC dapat dibagi secara umum dan
secara khusus.
Secara umum fungsi PLC adalah sebagai berikut:
1. Sekuensial Control. PLC memproses input sinyal biner menjadi output yang digunakan untuk
keperluan pemrosesan teknik secara berurutan (sekuensial), disini PLC menjaga agar semua
step atau langkah dalam proses sekuensial berlangsung dalam urutan yang tepat.
2. Monitoring Plant. PLC secara terus menerus memonitor status suatu sistem (misalnya
temperatur, tekanan, tingkat ketinggian) dan mengambil tindakan yang diperlukan sehubungan
dengan proses yang dikontrol (misalnya nilai sudah melebihi batas) atau menampilkan pesan
tersebut pada operator.
3. Shutdown System
Prinsip kerja sebuah PLC adalah menerima sinyal masukan proses yang dikendalikan lalu
melakukan serangkaian instruksi logika terhadap sinyal masukan tersebut sesuai dengan
program yang tersimpan dalam memori lalu menghasilkan sinyal keluaran untuk mengendalikan
aktuator atau peralatan lainnya.
(Sumber : http://juare97.wordpress.com )
Peralatan yang Berhubungan dengan PLC
Peralatan Analog
Contoh dari peralatan analog baik input maupun output adalah sebagai berikut :
INPUT
Flow transmitters
Pressure transmitters
Temperature transmitters
Position transmitters
Level transmitters
OUTPUT
Electric motor drives
Analog meters
Chart data recorders
Process controllers
Variable speed drives
Peralatan Digital
Contoh dari peralatan digital baik input maupun output adalah sebagai berikut :
INPUT
Selector Switch
Temperature Switch
Flow Switch
Level Switch
Pushbutton
Motor starter contacts
Limit Switch
Pressure Switch
Relay Contact
OUTPUT
Annunciator
Alarm light
Electric fan
Indicating light
Electric valve
Alarm horn
Selenoid valve
Motor starters
Peralatan Analog
Contoh dari peralatan analog baik input maupun output adalah sebagai berikut :
INPUT
Flow transmitters
Pressure transmitters
Temperature transmitters
Position transmitters
Level transmitters
OUTPUT
Electric motor drives
Analog meters
Chart data recorders
Process controllers
Variable speed drives
Peralatan Digital
Contoh dari peralatan digital baik input maupun output adalah sebagai berikut :
INPUT
Selector Switch
Temperature Switch
Flow Switch
Level Switch
Pushbutton
Motor starter contacts
Limit Switch
Pressure Switch
Relay Contact
OUTPUT
Annunciator
Alarm light
Electric fan
Indicating light
Electric valve
Alarm horn
Selenoid valve
· Motor starters
Merek dan Type PLC
Saat ini banyak merek serta type PLC yang dipakai di industri. Masing masing PLC memiliki
kelebihan dan kekurangan tersendiri. Tinggal pilih saja bedasarkan kebutuhan serta tebal
kantong anda. Berikut beberapa merek serta type PLC yang banyak dipakai di industri :
1. Allen Bradley
Jenis Type PLC Gambar
Logix-5 Family PLC-5
Logix-500 Family SLC-500
Micrologix
Logix-5000 Family ControlLogix
CompactLogix
FlexLogix
2. Siemens
Jenis Type PLC Gambar
Micro PLC S7-200
S7-1200
Modular PLC S5-115U
S7-300
S7-400
3. Omron
Jenis Type PLC Gambar
Micro PLC CPM1A
CP1E
CP1L
Basic PLC CJ1M
CQM1H
Modular CJ1H/CJ1G
CS1H/CS1G
4. Schneider
Jenis Type PLC Gambar
Micro PLC Modicon M340
Machine Control PLC Modicon Premium
Process Control PLC Modicon Quantum
Programmable Controller Twido
Smart Relay Zelio
5. Mitsubishi
Jenis Type PLC Gambar
Compact PLC MELSEC FX3UC
MELSEC FX3G
MELSEC FX1N
MELSEC FX1S
Modular PLC Q-Series Q00UJCPU
Process Control Q12PHCPU
Selain merek dan tipe PLC yang telah disebutkan diatas, masih banyak lahi merek dan tipe PLC
lainnya seperti GE Fanuc, NAIS, dsb.
Bahasa Pemrograman PLC
Berdasarkan Standart Internasional IEC-61131-3, bahasa pemrograman PLC ada 5 macam yaitu
:
1. Ladder Diagram (LD)
2. Function Block Diagram (FBD)
3. Sequential Function Chart (SFC)
4. Structure Text (ST)
5. Instruction List (IL)
Tidak semua PLC support kelima bahasa pemrograman diatas. Ada yang hanya support LD
saja, ada juga yang support LD, FBD,SFC,ST tergantung dari PLC yang kita pakai.
Berikut bahasa pemrograman yang digunakan oleh beberapa merek PLC :
Allen bradley PLC-5 & SLC-500 : Ladder Diagram (LD)
Allen bradley Logix 5000 family : Ladder Diagram (LD), Function Block Diagram (FBD),
Sequential Function Chart (SFC), Structure Text (ST)
Omron CX-Programmer V8.1 : Ladder Diagram (LD), Function Block Diagram (FBD),
Sequential Function Chart (SFC)
Schneider : Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function
Chart (SFC)
Siemens : Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function
Chart (SFC), Instruction List (IL)
Tutorial Allen Bradley Bagian.1 : Dasar RSLogix5000 for ControlLogix
membahas tentang pengertian dasar dari RSLogix5000 yang merupakan software untuk
memprogram ControlLogix compactlogix,flexlogix. Bahasa pemrograman yang dibahas dalam
artikel ini adalah ladder logic. Ada tiga elemen dasar organisasi yang terkait dengan ladder logic:
Rungs
Instructions
Branches
RUNG
Ladder logic instructions ditulis pada sebuah rungs. Selama program scan, prosesor scan dari
kiri ke kanan, satu persatu ladder dari atas kebawah.
Point Kunci tentang Rung:
Rungs discan dari 0 sampai nomer rung tertinggi (atas ke bawah).
Rungs dibaca dari kiri ke kanan.
Ladder baru akan diberi nomer secara otomatis sesuai dengan dimana ladder tersebut
ditempatkan dalam logic ladder file.
Rung terakhir dalam sebuah ladder logic file secara otomatis berisi sebuah END
instruction.
INSTRUCTION
Ladder logic Instruction dibagi menjadi 2 bagian:
Input instructions:
Ditampilkan pada sisi kiri ladder
Cek, perbandingan, atau kondisi spesifik
Output instructions:
Ditampilkan pada sisi kanan
Melakukan sesuatu action.
Point Kunci tentang instructions:
Input instructions ditampilkan pada sisi kiri rung sedangkan output instructions selalu
ditampilkan pada sisi kanan rung.
Sebuah rung tidak membutuhkan input instructions apapun, tetapi harus berisi minimal
satu output instruction.
BRANCHES
Branches digunakan dalam ladder logic untuk membuat paths yang berbeda yang secara
langsung membaca keadaan inputs and outputs.
Bit instructions
Bit instructions adalah intruksi ladder logic instructions yang mengekskusi atau merubah sebuah
sigle bit dari data table files. Berikut tiga tipe bit instructions:
Conditional input instructions
Non-retentive output instructions
Retentive bit output instructions
Continue …….
Tutorial RSLogix 500 (1) – Instruksi Compare / Perbandingan
Instruksi Compare
Instruksi Compare: instruksi input yang menguji hubungan antara dua nilai dari dua sumber yang
berbeda.
Sebuah compare instruction secara khusus menguji sumber-sumber berikut:
• Source A: sebuah word address.
• Source B: word address yang lain atau konstanta.
Berikut compare instructions yang tersedia:
Ketika perbandingan secara logic adalah true, rung akan true dan output akan diset 1.
Instruksi EQU
EQU (Equal): sebuah instruksi input yang mengetest apakah kedua nilai user-specified itu
adalah sama.
Bila nilai adalah equal, berarti instruksi secara logic adalah true. Bila dua nilai tidak sama, berarti
instruksi secara logic adalah false.
Instruksi NEQ
NEQ (Not Equal): sebuah instruksi input yang mengetest apakah dua nilai user-specified tidak
sama.
Bila Source A and Source B tidak sama, maka instruksi secara logic adalah true. Bila dua nilai
sama, instruksi secara logic adalah false.
Instruksi LES
LES (Less Than): sebuah kondisi instruksi input yang mengetest apakah suatu nilai kurang dari
nilai yang kedua.
Bila nilai Source A kurang dari nilai dari Source B, instruksi secara logic adalah true. Bila nilai
pada Source A lebih besar atau sama dengan nilai pada Source B, instruksi secara logic adalah
false.
Instruksi LEQ
LEQ (Less Than or Equal): sebuah kondisi instruksi input yang mengetest apakah suatu nilai
kurang dari atau sama dengan nilai yang kedua.
Bila nilai pada Source A kurang dari atau sama dengan nilai pada Source B, instruksi secara
logic adalah true. Bila nilai pada Source A lebih besar dari nilai pada Source B, instruksi secara
logic adalah false.
Instruksi GRT
GRT (Greater Than): sebuah instruksi input yang mengetest apakah suatu nilai lebih besar
daripada nilai yang kedua.
Bila nilai Source A lebih besar nilai dari Source B, instruksi secara logic adalah true. Bila nilai
pada Source A lebih kecil dengan nilai pada Source B, instruksi secara logic adalah false.
Instruksi GEQ
GEQ (Greater Than or Equal): An input instruction that tests whether one value is greater than or
equal to a second value.
Bila nilai yang disimpan pada Source A lebih besar atau sama dengan nilai yang disimpan pada
Source B, maka rung menjadi true. Bila nilai pada Source A kurang dari nilai dari Source B,
instruksi secara logic adalah false.
Instruksi LIM
LIM (Limit Test): sebuah instruksi input yang menguji apakah sebuah nilai diantara atau diluar
limit yang terdefinisi.
Untuk lebih memahami, masing-masing instruksi diatas, marilah kita lihat contoh-contoh
dibawah.
Untuk lebih memahami, masing-masing instruksi diatas, marilah kita lihat contoh-contoh
dibawah.
Contoh: Instruksi LEQ
Gambar berikut menunjukkan contoh instruksi LEQ. Dalam contoh ini, perhatikan kondisi berikut:
• Ketika nilai dalam N11:0 kurang dari atau sama dengan N11:40, output O:003/4 akan
energized.
• Ketika nilai dalam N11:0 lebih besar dari nilai dalam N11:40, rung adalah false.
Contoh: Instruksi GRT
Gambar berikut menunjukkan contoh instruksi GRT. Dalam contoh ini, perhatikan kondisi berikut:
• Ketika nilai dalam N11:0 lebih besar dari nilai dalam N11:40, O:003/5 akan energized.
• Ketika nilai dalam N11:0 kurang dari atau sama dengan nilai dalam N11:40, rung adalah
false.
Contoh: Instruksi GEQ
Gambar berikut menunjukkan contoh instruksi GEQ. Dalam contoh ini, perhatikan kondisi
berikut:
• Ketika nilai dalam N11:0 lebih besar atau sama dengan nilai dalam N11:40, O:003/6 akan
energized.
• Ketika nilai dalam N11:0 kurang dari nilai dalam N11:40, rung adalah false.
Contoh Instruksi Counter RSLogix 5000
Pada contoh ini, untuk menjalankan mtr_1 anda harus menekan tombol start_1. Untuk mendeteksi box yang lewat, kami wakili dengan tag sensor. Jika box melewati sensor, maka sensor akan aktif. Jumlah box yang terdeteksi oleh sensor akan tercatat pada Accum dari counter. Jika nilai accum sudah sama dengan nilai preset, maka output counter akan aktif (bit DN akan aktif). Output ini kemudian kita gunakan untuk menjalankan mtr_2. Kemudian untuk mereset counter kita gunakan sensor2. Jika sensor2 aktif maka counter akan reset ke 0.
Semoga penjelasan singkat diatas dapat menambah wawasan anda. Demikian sedikit ilmu yang bisa saya bagi, semoga bermanfaat.
Tutorial Omron Bagian.1 : Cara Upload, Download, dan Online Edit Program PLC Omron
1. Upload Program dari PLC
Suatu program dapat di-upload dari PLC yang saat ini terhubung ke dalam proyek yang terbuka.
Gunakan prosedur berikut untuk mentransfer program dari PLC.
1. Pilih objek PLC di area kerja project.
2. Pilih tombol Work On-line dari toolbar. Sebuah pesan konfirmasi
ditampilkan, pilih Yes untuk dapat terhubung ke PLC.
3. Pilih tombol Transfer dari PLC dari toolbar. Sebuah dialog peringatan
ditampilkan menunjukkan bahwa program saat ini dalam proyek ini ditimpa.
4. Dialog Uploading menunjukkan keberhasilan (atau tidak) dari operasi transfer.
Setiap kesalahan ditulis ke Error Log. Pilih tombol OK untuk menyelesaikan
operasi.
Cara lain untu upload program dari PLC adalah sbb :
Pilih menu PLC – Transfer – From PLC
2. Download Program ke PLC
Program dapat didownload ke PLC dari proyek ketika PLC dalam mode Program. Jika PLC
belum dalam mode ini, CX-Programmer perubahan mode secara otomatis.
Gunakan prosedur berikut untuk mentransfer program dari PLC.
1. Pilih objek PLC di area kerja project.
2. Pilih tombol Work On-line dari toolbar. Sebuah pesan konfirmasi
ditampilkan, pilih Yes untuk dapat terhubung ke PLC.
3. Pilih tombol Transfer ke PLC dari toolbar.
4. Pilih tombol OK untuk menyelesaikan operasi.Simak
Cara lain untu download program ke PLC adalah sbb :
Pilih menu PLC – Transfer – To PLC
3. Online Edit
Setelah program telah dibuat dan project dan pengaturan PLC memadai, maka PLC dapat
dihubungkan untuk memungkinkan operasi on-line akan dilakukan. Online editing tidak mungkin
dalam modus Run.
Gunakan prosedur berikut untuk melakukan edit online.
Pilih objek PLC di area kerja project.
1. Pilih tombol Work On-line dari toolbar. Sebuah pesan konfirmasi
ditampilkan, pilih Yes untuk dapat terhubung ke PLC.
2. Pilih tombol On-line Edit Rungs dari toolbar.
3. Warna dari background rung akan diedit berubah yang menunjukkan bahwa area
tersebut sekarang bias diedit.
Setelah normal edit selesai, pilih tombol Send On-line Edit Changes dari toolbar. Jika perubahan
tersebut berhasil, daerah yang diedit pada ladder program kembali ke read-only.
Untuk melakukan pembatalan online edit, pilih Cancel On-line Edit Changes dari toolbar.
Tutorial Allen Bradley Bagian.2 : Uploading, Downloading, and Going Online to a Logix5000 Controller
Upload: Transfer a copy of a project file from a controller to a computer over a network:
Note :
Uploading transfers the file in the controller into the temporary memory (RAM) of the computer.
To create a permanent copy, the file must be saved to the hard drive of the computer.
Standard documentation, such as rung comments and operand descriptions, is not uploaded. To
access this type of documentation, a matching file must be found in the computer. This does not
apply to structured text comments.
Download: Transfer a copy of a project file from a computer to a controller over a network:
Note :
A controller can only contain one project file at a time. Downloading overwrites the current roject
file in the controller.
When you download a project file into a controller, all information except standard documentation
is loaded into the controller:
Online: Viewing or editing a project file that is active in the controller:
Offline: Viewing or editing a copy of a project file that is in the computer only.
Communications Path
A communications path is required to upload, download, or go online.
Organization Overview
A project is organized using these components:
• Task: A mechanism for scheduling and executing programs.
• Program: A group of related routines and data.
• Routine: A section of code (ladder logic, function block diagram, sequential function chart,
structured text) written and executed as a group.
Interpreting a Task
Task: A mechanism for scheduling and executing programs:
Continuous Task
A continuous task is a task that runs at all times unless it is interrupted by another task:
• By default, a continuous task has the lowest priority of any tasks.
• When executing, all programs assigned to that task are scanned once from top to bottom.
• Upon completion of a single execution scan, a physical output update is triggered and the scan
starts again:
Periodic Task
A periodic task is executed at a fixed interval:
• Each task is assigned an execution rate.
• Each task is assigned a priority level. When initiated, a periodic
task will interrupt any lower priority task (other periodic, continuous, or event tasks).
• Once triggered, all programs assigned to the periodic task are executed or scanned once from
top to bottom.
• After this single scan, control is returned to the task that was interrupted.
Event Task
An event task is a task that performs a certain function only when triggered by a specified event:
• Each task is assigned a trigger.
• Each task is assigned a priority level. When triggered, the event task interrupts any lower
priority tasks (other event, continuous, or periodic tasks).
• Once initiated, all programs assigned to the event task are executed or scanned once from top
to bottom.
• Upon completion, control returns to the task that was interrupted, at the point in which it was
interrupted:
Inhibited Task
The following icon in the Controller Organizer indicates that the task has been prevented from
executing by a user option or instruction:
Interpreting a Program
Program: A group of related routines and data. Each program contains:
• Its own program-scoped tags collection
• Routines of executable code
A program has the following characteristics:
• Up to 32 programs can be supported per task.
• Programs within a task execute in sequence from first scheduled to last scheduled.
Program-Scoped Tags
Program-scoped tags contain data that is used exclusively by the routines within an individual
program:
• Can have the same name in more than one program
• Allows programming code to be copied and reused
Program Schedule
Programs can be scheduled in specific tasks or left unscheduled. Programs that are
“unscheduled” do not execute:
• Original equipment manufacturers may create one project and then schedule or unschedule a
program depending on the equipment’s required functionality.
• Maintenance or field service technicians may create troubleshooting programs that are left
unscheduled until needed to test a project.
Interpreting a Routine
A routine is a section of code written and executed as a group.
A routine can be assigned as one of the following types:
• Main Routine: A routine that executes automatically when the controller triggers the associated
task and program:
– Can be of any type
– Is marked with a 1 in the Controller Organizer
• Subroutine: A routine that is called by another routine:
– Is called by a JSR (Jump to Subroutine) instruction in the main routine or another subroutine
(conditioned or unconditioned)
– Returns to the other routine when complete or if a condition is met
• Fault Routine: A routine that is configured to execute when the controller finds an instruction-
execution fault within any routines in the associated program:
– Is marked with a yellow triangle in the Controller Organizer The main routine is always listed
first, followed by a fault routine (if any), and then all subroutines in alphabetical order:
Tutorial Allen Bradley Bagian.4 : Menghubungkan RSLogix 5000 – RSLinx – RSLogix Emulate 5000
Artikel berikut akan menuntun anda bagaimana menghubungkan sebuah program RSLogix 5000
dengan RSLinx dan RSLogix Emulate 5000. jika kita bisa menghubungkannya, maka kita akan
bisa melakukan simulasi dengan mudah. Untuk bisa menghubungkannya, kita perlu melakukan
konfigurasi di RSLogix Emulate 5000, RSLinx, dan program RSLogix 5000
Konfigurasi RSLogix Emulate 5000 :
1. Open RSEmulate 5000
2. Klik kanan salah satu slot di RS Emulate5000 kemudian klik create, maka akan muncul menu
select module.
3. Pilih RSLogix Emulate 5000 controller, lalu klik OK. Akan muncul menu general. Klik next jika
tidak ingin mengubah ukuran memory dan version lalu klik finish.
4. Pada slot yang anda pilih tadi sekarang sudah ada modul RSLogix Emulate 5000 controller.
Konfigurasi RS Linx :
1. Open RSLinx
2. Pada menu communication pilih configure driver, maka akan muncul menu configure driver.
3. Pada bagian available driver type, pilih virtual backplane lalu klik add new lalu klik OK.
4. Tutup menu configure driver dengan cara klik close button.
Konfigurasi RSLogix 5000:
1. Open program RSLogix 5000 yang telah anda buat.
2. Pastikan controller yang kita pakai di RSLogix 5000 sudah menggunakan RSLogix Emulate
5000 controller dan slot numbernya sudah sesuai dengan yang kita buat di RSEmulate 5000.
3. Jika controller belum sesuai, kita bias menggantinya dengan cara klik kanan lalu pilih
properties. Pilih change controller dan cari Emulator RSLogix Emulate 5000 controller, isi slot
number dengan benar.
4. Untuk download program ke controller, pilih menu communication lalu pilih Who Active, maka
akan muncul menu Who Active.
5. Pada menu tersebut pilih controller yang telah kita buat di RS Emulate 5000 yaitu di AB_VBP-
1 1789-A17/A Virtual chasis lalu pilih slot dimana kita buat controller tadi.
6. Klik tombol download pada sisi kanan menu. Tunggu sampai proses download selesai.
7. Jika berhasil maka kita sekarang sudah bias menghubungkan antara RSLogix 5000 – RSLinx
– RSLogix Emulate 5000.
Semoga artikel ini bermanfaat, jika ada pertanyaan silahkan hubungi kami.
Project Allen Bradley Bagian.3 : Simulasi Level Control
PROJECT 2 – Level Control
Pada project berikut, kita akan membuat simulasi level control. Dalam simulasi ini kita akan
menggunakan 2 valve, 1 motor dan 1 sensor level. Secara detail dapat dilihat pada gambar level
control berikut:
Urutan proses jalannya simulasi level control dijelaskan sebagai berikut :
1. Ketika button start aktif, valve_1 open delay 3 detik kemudian pump_1 running.
2. Jika valve_1 open dan pump_1 running LT_1 bertambah 2 lt per detik.
3. Jika LT_1 >= 90 lt maka Pump_1 stop delay 3 detik kemudian valve_1 close.
4. Jika LT_1 > 70 lt maka valve_2 open.
5. Jika valve_2 open maka LT_1 berkurang 3 lt tiap detik.
6. Jika LT_1 < 20 lt, maka valve_2 close.
Untuk membuat program simulasi level control diatas dengan program RSLogix5000 anda
memerlukan intruksi-intruksi sebagai berikut:
Baisc Instruction : XIC, XIO, OTL, dan OTU
Timer Instruction : Timer On Delay TON
Math Instruction : ADD
Compare Instruction : GRT, GEQ, LES
Ladder program untuk simulasi level control diatas dapat dilihat pada gambar berikut:
Gambar :ladder_level control
Semoga program simulasi level control ini berguna bagi anda yang baru belajar PLC. Semoga
bermanfaan amien 3x.
Program PLC Start – Stop motor
Kali ini kita akan membuat program PLC sederhana yaitu program start-stop motor dengan
PLC Allen Bradley Micrologix 1000. Sebelumnya akan kami jelaskan control narrative dari
program start-stop motor tersebut :
Motor akan running jika Tombol Start aktif dan Tombol Stop tidak aktif. Motor akan mati jika
Tombol Stop aktif atau Motor Overload alarm aktif. Jika motor running lampu indikator untuk
motor running status akan ON.
Berikut contoh ladder logic untuk control narrative diatas.
Ladder yang saya buat diatas masih sangat sederhana, anda bisa menambahkan time delay
untuk start atau stop commandnya atau menambahkan alarm serta permissive start yang
lain. Anda bisa mengembangkan sendiri sesuai dengan operasional yang anda kehendaki.
Project Allen Bradley Bagian.2 : Program Simulasi Lampu Lalu lintas Menggunakan RS Logix 5000
Dalam artikel berikut ini, kita akan membuat sebuah program simulasi lampu lalu lintas
menggunakan RS Logix 5000. dalam simulasi ini lampu merah berada pada pertigaan.
Disini ada 3 buah lampu merah.
Proses simulasi :
• Lampu HIJAU1, MERAH2, MERAH3 menyala dalam waktu 10 s.
• Lampu KUNING1, KUNING2 menyala dalam waktu 5 s, lampu HIJAU1, MERAH2 mati.
• Lampu KUNING1, KUNING2 mati, lampu MERAH1, HIJAU2 menyala.
• Lampu HIJAU2, MERAH3, MERAH1 menyala dalam waktu 10 s.
• Lampu KUNING2, KUNING3 menyala dalam waktu 5 s, lampu HIJAU2, MERAH3 mati.
• Lampu KUNING2, KUNING3 mati, lampu MERAH2, HIJAU3 menyala.
• Lampu HIJAU3, MERAH1, MERAH2 menyala dalam waktu 10 s.
• Lampu KUNING3, KUNING1 menyala dalam waktu 5 s, lampu HIJAU2, MERAH1 mati.
• Lampu KUNING3, KUNING1 mati, lampu MERAH3, HIJAU1 menyala.
Untuk membuat program simulasi PLC tersebut, ikuti langkah-langkah berikut :
1. Buka program RS Logix 5000, kemudian buat project baru dengan nama LATIHAN.
2. Buat tagname di controller tag dengan nama sebagai berikut :
• MERAH1 (Data type : BOOL)
• KUNING1 (Data type : BOOL)
• HIJAU1 (Data type : BOOL)
• MERAH2 (Data type : BOOL)
• KUNING2 (Data type : BOOL)
• HIJAU2 (Data type : BOOL)
• MERAH3 (Data type : BOOL)
• KUNING3 (Data type : BOOL)
• HIJAU3 (Data type : BOOL)
• TIMER1 (Data type : TIMER)
• TIMER2 (Data type : TIMER)
• TIMER3 (Data type : TIMER)
• KUNING1_TMR (Data type : TIMER)
• KUNING2_TMR (Data type : TIMER)
• KUNING3_TMR (Data type : TIMER)
• START_BUTTON (Data type : BOOL)
• STOP (Data type : BOOL)
3. Buka main routine dan buat ladder logic seperti gambar berikut:
Tips dalam melakukan temporary bypass ladder logic
Sebagai orang maintenance kadang kita menghadapi situasi dimana sebuah mesin tidak
boleh shutdown sedangkan kita harus melakukan maintenance pada peralatan yang dapat
mengakibatkan mesin tersebut shutdown jika alat tersebut kita lepas. Jika kita menghadapi
situasi seperti ini sebaiknya kita cek dulu apakah logicnya merupakan voter logic 2oo3 (2 out
of 3) atau tidak. Jika logicnya 2oo3 maka kita tidak perlu melakukan bypass, namun jika
tidak maka kita perlu melakukan bypass terlebih dahulu sebelum melakukan maintenance.
Untuk melakukan temporary bypass ada beberapa tips yang mungkin bisa bermanfaat bagi
anda. Contoh yang saya buat ini menggunakan RSLogix 5000. Berikut beberapa tips dalam
melakukan temporary bypass ladder logic :
1. Gunakan bit khusus untuk temporary bypass ON, hindari penggunan blank branch.
Keuntungan jika kita menggunakan bit khusus untuk temporary bypass (misal:
zz_temporary_bypass_on) adalah bit tersebut bisa kita searching/cross reference jika kita
lupa lokasi logic yang kita bypass, sedangkan blank branch tidak bisa kita searching/cross
reference sehingga menylitkan jika kita lupa lokasi logicnya.
2. Gunakan bit khusus untuk temporary bypass OFF, hindari penggunan intruksi AFI (always
false instruction). Keuntungan jika kita menggunakan bit khusus untuk temporary bypass
(misal: zz_temporary_bypass_off) adalah bit tersebut bisa kita searching/cross reference jika
kita lupa lokasi logic yang kita bypass, sedangkan intruksi AFI tidak bisa kita searching/cross
reference sehingga menylitkan jika kita lupa lokasi logicnya. Intruksi AFI bisa anda gunakan
untuk permanen bypass.
3. Pastikan bit temporary bypass on selalu pada kondisi on dan temporary bypass off selalu
pada kondisi off. Anda bisa menggunakan intruksi latch untuk membuat bit temporary
bypass on selalu on dan menggunakan instruksi unlatch untuk membuat bit temporary
bypass off selalu dalam kondisi off.
4. Buat tag yang mudah untuk dicari di controller/program tag. Gunakan inisial yang memungkinkan tag tersebut berasa di list paling atas atau paling bawah di controller tag. Misalnya anda bisa menggunakan inisial zz_tagname. penggunaan inisial zz akan memudahkan kita untuk mencari tag tersebut karena akan berada pada list paling bawah di controller tag.
Membuat Program PLC Yang Benar dan Efisien
Membuat program PLC yang tidak hanya benar dalam artian dapat berfungsi saat
commissioning efisiensi dari program adalah tantangan tersendiri bagi seorang Programmer
PLC. Sebagai seorang Programmer PLC, kita harus berfikir program yang kita buat tidak
hanya asal jalan, namun juga harus berfikir program kita tersebut mudah dimengerti
sehingga memudahkan maintenance dikemudian hari. Selain itu program yang kita buat
juga harus memenuhi standar keselamatan.
Setiap programmer punya cara tersendiri dalam membuat program. Bisa jadi dua
orang programmermenghasilkan dua program yang berseda untuk project yang sama.
Meskipun keduanya sama yang benar bisa jadi yang satu lebih efisien dari yang lainnya.
Ada beberapa hal yang perlu diperhatikan untuk membuat program PLC yang benar dan
efisien.
1.Optimalkan penggunaan memory
Efisiensi penggunaan memory akan mengurangi beban kerja dari controller, semakin sedikit
memory yang yang kita pakai semakin ringan beban controller. Untuk mengurangi jumlah
memory kita harus cermat dalam memilih instruksi/tipe data yang tepat. Misalnya jika mau
menampilkan angkat 0-100 cukup gunakan tipe data tagname INT (integer) tidak perlu
menggunakan DINT (double integer).
2.Beri deskripsi yang jelas
Pemberian deskripsi yang benar dan jelas akan sangat membantu pada
saat commissioning maupun saat melakukan maintenance. Dengan adanya deskrpsi kita
akan mudah memahami suatu program. Deskripsi bisa ditambahkan selain di tagname juga
bisa ditambahkan di atas Rung.
3.Bagi program menjadi beberapa routine/ladder jika program cukup kompleks
Anda bisa membagi beberapa routine/ladder jika program yang anda buat cukup kompleks.
Misalnya
Routine/ladder 1 : IO Mapping
Routine/ladder 2 : Proses
Routine/ladder 3 : Alarm
dst.
4.Minimalkan Jumlah Rung
Penggunaan rung yang lebih sedikit akan mengurangi scan time dari controller. Semakin
sedikit jumlah Rung anda gunakan untuk program yang sama akan semakin baik.
5.Buat I/O mapping
Untuk memudahkan dalam maintenance, misalnya untuk forcing dll, anda bisa membuat IO
mapping sehingga anda akan lebih mudah dalam mencari sebuah IO.
6.Hindari Satu Program Dua Standar
Jika anda mau melakukan modifikasi sebuah program, ikuti saja standar/alur program yang
sudah ada. Jangan membuat standar program sendiri karena itu justru akan
membingungkan bagi rekan anda. Setiap vendor/programmer biasanya punya standar
program sendiri dan sangat tidak diharapkan jika dalam satu program ada dua standar yang
berbeda. Jika hal itu terjadi akan membingungkan orang yang baru saja membaca program
tersebut. Jika memungkinkan gunakan standar yang sama dalam satu pabrik untuk
memudahkan maintenance.