Aplikasi Software "Classic Ladder" untuk Pembelajaran Pemrograman Ladder PLC

177
TUGAS AKHIR HALAMAN JUDUL APLIKASI SOFTWARE CLASSIC LADDERUNTUK PEMBELAJARAN DASAR PEMROGRAMAN LADDER PLC Disusun untuk Memenuhi Salah Satu Persyaratan Guna Memeroleh Gelar Sarjana S-1 Program Studi Teknik Elektro Universitas Muhammadiyah Yogyakarta Disusun oleh: AHMAD AFIEF AMRULLAH 20100120017 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH YOGYAKARTA 2014

Transcript of Aplikasi Software "Classic Ladder" untuk Pembelajaran Pemrograman Ladder PLC

TUGASAKHIR

HALAMAN JUDUL

APLIKASI SOFTWARE “CLASSIC LADDER” UNTUK

PEMBELAJARAN DASAR PEMROGRAMAN LADDER PLC

Disusun untuk Memenuhi Salah Satu Persyaratan Guna Memeroleh Gelar Sarjana

S-1 Program Studi Teknik Elektro

Universitas Muhammadiyah Yogyakarta

Disusun oleh:

AHMADAFIEFAMRULLAH

20100120017

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

2014

TUGASAKHIR

APLIKASI SOFTWARE “CLASSIC LADDER” UNTUK

PEMBELAJARAN DASAR PEMROGRAMAN LADDER PLC

Disusun untuk Memenuhi Salah Satu Persyaratan Guna Memeroleh Gelar Sarjana

S-1 Program Studi Teknik Elektro

Universitas Muhammadiyah Yogyakarta

Disusun oleh:

AHMADAFIEFAMRULLAH

20100120017

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

2014

iii

HALAMAN PENGESAHAN I

iv

HALAMAN PENGESAHAN II

v

HALAMAN PERNYATAAN

vi

HALAMAN PERSEMBAHAN

Tiada daya dan upaya melainkan atas pertolongan Allah subhaanahu wata’aalaa.

Dialah satu-satunya dzat tempat kita manusia berharap dan meminta pertolongan.

Puji syukur kehadirat Allah subhaanahu wata’aalaa penulis panjatkan atas

rahmat-Nya, hidayah-Nya, serta pertolongan-Nya, sehingga atas izin-Nya penulis

dapat menyelesaikan tugas akhir ini.

Tugas akhir ini penulis persembahkan bagi:

Kedua orang tua penulis, Bapak Drs. Muhsin Hariyanto, M.Ag. dan Ibu Rowiyah,

S.Ag. yang senantiasa mendo’akan tanpa diminta, menanyakan kondisi penulis

tanpa basa-basi, menyeru untuk fokus dan mengejar cita-cita serta memotivasi di

saat penulis mengalami kemalasan dan kebimbangan. Do’a dan ridho dari mereka

merupakan energi ekstra yang memacu penulis untuk berjuang dalam setiap ujian

dan cobaan yang menghampiri penulis. Sejujurnya penulis ingin menangis

melihat keikhlasan mereka menerima, mengasuh, dan memberikan kasih sayang

kepada anak mereka yang seringkali menyusahkan dan membuat masalah.

Mungkin penulis bukanlah anak mereka yang terbaik, akan tetapi penulis akan

selalu berusaha untuk berbuat yang terbaik untuk membahagiakan mereka

berdua.

Untuk kedua saudara kandung penulis, Ahmad Arief Alfaruqi(kakak penulis) dan

Ahmad Aziez Alfauzi(adik penulis) yang selalu membuat penulis ingin menjadi

lebih baik dan lebih baik lagi sebagai saudara mereka.

Untuk adik perempuan penulis, Husna Ainun Ni’mah yang penulis cintai, sayangi,

dan banggakan. Engkau selalu membuat penulis ceria ketika berada di rumah.

Untuk simbah uti Sa’adah yang masih selalu ingat akan hari ulang tahun bahkan

hari di mana penulis di-aqiqahkan. Sungguh penulis ingin menangis walau tidak

bisa di depan beliau.

vii

Untuk segenap keluarga besar penulis yang penulis hormati.

Untuk sahabat setia penulis sejak tahun 2011, Afiq. Penulis tidak akan melupakan

masa-masa suka dan duka bersamamu. Engkau yang selalu ceria dan ikhlas

bersahabat dengan orang yang pelupa dan banyak kekurangan ini. Engkau yang

selalu membuat penulis merasa tidak sediri. Terimakasih untuk semuanya.

Semoga kita bisa bersahabat selamanya.

Untuk sahabat-sahabat penulis di UMY: Ririn, Mbak Tari, Mbak Ven, Mbak

Aniko, dan Andri. Juga untuk mbak-mbak dan mas-mas yang penulis hormati:

Mbak Ani, Mbak Nurul, Mas Fatih, dan yang lainnya. Semoga segala hal yang

penulis berikan ataupun yang kalian berikan dapat dibalas oleh Allah subhaanahu

wata’aalaa dengan balasan yang terbaik.

Untuk sahabat-sahabat penulis di Kelompok Studi Linux UMY. Wiwi, Adnan,

Zulfan, Habib, Aisyah, Joko, Mbak Liya, dan yang lainnya. Semoga penulis dapat

kembali dan terus berbagi lebih banyak pengetahuan yang bermanfaat untuk

kalian semua. Terimakasih juga khususnya kepada senior penulis, Mas Imannudin

atas bimbingan dan bantuan yang telah diberikan selama ini.

Untuk sahabat-sahabat penulis di UKM Kelompok Penelitian Mahasiswa. Janna,

Ikbal, Mbak Retno, dan yang lainnya. Terimakasih karena kalian semua selalu

menghargai penulis yang mungkin banyak mengecewakan dan kekurangan ini

saat bersama berjuang dengan kalian semua.

Untuk semua sahabat-sahabat P&P JAA yang penulis hormati dan banggakan:

Mbak Ana, Anna, Dilah, Aji, Fauzi, Arif, Oryza, Vivi, Nurul, Bagus, dan lain-lain.

Untuk sahabat-sahabat penulis di Lab. Teknik Elektro UMY. Fikri, Aji, Amru,

Ahdi, Mas Pul, Mas Septian, dan yang lainnya. Terimakasih karena kalian selalu

membuat penulis bahagia ketika nongkrong di Lab. Bersama. Semoga kita semua

dapat sukses di dunia dan akhirat. Ditunggu ya kabar terbaru kalian (termasuk:

kapan married, hehe).

viii

Untuk semua sahabat penulis di UNIRES. Sahabat-sahabat IT(Ibnu Taimiyah)

2011: Helmi, Eka, Wanyad, Ridho, Arfad, Singgih, Ical dan IT 2012: Dodi,

Hilman, Arisko, Mas Ded, Fadhal, Duo Semeton, Dimas, Dio, Abrar, Obi, Andi,

dan Ipin. Juga untuk sahabat-sahabat SR-ASR-Pembina (Ghufran, Aris, Yunus,

Mahfud, Ucup, Shodiq, Bang Imam, Imam, Syarif, dan yang lainnya) dan

resident-resident lainnya. Juga untuk kakak-kakak penulis: Mas Rama Rizana,

Duo Mas Lukman (Lukmanul Hakim dan Lukman Hakim). Sungguh pengalaman

bersama kalian semua memberi penulis banyak hal.

Untuk semua jajaran pejabat UNIRES UMY: Pak Ghoffar, Pak Iskandar, Bu Istho

dan staf-staf UNIRES UMY:Mas-mas dan Bapak-bapak Cleaning, Mas Rohmat,

Ustadz Nazieh, Pak Nodo, Teh Ai, Mbak Iin, Mas Imam dan yang lainnya.

Untuk mbak-mbak UNIRES yang penulis hormati: Mbak Syadah, Mbak

Khodijah, Mbak Sakinah, Mbak Olif, Mbak Idah, dan mbak-mbak mitra bisnis

pulsa (Mbak Rahma dan Mbak Tiatu). Semoga kita semua diberikan yang terbaik

oleh Allah subhaanahu wata’aalaa.

For Mr. Kasmil, Mr. Qomaruddin, the others from Philipines. All of you make me

motivated to continue my study abroad.

Untuk sahabat-sahabat penulis di GEMUIS (Generasi Muda Islam) Ngadisuryan.

Edo, Bagas, Satya, Pascal, Siddiq, dan yang lainnya. Mohon maaf atas

ketidakhadiran penulis serta terimakasih telah menghargai dan menerima penulis.

Untuk sahabat-sahabat penulis di Pengajian I’tikaf Ramadhan ke-32 di Pondok

Pesantren Budi Mulia.

Untuk semua personil grup nasyid Lensa Acapella: Akbar, Wildan, Alfian,

Aqwam, Fardhani, Ipul, dan Ardhi. Terimakasih atas perhatian, bantuan,

pengertian, serta pengorbanan kalian semua. Tanpa izin Allah untuk bertemu dan

mendapatkan pengalaman bersama kalian, penulis tidak akan menjadi seseorang

yang seperti saat ini. Terimakasih untuk semuanya.

ix

Untuk sahabat-sahabat penulis di SMA Islam Terpadu Abu Bakar Jogja: Mujahid,

Aziz, Muddien, Azzam, Izhar, Arif, Hamzah, Rezza, Kholid, dan yang lainnya.

Untuk sahabat-sahabat penulis di SMP ITAbu Bakar Jogja: Jevo, Umar, Inmas,

Bal P., Iqbal Azzaki(yang ketemu lagi di UMY), Aloft, dan yang lainnya.

Terimakasih karena kalian telah menerima seseorang yang lemah ini.

Untuk sahabat-sahabat penulis di SD IT Lukman Al-Hakim.

Untuk semua ustadz dan ustadzah yang pernah mengajar dan memberi

pengetahuan kepada penulis selama penulis menempuh masa lebih kurang 12

tahun pendidikan sebelum perguruan tinggi. Sungguh, tiada hal yang dapat

menggantikan pengorbanan dan keikhlasan kalian selama membimbing anak

yang bermasalah ini.

Terkhusus untuk ustadz Wasid, mohon maaf telah merepotkan di masa penulis SD.

Terimakasih, engkau telah bersedia membantu anak ini untuk menjadi lebih baik.

Terkhusus untuk ustadz Edy Sukarsa, terimakasih karena engkau telah membantu

membangun semangat penulis untuk menempuh pendidikan dengan rasa senang,

nikmat, syukur, dan kesungguhan.

Penulis hanya bisa berusaha untuk membanggakan kalian semua.

Untuk seseorang yang mungkin mencintai penulis dalam diam dan tidak dapat

penulis sebutkan namanya, walau berusaha sekuat apapun. Penulis sungguh tidak

menyangka, ternyata ada seseorang yang menyukai diri penulis yang tidak patut

untuk diidolakan dan dikagumi ini. Sungguh hal ini sangat berarti bagi penulis

dan dapat menjadi motivasi tersendiri.

Mohon maaf sebesar-besarnya kepada semua pihak yang belum disebutkan

satu-persatu, karena inilah keterbatasan penulis. Syukran ilaykum...

x

HALAMAN MOTTO

Sesungguhnya Allah bersama orang-orang yang sabar.

Barangsiapa bersabar maka baginya manfaat kesabarannya.

Be patient...

Cintailah seseorang sekedarnya karena mungkin suatu saat engkau akan

membencinya dan bencilah kepada seseorang sekedarnya karena mungkin suatu

saat engkau akan mencintainya...

Motto-motto di atas terinspirasi dari Al-Qur’an dan Hadits.

xi

KATA PENGANTAR

Alhamdulillah, puji syukur kehadirat Allah subhanahu wa ta’ala yang

telah memberikan rahmat dan hidayah-Nya, sehingga penulis dapat

menyelesaikan laporan tugas akhir ini. Shalawat dan salam kita curahkan kepada

uswatun hasanah kita Nabi Muhammad shallallahu ‘alayhi wa sallam.

Tiada ucapan yang pantas selain syukur dan terima kasih. Penyelesaian

laporan tugas akhir ini tidak terlepas dari bantuan banyak pihak baik secara

materil maupun moril. Karena hal tersebut, penulis mengucapkan terimakasih

kepada:

1. Bapak Ramadoni Syahputra, S.T., M.T., selaku Dosen Pembimbing I

2. Bapak Rahmat Adiprasetya Al Hasibi, S.T., M.Eng., selaku Dosen

Pembimbing II

3. Ibu Anna Nur Nazilah Chamim, S.T., M.Eng., selaku Dosen Penguji

4. Bapak Ir. Agus Jamal, M.Eng., selaku Ketua Jurusan Teknik Elektro UMY

5. dan pihak-pihak lainnya yang tidak dapat disebutkan satu-persatu.

Penulis menyadari bahwa di dalam laporan ini masih terdapat banyak

kekurangan, kesalahan, ataupun ketidaksesuaian. Oleh karena itu penyusun

mengharapkan kritik dan saran yang membangun agar dapat menunjang kualitas

atau kesempurnaan laporan ini. Semoga laporan ini dapat memberi manfaat baik

bagi orang lain maupun diri penulis sendiri.

Yogyakarta, 31 Desember 2014

Penulis

xii

DAFTAR ISI

HALAMAN JUDUL................................................................................................i

HALAMAN PENGESAHAN I............................................................................. iii

HALAMAN PENGESAHAN II............................................................................ iv

HALAMAN PERNYATAAN..................................................................................v

HALAMAN PERSEMBAHAN.............................................................................vi

HALAMAN MOTTO............................................................................................. x

KATA PENGANTAR.............................................................................................xi

DAFTAR ISI......................................................................................................... xii

DAFTAR LAMPIRAN........................................................................................ xvi

DAFTAR TABEL............................................................................................... xvii

DAFTAR GAMBAR......................................................................................... xviii

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah............................................................................1

1.2 Rumusan Masalah..................................................................................... 3

1.3 Batasan Masalah........................................................................................3

1.4 Tujuan Penelitian.......................................................................................3

1.5 Manfaat Penelitian.....................................................................................4

1.6 Luaran yang Dihasilkan............................................................................ 4

1.7 Sistematika Penulisan................................................................................4

BAB II STUDI PUSTAKADAN LANDASAN TEORI

2.1 Definisi PLC..............................................................................................6

2.2 Prinsip Kerja Dasar PLC...........................................................................9

xiii

2.2.1Memeriksa Status Masukan (Check Input Status)........................10

2.2.2Melakukan Eksekusi Program (Execute Program)...................... 11

2.2.3Memperbaharui Status Keluaran(Update Output Status).............11

2.3 Komponen-komponen/Bagian-bagian Penyusun PLC............................13

2.3.1 Perangkat Pemrograman (Programming Device)........................ 15

2.3.2 Hubungan Input/Output (I/O) dengan Perangkat Lunak..............17

2.4 Dasar Pemrograman Ladder Diagram Language/Bahasa Diagram

Tangga/Ladder Logic.................................................................................... 18

2.4.1 Sistem Aliran Daya.......................................................................19

2.4.2 Konvensi tentang Ladder Diagram..............................................20

2.4.3 Komponen-komponen Dasar Ladder Diagram............................25

2.5 Software Classic Ladder..........................................................................34

2.5.1 Profil.............................................................................................34

2.5.2 Konsep Ladder............................................................................. 35

2.5.3 Bahasa.......................................................................................... 36

2.5.4 File............................................................................................... 36

2.5.5 Tampilan / Antarmuka Grafis/ Graphical User Interface............ 38

2.5.6 Obyek Ladder dalam Classic Ladder...........................................52

2.5.7 Variabel-variabel dalam Classic Ladder.......................................62

BAB III METODOLOGI PELAKSANAAN

3.1 Studi Literatur......................................................................................... 66

3.2 Persiapan................................................................................................. 66

3.2.1 Pengunduhan/Download.............................................................. 66

xiv

3.2.2 Pemasangan..................................................................................68

3.3 Pengujian (Penulisan dan Simulasi Program Ladder Diagram)............. 83

3.3.1Menambahkan Ladder Logic....................................................... 83

3.3.2Melakukan Simulasi terhadap Program Ladder...........................87

3.1.1 Menyimpan File Proyek Classic Ladder......................................91

3.4 Analisis Hasil Pengujian..........................................................................93

3.5 Pembuatan Laporan.................................................................................93

BAB IV PEMBAHASAN

4.1 Program Input-Output Dasar...................................................................94

4.2 Program Latching....................................................................................94

4.3 Program SET - RESET.............................................................................96

4.4 Program Gerbang Logika Dasar..............................................................98

4.4.1 AND............................................................................................. 98

4.4.2 OR...............................................................................................100

4.4.3 NOT............................................................................................ 101

4.4.4 AND NOT................................................................................... 102

4.4.5 OR NOT......................................................................................104

4.4.6 EXOR.........................................................................................105

4.4.7 EXNOR...................................................................................... 107

4.5 Program Timer.......................................................................................109

4.5.1 TON............................................................................................110

4.5.2 TOF.............................................................................................111

4.5.3 TP............................................................................................... 113

xv

4.6 Program Counter................................................................................... 114

4.6.1 PRESET...................................................................................... 115

4.6.2 RESET........................................................................................ 116

4.6.3 UP COUNT................................................................................ 117

4.6.4 DOWN COUNT..........................................................................119

4.6.5 UP COUNT - OVERFLOW........................................................120

4.6.6 DOWN COUNT - UNDERFLOW.............................................. 122

BAB V PENUTUP

5.1 Kesimpulan............................................................................................124

5.2 Saran......................................................................................................125

DAFTAR PUSTAKA.......................................................................................... 127

LAMPIRAN........................................................................................................130

xvi

DAFTAR LAMPIRAN

Lampiran 1. Bahasa Pemrograman PLC.............................................................131

Lampiran 2. Program-program Ladder Dasar yang Digunakan......................... 134

Lampiran 3. Gerbang-gerbang Logika Dasar dan Tabel Kebenarannya............. 140

Lampiran 4. Variabel pada Pengaturan Classic Ladder.......................................141

Lampiran 5. Sejarah Pengembangan Software Classic Ladder...........................142

Lampiran 6. Rencana Pengembangan dan Update Software Classic Ladder dari

Developer............................................................................................................ 144

Lampiran 7. Perintah Instalasi Paket Pustaka/Library pada Berbagai Distro Linux

dengan Manajer Paket yang Bervariasi...............................................................147

Lampiran 8. Istilah-istilah Penting......................................................................148

Lampiran 9. Daftar Kompetisi PLC Programming untuk Mahasiswa................151

xvii

DAFTAR TABEL

Tabel 2.1. Tabel Hubungan Relay dengan PLC.......................................................8

Tabel 4.1. Tabel Kebenaran Program AND........................................................... 99

Tabel 4.2. Tabel Kebenaran Program Ladder OR............................................... 101

Tabel 4.3. Tabel Kebenaran Program Ladder NOT.............................................102

Tabel 4.4. Tabel Kebenaran Program Ladder NOT AND.................................... 103

Tabel 4.5. Tabel Kebenaran Program Ladder NOT OR.......................................105

Tabel 4.6. Tabel Kebenaran Program Ladder EXOR..........................................107

Tabel 4.7. Tabel Kebenaran Program Ladder EXNOR.......................................109

Tabel 1. Contoh List Instruksi............................................................................. 131

Tabel 2. Tabel Kebenaran Program Ladder AND................................................136

Tabel 3. Tabel Kebenaran Program Ladder OR.................................................. 136

Tabel 4. Tabel Kebenaran Program Ladder NOT................................................137

Tabel 5. Tabel Kebenaran Program Ladder EXOR.............................................137

Tabel 6. Tabel Kebenaran Program Ladder EXNOR..........................................138

Tabel 7. Tabel Kebenaran Program Ladder NOT OR..........................................138

Tabel 8. Tabel Kebenaran Program Ladder NOT AND....................................... 139

Tabel 9. Gerbang Logika Dasar...........................................................................140

Tabel 10. Variabel Default...................................................................................141

xviii

DAFTAR GAMBAR

Gambar 2.1. Gambaran Umum Sebuah PLC.......................................................... 6

Gambar 2.2. Diagram Konseptual Aplikasi PLC.................................................... 7

Gambar 2.3. Prinsip Kerja Dasar PLC.................................................................. 10

Gambar 2.4. Proses Scanning Program PLC.........................................................10

Gambar 2.5. Komponen-komponen Utama PLC..................................................13

Gambar 2.6. Interaksi Komponen-komponen Sistem PLC...................................14

Gambar 2.7. Elemen Dasar PLC dan Hubungan Bagian Utama dari PLC........... 15

Gambar 2.8. Miniprogrammer..............................................................................16

Gambar 2.9. Pemrograman PLC dengan Menggunakan Komputer......................17

Gambar 2.10. Hubungan antara I/O dengan Perangkat Lunak............................. 18

Gambar 2.11. Ladder Diagram (IEC, “IEC 61131-3, 3, 2nd Ed, 2003)............... 18

Gambar 2.12. Sistem Aliran Daya.........................................................................20

Gambar 2.13. Ladder Diagram dan Keterangannya.............................................21

Gambar 2.14. Penggunaan Internal Relay............................................................22

Gambar 2.15. Konvensi untuk Pemasangan Contact........................................... 22

Gambar 2.16. Konvensi untuk Pemasangan Coil (Asumsi: Kedua Coil Beralamat

Sama).....................................................................................................................23

Gambar 2.17. Self Holding................................................................................... 23

Gambar 2.18. Ladder Diagram dengan Special Coil (SET dan RESET)..............23

Gambar 2.19. Timing Diagram dengan Special Coil (SET dan RESET)............. 24

Gambar 2.20. Diagram Ladder dari Positive Transition Contact.........................24

Gambar 2.21. Timing Diagram dari Positive Transition Contact.........................24

xix

Gambar 2.22. Ladder Diagram dari Negative Transition Contact.......................24

Gambar 2.23. Timing Diagram dari Negative Transition Contact....................... 25

Gambar 2.24. Ladder Diagram Timer.................................................................. 28

Gambar 2.25. Timing Diagram dari Timer On Delay...........................................29

Gambar 2.26. Timing Diagram dari Timer OFF Delay........................................ 29

Gambar 2.27. Timing Diagram dari Timer Pulse..................................................30

Gambar 2.28. Ladder Diagram Counter.............................................................. 32

Gambar 2.29. Timing Diagram Counter - Up Count............................................33

Gambar 2.30. Timing Diagram dari Counter - Count Down................................33

Gambar 2.31. Jendela DefaultManajer Bagian(Section Manager)......................38

Gambar 2.32. Jendela Default Tampilan Bagian(Section Display)...................... 39

Gambar 2.33. Jendela Status Bit........................................................................... 41

Gambar 2.34. Jendela Pemantau (Watch Window)............................................... 42

Gambar 2.35. Jendela Nama Simbol.....................................................................43

Gambar 2.36. Jendela Editor................................................................................ 44

Gambar 2.37. Jendela Config................................................................................47

Gambar 2.38. Jendela Section Display Classic Ladder Versi Terbaru (0.9.014)...48

Gambar 2.39. Menu Utama Jendela Section Display Classic Ladder Versi Terbaru

(0.9.014)................................................................................................................ 48

Gambar 2.40. (a)Jendela EditorAktif dan (b)Jendela Editor Inaktif....................51

Gambar 2.41. Tool-tool Editor yang Berbeda di Versi Terbaru Classic Ladder

(0.9.014)................................................................................................................ 52

Gambar 2.42. Contoh Menetapkan(Assign) / Membandingkan(Compare).......... 59

xx

Gambar 3.1. Diagram Alir Metodologi Pelaksanaan............................................ 65

Gambar 3.2. Contoh Hasil Extract atau “unzip” dari FileArsip Classic Ladder..69

Gambar 3.3. Penyalinan Alamat Direktori Classic Ladder................................... 70

Gambar 3.4. Penyertaan Direktori Classic Ladder Tahap 1.................................. 70

Gambar 3.5. Penyertaan Direktori Classic Ladder Tahap 2.................................. 71

Gambar 3.6. Direktori Classic Ladder yang Telah Diakses dengan Shell

Interpreter............................................................................................................. 71

Gambar 3.7. Kompilasi Classic Ladder yang Mengalami Error.......................... 71

Gambar 3.8. Kompilasi Classic Ladder yang Berhasil......................................... 72

Gambar 3.9. Eksekusi Perintah Instalasi Classic Ladder......................................72

Gambar 3.10. Instalasi Classic Ladder yang Berhasil...........................................72

Gambar 3.11. GUI Classic Ladder Versi Lama (0.7.124) untuk Linux.................73

Gambar 3.12. GUI Classic Ladder Versi Terbaru (0.9.014) untuk Linux............. 73

Gambar 3.13. Direktori/FolderMasing-masing Versi Classic Ladder................. 75

Gambar 3.14. Folder Hasil Extract FileArsip Classic Ladder.............................76

Gambar 3.15. Konten Folder/Direktori Hasil Extract dari FileArsip Classic

Ladder....................................................................................................................76

Gambar 3.16. Direktori/Folder Classic Ladder untuk Linux dengan File

Executable classicladder....................................................................................... 77

Gambar 3.17. Tampilan Utama Classic Ladder Versi Lama untuk Linux.............77

Gambar 3.18. Tampilan Utama Classic Ladder Versi Terbaru (0.9.014) untuk

Linux..................................................................................................................... 78

Gambar 3.19. Folder Terpisah antar Versi Classic Ladder untuk Windows......... 79

xxi

Gambar 3.20. Folder Hasil Extract dari File “zip” Classic Ladder Versi Terbaru

(0.9.014) untuk Windows......................................................................................79

Gambar 3.21. Folder Hasil Extract dari File “zip” Classic Ladder Versi Lama

(0.7.123+)..............................................................................................................80

Gambar 3.22. Isi dari Folder Hasil Extract File “zip” Classic Ladder.................80

Gambar 3.23. Hasil Extract dari File “zip” pustaka dari GTK Runtime.............. 80

Gambar 3.24. Hasil Extract File “zip” Update untuk Pustaka zlib1.....................81

Gambar 3.25. Isi Folder Classic Ladder dengan Pustaka GTK runtime dan

Update Pustaka zlib1.............................................................................................81

Gambar 3.26. Memulai Classic Ladder.................................................................82

Gambar 3.27. Tampilan Awal Classic Ladder Versi Terbaru (0.9.014) untuk

Windows................................................................................................................82

Gambar 3.28. Tampilan Awal Classic Ladder Versi Lama (0.7.123+) untuk

Windows................................................................................................................83

Gambar 3.29. Section Display dengan Grid......................................................... 84

Gambar 3.30. Jendela Editor dengan Obyek Kontak Normal Terbuka Terpilih... 84

Gambar 3.31. Section Display dengan Input........................................................ 85

Gambar 3.32. Section Display dengan Rung........................................................ 86

Gambar 3.33. Tampilan Bagian(Section Display) yang Selesai............................86

Gambar 3.34. Section Display dengan Obyek Ladder Input dan Output............. 87

Gambar 3.35. Jendela Editor dengan Tombol “Ok” yang Hendak Ditekan..........88

Gambar 3.36. Section Display dengan Simulasi ON dan Editor OFF................. 89

Gambar 3.37. Pemantau Variabel Boolean dengan %I0 ON................................ 89

xxii

Gambar 3.38. Section Display dengan Input dan Output ON...............................90

Gambar 3.39. Toolbar Classic Ladder Versi Terbaru dengan Simulasi OFF....... 91

Gambar 3.40. Toolbar Classic Ladder Versi Terbaru dengan Simulasi ON..........91

Gambar 3.41. Tombol-tombol Menu Utama pada Classic Ladder Versi Lama

(0.7.124/0.7.123+).................................................................................................91

Gambar 3.42. Toolbar pada Section Display (Classic Ladder Versi 0.9.014).......92

Gambar 3.43. Dialog Save As............................................................................... 92

Gambar 3.44. Jendela Penyimpanan Proyek.........................................................93

Gambar 4.1. Kondisi Awal Program Input-Output Dasar..................................... 94

Gambar 4.2. Program Input-Output Dasar dengan %I0 yang Aktif......................94

Gambar 4.3. Kondisi Awal Program Latching......................................................94

Gambar 4.4. Program Latching dengan Tombol START yang Aktif..................... 95

Gambar 4.5. Nama-nama Simbol yang Digunakan...............................................95

Gambar 4.6. Program Latching dengan Tombol START Inaktif atau Bernilai 0...95

Gambar 4.7. Program Latching dengan Tombol STOPAktif atau Bernilai 1.......96

Gambar 4.8. Program Latching dengan Tombol STOP Inaktif atau Bernilai 0.... 96

Gambar 4.9. Kondisi Awal Program SET-RESET................................................ 96

Gambar 4.10. Kondisi Variabel Setelah %I0 Diaktifkan.......................................96

Gambar 4.11. Program SET-RESET dengan %I0 Aktif........................................ 97

Gambar 4.12. Kondisi Variabel Setelah %I0 Dinoaktifkan...................................97

Gambar 4.13. Kondisi Variabel Setelah %I1 Diaktifkan.......................................98

Gambar 4.14. Program SET-RESET dengan %I1 Aktif........................................ 98

Gambar 4.15. Kondisi Awal Program Ladder AND............................................. 98

xxiii

Gambar 4.16. Program Ladder AND dengan Input I0 Aktif................................. 99

Gambar 4.17. Program Ladder AND dengan Input I1 Aktif................................. 99

Gambar 4.18. Program Ladder AND dengan Kedua InputAktif..........................99

Gambar 4.19. Kondisi Awal Program Ladder OR.............................................. 100

Gambar 4.20. Program Ladder OR dengan Input %I0 Aktif.............................. 100

Gambar 4.21. Program Ladder OR dengan Input %I1 Aktif.............................. 100

Gambar 4.22. Program Ladder OR dengan Kedua InputAktif...........................101

Gambar 4.23. Program NOT dengan Input Bernilai 0.........................................101

Gambar 4.24. Program NOT dengan Input Bernilai 1.........................................102

Gambar 4.25. Kondisi Awal Program NOT AND............................................... 102

Gambar 4.26. Program NOT AND dengan Input %I0 Bernilai 1........................ 103

Gambar 4.27. Program NOT AND dengan Input %I1 Bernilai 1........................ 103

Gambar 4.28. Program NOT AND dengan Kedua Input Bernilai 1.................... 103

Gambar 4.29. Kondisi Awal Program NOT OR..................................................104

Gambar 4.30. Program NOT OR dengan Input %I0 Bernilai 1...........................104

Gambar 4.31. Program NOT OR dengan Input %I1 Bernilai 1...........................104

Gambar 4.32. Program NOT OR dengan Kedua Input Bernilai 0.......................104

Gambar 4.33. Kondisi Awal Program Ladder EXOR......................................... 105

Gambar 4.34. Program Ladder EXOR dengan Input %I0 Bernilai 1................. 106

Gambar 4.35. Program Ladder EXOR dengan Input %I1 Bernilai 1................. 106

Gambar 4.36. Program Ladder EXOR dengan Input %I0 dan %I1 Bernilai 1...106

Gambar 4.37. Kondisi Awal Program Ladder EXNOR...................................... 107

Gambar 4.38. Program EXNOR dengan Input %I0 Bernilai 1...........................107

xxiv

Gambar 4.39. Program XNOR dengan Input %I1 Bernilai 1............................. 108

Gambar 4.40. Program XNOR dengan Kedua Input (%I0 dan %I1) Bernilai 1.108

Gambar 4.41. Kondisi awal dari Timer-timer yang Digunakan.......................... 109

Gambar 4.42. Kondisi Awal dari TON................................................................ 110

Gambar 4.43. TON dengan Waktu yang Berjalan...............................................110

Gambar 4.44. TON dengan Waktu Mencapai Preset..........................................110

Gambar 4.45. TON Setelah Mengalami Reset.................................................... 111

Gambar 4.46. Timing Diagram Program TON....................................................111

Gambar 4.47. Kondisi Awal Program Ladder TOF.............................................111

Gambar 4.48. TOF dengan Input ON dan Output ON........................................ 112

Gambar 4.49. TOF dengan Input OFF dan Output ON...................................... 112

Gambar 4.50. TOF Setelah Waktu Selesai.......................................................... 112

Gambar 4.51. Timing Diagram Program TOF.................................................... 112

Gambar 4.52. Kondisi Awal TP...........................................................................113

Gambar 4.53. TP dengan InputAktif, Waktu Hitung Mundur............................ 113

Gambar 4.54. TP dengan InputAktif tetapi Output Tidak Aktif.........................113

Gambar 4.55. TP dengan Input Tidak Aktif dan Output Tidak Aktif.................. 114

Gambar 4.56. Timing Diagram Program TP....................................................... 114

Gambar 4.57. Rangkaian Ladder Program Counter (Kondisi Awal).................. 115

Gambar 4.58. Counter dengan Input P(Preset) Aktif yang Mengaktifkan Output

D dan Output Q1................................................................................................. 115

Gambar 4.59. Counter dengan Input P(Preset) Nonaktif Kembali, Output D dan

Output Q1 Tetap Aktif......................................................................................... 116

xxv

Gambar 4.60. Counter dengan Input R(Reset) Aktif...........................................116

Gambar 4.61. Counter dengan Input R(Reset) yang Dinonaktifkan Kembali.... 116

Gambar 4.62. Counter dengan Input U(Up Count) Aktif....................................117

Gambar 4.63. Counter dengan Input U(Up Count) Dinonaktifkan Kembali......117

Gambar 4.64. Counter dengan Input U(Up Count) Diaktifkan Kedua kalinya.. 118

Gambar 4.65. Counter Pasca Penghitungan Selesai dengan Input U................. 118

Gambar 4.66. Kondisi Counter Ketika Input U Diaktifkan Kembali................. 118

Gambar 4.67. Kondisi Awal Sebelum Input D(Down Count) Aktif....................119

Gambar 4.68. Counter dengan Input D(Down Count) Aktif...............................119

Gambar 4.69. Counter dengan Input D(Down Count) Dinonaktifkan Kembali. 119

Gambar 4.70. Kondisi Counter Setelah Input D Diaktifkan Kembali................ 120

Gambar 4.71. Counter dengan Nilai Aktual Maksimum.................................... 120

Gambar 4.72. Counter dengan Input U dan Output F Aktif................................121

Gambar 4.73. Counter dengan Input U(Up Count) Dinonaktifkan Kembali dan

Output F(Overflow) Tetap Aktif.......................................................................... 121

Gambar 4.74. Counter dengan Input UAktif dan Output F Tidak Aktif............ 121

Gambar 4.75. Counter dengan Input D(Down Count) Aktif dan Output

E(Underflow) Aktif............................................................................................. 122

Gambar 4.76. Counter dengan Input D(Down Count) Dinonaktifkan Kembali dan

Output E(Underflow) Tetap.................................................................................122

Gambar 4.77. Counter dengan Input DAktif dan Output E Tidak Aktif............ 123

Gambar 4.78. Timing Diagram Program Counter.............................................. 123

Gambar 1. Diagram Tangga................................................................................ 131

xxvi

Gambar 2. (a) Diagram Tangga (b) Diagram Blok Fungsional Ekivalennya......132

Gambar 3. Diagram Fungsi Sekuensial...............................................................132

Gambar 4. Teks Terstruktur.................................................................................133

Gambar 5. Input-Output dengan N.O. Contact...................................................134

Gambar 6. SET-RESET dengan Self Holding..................................................... 135

Gambar 7. SET-RESET dengan Coil Khusus......................................................135

Gambar 8. Program AND....................................................................................136

Gambar 9. Program OR...................................................................................... 136

Gambar 10. Program NOT..................................................................................137

Gambar 11. Program EXOR............................................................................... 137

Gambar 12. Program EXNOR............................................................................ 138

Gambar 13. Program NOT OR............................................................................138

Gambar 14. Program NOT AND......................................................................... 139

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Salah satu piranti yang digunakan secara luas untuk pelbagai keperluan

kendali proses adalah Programmable Logic Controller atau yang lebih populer

dikenal dengan sebutan PLC (Angga, 2011). PLC banyak digunakan pada

aplikasi-aplikasi industri, misalnya pada proses pengepakan, penanganan bahan,

perakitan, otomatis dan sebagainya. Dengan kata lain, hampir semua aplikasi

yang memerlukan kontrol listrik atau elektronik membutuhkan PLC (Juwana,

2006). Kemudahan transisi dari sistem kontrol sebelumnya (misalnya dari sistem

kontrol berbasis relay mekanis) dan kemudahan trouble-shooting dalam

konfigurasi sistem merupakan dua faktor utama yang mendorong populernya

PLC ini (Widyanahar, 1998).

Salah satu aspek penting dari PLC adalah pemrogramannya (Widyanahar,

1998). Secara de facto sampai saat ini pemrograman yang sangat luas

penggunaannya terutama di industri adalah diagram tangga. Alasan utamanya

adalah diagram ini sangat mudah untuk dipahami para teknisi, di pabrik

umumnya yang telah lebih dahulu familiar dengan jenis diagram tangga

elektromekanis, yaitu diagram tangga dengan menggunakan simbol-simbol

komponen elektromekanis dalam penggambaran logika kontrolnya (Sonjaya,

2011). Diagram tangga telah menjadi suatu alat bantu dalam menerangkan sistem

kerja berbagai rangkaian kendali, mulai dari rangkaian yang sederhana sampai

pada rangkaian yang cukup rumit (Angga, 2011).

2

PLC membutuhkan support software untuk bisa menuliskan program

yang dibutuhkan untuk suatu jenis aplikasi tertentu (Angga, 2011). Dalam

perkembangannya banyak pula support software PLC yang menyediakan fitur

simulasi. Dengan fitur tersebut perancangan dan pengujian suatu rangkaian

kendali berbasis diagram tangga logika menjadi lebih mudah (Angga, 2011).

Teknik elektro dapat dikatakan merupakan cabang ilmu teknik yang

cukup dominan dalam penggunaan PLC. Oleh karena itu, lulusan teknik elektro

hendaknya memiliki pengetahuan yang memadai mengenai PLC dan dasar

penggunaannya (Angga, 2011).

Untuk memelajari PLC dan dasar penggunaannya, cara termudah adalah

dengan memahami pemrograman ladder. Hal ini dikarenakan semua jenis PLC

saat ini telah memakai support software yang dijalankan melalui komputer dan

semua support software PLC mendukung pemrograman ladder. Dalam sebuah

pembelajaran, penguasaan dasar sangat penting untuk pengembangan dan

peningkatan keilmuan. Oleh karena itu pembelajaran dasar pemrograman ladder

menjadi penting.

Pembelajaran ladder saat ini dapat dilakukan tanpa memerlukan hardware

PLC yang sebenarnya. Hal ini dikarenakan terdapat software pemrograman

ladder yang sudah menyertakan fitur simulasi.

Namun, terdapat satu masalah yang cukup penting menurut penulis.

Semua software yang biasa digunakan merupakan software yang tidak

multiplatform. Dengan kata lain, software-software tersebut hanya dapat berjalan

pada satu sistem operasi saja, yaitu Windows. Sementara dalam kenyataan, tidak

3

semua orang menggunakan sistem operasi ini. Tentunya hal ini menimbulkan

masalah pada kompatibilitas software ladder programming tersebut.

Di sisi lain, penulis menemukan sebuah software bernama “Classic

Ladder” yang dikembangkan oleh Marc Le Douarain. Software ini ternyata telah

memenuhi kriteria multiplatform tersebut. Classic Ladder dapat dijalankan pada

dua sistem operasi, yaitu Linux dan Windows. Software ini belum banyak dikenal

terutama di Indonesia. Satu hal yang dapat membuktikannya adalah belum

terdapat dokumentasi resmi versi bahasa Indonesia dari software ini sampai saat

tulisan ini dibuat.

1.2 Rumusan Masalah

Untuk menjawab permasalahan tersebut, menurut hemat penulis, perlu

dibahas penggunaan software Classic Ladder ini untuk kebutuhan pembelajaran

Programming Ladder PLC dan sejauh mana software ini dapat berguna untuk hal

tersebut.

1.3 Batasan Masalah

Penelitian ini dibatasi pada pembahasan tentang penggunaan aplikasi

Classic Ladder sebagai software simulasi untuk pembelajaran dasar pemrograman

ladder PLC. Dengan demikian hal-hal yang terkait dengan hardware PLC tidak

dibahas dalam tugas akhir ini.

1.4 Tujuan Penelitian

Penelitian ini memiliki tujuan untuk menguji sejauh mana kemampuan

aplikasi Classic Ladder pada penulisan dan simulasi dasar ladder programming.

4

1.5 Manfaat Penelitian

Penelitian ini memiliki manfaat antara lain:

a. memberikan pengetahuan secara umum tentang software Classic Ladder,

b. memberikan pengetahuan seputar aplikasi Classic Ladder pada pemrograman

ladder PLC,

c. mempublikasikan software Classic Ladder kepada masyarakat akademik

Indonesia khususnya di lingkungan Program Studi Teknik Elektro, Fakultas

Teknik, Universitas Muhammadiyah Yogyakarta sebagai alternatif yang dapat

diandalkan.

d. mempromosikan serta memasifkan penggunaan FOSS (Free and Open Source

Software)

1.6 Luaran yang Dihasilkan

Luaran yang dihasilkan dari penelitian ini adalah sebuah modul atau

panduan lengkap tentang penggunaan aplikasi Classic Ladder sebagai media

pembelajaran dasar pemrograman ladder PLC.

1.7 Sistematika Penulisan

Penulisan tugas akhir ini terbagi atas lima bab sebagai berikut.

1. BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan,

manfaat, luaran, serta sistematika penulisan laporan.

2. BAB II TINJAUAN PUSTAKADAN LANDASAN TEORI

Bab ini membahas seputar tinjauan pustaka, serta dasar teori yang digunakan

sebagai penunjang keilmiahan dan validitas dari penelitian ini.

5

3. BAB III METODOLOGI PELAKSANAAN

Bab ini membahas tentang metodologi yang digunakan untuk pengerjaan tugas

akhir dan penyusunan laporan.

4. BAB IV PEMBAHASAN

Bab ini berisi tentang pembahasan inti dari pengerjaan tugas akhir yang meliputi

tahap persiapan serta pengaplikasian dari sistem yang dipakai.

5. BAB V PENUTUP

Bab ini berisi kesimpulan dari BAB I sampai BAB IV dan saran terhadap tugas

akhir yang dapat dipergunakan oleh pihak ketiga untuk melakukan penelitian

lebih lanjut.

6

BAB II

STUDI PUSTAKA DAN LANDASAN TEORI

2.1 Definisi PLC

Programmable Logic Controller (PLC) merupakan suatu bentuk khusus

alat kendali berbasis mikroprosesor yang memanfaatkan memori yang dapat

diprogram untuk menyimpan instruksi-instruksi dan untuk mengimplementasikan

fungsi-fungsi seperti logika, sekuensial, pewaktuan, pencacahan dan aritmetika

guna mengendalikan mesin-mesin di dalam suatu sistem kendali proses (Angga,

2011).

Gambar 2.1. Gambaran Umum Sebuah PLC

PLC sebenarnya merupakan suatu piranti berbasis mikroprosesor yang

dikembangkan secara khusus untuk menjawab tantangan di dunia industri. Jika

dibandingkan dengan microcontroller, PLC jauh lebih mudah digunakan dan

sudah dikenal secara umum oleh pelbagai kalangan di dunia industri (Angga,

2011).

7

Adapun Juwana(2006) menjelaskan, PLC sesungguhnya merupakan

sistem mikrokontroler khusus untuk industri, artinya seperangkat perangkat lunak

dan keras yang diadaptasi untuk keperluan aplikasi dalam dunia industri.

Menurut Setiawan(2006) dan Endaryoko(2011), Programmable Logic

Controller (PLC) pada dasarnya adalah sebuah komputer yang khusus dirancang

untuk mengontrol suatu proses atau mesin. Proses yang dikontrol ini dapat berupa

regulasi variabel secara kontinyu seperti pada sistem-sistem servo atau hanya

melibatkan kontrol dua keadaan (On/Off) saja tetapi dilakukan secara

berulang-ulang seperti umumnya kita jumpai pada mesin pengeboran, sistem

konveyor, dan lain sebagainya. Gambar berikut memperlihatkan konsep

pengontrolan yang dilakukan oleh sebuah PLC.

Gambar 2.2. Diagram Konseptual Aplikasi PLC

Setiawan(2006) menambahkan, walaupun istilah PLC secara bahasa

berarti pengontrol logika yang dapat diprogram, akan tetapi pada kenyataannya

PLC secara fungsional tidak lagi terbatas pada fungsi-fungsi logika saja. Sebuah

PLC dewasa ini dapat melakukan perhitungan-perhitungan aritmatika yang relatif

8

kompleks, fungsi komunikasi, dokumentasi dan lain sebagainya ( Sehingga

dengan alasan ini dalam beberapa buku manual, istilah PLC sering hanya ditulis

sebagai PC - Programmable Controller).

Adapun Caniago(2008) menjelaskan bahwa secara definitif, menurut

NEMA (National Electrical Manufactures Association), PLC adalah suatu alat

elektronika digital yang berbasis mikrokontroller dan menggunakan memori yang

dapat diprogram untuk menyimpan dan mengaplikasikan instruksi – instruksi dari

suatu fungsi tertentu, seperti logika, sekuensial, pewaktuan (timing), pencacahan

(counting), dan aritmatika dalam rangka mengendalikan mesin-mesin ataupun

suatu proses.

Juwana(2006) menjelaskan, sebuah PLC (kepanjangan: Programmable

Logic Control) adalah sebuah alat yang digunakan untuk menggantikan rangkaian

sederetan relay yang dijumpai pada sistem kontrol proses konvensional.

Widjiantoro, dkk.(2012) memberikan keterangan bahwa dengan demikian

konsep yang digunakan pada rangkaian relay digunakan pula pada PLC.

Tabel 2.1. Tabel Hubungan Relay dengan PLC

Utomo(2013) dan Hutahaean(2010) memberikan pengertian bahwa PLC

yang awalnya berfungsi menggantikan peran relay, dapat diartikan sesuai kata

penyusunnya adalah sebagai berikut:

a. Programmable yaitu menunjukkan kemampuannya yang dapat dengan mudah

9

diubah-ubah sesuai program yang dibuat dan kemampuannya dalam hal

memori program yang telah dibuat.

b. Logic yaitu menunjukkan kemampuannya dalam memproses input secara

aritmatik (ALU) dengan melakukan proses membandingkan, menjumlahkan,

mengkalikan, membagi, dan mengurangi.

c. Controller yaitu menunjukkan kemampuannya dalam mengontrol dan

mengatur proses sehingga menghasilkan output yang diinginkan.

PLC merupakan elemen unit pengendali yang fungsi pengendaliannya

dapat diprogram sesuai dengan keperluan. Jadi, sebelum digunakan PLC

diprogram terlebih dahulu agar proses pengendalian yang terjadi sesuai dengan

yang diinginkan (Caniago, 2008).

Piranti ini juga dirancang agar dapat dioperasikan oleh para insinyur yang

memiliki kemampuan terbatas mengenai pemograman bahasa komputer. Oleh

sebab itu para perancang PLC sudah menempatkan sebuah program awal

(pre-program) yang memungkinkan program-program kontrol dapat dimasukkan

dengan menggunakan bahasa pemrograman yang sederhana dan mudah dipahami

(Caniago, 2008).

2.2 Prinsip Kerja Dasar PLC

Caniago(2008) menjelaskan, PLC menerima sinyal input dari peralatan

diskrit (on/off) atau analog (sensor). Modul input mengidentifikasi serta

mengubah sinyal tersebut ke dalam bentuk tegangan yang sesuai dengan modul

input dan mengirimkannya ke CPU (Central Processing Unit). Sinyal input

tersebut diolah, kemudian dikirim ke modul output berdasarkan program yang

10

telah disimpan di CPU. Bentuk sinyal output diubah menjadi tegangan yang

sesuai dan dipakai untuk menjalankan peralatan output (actuator).

Gambar 2.3. Prinsip Kerja Dasar PLC

Angga(2011) mengungkapkan, PLC bekerja dengan cara melakukan

program scanning. Secara umum satu siklus scanning meliputi 3 tahapan utama

yaitu: (i) memeriksa status masukan; (ii) melakukan eksekusi program; dan (iii)

memperbaharui status keluaran. Umumnya lebih dari 3, tetapi secara garis besar

ada 3 tahap tersebut, sebagaimana ditunjukkan pada gambar dibawah (Juwana,

2006).

Gambar 2.4. Proses Scanning Program PLC

2.2.1 Memeriksa Status Masukan (Check Input Status)

Pada tahapan ini, PLC akan memeriksa seluruh keadaan masukan yang

11

berasal dari piranti eksternal, seperti: saklar tekan, sensor, dsb. (Angga, 2011).

PLC membaca data masukan (input) melalui perangkat yang disebut modul input

(Caniago, 2008). PLC melihat keadaan setiap masukan yang ada untuk

menentukan kondisi setiap masukan tersebut apakah pada keadaan aktif atau

non-aktif (Rubiyanto, dkk., 2004). Hasil pemeriksaan status input ini kemudian

akan disimpan di dalam memori PLC (Angga, 2011).

2.2.2 Melakukan Eksekusi Program (Execute Program)

PLC akan mengeksekusi program kontrol yang telah dirancang dan

tersimpan pada memori PLC (Caniago, 2008). Pada prinsipnya eksekusi program

ditentukan oleh status masukan. Status masukan merupakan syarat wajib untuk

memastikan bahwa suatu bagian program perlu dieksekusi (Angga, 2011).

PLC akan mengerjakan atau mengeksekusi program (diagram tangga) per

instruksi (Juwana, 2006). Misalkan program menginginkan jika masukan pertama

aktif, maka program tersebut harus mengaktifkan keluaran pertama. Program

yang ada telah mengetahui masukan-masukan mana saja yang aktif/tidak aktif

dari langkah sebelumnya. Setelah itu, program akan menyimpan hasil eksekusi

tersebut dengan tujuan untuk dapat digunakan pada langkah selanjutnya

(Rubiyanto, dkk., 2004).

2.2.3 Memperbaharui Status Keluaran(Update Output Status)

Hasil dari eksekusi suatu program kemudian akan menentukan perubahan

status keluaran dari elemen yang terpasang pada rangkaian keluaran PLC (Angga,

2011). PLC akan memperbaharui data-data pada modul output PLC (Caniago,

2008).

Pembaharuan keluaran ini bergantung pada masukan mana yang ON

12

selama langkah 1 dan hasil dari eksekusi program di langkah 2 (Juwana, 2006).

Pada langkah terakhir ini, PLC memperbaharui kondisi keluaran berdasarkan

masukan mana yang aktif pada langkah pertama dan hasil eksekusi program yang

dimasukkan pada langkah kedua (Rubiyanto, dkk., 2004).

Setelah langkah 3, PLC akan mengulangi lagi scanning program-nya dari

langkah 1, demikian seterusnya. Waktu scan didefinisikan sebagai waktu yang

dibutuhkan untuk mengerjakan 3 langkah tersebut (Juwana, 2006).

Masing-masing langkah bisa memiliki waktu tanggap (response time) yang

berbeda-beda. Waktu total tanggap atau total response time adalah jumlah semua

waktu tanggap masing-masing langkah (Juwana, 2006):

waktu tanggap masukan + waktu eksekusi program + waktu tanggap keluaran =

waktu tanggap total

Adapun Endaryoko(2011) menjelaskan bahwa 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.

Endaryoko(2011) menambahkan, alat ini bekerja berdasarkan input-input

yang ada dan tergantung dari keadaan pada suatu waktu tertentu yang kemudian

akan meng-ON atau meng-OFF-kan output-output. 1 menunjukkan bahwa

keadaan yang diharapkan terpenuhi, sedangkan 0 berarti keadaan yang

diharapkan tidak terpenuhi (Endaryoko, 2011).

13

2.3 Komponen-komponen/Bagian-bagian Penyusun PLC

Secara umum, bagian utama suatu PLC adalah sebagai berikut: prosesor,

catu daya, memori, modul input dan output, serta perangkat pemrograman(Angga,

2011). Caniago(2008) menuliskan, PLC memiliki empat komponen utama, yaitu:

Power Supply (catu daya), Processor, Memori, dan Modul Input / Output.

Sedikit berbeda menurut Sonjaya(2011), komponen utama atau perangkat

keras penyusun PLC adalah (1) Catu Daya / Power Supply, (2) CPU (Central

Processing Unit) yang di dalamnya terdapat prosesor, dan memori, (3) Modul

Masukan (Input Modules), dan Modul Keluaran (Output Modules), dan (4)

Perangkat Pemrograman.

Gambar 2.5. Komponen-komponen Utama PLC

Adapun menurut Setiawan(2006), perangkat keras PLC pada dasarnya

tersusun dari empat komponen utama berikut: prosesor, power supply, memori

dan modul input/output. Secara fungsional interaksi antara ke-empat komponen

penyusun PLC ini dapat diilustrasikan pada gambar berikut.

14

Gambar 2.6. Interaksi Komponen-komponen Sistem PLC

Dalam hal ini prosesor akan mengontrol peralatan luar yang terkoneksi

dengan modul output berdasarkan kondisi perangkat input serta program ladder

yang tersimpan pada memori PLC tersebut (Setiawan, 2006).

Sementara Poha, Buko(2013) menjelaskan bahwa dalam sistem PLC

terdapat empat komponen bagian utama, yaitu:

1. Central Processing Unit (CPU), merupakan otak dari PLC yang terdiri dari 3

(tiga) bagian, yaitu:

a) Mikroprosesor, merupakan otak dari PLC yang difungsikan untuk

operasi matematika dan operasi logika.

b) Memori, merupakan daerah CPU yang digunakan untuk melakukan

proses penyimpanan dan pengiriman data pada PLC.

c) Catu daya, yang berfungsi untuk mengubah sumber masukan tegangan

bolak-balik menjadi tegangan searah.

2. Programmer/Monitor, adalah perangkat pemrograman yang digunakan untuk

pemrograman ini umumnya tidak tersambung secara permanen ke dalam

PLC. Jalannya program juga dapat diamati melalui perangkat ini.

15

3. Input/Output Modules, adalah antarmuka antara PLC dan perangkat eksternal

(peralatan input dan peralatan output) dimana prosesor menerima informasi

dari perangkat-perangkat eksternal tersebut dan mengkomunikasikan

informasi kontrol ke perangkat-perangkat eksternal tersebut.

4. Racks dan Chassis, adalah sebagai rumah untuk PLC dan sebagai dudukan

PLC agar posisinya stabil.

Elemen-elemen dasar sebuah PLC ditunjukkan pada gambar berikut

(Juwana, 2006). Adapun Poha, Buko(2013) memberikan keterangan bahwa

secara blok diagram, hubungan utama dari PLC dapat dilihat pada gambar

berikut.

Gambar 2.7. Elemen Dasar PLC dan Hubungan Bagian Utama dari PLC

2.3.1 Perangkat Pemrograman (Programming Device)

Sumbodo(2008) menyatakan Programming Device PLC sebagai device

masukan program yang berfungsi menjadi sarana untuk memasukkan atau

mengisikan program ke dalam prosesor PLC yang disebut dengan pengisi

16

program (program loader).

Sonjaya(2011) memberikan keterangan bahwa terdapat 2 perangkat

program yang biasa digunakan, yaitu Miniprogrammer atau Programming

Console dan Komputer.

2.3.1.1 Miniprogrammer atau Console

Miniprogrammer atau Programming Console (biasa disebut konsol)

adalah sebuah perangkat seukuran kalkulator saku yang berfungsi untuk

memasukkan instruksi-instruksi program ke dalam PLC (Sonjaya, 2011).

Umumnya, instruksi-instruksi program dimasukkan dengan mengetikkan

simbol-simbol diagram tangga dengan menggunakan kode mnemonik (Mnemonic

Code) (Sonjaya, 2011).

Selain digunakan untuk memasukkan program diagram ladder, beberapa

jenis miniprogrammer juga dilengkapi fasilitas untuk monitoring dan tugas-tugas

diagnostic (Sonjaya, 2011).

Gambar 2.8. Miniprogrammer

2.3.1.2 Komputer

Pemrograman PLC dengan menggunakan miniprogrammer ini akan

sangat melelahkan jika jumlah anak tangga pada diagram ladder yang akan

diprogram berukuran relatif besar. Umumnya, penggunaan konsol ini biasa

17

digunakan hanya untuk pengeditan program saja (Sonjaya, 2011).

Untuk memasukkan program secara keseluruhan pada PLC, dapat

digunakan Komputer. Vendor-vendor PLC umumnya menyertakan perangkat

lunak (Software atau Support Software) untuk mengimplementasikan pemasukan

program diagram tangga, pengeditan, dokumentasi dan monitoring ke dalam PLC

(Sonjaya, 2011).

Angga(2011) menambahkan bahwa pada komputer di dalamnya terdapat

support software PLC yang bersesuaian. Setelah program yang dibutuhkan

selesai dirancang, maka program tersebut dapat ditransfer ke PLC melalui kabel

koneksi ke saluran komunikasi PLC. Jenis port yang sering digunakan adalah

port serial dengan spesifikasi yang beragam (Angga, 2011).

Gambar 2.9. Pemrograman PLC dengan Menggunakan Komputer

2.3.2 Hubungan Input/Output (I/O) dengan Perangkat Lunak

Pada saat pemrogram (programmer) bekerja dengan bahasa ladder logic,

programmer harus mengerti hubungan I/O dengan perangkat lunak. Gambar di

bawah memperlihatkan bahwa apabila push button 1 ditekan maka unit input X1

menjadi ON. Sesuai dengan prinsip pemahaman bahwa titik masukan sebagai coil

relay yang mempunyai kontak di perangkat lunak, sehingga jika keadaan ON

maka sinyal mengalir menuju modul masukan (dengan anggapan pemahaman

18

bahwa terdapat coil) hal tersebut mengakibatkan kontak dari unit input di dalam

perangkat lunak akan bekerja (Sumbodo, 2008).

Gambar 2.10. Hubungan antara I/O dengan Perangkat Lunak

Penulis merujuk pada beberapa panduan praktikum, modul praktikum,

dan karya tulis ilmiah yang terkait untuk menjelaskan tentang dasar pemrograman

ladder PLC. Berikut penjelasan khusus tentang pemrograman ladder PLC.

2.4 Dasar Pemrograman Ladder Diagram Language/Bahasa Diagram

Tangga/Ladder Logic

Penggambaran ladder diagram sesungguhnya berdasar pada diagram

rangkaian. Tiga elemen penting yang biasa disajikan: kontak Normaly Open,

kontak Normaly Closed, dan hasil keluaran (Endaryoko, 2011).

Gambar 2.11. Ladder Diagram (IEC, “IEC 61131-3, 3, 2nd Ed, 2003)

Ladder diagram terdiri dari garis vertikal yang di sebut garis bar. Instruksi

yang dinyatakan dengan simbol digambarkan dan disusun sepanjang garis

horizontal dimulai dari kiri dan dari atas ke bawah (Utomo, 2013).

19

Ladder diagram digunakan untuk menggambarkan rangkaian listrik dan

dimaksudkan untuk menunjukkan urutan kejadian, bukan hubungan kabel antar

komponen. Pada ladder diagram memungkinkan elemen-elemen elektrik

dihubungkan sedemikian rupa sehingga keluaran (output) tidak hanya terbatas

pada ketergantungan terhadap masukan (input) tetapi juga terhadap logika

(Utomo, 2013).

Ladder language merupakan bahasa pemrograman yang menuliskan

instruksi kontrol secara grafis. Untuk menggambarkan ladder language/diagram

ada beberapa ketentuan yang perlu diperhatikan yaitu (Utomo, 2013):

a. Daya mengalir dari kiri ke kanan.

b. Output ditulis pada bagian yang paling kanan.

c. Tidak ada kontak yang diletakkan di sebelah kanan output.

d. Setiap output disisipkan satu kali dalam setiap program.

Ladder logic adalah bahasa pemrograman dengan bahasa grafik atau

bahasa yang digambar secara grafik. Diagram ini menyerupai diagram dasar yang

digunakan logika kendali sistem kontrol panel dimana ketentuan instruksi terdiri

dari coil-coil, N.O., N.C. dan dalam bentuk penyimbolan. Pemrograman tersebut

akan memudahkan programmer dalam mentransisikan logika pengendalian

khususnya bagi programmer yang memahami logika pengendalian sistem kontrol

panel. Simbol-simbol tersebut tidak dapat dipresentasikan sebagai komponen,

tetapi dalam pemrogramannya simbol-simbol tersebut dipresentasikan sebagai

fungsi komponen sebenarnya (Sumbodo, 2008).

2.4.1 SistemAliran Daya

Caniago(2008) menjelaskan bahwa sistem aliran daya merupakan prinsip

20

yang digunakan pada pemrograman PLC. Seperti arus yang mengalir pada

rangkaian listrik, garis vertikal pada posisi kiri dan kanan adalah rel daya yang

diasumsikan sebagai sumber daya untuk mengaktifkan fungsi-fungsi yang

terdapat di dalam program yang dibuat.

Fungsi-fungsi tersebut secara langsung berhubungan dengan rel daya.

Kemudian dieksekusi setiap satu kali scan operasi. Gambar berikut merupakan

sistem aliran daya yang menjelaskan fungsi-A aktif jika ada aliran daya

melewatinya. Sedangkan agar fungsi-C dapat aktif, maka fungsi-B harus aktif

terlebih dahulu untuk melewatkan daya ke fungsi-C (Caniago, 2008).

Gambar 2.12. SistemAliran Daya

Widjiantoro, dkk.(2012) memberikan keterangan bahwa saat menentukan

peralatan yang akan dipakai, yang harus dipikirkan adalah bagaimana hubungan

rangkaian yang satu dengan yang lainnya. Dalam PLC rangkaian pengaturan

tersebut digambarkan pada diagram tangga.

2.4.2 Konvensi tentang Ladder Diagram

Hal ini dijelaskan oleh Wicaksono(2008) dalam materi presentasinya

berjudul “Dasar-Dasar Pemrograman PLC”. Pada presentasi tersebut

21

Wicaksono(2008) menuliskan beberapa hal tentang konvensi atau kesepakatan

pada ladder diagram yang antara lain sebagai berikut.

1. Ladder diagram terdiri dari:

a) power rail dan neutral rail;

b) anak tangga (rung)

Gambar 2.13. Ladder Diagram dan Keterangannya

2. Dibaca dari kiri ke kanan, dari atas ke bawah.

3. Rung tidak boleh diakhiri dengan lebih dari satu output.

4. Input/output diidentifikasikan melalui alamatnya.

5. Penggunaan Internal Relay pada Ladder.

22

Gambar 2.14. Penggunaan Internal Relay

6. Contact dapat muncul berkali-kali.

Gambar 2.15. Konvensi untuk Pemasangan Contact

7. Coil hanya dapat muncul sekali.

23

Gambar 2.16. Konvensi untuk Pemasangan Coil (Asumsi: Kedua Coil

Beralamat Sama)

8. Self Holding – Sifat Khusus Coil di PLC (Ladder Diagram)

Gambar 2.17. Self Holding

9. Bentuk Lain Self Holding – Special Coil (Set – Reset)

Gambar 2.18. Ladder Diagram dengan Special Coil (SET dan RESET)

24

Gambar 2.19. Timing Diagram dengan Special Coil (SET dan RESET)

10. Special Contact - Positive & Negative Transition Contact

Gambar 2.20. Diagram Ladder dari Positive Transition Contact

Gambar 2.21. Timing Diagram dari Positive Transition Contact

Gambar 2.22. Ladder Diagram dari Negative Transition Contact

25

Gambar 2.23. Timing Diagram dari Negative Transition Contact

2.4.3 Komponen-komponen Dasar Ladder Diagram

Wicaksono(2008) menuliskan dalam presentasinya bahwa

komponen-komponen dasar dalam ladder diagram adalah sebagai berikut.

1. Contact / input

2. Coil / output

3. Timer

4. Counter

Berikut penjelasan tentang masing-masing komponen tersebut.

2.4.3.1 Contact

Utomo(2013) menjelaskan bahwa contact dapat berupa kontak input

(saklar, push button), kontak internal variable (relay otomatis) dan lain-lain, ada

4 macam tipe kontak yaitu:

a. Kontak N.O. (Normally Open) adalah kontak yang terdapat pada ladder

diagram di mana pada saat keadaan sistem belum bekerja kondisi kontak

dalam keadaan terbuka.

b. Kontak N.C. (Normally Close) adalah kontak yang terdapat pada ladder

diagram di mana pada saat keadaan sistem belum bekerja kondisi kontak

dalam keadaan tertutup.

26

c. Kontak rising edge adalah kontak yang terdapat pada ladder diagram di mana

pada saat pada saat keadaan sistem mulai bekerja kondisi kontak berubah dari

logika “0” menjadi logika “1”.

d. Kontak falling edge adalah kontak yang terdapat pada ladder diagram di mana

pada saat keadaan sistem mulai bekerja kondisi kontak berubah dari logika “1”

menjadi logika “0”.

Adapun Wicaksono(2008) menuliskan dalam presentasinya, klasifikasi

contact adalah sebagai berikut.

a) Normal Contact

i. Normally Open Contact

ii. Normally Close Contact

b) Transition Contact

i. Positive Transition Contact

ii. Negative Transition Contact

2.4.3.2 Coil

Utomo(2013) menjelaskan, coil secara umum menyatakan output,

terdapat 4 macam tipe coil yaitu:

a. Coil

b. Negative Coil

c. SET Coil

d. RESET Coil

Adapun Wicaksono(2008) mengklasifikasikan coil menjadi dua macam

sebagai berikut.

27

a) Normal Coil

b) Latching Coil

Dengan demikian penulis dapat mengambil kesimpulan bahwa pada

intinya input dan output diagram ladder PLC direpresentasikan oleh dua

komponen dasar, yaitu contact dan coil.

2.4.3.3 Timer

Wicaksono(2008) dalam presentasinya berjudul “Timer : Teori dan

Aplikasi” menjelaskan beberapa hal fundamental tentang timer pada ladder

diagram sebagai berikut.

1. Macam-macam sequence (urutan) sistem

a) Event driven sequence

- Urutan proses ditentukan oleh event (peristiwa).

- Event merupakan kejadian yang dialami oleh input device (switch,

sensor)

b) Time driven sequence.

- Urutan proses ditentukan oleh waktu.

- Waktu ditentukan oleh timer (preset value).

c) Gabungan Event-Time Driven Sequence

2. Instruksi Timer menggantikan ”time delay relay” di masa lalu.

3. Timer berfungsi untuk menunda terjadinya suatu aksi.

4. Lamanya penundaan ditentukan oleh preset value.

5. Cara Kerja Timer

a) Timer bekerja jika timer coil mendapat logika 1 dari input-nya.

b) Timer akan menghitung sampai preset value dan timer contact akan aktif.

28

c) Untuk jenis On Delay Timer (Default)

Timer akan mati (kembali ke nilai awal) jika input-nya dimatikan.

6. Beberapa Jenis Timer

a) On Delay Timer

b) Off Delay Timer

c) Pulse Timer

Pada gambar berikut dapat dilihat ladder diagram yang

merepresentasikan penggunaan timer. I1 merupakan input (biasanya saklar), T1

merupakan timer, dan O1 merupakan output (biasanya paling sederhana memakai

lampu LED). Ladder diagram ini penulis gunakan untuk menjelaskan 3 jenis

timer sekaligus, yaitu Timer Off Delay, Timer On Delay, dan Timer Pulse.

Gambar 2.24. Ladder Diagram Timer

1. Timer On Delay

Secara prinsip, timer jenis ini dapat dijelaskan dengan gambar berikut.

29

Gambar 2.25. Timing Diagram dari Timer On Delay

Pada gambar tersebut, posisi garis biru di atas menandakan kondisi aktif

dan posisi di bawah menandakan kondisi nonaktif. I1 memicu timer untuk

melakukan penghitungan waktu (asumsi: preset = 5 detik dan waktu mulai dari 0)

selama 5 detik. Ketika penghitungan selesai, maka output timer akan aktif atau

bernilai 1 dan menyebabkan output O1 aktif atau bernilai 1. Kemudian ketika

input I1 dinonaktifkan, timer akan mengalami reset, output timer bernilai 0, dan

output O1 akan nonaktif atau bernilai 0.

2. Timer Off Delay

Secara prinsip, timer jenis ini dapat dijelaskan dengan gambar berikut.

Gambar 2.26. Timing Diagram dari Timer OFF Delay

30

Pada gambar tersebut, posisi garis biru di atas menandakan kondisi aktif

dan posisi di bawah menandakan kondisi nonaktif. I1 memicu timer untuk

mengaktifkan output O1. Output akan selalu aktif selama input aktif. Input yang

dinonaktifkan memicu timer melakukan penghitungan waktu mundur (asumsi:

preset = 5 detik dan waktu mulai dari 5 ke 0) selama 5 detik. Ketika hitung

mundur selesai, maka output timer akan nonaktif atau bernilai 0 dan

menyebabkan output O1 tidak aktif atau bernilai 0. Setelah itu timer akan

mengalami reset.

3. Pulse Timer

Secara prinsip, timer jenis ini dapat dijelaskan dengan gambar berikut.

Gambar 2.27. Timing Diagram dari Timer Pulse

Pada gambar tersebut, posisi garis biru di atas menandakan kondisi aktif

dan posisi di bawah menandakan kondisi nonaktif. I1 memicu timer untuk

mengaktifkan output O1. Output akan selalu aktif selama penghitungan waktu

mundur (asumsi: preset = 5 detik dan waktu mulai dari 5 ke 0) selama 5 detik.

Input yang dibaca oleh timer pulse berupa pulsa atau detak. Ketika hitung

31

mundur selesai, maka output timer akan nonaktif atau bernilai 0 dan

menyebabkan output O1 tidak aktif atau bernilai 0. Setelah itu timer akan

mengalami reset.

2.4.3.4 Counter

Wicaksono(2008) dalam presentasinya berjudul “Counter : Teori dan

Aplikasi” menjelaskan beberapa hal fundamental terkait counter pada ladder

diagram.

1. Fungsi Counter

Menghitung banyaknya/jumlah kejadian tertentu, misal: menghitung

jumlah barang untuk penyortiran, pengepakan, dll.

2. Counter mempunyai 2 input, yaitu Pulse Input (harus berbentuk pulsa) dan

Reset Input.

3. Cara Kerja Counter

a) Counter coil akan aktif dan menghitung jika input pulsa berubah dari 0

ke 1 (rising edge).

b) Counter coil akan mati dan nilai kembali ke 0 jika input reset diaktifkan.

c) Besar nilai yang akan dihitung counter ditunjukkan preset value.

d) Ketika nilai counter mencapai preset value, counter contact akan aktif.

4. Jenis Counter

Tipe-tipe counter adalah sebagai berikut.

a) Count up > hitungan naik

b) Count down > hitungan turun

c) Count up - down > hitungan naik - turun

Pada gambar berikut dapat dilihat ladder diagram yang

32

merepresentasikan penggunaan counter. I1 merupakan input (biasanya

pushbutton), C1(pulse) merupakan bagian input pulsa dari counter, C1(reset)

merupakan bagian reset dari counter, dan O1 merupakan output (biasanya paling

sederhana memakai lampu LED). Ladder diagram ini penulis gunakan untuk

menjelaskan 2 jenis counter sekaligus, yaitu Up Count dan Down Count.

Gambar 2.28. Ladder Diagram Counter

33

1. Counter - Count Up

Secara prinsip, counter jenis ini dapat dijelaskan dengan gambar berikut.

Gambar 2.29. Timing Diagram Counter - Up Count

Pada gambar tersebut, posisi garis biru di atas menandakan kondisi aktif

dan posisi di bawah menandakan kondisi nonaktif. I1 berperan sebagai pulsa

input counter. Saat I1 diaktifkan minimal sejumlah 3 kali, nilai aktual counter

akan mencapai preset. Dengan demikian output counter akan bernilai 1 dan

mengaktifkan O1. Adapun saat I2 diaktifkan, nilai aktual counter akan

mengalami reset ke 0.

2. Counter - Count Down

Secara prinsip, gambar berikut dapat menjelaskan counter - count down.

Gambar 2.30. Timing Diagram dari Counter - Count Down

34

Pada gambar tersebut, posisi garis biru di atas menandakan kondisi aktif

dan posisi di bawah menandakan kondisi nonaktif. I1 berperan sebagai pulsa

input counter. Saat I1 diaktifkan minimal sejumlah 3 kali, nilai aktual counter

akan menurun mencapai angka 0. Dengan demikian output counter akan bernilai

1 dan mengaktifkan O1. Adapun saat I2 diaktifkan, nilai aktual counter akan

mengalami reset ke nilai preset-nya (dalam kasus di atas preset = 3).

2.5 Software Classic Ladder

2.5.1 Profil

Sumber: https://sites.google.com/site/classicladder/home

Sebuah proyek open source untuk memiliki ladder bebas dan

pemrograman perangkat lunak sekuensial (grafcet) yang dikodekan dalam bahasa

C (yang akan digunakan untuk pendidikan, pelatihan, di software PLC pada

komputer PC atau embedded platform, ...). Umumnya, ditemukan jenis bahasa

tersebut di PLC untuk membuat program-program proses otomasi. Hal ini

memungkinkan untuk mewujudkan program kecil atau yang lebih besar secara

elektrik dengan ladder. Proyek ini dirilis di bawah persyaratan lisensi LGPL.

Situs web asli yang lama berada pada alamat berikut.

http://membres.multimania.fr/mavati/classicladder/

Namun sekarang, situs web tersebut sudah tidak aktif. Update terbaru

terdapat pada situs baru Classic Ladder

(https://sites.google.com/site/classicladder/home). Perangkat lunak ini, untuk

download yang tersedia pada sourceforge.net, berada pada alamat web di bawah

ini.

http://sourceforge.net/projects/classicladder/

35

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Classic Ladder telah diadaptasi untuk bekerja dengan HAL

EMC2/LinuxCNC, dan saat ini masih didistribusikan bersama dengan

EMC2/LinuxCNC. Jika terdapat masalah(issues/problems/bugs) dianjurkan untuk

melaporkannya kepada proyek Enhanched Machine Controller.

2.5.2 Konsep Ladder

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Classic Ladder adalah jenis bahasa pemrograman awalnya

diimplementasikan pada industri PLC (itu disebut Ladder Programming). Hal ini

didasarkan pada konsep kontak relay dan coil, dan dapat digunakan untuk

membangun cek(checks) dan fungsi logika dengan cara yang familiar bagi

banyak integrator sistem. Penting untuk mengetahui bagaimana program tangga

dievaluasi ketika dijalankan.

Tampaknya wajar bahwa setiap baris akan dievaluasi dari kiri ke kanan

kemudian baris berikutnya turun dll., tetapi hal ini tidak bekerja seperti ini.

Semua input dibaca, semua logika diketahui, maka semua output ditetapkan. Ini

dapat menimbulkan sebuah masalah dalam situasi tertentu jika output dari satu

baris menyuplai masukan dari yang lain. Masalah lainnya dengan pemrograman

tangga adalah aturan "Last One Wins". Jika pengguna memiliki output yang sama

pada lokasi yang berbeda dari ladder-nya, keadaan dari satu yang terakhir akan

menjadi hal yang diatur pada output-nya. Classic Ladder versi 0.7.124 telah

diadaptasi untuk EMC 2.3. Dokumen ini menjelaskan versi tersebut.

36

2.5.3 Bahasa

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Bahasa yang paling umum digunakan saat bekerja dengan Classic Ladder

adalah ‘ladder’. Classic Ladder juga mendukung Sequential Function Chart

(Grafcet).

2.5.4 File

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Format file yang digunakan pada proyek Classic Ladder adalah “.clp”,

sedangkan untuk versi terbarunya (0.9.014) adalah “.clprj”. File Ladder (.clp)

tidak boleh mengandung spasi kosong dalam namanya.

Adapun berikut beberapa informasi lain tentang software Classic Ladder

ini yang penulis dapatkan dari beberapa sumber lainnya.

Sumber: e-Gizmo_PLC64_28I/O Programmable Logic Controller_Hardware

Manual Rev 1 r0_”Common hardware platform for use with Ladder Logic and

ClassicLadder open source PLC ladder programming software.”

Classic Ladder yang dikembangkan oleh Marc Le Douarain ini memiliki:

- website resmi:

https://sites.google.com/site/classicladder/

- alamat web untuk download:

https://sites.google.com/site/classicladder/home/downloads

Dokumentasi PDF juga tersedia dari link yang sama, sayangnya bagi

masyarakat pada umumnya (global), kebanyakan dari dokumentasi tersebut

ditulis dalam bahasa Prancis. Google Translate dapat membantu untuk

37

menyelesaikan permasalahan ini.

- pedoman singkat (bahasa Inggris):

http://users.teledisnet.be/web/rlo05343/umanual/umanual_for_classicladder.html

Versi Classic Ladder yang telah dikompilasi(compiled) dapat berjalan baik

pada OS Windows maupun Unix.

Sumber: http://leachy.homeip.net/olinuxino/classic_ladder.html

Pada Classic Ladder pengguna dapat membuat program dengan

menggunakan diagram ladder atau grafcet. Proyek ini terdiri atas 2 bagian:

bagian windows dan bagian linux.

Sumber: http://www.sharewareconnection.com/classicladder.htm

Classic Ladder merupakan sebuah software open source yang

memungkinkan pengguna untuk membuat program-program pada PLC secara

elektrik. Program-program tersebut dipisahkan dalam bagian-bagian/sections

(utama/main atau subrutin/sub-routines), di mana pengguna memilih

bahasa(ladder atau sequential).

Elemen-elemen berikut tersedia pada ladder tersebut.

a) Elemen-elemen Boolean(Boolean elements)

b) Rising / Falling Edges

c) Timers

d) Monostables

e) Counters

f) Membandingkan ekspresi aritmatika (Compare of arithmetic expressions)

g) Keluaran-keluaran Boolean (Boolean Outputs)

38

h) Coil Set / Reset

i) Lompatan (Jumps)

j) Pemanggilan ke bagian subrutin (Calls to sub-routines sections)

k) Mengoperasikan ekspresi aritmatika (Operate of arithmetic expressions)

URL info program: http://sourceforge.net/projects/classicladder

2.5.5 Tampilan / Antarmuka Grafis/ Graphical User Interface

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Jika pengguna menjalankan Classic Ladder dengan GUI-nya, software ini

akan menampilkan dua jendela: tampilan bagian (section display), dan manajer

bagian (section manager).

2.5.5.1 Manajer Bagian(Sections Manager)

Ketika pengguna pertama kali memulai Classic Ladder, pengguna akan

mendapatkan jendela manajer bagian(sections manager window) yang kosong.

Gambar 2.31. Jendela DefaultManajer Bagian(Section Manager)

Jendela ini memungkinkan kita untuk menamai, membuat atau

menghapus bagian(section) dan memilih apa bahasa yang kita gunakan pada

bagian(section) tersebut. Jendela ini juga terkait tentang bagaimana kita menamai

subroutine untuk memanggil coil-coil.

2.5.5.2 Tampilan Bagian(Section Display)

Ketika kita pertama kali memulai Classic Ladder, kita mendapatkan

jendela tampilan bagian (Section Display) yang kosong.

39

Gambar 2.32. Jendela Default Tampilan Bagian(Section Display)

Sebagian besar tombol yang mudah untuk dijelaskan:

1. Tombol Vars adalah untuk melihat variabel, mengalihkan untuk

menampilkan satu, yang lain, keduanya, kemudian tidak satupun yang ada

pada jendela tersebut.

2. Tombol Config digunakan untuk modbus dan menunjukkan jumlah elemen

tangga maksimum yang penuh dengan modul real time.

3. Tombol Symbol akan menampilkan daftar simbol yang dapat di-edit untuk

variabel-variabel tersebut (petunjuk kita dapat menamai input, output, coil,

dll.).

4. Tombol Quit akan menutup program pengguna yang berarti Modbus dan

tampilannya - program ladder real time masih akan berjalan di background.

5. Kotak Centang(Check Box) di bagian kanan atas tampilan memungkinkan

kita untuk memilih antara nama variabel atau nama simbol yang ditampilkan.

Pengguna mungkin melihat bahwa terdapat garis bawah pada tampilan

40

program ladder yang bertuliskan "Project failed to load..." Itu adalah status bar

yang memberikan info tentang unsur-unsur program ladder yang pengguna klik

pada jendela tampilan. Status bar ini akan menampilkan nama sinyal HAL untuk

variabel %I, %Q dan %W pertama (dalam sebuah persamaan).

Pengguna mungkin melihat beberapa label unik, seperti (103) di dalam

anak tangga(rung). Hal ini ditampilkan (disengaja) karena suatu kesalahan lama

(old-bug) ketika menghapus elemen pada versi lama terkadang tidak menghapus

objek dengan kode yang benar. Pengguna mungkin telah memperhatikan bahwa

tombol koneksi horizontal panjang terkadang tidak bekerja dalam versi yang

lebih lama/tua. Hal ini dikarenakan pencarian kode ‘bebas’, tetapi ditemukan

sesuatu yang lain. Nomor yang berada dalam kurung adalah kode yang belum

diakui atau dikenali. Program ladder akan tetap bekerja dengan baik, untuk

memperbaikinya dibutuhkan penghapusan kode dengan editor dan penyimpanan

program.

2.5.5.3 Variable Window (Jendela Variabel)

Ini adalah dua jendela variabel: bool dan bilangan bulat yang

ditandai(signed integer). Dengan menggunakan tombol “Vars” di jendela

tampilan bagian(Section Display), pengguna dapat melakukan pengalihan tombol

‘Vars’ untuk menampilkan satu, yang lain, keduanya, bahkan tidak satupun

variabel yang ada pada jendela tersebut.

41

Gambar 2.33. Jendela Status Bit

Jendela Bool tersebut menampilkan beberapa dari semua data variabel

bool (on / off). Hal yang perlu diperhatikan yaitu semua awal variabel

menggunakan tanda %. Variabel %I merepresentasikan pin-pin bit masukan(input)

HAL. %Q merepresentasikan kumparan(coil) relay dan pin-pin bit output HAL.

%B merupakan kumparan(coil) relay internal atau hubungan(contact) internal.

Tiga tempat/area peng-edit-an pada bagian paling atas memungkinkan kita untuk

memilih 15 variabel yang akan ditampilkan di setiap kolom. Misalnya jika

terdapat 30 variabel %B dan kita masukkan 5 di bagian atas kolom, variabel %B5

sampai %B19 akan ditampilkan.

Kotak centang (Check Box) memungkinkan pengguna untuk mengatur

dan mengatur/menetapkan variabel %B secara manual selama program tangga

tidak menetapkannya sebagai output. Setiap bit yang ditetapkan sebagai output

oleh program ketika Classic Ladder berjalan tidak dapat diubah dan akan

ditampilkan sebagai tercentang(checked) jika on dan tidak tercentang jika off.

42

Gambar 2.34. Jendela Pemantau (Watch Window)

Watch Window menampilkan status variabel. Textbox di samping tersebut

adalah nomor yang tersimpan dalam variabel dan kotak drop-down di samping

tersebut yang memungkinkan pengguna untuk memilih nomor yang akan

ditampilkan dalam hex, desimal atau biner. Jika terdapat nama simbol yang

didefinisikan pada jendela simbol untuk variabel kata(Word) yang tampil dan

terdapat centang pada ‘Display Symbol’ yang memeriksa jendela tampilan

bagian (section display), nama simbol akan ditampilkan. Untuk mengubah

variabel yang ditampilkan, pengguna perlu mengetikkan nomor variabelnya,

misalkan %W2 (jika kotak centang ‘Display Symbol’ tidak dicentang) atau nama

simbol (jika ‘Display Symbol’ dicentang) pada nomor/nama variabel dan kita

menekan tombol “Enter”.

43

2.5.5.4 Jendela Simbol

Gambar 2.35. Jendela Nama Simbol

Ini adalah daftar nama ‘symbol’ yang gunakan, bukan nama variabel yang

akan ditampilkan di jendela bagian (Section Window) ketika kotak cek ‘Display

Symbol’ dicentang. Pengguna menambahkan nama variabel (ingat simbol '%' dan

huruf kapital) dan nama simbol. Jika variabel dapat memiliki sinyal HAL

terhubung (%I, %Q, dan %W - jika pengguna telah memuat pin S32 dengan

modul real time) maka bagian komentar(comment section) akan menampilkan

nama sinyal HAL saat itu atau kurang dari itu. Nama simbol harus tetap pendek

untuk tampilan yang lebih baik. Perlu diingat bahwa pengguna dapat

menampilkan lagi nama sinyal HAL %I, %Q dan variabel %W dengan

mengkliknya di jendela bagian (Section Window). Di antara dua hal tersebut

dihidupkan/diaktifkan, maka pengguna seharusnya dapat memantau dengan apa

program ladder tersebut terhubung.

44

2.5.5.5 Editor Window

Gambar 2.36. Jendela Editor

Berikut keterangan tentang tombol-tombol paling atas.

- Tombol “Add” berfungsi untuk menambahkan sebuah rung setelah rung yang

dipilih oleh pengguna.

- Tombol “Insert” berfungsi untuk menyisipkan sebuah rung sebelum rung yang

dipilih oleh pengguna.

- Tombol “Delete” berfungsi untuk menghapus rung yang dipilih.

- Tombol “Modify” berfungsi untuk membuka rung yang dipilih untuk

pengubahan/editing.

Mulai dari gambar kiri atas:

1. Object Selector, Eraser

2. N.O. Input, N.C. Input, Rising Edge Input, Falling Edge Input

3. Horizontal Connection, Vertical Connection, Long Horizontal Connection

45

4. IEC Timer Block, Counter Block, Compare Variable

5. Old Timer Block, Old Monostable Block (ini telah digantikan oleh IEC Timer)

6. Coil - N.O. Output, N.C. Output, Set Output, Reset Output

7. Jump Coil, Call Coil, Variable Assignment

Berikut deskripsi singkat dari masing-masing tombol.

1. Tombol ANAK PANAH PEMILIH (SELECTOR ARROW) memungkinkan

pengguna untuk memilih obyek yang tersedia dan memodifikasi informasinya.

2. PENGHAPUS(ERASER) dapat menghapus sebuah obyek. Namun

berdasarkan pengamatan penulis, penghapusan pada obyek

output/coil/kumparan harus dilakukan dengan tombol coil tersebut sendiri. Jika

penghapusan coil menggunakan Eraser, maka aplikasi Classic Ladder akan

tertutup seketika. Mungkin hal ini merupakan satu bug/error/masalah dari

Classic Ladder.

3. KONTAK N.O. tersebut adalah sebuah kontak normal terbuka(normally

open contact). Hal ini dapat berupa pin-HAL (%I) kontak input eksternal,

kontak internal-bit coil (%B) atau coil eksternal (%Q) kontak. Kontak input

pin-HAL tersebut ditutup ketika pin-HAL bernilai benar(True). Kontak-kontak

coil tersebut menutup ketika coil yang sesuai aktif (kontak %Q2 menutup

ketika coil %Q2 aktif).

4. KONTAK N.C. tersebut adalah sebuah kontak normal tertutup. Kontak ini

sama dengan kontak N.O. kecuali kontak ini terbuka ketika pin-HAL bernilai

True atau coil aktif.

5. KONTAK RISING-EDGE tersebut adalah kontak yang tertutup ketika

46

pin-HAL beralih dari False ke True, atau coil dari tidak aktif menjadi aktif.

6. KONTAK FALLING-EDGE tersebut adalah kontak yang tertutup ketika

pin-HAL beralih dari True ke False atau coil aktif menjadi tidak aktif.

7. KONEKSI HORIZONTAL tersebut menghubungkan ‘sinyal’ ke obyek

secara horizontal.

8. KONEKSI VERTIKAL tersebut menghubungkan 'sinyal' ke obyek secara

vertikal.

9. HORIZONTAL-RUNNING CONNECTION tersebut adalah cara cepat

untuk menghubungkan dengan bersambung(long-run) 'kawat sinyal(signal

wire)' secara horizontal.

10. TIMER IEC tersebut menggantikan TIMER dan MONOSTABLE.

11. TIMER adalah modul timer.

12. MONOSTABLE adalah modul monostable (one-shot).

13. COUNTER adalah modul counter.

14. COMPARE memungkinkan pengguna untuk membandingkan variabel

dengan nilai-nilai atau variabel-variabel lainnya. (misalnya %W1 <= 5 atau

%W1=%W2) Perbandingan tidak dapat ditempatkan di sisi paling kanan dari

tampilan bagian(Section Display).

15. VARIABLE ASSIGNMENT memungkinkan pengguna untuk memberikan

nilai-nilai pada variabel-variabel.(misalnya %W2 = 7 atau %W1 = %W2)

Fungsi-fungsi ASSIGNMENT hanya dapat ditempatkan pada sisi paling kanan

dari tampilan bagian(Section Display).

47

2.5.5.6 Jendela Config(Pengaturan)

Jendela config menunjukkan status proyek yang aktual dan memiliki

tab-tab pengaturan Modbus untuk komunikasi dengan hardware PLC.

Gambar 2.37. Jendela Config

Tampilan yang dibahas di atas berlaku untuk Classic Ladder versi lama

(0.7.124). Adapun untuk versi terbarunya (0.9.014) terdapat 2 jendela yang

memiliki perbedaan cukup signifikan. Keduanya adalah jendela Section Display

dan jendela Editor. Berikut penjelasan mengenai kedua jendela tersebut.

48

2.5.5.7 Jendela Section Display Versi Terbaru (0.9.014)

Gambar 2.38. Jendela Section Display Classic Ladder Versi Terbaru (0.9.014)

Pada jendela tersebut, bagian paling penting adalah sebagai berikut.

Gambar 2.39. Menu Utama Jendela Section Display Classic Ladder Versi

Terbaru (0.9.014)

1. Menu (mulai dari kiri)

a) File

i. New - Membuat dan memulai proyek baru.

ii. Load - Memuat proyek yang telah tersedia atau pernah dibuat

sebelumnya.

iii. Save - Menyimpan proyek aktual.

iv.Save As - Menyimpan proyek aktual dengan nama tertentu.

v. Export to - Ekspor proyek aktual ke format tententu.

49

╴ Svg: Ekspor proyek aktual ke sebuah file vektor dengan

format SVG.

╴ Png: Ekspor proyek aktual ke sebuah file gambar bitmap

dengan format PNG.

╴ Clipboard: Ekspor proyek aktual ke clipboard untuk

dimasukkan ke aplikasi yang mendukung gambar.(Ctrl+C)

vi. Preview - Melihat pratinjau pencetakan proyek.

vii. Print - Mencetak proyek.

viii.Quit - Keluar dari aplikasi Classic Ladder.

b) Search - Menu Pencarian

i. Find - Pencarian obyek ladder dengan kata kunci.

ii. Find Next - Mencari hasil pencarian selanjutnya.

iii. Find Previous - Mencari hasil pencarian sebelumnya.

iv.Go to First Rung - Menuju ke rung pertama atau paling atas.

v. Go to Last Rung - Menuju ke rung terakhir atau paling bawah.

vi. Go to Previous Section - Mengarahkan menuju section/bagian

sebelum(urutan) section/bagian aktual.

vii. Go to Next Section - Mengarahkan menuju section/bagian

sesudah/setelah(urutan) section/bagian aktual.

c) View - Menu Tampilan

i. Sections Window - Menampilkan atau menyembunyikan jendela

Section Manager.

ii. Editor Window - Menampilkan atau menyembunyikan jendela

50

Editor.

iii. Symbols Window - Menampilkan atau menyembunyikan

jendela Symbols Names.

iv.Bools Vars Window - Menampilkan atau menyembunyikan

jendela “Spy Bools Vars” (jendela pemantau variabel).

v. Free Vars Window - Menampilkan atau menyembunyikan

jendela “Spy Free Vars” (pemantau variabel bebas).

vi. Log Window - Menampilkan jendela “Events Log” (laporan

kejadian/peristiwa)

vii. Frames Log Windows - Menampilkan atau menyembunyikan

jendela-jendela laporan untuk hardware PLC yang terhubung.

d) PLC - Menu terkait simulasi logika, pengaturan, dan hubungan

hardware PLC.

i. Run Logic - Menjalankan simulasi rangkaian logika.

ii. Run Logic Only One Cycle - Menjalankan simulasi satu siklus.

iii. Reset Logic - Mengatur ulang logika-logika variabel yang

terlibat dalam simulasi.

iv.Configuration - Membuka jendela pengaturan Classic Ladder.

e) Help - Menu bantuan.

i. About - Menampilkan informasi terkait rilis Classic Ladder

aktual dan pengembangnya.

51

2. Tombol Icon (mulai dari kiri)

a) (New)

b) (Load)

c) (Save)

d) (Print)

e) (Run Logic)

f) (Reset Logic)

g) (Configuration)

h) (Section Manager)

i) (Editor Window)

j) (Symbols Names)

2.5.5.8 Jendela Editor Versi Terbaru (0.9.014)

Gambar 2.40. (a)Jendela EditorAktif dan (b)Jendela Editor Inaktif

52

Bagian yang berbeda pada jendela ini dari versi lamanya adalah sebagai

berikut.(dari kiri ke kanan)

Gambar 2.41. Tool-tool Editor yang Berbeda di Versi Terbaru Classic Ladder

(0.9.014)

1. Invert Logic of Object - Membalikkan Logika dari Obyek.

2. Select Rung Part (Drag and Release) - Memilih/Menyeleksi bagian dari rung.

3. Copy Rung Part - Menyalin bagian dari rung.

4. Move Rung Part - Memindahkan bagian dari rung.

2.5.6 Obyek Ladder dalam Classic Ladder

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html dan

http://linuxcnc.org/docs/html/ladder/classic_ladder.html

2.5.6.1 KONTAK

Obyek ini mewakili switch atau kontak relay. Kontak-kontak tersebut

dikendalikan oleh huruf variabelnya dan nomor yang ditetapkan pada

kontak-kontak tersebut.

Huruf variabel tersebut dapat berupa B, I, atau Q dan angkanya dapat

mencapai tiga digit misalnya %I2, %Q3, atau %B123. Variabel I dikendalikan

oleh pin input HAL dengan angka yang sesuai. Variabel B adalah untuk kontak

internal, yang dikendalikan oleh coil B dengan angka yang sesuai. Variabel Q

dikendalikan oleh coil Q dengan angka yang sesuai. (seperti relay dengan

beberapa kontak). Misalnya. Jika pin-HAL classicladder.0.in-00 bernilai benar,

maka kontak N.O. %I0 akan menyala (tertutup, benar, apa pun sebutannya). Jika

53

coil %B7 diberi aliran listrik (energized) (menyala, benar, dll.) maka kontak N.O.

%B7 akan menyala. Jika coil %Q1 diberi aliran listrik(energized) maka kontak

N.O. %Q1 akan menyala (dan pin-HAL classicladder.0.out-01 akan bernilai

benar.)

1. KONTAK N.O. (Normally Open) ketika variabelnya bernilai

salah(false), saklarnya mati.

2. KONTAK N.C. (Normally Close) - Ketika variabelnya bernilai

salah(false), saklarnya menyala.

3. KONTAK RISING EDGE - Ketika perubahan variabel dari false ke

true, saklar berdetak menyala.

4. KONTAK FALLING EDGE - Ketika perubahan variabel dari true

menjadi false, saklar berdetak menyala.

2.5.6.2 TIMER IEC

Obyek ini mewakili timer hitung mundur yang baru. Timer IEC

menggantikan timer dan monostable. Timer IEC memiliki dua kontak sebagai

berikut.

1. I = input

2. Q = output

Terdapat tiga mode, yaitu TON, TOF, dan TP. Berikut penjelasannya.

1. TON: Bila masukan timer bernilai benar, hitung mundur dimulai dan

berlanjut selama masukan tetap bernilai benar. Setelah hitung mundur

dilakukan dan selama masukan timer masih bernilai benar, output akan bernilai

benar.

54

2. TOF: Bila masukan timer bernilai benar, output ditetapkan bernilai benar.

Ketika input bernilai salah(false), timer menghitung mundur kemudian

menetapkan keluaran menjadi bernilai salah(false).

3. TP: Bila masukan timer berdetak ke nilai benar atau memegang nilai benar,

timer menetapkan keluaran bernilai benar sampai timer menghitung

mundur.(one-shot)

Interval waktu dapat diatur dalam kelipatan 100ms(milisecond/milidetik),

detik, atau menit.

Adapun berikut variabel untuk timer IEC yang dapat dibaca atau ditulis

dalam blok-blok in compare atau operate.

1. %TMxxx.Q: waktu selesai (Boolean, baca tulis)

2. %TMxxx.P: waktu yang ditetapkan untuk timer xxx (baca tulis)

3. %TMxxx.V: nilai timer xxx (baca tulis)

Keterangan: baca tulis adalah read write dari sumber referensi.

2.5.6.3 TIMER

Obyek ini mewakili timer hitung mundur. Timer ini sudah ditinggalkan

dan digantikan oleh timer IEC.

Timer memiliki empat kontak sebagai berikut.

1. E = enable/aktifkan (input) - mulai waktu ketika bernilai benar, me-reset

ketika bernilai salah

2. C = control/kendalikan (input) - wajib pada timer untuk berjalan (biasanya

terhubung ke E)

3. D = done/selesai (output) - bernilai benar ketika waktu timer habis dan

55

selama E masih bernilai benar

4. R = running/sedang berjalan (output) - bernilai benar ketika waktu berjalan

Basis waktu dapat berupa kelipatan milidetik, detik, atau menit.

Adapun berikut variabel untuk timer yang dapat dibaca atau tertulis dalam

blok-blok in compare dan operate.

1. %Txx.R: Timer xx sedang berjalan (boolean, hanya baca)

2. %Txx.D: Timer xx selesai (boolean, hanya baca)

3. %Txx.V: nilai aktual Timer xx (integer, hanya baca)

4. %Txx.P: Timer xx ditetapkan (integer, baca atau tulis)

2.5.6.4 Monostable

Obyek ini mewakili one-shot timer. Monostable sudah ditinggalkan dan

digantikan oleh Timer IEC.

Monostable memiliki dua kontak, yaitu I dan R.

I merupakan kontak rising-edge yang sensitif memulai timer hanya ketika nilai

berubah dari false ke true (atau off ke on). Saat timer berjalan, kontak I dapat

berubah dengan tidak berpengaruh terhadap waktu yang sedang berjalan. R akan

bernilai benar dan tetap sama sampai timer tersebut selesai menghitung ke angka

nol.

Basis waktu dapat kelipatan milidetik, detik, atau menit.

Adapun berikut variabel untuk monostables yang dapat dibaca atau

tertulis dalam blok-blok in compare dan operate.

1. %Mxx.R: monostable xx berjalan(running) (boolean, hanya baca)

2. %Mxx.V: nilai aktual(current value) xx Monostable (integer, hanya baca)

56

3. %Mxx.P: ketetapan(preset)Monostable xx (integer, baca atau tulis)

2.5.6.5 COUNTER

Obyek ini merupakan counter naik/turun(up/down). Pada obyek ini,

terdapat tujuh kontak sebagai berikut.

1. R (input) - reset - akan mengatur kembali hitungan ke angka 0.

2. P (input) - preset - akan mengatur hitungan ke angka yang telah ditetapkan

dari menu edit.

3. U (input) - up count - akan menambahkan satu ke hitungan.

4. D (input) - down count - akan mengurangi satu dari hitungan.

5. E (output) - under flow - akan bernilai benar ketika hitungan berpindah(roll

over) dari angka 0 ke angka 9999.

6. D (output) - done - akan bernilai benar ketika hitungan sama dengan nilai

yang ditetapkan.

7. F (output) - overflow - akan bernilai benar ketika hitungan berpindah(roll

over) dari angka 9999 ke angka 0.

Kontak-kontak hitung naik dan turun tersebut sensitif tepi(edge sensitive)

yang berarti bahwa kontak-kontak tersebut hanya menghitung ketika terjadi

perubahan nilai kontak dari false ke true (atau off ke on dalam sebutan lain).

Rentangnya adalah dari 0 sampai 9999.

Adapun berikut variabel untuk counter yang dapat dibaca atau tertulis

dalam blok-blok in compare dan operate.

1. %Cxx.D : counter xx selesai(done) (boolean, hanya baca)

2. %Cxx.E: counter xx menyimpang kosong(empty overflow) (boolean, hanya

57

baca)

3. %Cxx.F: counter xx menyimpang penuh(full overflow) (boolean, hanya

baca)

4. %Cxx.V: nilai aktual(current value) counter xx (integer, baca atau tulis)

5. %Cxx.P: ketetapan(preset) counter xx (integer, baca atau tulis)

2.5.6.6 COMPARE

Obyek ini berfungsi untuk melakukan perbandingan aritmatika. Misalnya

apakah variabel %XXX=angka tertentu(atau angka yang dievaluasi)

Blok COMPARE akan bernilai benar ketika perbandingannya benar. Sebagian

besar simbol matematika dapat digunakan, seperti: +, -, *, /, =, <, >, <=, >=, (,),

^(eksponen), %(modulus), &(dan), |(atau), !(tidak).

Fungsi matematika juga dapat digunakan. Fungsi-fungsi tersebut adalah

ABS(mutlak), MOY(Bahasa Perancis, untuk rata-rata), AVG(rata-rata). Misalnya

ABS(%W2)=1, MOY(%W1,%W2)<3. Tidak terdapat spasi yang diperbolehkan

dalam persamaan perbandingan. Misalnya %C0.V>%C0.P adalah ekspresi

perbandingan yang valid/sah, sedangkan %C0.V>%CO.P bukan ekspresi yang

valid/sah.

Adapun daftar variabel pada halaman selanjutnya(bagian

Variabel-variabel ClassicLadder) yang dapat digunakan untuk membaca atau

menulis untuk obyek ladder. Ketika blok baru COMPARE dibuka, pengguna

harus memastikan dan menghapus simbol # ketika memasukkan/menuliskan

perbandingan. Untuk mengetahui jika variabel kata(word) #1 kurang dari 2 kali

nilai aktual counter #0, sintaks akan menjadi:

58

%W1<2*%C0.V

Untuk mengetahui jika bit 2 S32in sama dengan 10, sintaks akan menjadi:

%IW2=10

Catatan: COMPARE menggunakan sama dengan(equals) aritmatika “=”,

bukan sama dengan ganda(double equals) “==” yang biasa digunakan oleh para

programmer.

2.5.6.7 VARIABLE ASSIGNMENT

Untuk VARIABLE ASSIGNMENT, misalnya penetapan angka tertentu

(atau angka yang dievaluasi) untuk variabel %xxx. Terdapat dua fungsi

matematika MINI dan MAXI yang memeriksa variabel untuk nilai-nilai

maksimum(0x80000000) dan nilai-nilai minimum(0x07FFFFFFF) (dengan

berpikir tentang nilai yang ditandai(signed values)) dan menjaganya dari

penyimpangan.

Ketika blok baru VARIABLE ASSIGNMENT dibuka, pengguna harus

memastikan dan menghapus simbol # ketika memasukkan/menuliskan sebuah

penugasan(assignment).

Untuk menetapkan nilai 10 ke timer preset(nilai yang ditetapkan untuk

timer) Timer IEC 0, sintaks akan menjadi:

%TM0.P=10

Untuk menetapkan nilai 12 ke bit 3 S32out, sintaks akan menjadi:

%QW3=12

Gambar berikut menunjukkan penugasan(assignment) dan

perbandingan(comparison). %QW0 adalah bit S32out dan %IW0 adalah bit

S32in. Dalam hal ini pin-HAL classicladder.0.s32out-00 akan ditetapkan ke nilai

59

5 dan ketika pin-HAL classicladder.0.s32in-00 bernilai 0, pin-HAL

classicladder.0.out-00 akan ditetapkan ke nilai benar(True).

Gambar 2.42. Contoh Menetapkan(Assign) / Membandingkan(Compare)

2.5.6.8 COIL

Coil merupakan kumparan/coil relay. Coil-coil tersebut dikendalikan oleh

huruf variabelnya dan nomor yang ditugaskan. Huruf variabel dapat berupa B

atau Q dan nomor dapat mencapai tiga digit nomor, misalnya %Q3, atau %B123.

Coil Q mengendalikan pin-pin keluar HAL(HAL out pins). Misalnya jika &Q15

diberi energi(energized), maka pin-HAL classicladder.0.out-15 akan bernilai

benar. Coil B adalah kumparan/coil internal yang digunakan untuk mengontrol

aliran program.

1. COIL N.O. - (kumparan/coil relay)

Ketika kumparan tersebut diberi energi(energized), kontak N.O. akan

ditutup/tertutup (on, benar, dll.)

60

2. COIL N.C. - (kumparan/coil relay yang memiliki kontak invers.)

Ketika kumparan/coil tersebut diberi energi(energized), kontak N.O. akan

terbuka (off, salah, dll.)

3. COIL SET - (kumparan/coil relay dengan kontak pengunci(latching))

Ketika kumparan/coil tersebut diberi energi(energized), kontak N.O. akan

terkunci dan tertutup.

4. COIL RESET - (kumparan/coil relay dengan kontak pengunci/latching)

Ketika kumparan/coil tersebut diberi energi(energized), kontak N.O. akan

terkunci dan terbuka.

5. COIL JUMP - (sebuah coil "go to”) Saat kumparan/coil diberi

energi(energized), program tangga(ladder program) melompat ke anak

tangga(rung) (pada bagian yang digunakan saat itu(current section)) - titik

lompatan (jump point) ditunjukkan oleh label anak tangga(rung label).

(Penambahan label anak tangga(rung label) dapat dilakukan dari tampilan

bagian(section display), kotak label paling kiri dan paling atas(top left label

box)).

6. COIL CALL - (sebuah coil "go sub") Ketika kumparan/coil tersebut

diberi energi(energized), program melompat ke bagian subrutin(subroutine

section) yang ditunjukkan(designated) oleh nomor subroutine -

subroutine-subroutine ditunjukkan(designated) oleh SR0 sampai SR9

(menandai(designate) subroutine-subroutine tersebut pada manajer

bagian(section manager))

***PERINGATAN*** Jika digunakan kontak N.C. dengan coil N.C.,

61

logika akan bekerja (saat kumparan/coil diberi energi(energized), kontak akan

ditutup/tertutup), akan tetapi hal ini sangat sulit untuk diikuti.

2.5.6.9 COIL JUMP

Sebuah COIL JUMP digunakan untuk 'melompat' ke bagian-lain seperti

go to dalam bahasa pemrograman BASIC. Jika penggunan melihat bagian kiri atas

dari jendela tampilan bagian(section display window), akan terlihat kotak label

kecil dan kotak komentar yang lebih panjang di sampingnya. Jika pengguna

mengakses bagian Editor-->Modify kemudian kembali ke kotak kecil, pengguna

dapat mengetik nama. Jika pengguna meneruskan, pengguna dapat menambahkan

komentar di bagian komentar(comment section) tersebut. Nama label ini adalah

nama anak tangga(rung name) yang sedang dimodifikasi saja dan digunakan oleh

COIL JUMP untuk mengidentifikasi ke mana tujuannya. Ketika menempatkan

COIL JUMP, pengguna harus menambahkannya pada posisi yang paling tepat

dan mengubah label ke anak tangga(rung) yang menjadi tujuan lompatan.

2.5.6.10 COIL CALL

Sebuah COIL CALL digunakan untuk menuju ke bagian subroutine

kemudian kembali - seperti “go sub” dalam bahasa pemrograman BASIC. Jika

pengguna menuju ke jendela manajer bagian (section manager window),

pengguna dapat menekan tombol add. Pengguna dapat menamai bagian tersebut,

memilih bahasa yang akan digunakan (tangga/ladder atau sequential), dan

memilih jenis (utama/main) atau subrutin/subroutine).

Jika pengguna memilih nomor subroutine (SR0 misalnya), sebuah

bagian(section) yang kosong akan ditampilkan dan pengguna dapat

62

membangun/membuat subroutine-nya. Adapun jika pengguna telah melakukan

hal tersebut, pengguna dapat kembali ke manajer bagian(section manager) dan

mengklik pada bagian utama (nama bawaan/default name: prog1).

Dengan demikian, pengguna dapat menambahkan COIL CALL untuk

programnya. COIL CALL harus ditempatkan pada posisi yang paling tepat pada

anak tangga(rung).

Satu hal yang perlu diingat, yaitu mengubah label untuk nomor subroutine

yang dipilih sebelumnya.

2.5.7 Variabel-variabel dalam Classic Ladder

Variabel-variabel ini digunakan dalam MEMBANDINGKAN(COMPARE)

atau BEROPERASI(OPERATE) untuk mendapatkan informasi tentang atau

mengubah spesifikasi dari obyek-obyek ladder. Seperti mengubah preset counter

(nilai yang ditetapkan), atau melihat jika timer selesai berjalan. Berikut daftarnya:

1. %Bxxx: memori bit xxx (Boolean)

2. %Wxxx: memori kata(word) xxx (bilangan bulat 32 bit yang ditandai(32 bit

signed integer))

3. %IWxxx: memori kata(word) xxx (pin masuk S32)

4. %QWxxx: memori kata(word) xxx (pin keluar S32)

5. %IFxx: memori xx kata(word) (float in pin) (dikonversi ke S32 pada

ClassicLadder)

6. %QFxx: memori xx kata(word) (float out pin) (dikonversi ke S32 pada

ClassicLadder)

7. %Txx.R: timer xx berjalan(running) (Boolean, pengguna hanya dapat

63

membaca)

8. %Txx.D: timer xx selesai(done) (Boolean, pengguna hanya dapat membaca)

9. %Txx.V: nilai aktual(current value) timer xx (integer, pengguna hanya dapat

membaca)

10. %Txx.P: nilai yang ditetapkan untuk timer xx (bilangan bulat(integer))

11. %TMxxx.Q: timer xxx selesai(done) (Boolean, baca tulis)

12. %TMxxx.P: ketetapan(preset) timer xxx (bilangan bulat(integer), baca tulis)

13. %TMxxx.V: nilai aktual(current value) timer xxx (bilangan bulat(integer),

baca tulis)

14. %Mxx.R: monostable xx berjalan(running) (Boolean)

15. %Mxx.V: monostable nilai aktual(current value) xx (bilangan bulat(integer),

pengguna hanya dapat membaca)

16. %Mxx.P: ketetapan(preset) monostable xx (bilangan bulat(integer))

17. %Cxx.D: counter xx selesai(done) (Boolean, pengguna hanya dapat

membaca)

18. %Cxx.E: counter xx empty overflow (Boolean, pengguna hanya dapat

membaca)

19. %Cxx.F: Counter xx full overflow (Boolean, pengguna hanya dapat

membaca)

20. %Cxx.V: nilai aktual(current value) counter xx (bilangan bulat/integer)

21. %Cxx.P: ketetapan(preset) counter xx (bilangan bulat/integer)

22. %Ixxx: masukan fisik xxx (Boolean) - bit masukan HAL

23. %Qxxx: keluaran fisik xxx (Boolean) - bit keluaran HAL

64

24. %Xxxx: aktivitas langkah(activity of step) xxx (bahasa sekuensial)

25. %Xxxx.V: waktu aktivitas dalam detik dari langkah xxx (bahasa sekuensial)

26. %Exx: kesalahan(error) (Boolean, baca tulis (akan ditimpa))

27. Variabel yang Diindeks atau Divektorkan(Vectorized and Indexed

Variables)

Ini merupakan variabel yang diindeks oleh variabel lain. Beberapa

sumber mungkin menyebutnya sebagai variabel yang divektorkan. Contoh:

%W0[%W4] => jika %W4 sama dengan 23 , ini sesuai dengan %W23.

65

BAB III

METODOLOGI PELAKSANAAN

Pelaksanaan dari penelitian ini terbagi menjadi beberapa tahap sebagai berikut.

Gambar 3.1. Diagram Alir Metodologi Pelaksanaan

66

3.1 Studi Literatur

Pada tahap ini dilakukan pencarian sumber-sumber atau literatur terkait

laporan tugas akhir ini. Secara teknis hal ini dilakukan dengan browsing atau

penjelajahan internet dan pencarian menggunakan fasilitas search engine.

Literatur yang dipilih berasal baik dari website, dokumen tugas akhir, dokumen

panduan praktikum, jurnal, maupun dokumen lainnya.

3.2 Persiapan

Persiapan memiliki 2 tahap, yaitu pengunduhan dan pemasangan. Adapun

penulis mengklasifikasikan penjelasan pada tahap-tahap ini menjadi dua bagian

berdasarkan sistem operasi yang digunakan, yaitu bagian Linux dan bagian

Windows.

Distro linux yang penulis gunakan adalah distro derivatif dari Ubuntu.

Oleh karena itu bagian pemasangan atau instalasi hanya relevan pada distro linux

tersebut. Penjelasan lebih lanjut tentang hal ini terlampir.

3.2.1 Pengunduhan/Download

3.2.1.1 Bagian Linux

Sumber: http://leachy.homeip.net/olinuxino/classic_ladder.html

Berdasarkan tulisan yang terdapat di website tersebut, pengguna dapat

memulai dengan men-download beberapa file. Menuju ke direktori yang

diinginkan (misalkan "Downloads" atau “/home/nama_pengguna/Downloads”)

dan men-download paket untuk linux. Perlu diingat, ini adalah satu hal yang

berbeda daripada windows.

cd Downloads

wget alamat_file_classicladder

67

Berdasarkan observasi penulis, alamat untuk mendapatkan file

classicladder versi lama yang dipakai untuk dokumentasi LinuxCNC yaitu:

http://sourceforge.net/projects/classicladder/files/classicladder/classicladder-0.7.1

24/classicladder-0.7.124.zip/download

, sedangkan alamat untuk mendapatkan Classic Ladder versi terbaru yaitu:

http://sourceforge.net/projects/classicladder/files/latest/download?source=files

atau secara khusus (terbaru saat tulisan ini dibuat):

http://sourceforge.net/projects/classicladder/files/classicladder/classicladder-0.9.0

14.tar.gz/download

3.2.1.2 Bagian Windows

Sumber : http://leachy.homeip.net/olinuxino/classic_ladder.html

Dalam sebuah website, terdapat penjelasan singkat terkait pengunduhan

program classicladder untuk windows sebagai berikut.

1. Mengambil/men-download file "zip" Classic Ladder dari situsnya

(http://sourceforge.net/projects/classicladder/) dan melakukan unzip. Untuk

menjalankannya, pertama-tama pengguna perlu mengatur lingkungan gtk

runtime.

2. Men-download file "zip" GTK runtime (alamat:

http://sourceforge.net/projects/gtk-win/) dan mengekstraknya ke contoh

"c:\opt\" (seperti yang dilakukan pada file README). Penjelasan lebih lanjut

dapat dibaca pada file README. File tersebut menjelaskan cara mengatur

lingkungan gtk. Hal tersebut sangat penting untuk dipastikan telah diatur

dengan benar atau tidak ada hal di bawah ini yang akan bekerja.

Namun, penulis menemukan cara yang sedikit lebih mudah sebagai berikut.

68

1. Men-download file “zip” Classic Ladder untuk windows. Alamat untuk

Classic Ladder versi lama yang dipakai oleh dokumentasi web LinuxCNC:

http://sourceforge.net/projects/classicladder/files/classicladder-win32/classicladde

r-win-0.7.123%2B/classicladder-win-0.7.123%2B.zip/download

alamat web untuk Classic Ladder versi terbaru(saat tulisan ini dibuat):

http://sourceforge.net/projects/classicladder/files/classicladder-win32/classicladde

r-win-0.9.014%28gtk2.16.6%29.zip/download

2. Men-download file “zip” GTK runtime dan update dari pustaka zlib1.

Alamat web GTK runtime:

http://sourceforge.net/projects/classicladder/files/classicladder-win32-gtk-runtime

/gtk_dll_files_to_extract_in_classicladder_win32_directory.zip/download

Alamat web dari update pustaka zlib1:

http://sourceforge.net/projects/classicladder/files/classicladder-win32-gtk-runtime

/zlib1_dll_update_v1_2_7_0.zip/download

3.2.2 Pemasangan

3.2.2.1 Bagian Linux

Pada sistem operasi linux, terdapat dua metode instalasi, yaitu system

based / berbasis sistem dan external directory based / berbasis direktori eksternal.

Penulis memberi nama sendiri pada keduanya agar mempermudah pembahasan

ini.

1. System Based / Berbasis Sistem

Dikutip dari halaman website

http://leachy.homeip.net/olinuxino/classic_ladder.html, seperti yang dapat

diperhatikan, file yang di-download(bagian pengunduhan) merupakan file "zip",

69

tidak terlalu biasa untuk sebuah file linux. Oleh karena itu opsi ekstra harus

diberikan saat melakukan unzip untuk mencegah berakhir dengan file berformat

dos (yang tidak ramah dengan linux). Pertama kali, pengguna harus menginstal

"unzip" karena format tersebut tidak standar di linux, selanjutnya melakukan

uncompress terhadap file “zip” tersebut. Berikut ini perintah-perintah yang

diperlukan.

sudo apt-get -y install unzip

unzip -a classicladder-xxxx.zip

Adapun saat ini cara yang lebih mudah dapat dilakukan dengan

menggunakan aplikasi archive manager yang sudah teresedia pada hampir semua

distro linux standar, seperti Ubuntu. Pengguna dapat melakukannya dengan klik

kanan pada file arsip dan memiih “Extract Here”. Archive manager tersebut

biasanya akan secara langsung mebuat folder baru sebagai tempat dari hasil

extract file arsip.

Gambar 3.2. Contoh Hasil Extract atau “unzip” dari FileArsip Classic Ladder

Perintah yang juga diperlukan:

sudo apt-get -y install zlib1g-dev

Berdasarkan percobaan penulis, terdapat satu perintah lagi yang

70

diperlukan khusus untuk Classic Ladder versi lama (0.7.124). Perintah tersebut

adalah:

sudo apt-get -y install libgnomeprintui-2.2-dev

Kedua perintah tersebut diperlukan untuk memenuhi kebutuhan kompilasi Classic

Ladder agar dapat diinstal ke sistem.

Setelah itu pengguna harus menuju ke folder classicladder baru dengan perintah:

cd direktori_classicladder

Untuk mendapatkan direktori_classicladder yang disertakan ke perintah

“cd”, pengguna perlu menyalinnya dari file manager dengan menekan tombol

“Ctrl+L” pada keyboard dan menyalin alamat yang terdapat pada kotak alamat di

bagian atas file manager tersebut. (Catatan: Beberapa aplikasi file manager

pada linux seperti thunar tidak memerlukan tombol “Ctrl+L”).

Gambar 3.3. Penyalinan Alamat Direktori Classic Ladder

Gambar 3.4. Penyertaan Direktori Classic Ladder Tahap 1

71

Gambar 3.5. Penyertaan Direktori Classic Ladder Tahap 2, bersama Perintah

“cd”

Gambar 3.6. Direktori Classic Ladder yang Telah Diakses dengan Shell

Interpreter

Dengan demikian pengguna dapat mengkompilasi program menggunakan

perintah berikut.

make

Jika perintah kompilasi tersebut gagal atau mengalami error, maka

keluaran shell interpreter akan seperti berikut ini.

Gambar 3.7. Kompilasi Classic Ladder yang Mengalami Error

Gambar tersebut adalah contoh ketika libgnomeprintui-2.2-dev belum

terinstal atau tidak tersedia pada sistem. Hal yang serupa juga dapat terjadi ketika

zlib1-g-dev tidak tersedia pada sistem. Adapun jika kedua paket tersebut telah

tersedia pada sistem, maka shell interpreter akan menampilkan keluaran seperti

berikut ini.

72

Gambar 3.8. Kompilasi Classic Ladder yang Berhasil

Setelah proses kompilasi, pengguna dapat melakukan instalasi dengan

perintah:

sudo make install

Berikut cuplikan eksekusi dari perintah instalasi tersebut.

Gambar 3.9. Eksekusi Perintah Instalasi Classic Ladder

Proses instalasi Classic Ladder selesai dengan keluaran dari shell interpreter

seperti berikut ini.

Gambar 3.10. Instalasi Classic Ladder yang Berhasil

Untuk menjalankan Classic Ladder, pengguna dapat mengeksekusi perintah

73

berikut pada shell interpreter.

classicladder

Jika pengguna ingin membuat shortcut/pintasan pada desktop, dua perintah yang

diperlukan untuk dieksekusi pada shell interpreter adalah sebagai berikut.

cd

ln /usr/bin/classicladder Desktop/

Dengan demikian shortcut Classic Ladder akan tersedia pada desktop

pengguna. Untuk menjalankannya, pengguna hanya perlu melakukan klik dua

kali atau klik kanan - run. Ketika dieksekusi, Classic Ladder akan menampilkan

GUI sebagai berikut.

Gambar 3.11. GUI Classic Ladder Versi Lama (0.7.124) untuk Linux

Gambar 3.12. GUI Classic Ladder Versi Terbaru (0.9.014) untuk Linux

Catatan:

74

- Direktori_classicladder adalah folder hasil extract dari file “zip” atau “tar.gz”.

Misalkan /home/nama_pengguna/Downloads/ (merujuk pada bagian

pengunduhan)

- Kedua perintah di atas yang diawali dengan sudo apt-get memberikan

pemenuhan kebutuhan untuk melakukan kompilasi kode sumber Classic Ladder.

Kompilasi menjadi syarat untuk dapat memasang Classic Ladder pada sistem

linux.

- Semua perintah dijalankan melalui shell interpreter, seperti gnome-terminal dan

terminal-emulator.

- Jika dimintai password saat menjalankan perintah-perintah di atas, pengguna

dapat menuliskannya secara langsung (biasanya teks password yang dituliskan

tidak terlihat) dan menekan tombol ENTER.

2. External Directory Based

Metode ini hampir sama dengan metode yang dipakai untuk sistem

operasi windows. Pada hakekatnya, metode ini membutuhkan sebuah folder atau

direktori di luar sistem linux sebagai tempat program Classic Ladder. Hal ini

bukan berarti benar-benar di luar sistem, akan tetapi folder atau direktori tersebut

tidak berposisi di dalam direktori yang dimiiki oleh root atau superuser atau

pengguna dengan level tertinggi di sistem operasi linux.

Namun secara praktis folder atau direktori khusus tersebut penulis

tempatkan di bawah direktori home pengguna (“$HOME” atau

“/home/nama_pengguna”). Sebagai contoh, penulis membuat sebuah direktori

dengan alamat “/home/aseptilena/Downloads/linux/baru/classicladder” untuk

Classic Ladder versi baru (0.9.0014) dan

75

“/home/aseptilena/Downloads/linux/lama/classicladder” untuk Classic Ladder

versi lama (0.7.124). Masing-masing folder berisi file-file hasil extract dari file

arsip (format: .tar.gz atau .zip) Classic Ladder untuk masing-masing versi.

Gambar 3.13. Direktori/FolderMasing-masing Versi Classic Ladder

Berdasarkan obervasi penulis, terdapat pustaka atau library yang

dibutuhkan oleh sistem linux untuk dapat menjalankan Classic Ladder. Di dalam

dunia linux hal ini disebut sebagai dependensi atau ketergantungan. Classic

Ladder secara umum membutuhkan ketersediaan pustaka/library zlib1-g. Khusus

untuk versi lama yang digunakan (0.7.124), dibutuhkan juga pustaka/library

libgnomeprintui-2.2.

Pada distro linux yang penulis gunakan, zlib1-g dan libgnomeprintui-2.2

terdapat pada repository resminya dalam bentuk paket. Paket-paket tersebut dapat

dipasang pada sistem dengan perintah berikut (dieksekusi dengan menggunakan

shell interpreter).

sudo apt-get -y install zlib1-g

sudo apt-get -y install libgnomeprintui-2.2

Catatan: Jika dimintai password saat mengeksekusi perintah-perintah

tersebut, pengguna perlu menuliskannya(password) dan menekan tombol ENTER.

Dengan terinstalnya paket-paket tersebut, pengguna dapat secara langsung

menjalankan Classic Ladder dari direktori atau folder hasil extract file arsipnya

76

(baik “tar.gz” maupun “zip”).

Gambar 3.14. Folder Hasil Extract FileArsip Classic Ladder

Gambar 3.15. Konten Folder/Direktori Hasil Extract dari FileArsip Classic

Ladder

77

Gambar 3.16. Direktori/Folder Classic Ladder untuk Linux dengan File

Executable classicladder

Ketika file executable classicladder yang ditandai pada gambar di atas

dieksekusi/dijalankan, Classic Ladder akan memunculkan tampilan sebagai

berikut.

Gambar 3.17. Tampilan Utama Classic Ladder Versi Lama (0.7.124) untuk

Linux

78

Gambar 3.18. Tampilan Utama Classic Ladder Versi Terbaru (0.9.014) untuk

Linux

3.2.2.2 Bagian Windows

Agar dapat dijalankan, Classic Ladder untuk windows harus dilengkapi

terlebih dahulu. Kelengkapan ini termasuk pada lingkungan GTK yang terdapat

pada GTK runtime. Adapun akan lebih baik jika dilakukan update terhadap

pustaka zlib1 yang terdapat pada GTK runtime. Berikut ini beberapa langkah

yang dapat dilakukan untuk melengkapinya.

1. Meng-extract file “zip” bernama classicladder-win-0.9.014(gtk2.16.6).zip

(untuk versi terbaru saat tulisan ini dibuat) atau classicladder-win-0.7.123+.zip

(untuk versi lama yang dipakai pada dokumentasi LinuxCNC). Jika pengguna

menginginkan untuk meng-extract kedua file tersebut, maka direkomendasikan

untuk menempatkan keduanya pada tempat yang terpisah atau folder yang

berlainan. Sebagai contoh penulis membuat dua buah folder bernama “baru” dan

“lama”. Hal ini dilakukan agar kedua versi tidak berbenturan dan mempermudah

pekerjaan kedua versi tersebut.

79

Gambar 3.19. Folder Terpisah antar Versi Classic Ladder untuk Windows

Gambar 3.20. Folder Hasil Extract dari File “zip” Classic Ladder Versi Terbaru

(0.9.014) untuk Windows

80

Gambar 3.21. Folder Hasil Extract dari File “zip” Classic Ladder Versi Lama

(0.7.123+)

Gambar 3.22. Isi dari Folder Hasil Extract File “zip” Classic Ladder

2. Meng-extract file “zip” bernama

gtk_dll_files_to_extract_in_classicladder_win32_directory.zip

(direkomendasikan untuk memilih opsi extract here).

Gambar 3.23. Hasil Extract dari File “zip” pustaka dari GTK Runtime

81

3. Meng-extract file “zip” bernama zlib1_dll_update_v1_2_7_0.zip sehingga

pengguna mendapatkan sebuah file bernama zlib1.dll.

Gambar 3.24. Hasil Extract File “zip” Update untuk Pustaka zlib1

4. Meng-copy semua file hasil ektraksi(tidak termasuk folder-nya) ke folder

yang berisi software classicladder, sehingga hasilnya akan seperti di bawah ini.

Gambar 3.25. Isi Folder Classic Ladder dengan Pustaka GTK runtime dan

Update Pustaka zlib1

Normalnya ketika lingkungan GTK pengguna telah diatur (pustaka GTK

runtime atau instalasi GTK runtime), pengguna dapat menjalankan program

Classic Ladder. Ketika memulainya pengguna akan melihat:

82

Gambar 3.26. Memulai Classic Ladder

Atau seperti ini:

Gambar 3.27. Tampilan Awal Classic Ladder Versi Terbaru (0.9.014) untuk

Windows

Adapun untuk Classic Ladder versi lama (0.7.123+) yang digunakan,

tampilan awalnya akan seperti di bawah ini.

83

Gambar 3.28. Tampilan Awal Classic Ladder Versi Lama (0.7.123+) untuk

Windows

3.3 Pengujian (Penulisan dan Simulasi Program Ladder Diagram)

Pada tahap ini, dilakukan penulisan program PLC dengan bahasa ladder

pada software ClassicLadder. Setelah penulisan program tersebut, dilakukan

simulasi terhadap program yang ditulis. Untuk melakukan hal tersebut,

diperlukan beberapa langkah sebagai berikut.

Sumber: http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Sumber: http://linuxcnc.org/docs/html/ladder/classic_ladder.html

3.3.1 Menambahkan Ladder Logic

Setelah membuka GUI Classic Ladder, pengguna akan melihat Tampilan

Bagian(Section Display) dan Jendela Manajer Bagian(Section Manager Window)

kosong. Pada Jendela Tampilan Bagian(Section Display Window) dapat dibuka

Editor. Pada jendela Editor, jika pengguna memilih Modify, maka jendela

Properties akan muncul dan Tampilan Bagian(Section Display) menunjukkan

grid. Grid adalah salah satu anak tangga(rung). Anak tangga dapat berisi cabang.

Sebuah tangga(ladder) sederhana memiliki satu input, garis konektor dan satu

output.

84

Gambar 3.29. Section Display dengan Grid

Untuk memasukkan input N.O., pengguna dapat mengkliknya dalam

Editor Window.

Gambar 3.30. Jendela Editor dengan Obyek Kontak Normal Terbuka Terpilih

Untuk menempatkan input N.O. ke dalam tangga(ladder), pengguna dapat

mengklik pada grid kiri atas.

85

Gambar 3.31. Section Display dengan Input

Dengan mengulangi langkah di atas, pengguna dapat menambahkan

Output N.O. ke grid kanan atas dan menggunakan Horizontal Connection untuk

menghubungkan keduanya(input dan output). Seharusnya hasilnya akan terlihat

seperti berikut ini. Jika tidak, pengguna dapat menggunakan Eraser untuk

menghapus bagian yang tidak diinginkan.

86

Gambar 3.32. Section Display dengan Rung

Jika penguna mengklik pada tombol OK di jendela Editor, Section

Display pengguna akan terlihat seperti ini.

Gambar 3.33. Tampilan Bagian(Section Display) yang Selesai

87

3.3.2 Melakukan Simulasi terhadap Program Ladder

Misalkan terdapat sebuah rangkaian ladder yang terdiri dari satu

input(N.O.) dan satu output(N.O.). Berikut gambar dari contoh ini.

Gambar 3.34. Section Display dengan Obyek Ladder Input dan Output

Untuk dapat memberlakukan simulasi terhadap satu rung/anak tangga

ladder tersebut, pengguna harus mengalihkan mode edit ke mode idle atau

dengan kata lain dari mode saat Editor aktif ke mode saat Editor tidak aktif.

Caranya adalah dengan melakukan klik terhadap tombol “Ok” yang terdapat pada

jendela Editor.

88

Gambar 3.35. Jendela Editor dengan Tombol “Ok” yang Hendak Ditekan

Setelah pengguna melakukan klik terhadap tombol “Ok” tersebut, jendela

Section Display akan menjadi seperti berikut ini. Adapun untuk

menyalakan/mengaktifkan simulasi, pengguna harus melakukan klik terhadap

tombol “Run” yang terdapat di bagian bawah dari jendela Section Display,

sehingga tombol tersebut akan berubah menjadi tombol “Stop”.

89

Gambar 3.36. Section Display dengan Simulasi ON dan Editor OFF

Dapat dilihat bahwa pada Section Display tersebut belum terjadi

perubahan, walaupun simulasi sudah aktif. Hal ini dikarenakan input %I0 belum

diaktifkan, dinyalakan atau diberi nilai 1. Untuk melakukannya, pengguna perlu

melakukan klik pada check box %I0.

Gambar 3.37. Pemantau Variabel Boolean dengan %I0 ON

Dengan demikian input %I0 diaktifkan. Karena %I0 aktif, maka output

%Q0 aktif atau bernilai 1. Jika dilihat melalui Section Display, rangkaian ladder

tersebut akan berubah warna menjadi ungu seperti yang ditunjukkan oleh gambar

berikut.

90

Gambar 3.38. Section Display dengan Input dan Output ON

Sebagai keterangan tambahan, untuk mengembalikan rangkaian tersebut

menjadi seperti kondisi awalnya (tidak aktif dan berwarna hitam), terdapat

langkah-langkah yang perlu dilakukan. Yang pertama adalah melakukan klik

kembali terhadap check box %I0. Kemudian, yang kedua adalah melakukan klik

terhadap tombol “Stop”.

Dalam penjelasan di atas, penulis menggunakan Classic Ladder versi lama

(0.7.124). Adapun untuk versi terbarunya (0.9.014), perbedaan simulasinya

terletak pada jendela Section Display. Untuk mengaktifkan simulasi, pengguna

dapat melakukan klik pada tombol yang bergambar seperti gerigi mesin (nama:

tombol Run Logic), sedangkan untuk menonaktifkannya pengguna dapat

melakukan klik pada tombol yang bergambar tanda stop. Kedua tombol tersebut

berada pada posisi yang sama di toolbar Section Display. Pada gambar berikut

dapat dilihat tampilan toolbar Classic Ladder versi terbaru tersebut.

91

Gambar 3.39. Toolbar Classic Ladder Versi Terbaru dengan Simulasi OFF

Gambar 3.40. Toolbar Classic Ladder Versi Terbaru dengan Simulasi ON

Prosedur yang sama dapat dilakukan untuk rangkaian dengan bentuk yang

lain. Adapun perbedaan yang cukup signifikan adalah pada pengembalian kondisi

input. Mungkin pengembalian kondisi tersebut dapat menjadi lebih merepotkan

atau memiliki kuantitas yang lebih.

3.1.1 Menyimpan File Proyek Classic Ladder

Gambar 3.41. Tombol-tombol Menu Utama pada Classic Ladder Versi Lama

(0.7.124/0.7.123+)

Menyimpan proyek Classic Ladder dapat dikatakan cukup mudah.

Pengguna cukup melakukan klik terhadap salah satu dari kedua tombol tersebut

(Save dan Save As). “Save” berfungsi untuk menyimpan proyek dengan file baru

jika belum pernah disimpan dan menyimpan proyek dengan file yang sebelumnya

menjadi tempat penyimpanan proyek. Adapun “Save As” berfungsi secara khusus

meminta pengguna untuk menentukan nama file yang akan dipakai. Ekstensi

92

format file proyek Classic Ladder .clp(versi lama) atau .clprj(versi terbaru) akan

ditambahkan secara

otomatis.(http://www.linuxcnc.org/docs/2.4/html/ladder_ladder_examples.html &

http://linuxcnc.org/docs/html/ladder/classic_ladder.html)

Pada versi terbaru Classic Ladder, terdapat sedikit perbedaan mengenai

cara menyimpan proyeknya. Berikut gambar dari Classic Ladder versi terbaru.

Gambar 3.42. Toolbar pada Section Display (Classic Ladder Versi 0.9.014)

Tombol yang ditandai di atas adalah “Save”, sedangkan “Save As” dapat

dilakukan dengan melakukan klik pada menu File - Save As. Dengan melakukan

langkah di atas, pengguna akan mendapatkan sebuah jendela baru yang

menentukan tempat penyimpanan file proyek Classic Ladder. Berikut

tampilannya. Pengguna juga dapat melakukan tindakan yang sama dengan “Save”

menggunakan tombol Ctrl+S pada keyboard.

Gambar 3.43. Dialog Save As

93

Gambar 3.44. Jendela Penyimpanan Proyek

Proses penyimpanan dapat diselesaikan dengan mengklik tombol “Save”

pada jendela tersebut.

3.4 Analisis Hasil Pengujian

Analisis yang dilakukan pada hasil pengujian meliputi kesesuaian

program yang disimulasikan pada software ClassicLadder dengan teori tentang

program ladder dasar.

3.5 Pembuatan Laporan

Pada tahap ini dibuat laporan lengkap tentang pengujian software

ClassicLadder yang disesuaikan dengan format tugas akhir yang ada.

94

BAB IV

PEMBAHASAN

4.1 Program Input-Output Dasar

Berikut program ladder input-output dasar yang disimulasikan pada

Classic Ladder.

Gambar 4.1. Kondisi Awal Program Input-Output Dasar

Pada kondisi awal, terlihat bahwa rangkaian tidak aktif. Kontak %I0

bernilai 0 atau tidak aktif, sehingga coil %Q0 bernilai 0 atau tidak aktif.

Gambar 4.2. Program Input-Output Dasar dengan %I0 yang Aktif

Gambar di atas menunjukkan bahwa ketika kontak %I0 diaktifkan atau

bernilai 1, coil %Q0 akan aktif atau bernilai 1. Dengan demikian rangkaian

tersebut menjadi aktif.

4.2 Program Latching

Berikut program ladder latching yang disimulasikan pada Classic Ladder.

Gambar 4.3. Kondisi Awal Program Latching

Pada kondisi awal, terlihat bahwa rangkaian tidak aktif. Tombol START

juga tidak aktif atau bernilai 0.

95

Gambar 4.4. Program Latching dengan Tombol START yang Aktif

Gambar di atas menunjukkan bahwa ketika tombol START aktif atau

bernilai 1, coil OUT akan aktif. Selain itu kontak OUT pengunci juga aktif atau

bernilai 1.

Pada program ini penulis menggunakan nama simbol berikut untuk

menggantikan nama variabel alamat kontak dan coil yang digunakan.

Gambar 4.5. Nama-nama Simbol yang Digunakan

Adapun saat tombol START dinonaktifkan kembali atau bernilai 0,

rangkaian akan tetap aktif. Hal ini dikarenakan kontak OUT pengunci tetap aktif

dan menjaga keaktifan coil OUT. Gambar berikut menunjukkan hal ini.

Gambar 4.6. Program Latching dengan Tombol START Inaktif atau Bernilai 0

Pada saat tombol STOP diaktifkan atau bernilai 1, rangkaian akan

nonaktif. Hal ini terjadi karena tombol STOP merupakan kontak normally close.

Gambar berikut menunjukkan hal ini.

96

Gambar 4.7. Program Latching dengan Tombol STOPAktif atau Bernilai 1

Pada gambar berikut, tombol STOP dikembalikan kondisinya menjadi

bernilai 1. Tidak terdapat perubahan pada rangkaian.

Gambar 4.8. Program Latching dengan Tombol STOP Inaktif atau Bernilai 0

Catatan: Tombol START dan tombol STOP dibuat untuk merepresentasikan

pushbutton START dan STOP.

4.3 Program SET - RESET

Berikut contoh simulasi dari program ladder dengan coil khusus, yaitu

SET dan RESET.

Gambar 4.9. Kondisi Awal Program SET-RESET

Pada kondisi awal, terlihat bahwa semua kontak tidak aktif dan semua coil

juga aktif. Gambar tersebut pun menunjukkan rangakaian yang tidak aktif.

Gambar 4.10. Kondisi Variabel Setelah %I0 Diaktifkan

97

Selanjutnya dilakukan pengaktifan atau pengubahan nilai ke 1 pada

kontak %I0. Hal ini menyebabkan coil SET %B0 aktif. Kondisi ini dapat dilihat

pada gambar berikut.

Gambar 4.11. Program SET-RESET dengan %I0 Aktif

Dengan aktifnya coil SET %B0, memori internal %B0 akan bernilai 1.

Nilai ini akan tetap, walaupun kontak %I0 dinonaktifkan. Hal ini ditunjukkan

oleh gambar berikut.

Gambar 4.12. Kondisi Variabel Setelah %I0 Dinoaktifkan

Setelah itu, dilakukan pengaktifan kontak %I1 yang tersambung dengan

coil RESET %B0. Dengan pengaktifan RESET tersebut, memori internal %B0

akan bernilai 0 kembali. Nilai 0 ini akan tetap, walaupun kontak %I1

dinonaktifkan kembali.

Gambar berikut menunjukkan status dari variabel %B0 saat kontak %I1

diaktifkan atau bernilai 1.

98

Gambar 4.13. Kondisi Variabel Setelah %I1 Diaktifkan

Sementara gambar berikut menunjukkan kondisi pengaktfan kontak

I=%I1 yang menyebabkan coil RESET %B0 aktif.

Gambar 4.14. Program SET-RESET dengan %I1 Aktif

Catatan: Kontak %I0 dan %I1 pada program tersebut biasa dianggap sebagai

pushbutton.

4.4 Program Gerbang Logika Dasar

4.4.1 AND

Program gerbang logika AND dibuat secara sederhana dengan melibatkan

dua buah kontak normally open dan sebuah coil. Kontak yang terlibat adalah %I0

dan %I1, sedangkan coil yang terlibat adalah %Q0. Gambar berikut

memperlihatkan kondisi awal dari rangkaian program ladder untuk gerbang

logika AND pada Classic Ladder.

Gambar 4.15. Kondisi Awal Program Ladder AND

Kondisi awal tersebut memperlihatkan %I0 dan %I1 yang tidak aktif.

99

Output dari rangkaian tersebut bernilai 0 atau salah.

Ketika hanya %I0 yang diaktifkan, output dari rangkaian bernilai 0 atau

salah. Hal ini dapat dilihat pada gambar berikut.

Gambar 4.16. Program Ladder AND dengan Input I0 Aktif

Saat %I1 saja yang diaktifkan, output dari rangkaian juga bernilai 0 atau

salah. Hal ini dapat terlihat pada gambar berikut.

Gambar 4.17. Program Ladder AND dengan Input I1 Aktif

Saat kedua input baik %I0 maupun %I1 diaktifkan, output rangkaian

bernilai 1 atau benar. Hal ini ditunjukkan oleh gambar berikut dimana output

%Q0 aktif.

Gambar 4.18. Program Ladder AND dengan Kedua InputAktif dan Output

Aktif

Oleh karena itu, dapat dibuat sebuah tabel kebenaran berikut yang

mewakili rangkaian tersebut.

Tabel 4.1. Tabel Kebenaran Program AND

%I0 %I1 %Q00 0 01 0 00 1 01 1 1

Tabel tersebut sesuai dengan tabel kebenaran dari gerbang logika AND.

100

4.4.2 OR

Program gerbang logika OR dibuat secara sederhana dengan melibatkan

dua buah kontak normally open dan sebuah coil. Kontak yang terlibat adalah %I0

dan %I1, sedangkan coil yang terlibat adalah %Q0. Gambar berikut

memperlihatkan kondisi awal dari rangkaian program ladder untuk gerbang

logika OR pada Classic Ladder.

Gambar 4.19. Kondisi Awal Program Ladder OR

Pada kondisi awal tersebut kontak %I0 dan kontak %I1 tidak aktif atau

bernilai 0. Output dari rangkaian juga bernilai 0. Hal ini ditunjukkan oleh tidak

aktifnya coil %Q0.

Saat kontak %I0 aktif, output rangkaian akan bernilai 1. Hal ini

ditunjukkan oleh aktifnya coil %Q0 sebagai berikut.

Gambar 4.20. Program Ladder OR dengan Input %I0 Aktif

Ketika kontak %I1 aktif, output rangkaian akan bernilai 1. Hal ini

ditunjukkan oleh aktifnya coil %Q0 sebagai berikut.

Gambar 4.21. Program Ladder OR dengan Input %I1 Aktif

101

Saat kedua kontak aktif (%I0 dan %I1), output rangkaian akan bernilai 1.

Hal ini ditunjukkan oleh aktifnya coil %Q0 sebagai berikut.

Gambar 4.22. Program Ladder OR dengan Kedua InputAktif

Dengan demikian dapat dibuat sebuah tabel kebenaran sebagai berikut.

Tabel 4.2. Tabel Kebenaran Program Ladder OR

%I0 %I1 %Q00 0 01 0 10 1 11 1 1

Tabel tersebut menunjukkan bahwa program ladder tersebut sesuai

dengan logika gerbang OR.

4.4.3 NOT

Program gerbang logika NOT melibatkan satu input dan satu output. Input

yang digunakan berupa kontak normally close yang beralamat %I0 sedangkan

output yang digunakan berupa coil yang beralamat %Q0. Gambar berikut

menunjukkan kondisi awal dari rangkaian program.

Gambar 4.23. Program NOT dengan Input Bernilai 0

Pada gambar tersebut, kontak %I0 bernilai 0. Namun dikarenakan kontak

tersebut normally close, jadi output akan aktif. Dapat terlihat bahwa coil %Q0

aktif.

Sementara gambar berikut menunjukkan kondisi saat kontak %I0 diberi

102

nilai 1. Output rangkaian akan bernilai 0 atau tidak aktif. Hal ini ditunjukkan oleh

tidak aktifnya coil %Q0.

Gambar 4.24. Program NOT dengan Input Bernilai 1

Oleh karena itu dapat dibuat sebuah tabel kebenaran dari program ladder

tersebut sebagai berikut.

Tabel 4.3. Tabel Kebenaran Program Ladder NOT

%I0 %Q00 11 0

Tabel tersebut menunjukkan bahwa program ladder tersebut relevan

dengan logika dari gerbang NOT.

4.4.4 AND NOT

Program gerbang logika AND NOT atau NOT AND melibatkan dua input

dan satu output. Input yang digunakan adalah kontak normally close yang

beralamat %I0 dan %I1, sedangkan output yang digunakan adalah coil beralamat

%Q0. Gambar-gambar berikut menunjukkan simulasi program tersebut yang

dilakukan pada Classic Ladder.

Gambar 4.25. Kondisi Awal Program NOT AND

Pada kondisi awal di mana kedua input(kontak %I0 dan %I1) memiliki

nilai 0, output rangkaian bernilai 1 atau aktif. Hal ini ditunjukkan oleh aktifnya

coil %Q0.

103

Saat kontak %I0 diberi nilai 1, output rangkaian akan bernilai 1 atau aktif.

Hal ini ditunjukkan oleh aktifnya coil %Q0.

Gambar 4.26. Program NOT AND dengan Input %I0 Bernilai 1

Saat kontak %I1 diberi nilai 1, output rangkaian akan bernilai 1 atau aktif.

Hal ini ditunjukkan oleh coil %Q0 yang aktif pada gambar berikut.

Gambar 4.27. Program NOT AND dengan Input %I1 Bernilai 1

Adapun saat kedua kontak bernilai 1, output rangkaian akan bernilai 0

atau tidak aktif. Hal ini ditunjukkan oleh coil %Q0 yang aktif pada gambar

berikut.

Gambar 4.28. Program NOT AND dengan Kedua Input(%I0 dan %I1) Bernilai 1

Oleh karena itu dapat dibuat sebuah tabel kebenaran dari program tersebut

sebagai berikut.

Tabel 4.4. Tabel Kebenaran Program Ladder NOT AND

%I0 %I1 %Q00 0 11 0 10 1 11 1 0

104

Tabel tersebut menunjukkan bahwa program tersebut relevan terhadap

logika gerbang NOT AND.

4.4.5 OR NOT

Program gerbang logika OR NOT atau NOT OR melibatkan dua input dan

satu output yang disusun seri. Input yang digunakan adalah kontak normally close

beralamat %I0 dan %I1. Output yang digunakan adalah coil beralamat %Q0.

Berikut gambar-gambar yang menunjukkan simulasi dari program ini.

Gambar 4.29. Kondisi Awal Program NOT OR

Pada kondisi awal di mana semua input (kontak %I0 dan %I1) bernilai 0,

output dari rangkaian bernilai 1. Hal ini terjadi dikarenakan kontak jenis normally

close. Aktifnya output ditandai dengan aktifnya coil %Q0.

Gambar 4.30. Program NOT OR dengan Input %I0 Bernilai 1

Pada gambar tersebut terlihat bahwa saat kontak %I0 bernilai 1, output

rangkaian akan bernilai 0. Hal ini ditunjukkan oleh tidak aktifnya coil%Q0.

Gambar 4.31. Program NOT OR dengan Input %I1 Bernilai 1

Pada gambar tersebut dapat dilihat bahwa saat kontak %I1 diberi nilai 1,

output rangkaian akan bernilai 0 atau tidak aktif. Hal ini ditunjukkan oleh tidak

aktifnya coil %Q0.

Gambar 4.32. Program NOT OR dengan Kedua Input (%I0 an %I1) Bernilai 0

105

Pada gambar tersebut terlihat bahwa saat kedua kontak (%I0 dan %I1)

bernilai 1, output rangkaian akan bernilai 0 atau tidak aktif. Hal ini ditunjukkan

oleh coil %Q0 yang tidak aktif.

Dengan demikian dapat dibuat sebuah tabel kebenaran dari program

tersebut sebagai berikut.

Tabel 4.5. Tabel Kebenaran Program Ladder NOT OR

%I0 %I1 %Q00 0 11 0 00 1 01 1 0

Tabel tersebut menunjukkan bahwa program tersebut relevan dengan

logika gerbang NOT OR.

4.4.6 EXOR

Program gerbang logika EXOR melibatkan 4 buah kontak sebagai input

dan 1 buah coil sebagai output. 2 buah kontak dihubungkan secara seri yang

terdiri dari 1 kontak normally close beralamat %I0 dan 1 kontak normally open

beralamat %I1. Sementara 2 buah kontak lainnya memiliki alamat yang sama

tetapi dengan jenis yang berkebalikan. 2 kontak pertama dan dua kontak ke-2

dihubungkan secara paralel ke coil output.

Gambar 4.33. Kondisi Awal Program Ladder EXOR

Pada kondisi awal tersebut, semua kontak input bernilai 1. Hal ini berarti

bahwa kontak-kontak tersebut masih berada pada kondisi normalnya. Adapun

106

terlihat bahwa output dari rangkaian tersebut bernilai 0 atau tidak aktif.

Gambar 4.34. Program Ladder EXOR dengan Input %I0 Bernilai 1

Pada gambar di atas terlihat bahwa output rangkaian bernilai 1 atau aktif.

Hal ini dikarenakan terdapat input dari kontak %I0 pada bagian bawah yang aktif.

Gambar 4.35. Program Ladder EXOR dengan Input %I1 Bernilai 1

Pada gambar di atas dapat dilihat bahwa output rangkaian bernilai 1 atau

aktif. Hal ini dikarenakan kontak %I1 yang bernilai 1 dan mengaktifkan input.

Gambar 4.36. Program Ladder EXOR dengan Input %I0 dan %I1 Bernilai 1

Pada gambar di atas terlihat bahwa output rangkaian bernilai 0. Hal ini

dikarenakan kedua kontak yang sama-sama bernilai 1 dan mengubah

kontak-kontak Normally Close menjadi terbuka, sehingga tidak terdapat input.

Dengan demikian dapat dibuat sebuah tabel kebenaran dari program

ladder tersebut sebagai berikut.

107

Tabel 4.6. Tabel Kebenaran Program Ladder EXOR

%I0 %I1 %Q00 0 01 0 10 1 11 1 0

Tabel tersebut menunjukkan bahwa program ladder tersebut relevan

dengan logika gerbang EXOR.

4.4.7 EXNOR

Program gerbang logika EXNOR melibatkan 4 buah kontak dan sebuah

coil. 2 kontak Normally Open dihubungkan seri pada satu baris dan 2 kontak

Normally Closed dihubungkan pada baris lainnya. Kedua baris tersebut

dihubungkan secara paralel ke output.

Gambar 4.37. Kondisi Awal Program Ladder EXNOR

Kondisi awal tersebut memperlihatkan output yang aktif pada saat semua

kontak bernilai 0. Kedua kontak normally close adalah yang berperan dalam hal

ini.

Pada gambar berikut terdapat sebuah alamat yang diubah nilainya menjadi

1. Alamat tersebut adalah %I0.

Gambar 4.38. Program EXNOR dengan Input %I0 Bernilai 1

108

Seperti yang terlihat pada gambar di atas, output rangkaian tersebut tidak

dapat aktif pada saat alamat %I0 diberi nilai 1. Hal ini disebabkan oleh kontak

Normally Close %I0 yang terbuka dan kontak Normally Open %I1 yang tertutup.

Gambar 4.39. Program XNOR dengan Input %I1 Bernilai 1

Saat alamat %I1 diberi nilai 1, rangkaian memiliki output bernilai 0 atau

tidak aktif. Hal ini disebabkan oleh kontak Normally Open %I0 yang terbuka dan

kontak Normally Close %I1 yang bernilai 1. Gambar di atas menunjukkan

fenomena tersebut.

Gambar 4.40. Program XNOR dengan Kedua Input (%I0 dan %I1) Bernilai 1

Pada gambar di atas dapat terlihat bahwa output rangkaian bernilai 1 atau

aktif, saat kedua alamat (%I0 dan %I1) bernilai 1. Hal ini disebabkan oleh

tertutupnya kedua kontak Normally Open.

Dengan demikian dapat dibuat tabel kebenaran berikut untuk program

ladder tersebut.

109

Tabel 4.7. Tabel Kebenaran Program Ladder EXNOR%I0 %I1 %Q00 0 11 0 00 1 01 1 1

Tabel tersebut menunjukkan bahwa program ladder tersebut relevan

dengan logika gerbang EXNOR.

4.5 Program Timer

Program timer ini mencakup semua jenis/mode timer yang terdapat pada

Classic Ladder. Timer pada Classic Ladder terdiri dari TON(Timer On Delay),

TOF(Timer Off Delay), dan TP(Timer Pulse). Adapun timer yang digunakan

adalah timer versi baru, yaitu timer IEC.

Timer-timer tersebut ditempatkan dalam satu rung yang sama.

Masing-masing timer diatur untuk memiliki preset 5 detik. Setiap timer memiliki

kontak input dan coil/kumparan output sendiri yang berbeda. Berikut adalah

gambar kondisi awal dari timer-timer tersebut.

Gambar 4.41. Kondisi awal dari Timer-timer yang Digunakan

Di bawah ini akan dibahas penggunaan setiap jenis timer pada Classic

Ladder. Simulasi juga dilakukan pada timer-timer ini.

110

4.5.1 TON

TON(Timer On Delay) merupakan timer yang outputnya tertunda selama

waktu tertentu. Pada gambar-gambar berikut terdapat simulasi dari program

ladder yang melibatkan TON.

Gambar 4.42. Kondisi Awal dari TON

Ketika kontak %I0 diaktifkan, TON akan memulai menghitung waktu dari

angka 0. Gambar berikut menunjukkan waktu TON yang berjalan.

Gambar 4.43. TON dengan Waktu yang Berjalan

Saat waktu dari TON tersebut mencapai nilai preset-nya, output dari TON

akan aktif. Dengan demikian, coil %Q0 akan aktif. Hal ini ditunjukkan oleh

gambar berikut.

Gambar 4.44. TON dengan Waktu Mencapai Preset

Ketika kontak %I0 dinonaktifkan, maka input TON juga menjadi tidak

aktif dan TON mengalami reset. Waktu aktual TON kembali kembali ke 0 dan

output TON menjadi tidak aktif, sehingga coil Q0 juga menjadi tidak aktif. Hal

ini menunjukkan bahwa input TON tidak termasuk dalam kategori one-shot.

Berikut gambar yang menunjukkan hal tersebut.

111

Gambar 4.45. TON yang Kembali ke Kondisi Awal, Setelah Mengalami Reset

Dengan demikian dapat dibuat sebuah timing diagram sebagai berikut

untuk program timer on delay tersebut.

Gambar 4.46. Timing Diagram Program TON

Timing diagram tersebut menunjukkan bahwa TON tersebut sesuai dengan teori

tentang timer on delay.

4.5.2 TOF

TOF(Timer Off Delay) merupakan timer yang menghitung waktu

penundaan penonaktifan dari sebuah output, setelah sebelumnya aktif.

Gambar-gambar berikut menunjukkan penggunaan TOF pada Classic Ladder.

Gambar 4.47. Kondisi Awal Program Ladder TOF

Pada gambar di atas, terlihat kondisi awal dari program yang melibatkan

TOF. Sementara gambar berikut menunjukkan TOF yang diberi input dari kontak

%I1.

112

Gambar 4.48. TOF dengan Input ON dan Output ON

Dapat dilihat pada gambar di atas bahwa saat input TOF aktif, output TOF

akan aktif secara langsung. Pada tahap selanjutnya, input TOF dinonaktifkan.

Berikut gambar yang dapat menunjukkan fenomena yang terjadi pada tahap

selanjutnya.

Gambar 4.49. TOF dengan Input OFF dan Output ON

Gambar di atas menunjukkan bahwa saat input TOF dinonaktifkan, output

TOF tetap aktif. Kemudian waktu akan berjalan mundur dari preset ke 0.

Ketika waktu aktual TOF mencapai angka 0, output TOF akan menjadi

tidak aktif. Hal ini ditunjukkan oleh gambar berikut.

Gambar 4.50. TOF dengan Input OFF dan Output OFF, Setelah Waktu Selesai

Dengan demikian dapat dibuat sebuah timing diagram untuk program

timer off delay tersebut sebagai berikut.

Gambar 4.51. Timing Diagram Program TOF

113

Timing diagram tersebut menunjukkan bahwa TOF tersebut sesuai dengan teori

tentang timer off delay.

4.5.3 TP

TP(Pulse Timer) merupakan timer yang bekerja dengan input yang sejenis

dengan counter, yaitu one shot. Timer ini berfungsi untuk mengaktifkan output

dalam rentang waktu tertentu. Ini berarti bahwa output timer ini akan aktif sejak

pulsa diterima sampai waktu habis. Gambar-gambar berikut menunjukkan

penggunaan timer tersebut.

Gambar 4.52. Kondisi Awal TP

Pada kondisi awal, TP memiliki nilai aktual 0 detik. Namun, saat input

diaktifkan dengan kontak %I2 sebagai pemicunya, nilai aktual TP menjadi 5 dan

TP memulai hitung mundur ke angka 0. Pada saat yang sama, output dari TP aktif

dan mengaktifkan coil %Q2. Berikut gambar yang dapat menunjukkan hal

tersebut.

Gambar 4.53. TP dengan InputAktif, Waktu Hitung Mundur, dan OutputAktif

Saat waktu mencapai angka 0 detik, output TP akan dinonaktifkan.

Gambar berikut menunjukkannya.

Gambar 4.54. TP dengan InputAktif tetapi Output Tidak Aktif (Pasca Time Out)

Sementara gambar berikut menunjukkan bahwa input yang dinonaktifkan

114

kembali, tidak berdampak apapun terhadap kondisi TP. Hal ini akan sama saja

walaupun input dinonaktifkan kembali saat waktu hitung mundur belum

mencapai nilai 0.

Gambar 4.55. TP dengan Input Tidak Aktif dan Output Tidak Aktif

Dengan demikian dapat dibuat sebuah timing diagram untuk program

timer pulse tersebut sebagai berikut.

Gambar 4.56. Timing Diagram Program TP

Timing diagram tersebut menunjukkan bahwa TP tersebut sesuai dengan teori

tentang timer pulse.

4.6 Program Counter

Program counter ini mencakup semua input dan output dari sebuah

counter pada Classic Ladder. Input yang dimaksudkan adalah R(Mengatur

Ulang/Reset), P(Preset), U(Hitung Maju/Up Count), D(Hitung Mundur/Down

Count). Output yang dimaksudkan adalah E(Underflow), D(Selesai/Done), dan

F(Overflow).

Counter yang penulis gunakan memiliki angka preset 2. Masing-masing

input sudah tersambung dengan kontak sebagai pemicunya, sedangkan

115

masing-masing output tersambung dengan coil/kumparan. Adapun gambar

berikut merupakan kondisi awal dari counter dalam software Classic Ladder

yang akan dibahas fungsi-fungsi input dan output-nya.

Gambar 4.57. Rangkaian Ladder Program Counter (Kondisi Awal)

4.6.1 PRESET

Preset merupakan nilai patokan dari sebuah counter di mana counter

tersebut menyelesaikan perhitungannya. Dalam artian lain, ketika nilai preset

tercapai, maka output D(Done) yang menandakan counter telah selesai

menghitung akan aktif. Saat input P(Preset) pada sebuah counter diberi masukan

atau diaktifkan, maka nilai aktual counter tersebut akan menjadi nilai preset-nya.

Hal ini terlepas dari nilai yang dimiliki oleh counter tersebut sebelumnya.

Simulasi pada software Classic Ladder berikut menunjukkan hal tersebut.

Gambar 4.58. Counter dengan Input P(Preset) Aktif yang Mengaktifkan Output

D dan Output Q1.

Walaupun setelah itu input pada P(Preset) dinonaktifkan kembali, nilai

aktual dari counter tersebut tetap akan sama dengan preset-nya. Jadi input ini

dapat dikategorikan sebagai input one shot.

116

Gambar 4.59. Counter dengan Input P(Preset) Nonaktif Kembali, Output D dan

Output Q1 Tetap Aktif

4.6.2 RESET

Reset merupakan tindakan atau operasi pengatural ulang dan

pengembalian ke kondisi awal counter. Pada gambar berikut dapat dilihat

simulasi pengaktifan input R(Reset) pada sebuah counter.

Gambar 4.60. Counter dengan Input R(Reset) Aktif

Pada gambar tersebut, terlihat bahwa saat input R(Reset) diaktifkan, nilai

aktual dari counter tersebut secara langsung kembali ke kondisi awalnya atau

nilai 0. Hal ini terlepas dari kondisi aktual nilai counter sebelumnya. Kontak I0

menjadi pemicu input R tersebut. Pada gambar berikut, dapat dilihat penonaktifan

input R setelah diaktifkan.

Gambar 4.61. Counter dengan Input R(Reset) yang Dinonaktifkan Kembali

Gambar tersebut memperlihatkan bahwa input R yang dinonaktifkan

117

kembali pasca pengaktifannya, tidak memberikan efek apapun terhadap kondisi

counter. Jadi dapat dikatakan bahwa input R(Reset) termasuk dalam kategori one

shot.

4.6.3 UP COUNT

Up count merupakan penghitungan normal, yaitu dari 0 ke angka yang

nilainya lebih besar. Sebuah counter dalam Classic Ladder memiliki input U(Up

Count). Input ini berfungsi untuk memberikan pulsa rising edge yang menambah

1 nilai ke nilai aktual counter setiap kali diaktifkan. Gambar berikut merupakan

simulasi dari penggunaan input U(Up Count) pada sebuah counter dalam Classic

Ladder.

Gambar 4.62. Counter dengan Input U(Up Count) Aktif

Pada gambar tersebut dapat dilihat bahwa ketika input U aktif, nilai aktual

dari counter tersebut mengalami kenaikan 1 angka. Langkah simulasi selanjutnya

terdapat pada gambar berikut.

Gambar 4.63. Counter dengan Input U(Up Count) Dinonaktifkan Kembali

Pada gambar tersebut terlihat bahwa setelah input U kembali

dinonaktifkan, tidak terjadi perubahan pada nilai aktual counter. Hal ini berarti

118

bahwa pada input tersebut berlaku one shot. Langkah selanjutnya penulis

mengaktifkan input tersebut untuk kali kedua.

Gambar 4.64. Counter dengan Input U(Up Count) Diaktifkan Kedua kalinya

Gambar tersebut memperlihatkan kondisi output D(Done) yang aktif

karena dipicu oleh aktivasi kedua dari input U. Alasan utama terjadinya hal ini

adalah nilai aktual counter tersebut yang naik ke angka 2. Hal ini berarti bahwa

nilai aktual counter sama dengan nilai preset-nya. Dengan kata lain penghitungan

counter tersebut telah dinyatakan memenuhi syarat selesai.

Adapun pada gambar berikut, terjadi hal yang sama dengan tahap

sebelumnya. Ketika input U dinonaktifkan kembali, kondisi counter tetap.

Gambar 4.65. Counter Pasca Penghitungan Selesai dengan Input U(Up Count)

Namun, ketika input U kembali diaktifkan dengan kontak %I2, output F

kembali tidak aktif.

Gambar 4.66. Kondisi Counter Ketika Input U Diaktifkan Kembali

119

4.6.4 DOWN COUNT

Down count merupakan penghitungan mundur ke nilai 0 dari nilai yang

lebih besar. Hal ini juga dapat dikatakan sebagai falling edge. Gambar-gambar

simulasi berikut menjelaskan tentang penggunaan input D(Down Count) pada

sebuah counter dalam Classic Ladder. Kondisi awal nilai aktual counter yang

penulis gunakan di sini adalah 3, sedangkan nilai preset tetap 2.

Gambar 4.67. Kondisi Awal Sebelum Input D(Down Count) Aktif

Pada tahap selanjutnya, input D(Down Count) diaktifkan. Berikut gambar

dari pengaktifan input D tersebut.

Gambar 4.68. Counter dengan Input D(Down Count) Aktif

Dapat dilihat bahwa ketika input D(Down Count) diaktifkan, nilai aktual

dari counter tersebut berkurang 1 angka menjadi 2. Adapun output D(Done) aktif

karena nilai aktual counter sama dengan nilai preset-nya.

Gambar 4.69. Counter dengan Input D(Down Count) Dinonaktifkan Kembali

120

Dari gambar tersebut dapat terlihat bahwa input D(Down Count) juga

termasuk input jenis one shot. Jika nilai counter diturunkan dengan mengaktifkan

input U kembali menggunakan kontak %I4, maka output D dan coil Q1 kembali

tidak aktif atau bernilai salah.

Gambar 4.70. Kondisi Counter Setelah Input D Diaktifkan Kembali

Dalam penggunaan counter terdapat dua fenomena khusus yang

dinamakan underflow dan overflow. Kedua hal tersebut secara teknis

diberlakukan pada simulasi berikut.

4.6.5 UP COUNT - OVERFLOW

Overflow merupakan kondisi di mana nilai aktual counter beralih/berubah

dari 9999 ke 0 atau dari nilai maksimum ke nilai minimum. Secara sederhana

fenomena ini dapat dikatakan sebagai “lubernya” nilai counter karena nilainya

naik melebihi angka maksimumnya. Gambar berikut menunjukkan kondisi awal

sebelum terjadinya overflow, di mana nilai aktual counter adalah 9999 atau

maksimum.

Gambar 4.71. Counter dengan Nilai Aktual Maksimum

121

Pada tahap selanjutnya dilakukan pengaktifan input U(Up Count) yang

dipicu oleh kontak %I2. Dengan demikian kondisi ladder menjadi sebagai

berikut.

Gambar 4.72. Counter dengan Input U(Up Count) dan Output F(Overflow)

Aktif

Pada gambar tersebut dapat dilihat bahwa input U(Up Count) yang aktif

menyebabkan nilai aktual counter berubah naik ke angka 0 dari 9999. Hal ini

menyebabkan output F(Overflow) pada counter tersebut aktif. Pada tahap

selanjutnya, input U(Up Count) kembali dinonaktifkan.

Gambar 4.73. Counter dengan Input U(Up Count) Dinonaktifkan Kembali dan

Output F(Overflow) Tetap Aktif

Setelah overflow tersebut, input U kembali diaktifkan dengan kontak %I2.

Akibatnya, output E dan coil %Q2 kembali bernilai salah atau tidak aktif.

Gambar 4.74. Counter dengan Input UAktif dan Output F Tidak Aktif

122

4.6.6 DOWN COUNT - UNDERFLOW

Underflow adalah kondisi di mana nilai aktual counter turun dari nilai

minimumnya. Secara teknis nilainya akan beralih dari nilai minimum ke nilai

maksimum atau dari 0 ke 9999. Gambar-gambar berikut menjelaskan tentang

simulasi fenomena underflow pada sebuah counter dalam Classic Ladder.

Gambar 4.75. Counter dengan Input D(Down Count) Aktif dan Output

E(Underflow) Aktif

Gambar tersebut menunjukkan konsidi saat input D(Down Count)

diaktifkan. Kondisi awal dari counter tersebut adalah bernilai aktual 0. Dengan

pengaktifan input D tersebut, nilai aktual counter tersebut beralih dari 0 ke 9999.

Oleh karena itu output E(Underflow) aktif.

Pada tahap selanjutnya, input D(Down Count) kembali dinonaktifkan.

Dapat dilihat pada gambar berikut bahwa kondisi yang output E(Underflow) akan

tetap pada kondisi terakhirnya.

Gambar 4.76. Counter dengan Input D(Down Count) Dinonaktifkan Kembali

dan Output E(Underflow) Tetap

Jika setelah itu input D kembali diaktifkan dengan kontak %I4, maka

output E dan coil %Q0 kembali bernilai salah atau tidak aktif.

123

Gambar 4.77. Counter dengan Input DAktif dan Output E Tidak Aktif

Dengan demikian program counter pada Classic Ladder dapat

digambarkan dengan timing diagram sebagai berikut.

Gambar 4.78. Timing Diagram Program Counter

Timing Diagram tersebut menunjukkan bahwa counter tersebut tidak cukup

relevan dengan teori tentang counter. Hal ini ditunjukkan oleh perbedaan bahwa

counter dalam teori terpisah antara counter count-up dan counter count-down,

sementara counter tersebut menggabungkan keduanya. Selain itu, bit D pada teori

akan terus bernilai 1 saat nilai aktual counter sama dengan preset atau lebih,

sedangkan pada counter tersebut hanya akan bernilai 1 jika nilai aktual counter

sama dengan preset.

124

BAB V

PENUTUP

5.1 Kesimpulan

Classic Ladder merupakan sebuah software pemrograman tangga PLC

yang multiplatform atau dapat berjalan pada lebih dari satu sistem operasi.

Software ini menyertakan fitur simulasi logika tangga/ladder logic yang dapat

membantu memahami pemrograman ladder/tangga. Bahasa tangga sendiri

merupakan bahasa yang terpopuler dan termudah dari pelbagai pemrograman

PLC.

Berdasarkan hasil pengujian, software Classic Ladder ini dapat digunakan

untuk membuat program ladder dasar untuk PLC beserta simulasi logika

tangganya.(penjelasan mengenai program ladder dasar PLC terlampir)

Program-program dasar tersebut meliputi:

1. program input-output dasar,

2. program latching,

3. program set-reset,

4. program gerbang logika dasar,

5. program timer, dan

6. program counter.

Oleh karena itu, software Classic Ladder cukup relevan untuk digunakan

sebagai media pembelajaran dasar ladder programming. Adapun perbedaan yang

cukup signifikan berada pada komponen counter, di mana hanya terdapat sebuah

counter dengan fitur count-down dan count-up serta status bit output-nya.

125

5.2 Saran

1. Karena bersifat open source, software ini masih dapat dikembangkan lebih

lanjut khususnya untuk pembelajaran dasar programming ladder PLC beserta

simulasinya. Mungkin dapat ditambahkan beberapa opsi tampilan nama

addressing atau pengalamatan input-output dan memori dari komponen ladder

yang spesifik pada PLC merek tententu yang populer. Misalnya Omron,

Schneider, Mitsubishi, Siemens, dan Yokogawa.

Penambahan tampilan tersebut dapat menjadikan software ini lebih

fungsional untuk membantu memahami pemrograman PLC pada berbagai merek.

Paling tidak, software ini akan dapat membantu memahami addressing

input-output dan memori dari berbagai merek PLC. Hal ini juga dapat membantu

untuk persiapan kompetisi PLC programming mahasiswa yang setiap tahun

diselenggarakan oleh beberapa universitas di Indonesia, mengingat akan

bervariasinya PLC yang digunakan pada kompetisi-kompetisi tersebut.(daftar dari

beberapa kompetisi PLC programming di Indonesia untuk mahasiswa terlampir)

2. Dalam penulisan program ladder-nya, Classic Ladder memiliki sebuah

kelemahan pada penghapusan obyek. Akurasi dari tool eraser pada jendela Editor

masih belum memadai. Hal ini dibuktikan dari sulitnya menghapus obyek seperti

penghubung obyek dan obyek-obyek dengan ukuran yang cukup kecil. Adapun

bug yang cukup fatal terjadi saat penghapusan obyek coil. Ketika coil dihapus,

software Classic Ladder akan tertutup atau berakhir dengan sendirinya.

Sementara ini, salah satu solusinya adalah dengan menghapus obyek

menggunakan tool obyek tersebut sendiri. Sebagai contoh, penghapusan coil

126

dengan tool obyek coil yang dipilih pada jendela Editor.

3. Pembahasan dari tugas akhir ini terhadap software Classic Ladder masih

sangat sederhana. Hal ini dikarenakan pembahasan yang masih berkenaan dengan

ladder programming dan simulasi logikanya. Menurut penulis, mungkin perlu

dilakukan pembahasan lebih lanjut terkait hardware PLC yang dapat digunakan

dan dihubungkan dengan software ini.

4. Pengembangan dan modifikasi lain dari software Classic Ladder ini masih

memungkinkan.

127

DAFTAR PUSTAKA

Angga, F. 2011. Pemanfaatan PLC Sebagai Peralatan Otomatisasi Industri

Berbasis Ladder Logic Diagram. Departemen Teknik Elektro Fakultas

Teknik Universitas Sumatera Utara : Medan.

Anonymous. 2009. Modul Praktikum PLC Fisika UNDIP. Semarang:Universitas

Diponegoro. Dari

fisika.blog.undip.ac.id/files/2009/11/modul-praktikum-plc.pdf, diakses

tanggal 7 November 2014.

Caniago, E.R. 2008. Sistem Pengontrolan Mesin Case Packer (Mesin Pengisi

Krat) dengan Menggunakan PLC Tipe SIEMENS S7 – 200 ( Aplikasi PT.

Coca-Cola Botlling Indonesia Unit Medan – Sumut). Medan:Universitas

Sumatera Utara.

e-Gizmo_PLC64_28I/O Programmable Logic Controller_Hardware Manual Rev

1 r0_"Common hardware platform for use with Ladder Logic and

ClassicLadder open source PLC ladder programming software."

Endaryoko, H. 2011. Pembuatan Program Pengatur Festo Sorting Station Dan

Analisa Dinamik Pada Modular Automation Production System (MAPS).

Surakarta:Jurusan Teknik Mesin, Fakultas Teknik, Universitas Sebelas

Maret.

http://www.plcs.net/chapters/latch14.htm. Diakses tanggal 15 Novermber 2014.

http://sourceforge.net/p/classicladder/wiki/Home/ (diakses tanggal 25 Oktober

2014)

http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html(diakses

tanggal 6 Desember 2014)

http://www.linuxcnc.org/docs/2.4/html/ladder_ladder_examples.html(diakses

tanggal 6 Desember 2014)

http://users.teledisnet.be/web/rlo05343/umanual/umanual_for_classicladder.html(

diakses tanggal 6 Desember 2014)

128

http://linuxcnc.org/docs/html/ladder/ladder_intro.html(diakses tanggal 6

Desember 2014)

http://linuxcnc.org/docs/html/ladder/classic_ladder.html(diakses tanggal 6

Desember 2014)

http://leachy.homeip.net/olinuxino/classic_ladder.html(diakses tanggal 6

Desember 2014)

http://gnipsel.com/linuxcnc/ladder/counter.html(diakses tanggal 6 Desember

2014)

http://gnipsel.com/linuxcnc/ladder/basic.html(diakses tanggal 6 Desember 2014)

http://gnipsel.com/linuxcnc/ladder/latch.html(diakses tanggal 6 Desember 2014)

https://sites.google.com/site/classicladder/home (diakses tanggal 25 Oktober

2014)

Hutahaean, J. 2010. Pengendalian Pintu Gerbang Otomatis Berbasis

Programmable Logic Control (PLC). Medan:Universitas Sumatera Utara.

Juwana, M.U. 2006. Sistem Kontrol Proses dan PLC. Kelas-mikrokontrol.com.

Poha, K.R., dan Buko, M. 2013. Rancang Bangun Miniatur Lift Berbasis PLC

(Programmable Logic Controller) Sebagai Modul Praktikum Matakuliah

PLC dan Mekatronika. Gorontalo:Universitas Negeri Gorontalo.

Rubiyanto, Wijaya, S., dan Gunawan, T. 2004. Pemilihan Laci dan Pengambilan

Barang Menggunakan PLC. Jakarta:Universitas Bina Nusantara.

Setiawan, I. 2006. Programmable Logic Controller dan Teknik Perancangan

Sistem Kontrol. Yogyakarta : Andi.

Sonjaya, U. 2011. Rancang Bangun Sistem Kontrol Konveyor Penghitung Barang

Menggunakan PLC (Programmable Logic Controller) Omron Tipe

CPM1A 20 CDR. Jakarta:Fakultas Teknologi Industri, Jurusan Teknik

Mesin, Universitas Gunadarma. Dari

http://openstorage.gunadarma.ac.id/presentations/Skripsi/FTI-20406916%

20JURNAL.pdf, diakses tanggal 7 November 2014.

Sumbodo, W. 2008. Bahan Ajar : Pengendali PLC. Semarang:Jurusan Teknik

Mesin, Fakultas Teknik, Universitas Negeri Semarang.

129

Utomo, R.C. 2013. Pemrograman Ladder Diagram Pada Programmable Logic

Controller (PLC) Terintegrasi Dengan Scada Vijeo Citect Untuk

Simulator Sistem Parkir. Semarang:Fakultas Teknik, Jurusan Teknik

Mesin, Universitas Diponegoro.

Wicaksono, H. 2008. Dasar – Dasar Pemrograman PLC. Surabaya:Universitas

Kristen Petra.

Wicaksono, H. 2008. Timer : Teori dan Aplikasi. Surabaya:Universitas Kristen

Petra.

Wicaksono, H. 2008. Counter : Teori dan Aplikasi. Surabaya:Universitas Kristen

Petra.

Widjiantoro, B.L., Ya’umar, dan Iskandarianto, F.A. 2012. Modul Ajar : Sistem

Pengendalian Otomatis. Surabaya:Jurusan Teknik Fisika, Fakultas

Teknologi Industri, Institut Teknologi Sepuluh Nopember.

Widyanahar, N.A. 1998. Pemanfaatan Programmable Logic Controller dalam

Dunia Industri. Elektro Indonesia, Edisi Ke-sebelas, Januari. Dari

http://www.elektroindonesia.com/elektro/instrum11.html, diakses tanggal

3 November 2014.

LAMPIRAN

Lampiran

Lampiran 1. Bahasa Pemrograman PLC

PLC tidak dapat bekerja sendiri tanpa adanya program yang mengatur

langkah kerja didalamnya. Program yang dibuat ditujukan untuk mengatur kerja

antara sensor dan aktuator. Program dirancang untuk memberikan perintah ke

aktuator berdasarkan keadaan sensor ataupun juga berdasarkan perhitungan

aritmatika (Endaryoko, 2011).

Berkaitan dengan pemrograman PLC, terdapat lima model atau metode

yang telah distandardisasi penggunaannya oleh IEC (International

Electrotechnical Commission) 1131-3 sebagai berikut (Sonjaya, 2011).

1. List Instruksi (Instruction List)

Pemrograman dengan menggunakan instruksi-instruksi bahasa level

rendah (Mnemonic), seperti LD, AND, OR dan lain sebagainya (Sonjaya, 2011).

Tabel 1.Contoh List Instruksi

2. Diagram Tangga (Ladder Diagram)

Pemrograman berbasis logika relay, cocok digunakan untuk

persoalan-persoalan Kontrol Diskret yang input/output hanya memiliki dua

kondisi on atau off seperti pada sistem kontrol konveyor, lift, dan motor-motor

industri (Sonjaya, 2011).

Gambar 1. Diagram Tangga

3. Diagram Blok Fungsi ( Function Block Diagram )

Pemrograman berbasis aliran data secara grafis. Banyak digunakan untuk

tujuan kontrol proses yang melibatkan perhitungan-perhitungan kompleks dan

akuisisi data analog (Sonjaya, 2011).

Gambar 2. (a) Diagram Tangga (b) Diagram Blok Fungsional Ekivalennya

4. Diagram Fungsi Sekuensial (Sequential Function/Flow Charts/Grafcet)

Metode grafis untuk pemrograman terstruktur yang banyak melibatkan

langkah-langkah rumit, seperti pada bidang robotika, perakitan kendaraan, Batch

Control, dan lain sebagainya (Sonjaya, 2011).

Gambar 3. Diagram Fungsi Sekuensial

5. Teks Terstruktur (Structured Text)

Tidak seperti keempat metode sebelumnya, permrograman ini

menggunakan statemen-statemen yang umum dijumpai pada bahasa level tinggi

(high level programming) seperti If/Then, Do/While, Case, For/Next, dan lain

sebagainya. Dalam aplikasinya, model ini cocok digunakan untuk

perhitungan-perhitungan matematis yang kompleks, pemrosesan tabel, serta

fungsi-fungsi kontrol yang memerlukan algoritma khusus (Sonjaya, 2011).

Gambar 4. Teks Terstruktur

Namun Sumbodo(2008) menyederhanakan pemrograman PLC menjadi

dua macam yaitu dengan diagram ladder dan bahasa mnemonic. Pemrograman

biasanya membuat diagram ladder terlebih dahulu dan kemudian baru

menerjemahkannya dalam bahasa mnemonic, atau bisa juga langsung

menggambar ladder diagram pada layar monitor (Sumbodo, 2008).

Lampiran 2. Program-program Ladder Dasar yang Digunakan

1. Program Input-Output

Ini merupakan program paling dasar dari diagram tangga PLC. Penulis menilai

terdapat beberapa program yang cukup fundamental untuk dibahas. Berikut

program-program tersebut.

a) Input-Output Dasar

Pada hakekatnya terdapat dua buah program input dan output yang paling

mendasar pada PLC. Dua program ini yaitu input-output dengan Normally Open Contact

dan input-output dengan Normally Close Contact. Keduanya dibedakan berdasarkan

jenis kontak yang digunakan.

i. Input-Output dengan N.O. Contact

Gambar 5. Input-Output dengan N.O. Contact

ii. Input-Output dengan N.C. Contact

Penjelasan program ini sama dengan “Program Gerbang Logika NOT”.

2. Latching/Set dan Unlatching/ResetDikutip dari http://www.plcs.net/chapters/latch14.htm, "The latch instruction is

often called a SET or OTL (output latch). The unlatch instruction is often called a RES

(reset), OUT (output unlatch) or RST (reset). The diagram below shows how to use them

in a program". Ini berarti SET = Output Latch dan RESET = Input Latch. Dengan kata

lain, program latch-unlatch sama dengan program SET-RESET.

Terdapat dua model dari program ini. Yang pertama adalah dengan menggunakan

salah satu konvensi yang berlaku pada coil PLC, yaitu self holding.

Gambar 6. SET-RESET dengan Self Holding

Yang kedua adalah dengan menggunakan coil tipe SET dan RESET.

Gambar 7. SET-RESET dengan Coil Khusus

Secara logika, kedua program ladder tersebut memiliki kesamaan. Ketika I1 aktif

atau bernilai 1, O1 akan diatur bernilai 1. O1 akan bernilai 1, walaupun I1 dinonaktifkan

atau bernilai 0. O1 hanya akan kembali bernilai 0 jika I2 diaktifkan.

3. Program Operasi LogikaPada sistem digital dikenal beberapa tipe dasar gerbang logika. Gerbang

merupakan suatu rangkaian dengan satu atau beberapa masukan yang akan menghasilkan

satu buah keluaran. Pada diagram ladder yang dipakai pada PLC gerbang-gerbang logika

tersebut dapat dianalogikan sebagai suatu saklar. Saklar tersebut mempunyai dua

keadaan yaitu ON(terhubung) atau OFF(terputus) (Anonymous, 2009). Berikut

penjelasan tentang beberapa program ladder gerbang logika dasar untuk PLC.

a) AND

Program AND merupakan program yang berbasis logika gerbang AND. Jadi

semua kondisi yang dihasilkan akan memenuhi logika AND. Berikut gambar dari dari

program ladder dengan logika AND.

Gambar 8. Program AND

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 2.Tabel Kebenaran Program Ladder AND

I1 I2 O10 0 01 0 00 1 01 1 1

b) OR

Program OR merupakan program yang berbasis logika gerbang OR. Jadi semua

kondisi yang dihasilkan akan memenuhi logika OR. Berikut gambar dari dari program

ladder dengan logika OR.

Gambar 9. Program OR

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 3.Tabel Kebenaran Program Ladder OR

I1 I2 O10 0 01 0 10 1 11 1 1

c) NOT

Program NOT merupakan program yang berbasis logika gerbang NOT. Jadi

semua kondisi yang dihasilkan akan memenuhi logika NOT. Berikut gambar dari dari

program ladder dengan logika NOT.

Gambar 10. Program NOT

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 4.Tabel Kebenaran Program Ladder NOT

I1 O10 11 0

d) EXOR

Program EXOR merupakan program yang berbasis logika gerbang EXOR. Jadi

semua kondisi yang dihasilkan akan memenuhi logika EXOR. Berikut gambar dari dari

program ladder dengan logika EXOR.

Gambar 11. Program EXOR

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 5.Tabel Kebenaran Program Ladder EXOR

I1 I2 O10 0 01 0 10 1 11 1 0

e) EXNOR

Program EXNOR merupakan program yang berbasis logika gerbang EXNOR.

Jadi semua kondisi yang dihasilkan akan memenuhi logika EXNOR. Berikut gambar dari

dari program ladder dengan logika EXNOR.

Gambar 12. Program EXNOR

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 6.Tabel Kebenaran Program Ladder EXNOR

I1 I2 O10 0 11 0 00 1 01 1 1

f) NOT OR

Program NOT OR merupakan program yang berbasis logika gerbang NOT OR.

Jadi semua kondisi yang dihasilkan akan memenuhi logika NOT OR. Berikut gambar

dari dari program ladder dengan logika NOT OR.

Gambar 13. Program NOT OR

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 7.Tabel Kebenaran Program Ladder NOT OR

I1 I2 O10 0 11 0 00 1 01 1 0

g) NOT AND

Program NOT AND merupakan program yang berbasis logika gerbang NOT AND.

Jadi semua kondisi yang dihasilkan akan memenuhi logika NOT AND. Berikut gambar

dari dari program ladder dengan logika NOT AND.

Gambar 14. Program NOT AND

Program ladder tersebut bekerja secara teknis memenuhi tabel kebenaran berikut.

Tabel 8.Tabel Kebenaran Program Ladder NOT AND

I1 I2 O10 0 11 0 10 1 11 1 0

4. Program Timer

Penjelasan merujuk pada komponen-komponen dasar ladder diagram bagian timer.

5. Program Counter

Penjelasan merujuk pada komponen-komponen dasar ladder diagram bagian timer.

Lampiran 3. Gerbang-gerbang Logika Dasar dan Tabel Kebenarannya

Dari

http://lecturer.eepis-its.edu/~prima/elektronika%20digital/elektronika_digital1/ba

han_ajar/Bab2_gerbang%20logika%20dasar.pdf:

Tabel 9.Gerbang Logika Dasar

NAMAGERBANGLOGIKA SIMBOL TABEL

KEBENARAN

AND

OR

NOT

NAND

NOR

XOR

XNOR

Lampiran 4. Variabel pada Pengaturan Classic LadderSumber : http://www.linuxcnc.org/docs/2.4/html/ladder_classic_ladder.html

Hal ini mungkinkan pengguna untuk melakukan konfigurasi/pengaturan jumlah

masing-masing jenis obyek tangga (ladder object). Jika pengguna tidak mengatur hal

tersebut, Classic Ladder akan menggunakan nilai bawaan(default).

Tabel 10. Variabel Default

Nama Obyek Nama Variabel Nilai Bawaan(Default)

Number of rungs (numRungs) 100Number of bits (numBits) 20Number of word

variables (numWords) 20

Number of timers (numTimers) 10Number of timers

IEC (numTimersIec) 10

Number ofmonostables (numMonostables) 10

Number of counters (numCounters) 10Number of HALinputs bit pins (numPhysInputs) 15

Number of HALoutputs bit pins (numPhysOutputs) 15

Number ofarithmeticsexpressions

(numArithmExpr) 50

Number of Sections (numSections) 10Number of Symbols (numSymbols) AutoNumber of S32 inputs (numS32in) 10

Number of S32outputs (numS32out) 10

Number of Floatinputs (numFloatIn) 10

Number of Floatoutputs (numFloatOut) 10

Obyek yang biasa digunakan adalah numPhysInputs, numPhysOutputs,

numS32in, dan numS32out. Mengubah angka-angka ini akan mengubah jumlah pin bit

HAL yang tersedia. numPhysInputs dan numPhysOutputs mengontrol berapa banyak pin

bit HAL (on/off) yang tersedia. numS32in dan numS32out mengontrol berapa banyak

HAL bilangan bulat yang ditandai/signed integer (+- rentang integer) pin yang tersedia.

Lampiran 5. Sejarah Pengembangan Software Classic LadderDiambil dari file HISTORY.txt yang tersedia pada website pengunduhan software Classic

Ladder:

CLASSIC LADDER PROJECT

Copyright (C) 2001-2014 Marc Le Douarain

marc . le - douarain /AT\ laposte \DOT/ net

http://www.sourceforge.net/projects/classicladder

http://sites.google.com/site/classicladder

----------

HISTORY...

----------

v0.1 (February 2001 - Not released)v0.2 (30 April 2001 - First public release)v0.2.8 (3 August 2001 - Featuring the Editor, but not totally completed)v0.3 (18 August 2001 - Editor completed)v0.4 (20 October 2001 - Arithmetic expressions evaluator)v0.5 (30 December 2001 - Real time support)v0.5.1 (4 January 2002 - Parallels ports interface)v0.5.2 (26 January 2002)v0.5.3 (11 May 2002)v0.5.4 (22 May 2002)v0.5.5 (18 August 2002)v0.6.0 (2 November 2002 - Birth of a new language)v0.6.1 (23 November 2002)v0.6.2 (23 March 2003)v0.6.3 (15 April 2003)v0.6.4 (19 July 2003)v0.6.5 (17 August 2003)v0.6.6 (10 November 2003)v0.7.0 (3 January 2004 - Sequential Editor added)v0.7.1 (13 March 2004)v0.7.2 (21 August 2004)v0.7.3 (28 December 2004)v0.7.4 (15 August 2005)v0.7.5 (13 May 2006)v0.7.60 (27 May 2006)v0.7.70 (11 June 2006)v0.7.71 (20 June 2006)v0.7.80 (18 July 2006)v0.7.90 (11 August 2006)v0.7.91 (17 August 2006)v0.7.92 (24 September 2006)v0.7.93 (21 October 2006)v0.7.92v0.7.100 (4 November 2006)

v0.7.101 (18 April 2007)v0.7.110 (8 May 2007)v0.7.120 (13 june 2007)v0.7.121 (8 July 2007)v0.7.122 (26 August 2007)v0.7.123 (4 November 2007)v0.7.124 (2 January 2008)v0.7.125 (18 February 2008)v0.7.126 (23 February 2008)v0.7.127 (22 April 2008)v0.8.0 (7 August 2008) [Big switch to Cairo & gtk-print]v0.8.1 (23 August 2008) [gtk-print also working under Windows... finally not so simple]v0.8.2 (7 September 2008) [configplc startup file removed]v0.8.3 (13 December 2008)v0.8.4 (26 April 2009) [Rung part Copy feature]v0.8.5 (5 July 2009)v0.8.6 (25 August 2009)v0.8.7 (6 April 2010)v0.8.8 (19 May 2010)v0.8.9 (27 November 2010)v0.8.10 (31 December 2010)v0.9.0 (23 April 2011) - New "monitor" protocol target added (IP UDP) & more elementsv0.9.1 (25 June 2011)v0.9.2 (21 August 2011)v0.9.3 (10 December 2011)v0.9.4 (10 March 2012)v0.9.5 (17 August 2012)v0.9.6 (3 november 2012)v0.9.7 (9 may 2013)v0.9.8 (22 june 2013)v0.9.9 (22 august 2013)v0.9.10 (31 october 2013)v0.9.11 (31 january 2014)v0.9.12 (10 May 2014)v0.9.013 (30 May 2014)v0.9.014 (27 September 2014)

Lampiran 6. Rencana Pengembangan dan Update Software Classic Ladder

dari DeveloperDiambil dari file TODO.txt yang tersedia pada arsip unduhan software Classic Ladder:

CLASSIC LADDER PROJECT

Copyright (C) 2001-2014 Marc Le Douarain

marc . le - douarain /AT\ laposte \DOT/ net

http://www.sourceforge.net/projects/classicladder

http://sites.google.com/site/classicladder

---------------------

FUTURE / TODO LIST...

---------------------

- Strange bad task name (per-default) under Xenomai for the "monitor" thread !?("classicladder" instead of function name as for others...)- Switch all monitor task creations to use common functions...- When loading a project, free and realloc new sizes objects of this project...? (not only atstartup when loading the first project)(if not running in a "old-school" rt kernel RTLinux/RTAI module! by the way, still working?)- Network config window, adding 'ip dynamic' checkbox+ raspbian config format possible in read/write...

- In sequential, display in status bar next action that should be done for and/or links...Complex case of multi steps activated/desactivated simultaneously (click on steps -or-

steps, then transition but not reverse elsebads things arriving... to see!)

- Comment field for project (multi lines possible).- Fixing library broken when compiled for that...- Shortcuts ctrl+"start"/"end" keys to go to first/last rung (instead of (shift)+ctrl+T) ? seenwhere in which software?- Easy possibility in eval block to be able to copy some bits list in a word...New function %Wx:=FUNCTION(First%By,QuantityZ) Parameters constants or vars.-Or- new characters after first %B with bits quantity %Bx{z} that return a word...??? (can

also be indexed!!! %Bx[y]{z}-Or- directly in contacts (extract a bit of a word) / coils (set a bit of a word) but how to

store this new n° bit parameter ???- Shift/Rotate functions for integer variables.- Do an easy Windows installer (NSIS ?) Seems too difficult for some users to manuallyextract an archive in a directory... :-(- To do a .deb package (for Debian/Ubuntu).- SMS received commands could optionnally be read (to set a var)- SMS read, can be used to confirm SMS alarm really received.- Have log history of the SMS alarms sended.- Error %Sxx(?) if failed to open serial modbus port + all %S10-%S19 slaves ?- New functions blocks "registers" to store/get back words values series (in FIFO or LIFOorder). + Data series could be downloaded?- Modbus master not really ending after loading project without modbus(close current opened serial port before in a CloseHardware() function before loading

another project).- Modbus master can (define?) use the 16550 realtime driver on Xenomai (do new file

serial_rt_xeno + functions SerialOpen_rt, Serial_Send_rt, ...).- Modbus slave (called server in IP) could also run in serial if a serial port string parametredin config_gtk (with RTS possible).- In Modbus slave/server can have offsets to get directly %I and %IW (for example if address> 20000...?!)- In new target infos tab (of free vars windows), add disk usage (#DEFINE device)- After set "config network" done, target should call script target "rc.inet1" ? (actually reboottarget to do manually required)- New systems vars time sunset/rise (integers) and perhaps directly boolean 'day' when weare between both (usefull to set light the night!)(without FPU instructions usage for SX CPU...)

( - Add second serial slave monitor thread )( - For modbus RS485 half-duplex (choice between rx/tx on the line), can use a x86 gpio withoutb instead of RTS signal(usefull with simple 3 wires serial port without RTS signal on it...)=> replace in Gtk Config "Use RTS signal to send oNo oYes" per "Drive signal to xmit

datas oNo oUseSerialRTS ox86OutPort" )- Persistance of vars possible (to select which before in a list), current values saved on risingedged of a %Sxx var?!- Have "default value" + "save context value" of vars lists. At start, each variables in the firstlist start with its default value.- Passwords. for monitor access? future SMS commands? differents levels?- Optimize CPU usage: no periodic refresh if not running (in edit, send "update signal"redraw whensomething done)

- vertical display optimization (nbr blocks no more fixed) depending of the elements presenton the rung (recent NbrLinesUsed in StrRung)(but during edit, always displaying current edit with nbr of lines maxi).

- 'Undo' available during edit...- Stats nbr frames average exchanged per second, for modbus/master (saving start time of thedialog, then (end-start)/nbrframes...)- In the new monitor protocol, get modbus/master slave stats (of the modbus master runningon embedded) => move its display on new futur modbus/mastermonitor window?

- Log of integer variables (with a period time and mini delta value) + graphical display (witha gtk component like gtkdatabox?)- Adding inputs mask filter value in ms unit (for all local physical inputs) in config inputwindow.- For remote alarms, add "UDP client text string" or others things (after existing SMS &emails) ?- Preview/Print, not only "current section" but also "all" possible (new sub-menus).- Svg/Png export, should call draw functions with a new option DRAW_FOR_EXPORT (usedwhen expr not drawed entirely on bottom instead of right margin!)- Review all variables names to be in conformity with IEC61131, especially %Bxxx =>%Mxxx %Wxxx => %MWxxx- a new window variables browser, used for help, listing all them, and to select one directly.- to add a button to display a readme file about the currently loaded ladder file. Thensomeone couldwrite a description of a ladder program in a text editor and name it 'my_program.clp.txt'

and thebutton would load it (Chris Morley suggestion).

- Mouse wheel for vertical lift usable, from everywhere.- For the library, defining 4 functions pointers for I/O access instead of some duplicated

code?- Modbus/UDP mode support for the server & distributed I/O.- Perhaps bug in project split if empty file(or line?) ?- Search/replace function on a variable, cross-referencing, ... things like that...?- Contextual popup menu when clicking on an element (Heli idea) for search and also spydirectly...- Modifs EMC 2010_08_20 on many things to look at...-> VarFloatArray

- Float variables support (%F, %IF, %QF) + in the evaluator...- Do not allow to set/reset state of (by clicking on) input/outputs/bits "used"... not easy toknow.- Extend the new monitor slave protocol to allow for "hot" rung/sequential modify?- A new script/text language available for a section (lua? basic?)(perhaps review ladder blocks that should also "live" outside this langage? idea: tags thosenot found on ladder,and exec thems!?)

- Multi-languages (internationalization).- Your ideas ( well in fact this list is already long! ;-) ), improvements, bugs reports or fixes(?!?!), etc...Do not hesitate to send me an email ! ;-)

Lampiran 7. Perintah Instalasi Paket Pustaka/Library pada Berbagai Distro

Linux dengan Manajer Paket yang Bervariasi

Sumber:

https://www.linode.com/docs/tools-reference/linux-package-management dan

http://how-to.linuxcareer.com/comparison-of-major-linux-package-management-

systems

1. Distro Linux Debian atau Ubuntu dan Turunannyaapt-get install [package-name]

atauaptitude install [package-name]

2. Distro Linux Fedora atau CentOS dan Turunannyayum install [package-name]

3. Distro Linux Slackware dan Turunannyaslackpkg install [package]

4. Distro Linux ArchLinuxpacman --sync [package]

ataupacman -S [package]

5. Distro Linux Gentoo Linuxemerge [package-name]

Catatan : [package-name] atau [package] adalah nama paket yang ingin

dipasang/diinstal oleh pengguna. Sebagai contoh:aptitude install libgnomeprintui-2.0

, akan tetapi kebanyakan distro linux mengharuskan pengguna menjadi root atau

pengguna khusus sistem agar dapat menambahkan paket ke sistem. Berikut dua

metode yang dapat pengguna lakukan.

1. Mengeksekusi perintah “sudo su” sebelum eksekusi perintah instalasi.

2. Menambahkan perintah “sudo” sebelum perintah instalasi.

Lampiran 8. Istilah-istilah Penting1. HAL (Hardware Abstraction Layer)

Hardware Abstraction Layer (HAL) merupakan salah satu lapisan pada sistem

operasi, seperti: windows dan linux. Lapisan ini memetakan perintah dan tanggapan

perangkat keras generik menjadi perintah dan tanggapan unik platform

tertentu.(http://brainly.co.id/tugas/1298332, diakses tanggal 20 Desember 2014)

2. Distro Linux

Distro linux merupakan sistem operasi linux yang terdistribusi dengan berbagai

macam kelengkapan software sesuai dengan komunitas atau perusahaan atau pihak

pembuatnya, misal: Debian, Ubuntu, dan Slackware. Adapun distro linux turunan

merupakan modifikasi dari distro linux yang sudah ada, misal: ZorinOS, Deepin Linux,

SundaraOS, dan LinuxLite.

3. Kompilasi Software

Kompilasi software adalah konversi dari kode sumber software menjadi software

yang dapat dieksekusi atau dijalankan. Proses ini biasa digunakan untuk pengembangan

software.

4. Graphical User Interface

Graphical User Interface (Bahasa Indonesia: Antarmuka Grafis) merupakan

perantara pengguna untuk berinteraksi dengan sebuah software dalam bentuk tampilan

atau secara grafis.

5. Pustaka/Library

Pustaka atau library dalam sebuah software berlaku sebagai dependensi atau

ketergantungan. Ketergantungan yang dimaksud adalah software bergantung pada

ketersediaan file-file tertentu pada lingkungan sistem. File-file inilah yang dinamakan

pustaka atau library. Pada sistem operasi windows, library biasanya berupa file “.dll”,

sedangkan pada sistem operasi linux, library biasanya berupa file “.so” dan “.a”.

6. FOSS (Free and Open Source Software)

FOSS merupakan software yang bebas dan memiliki kode sumber yang terbuka.

Bebas di sini berarti semua orang bebas memakai dan mendistribusikan, sedangkan kode

sumber terbuka mengindikasikan kebebasan mengembangkan/memodifikasi software

tersebut.

7. GNU FDL (Free Documentation License)

FDL merupakan salah satu lisensi dari yayasan software bebas/free software

foundation. Lisensi yang digunakan untuk dokumen ini, mengijinkan semua orang untuk

menyalin dan mendistribusikan ulang dokumen tersebut, baik tanpa ataupun dengan

modifikasi untuk keperluan komersial ataupun non-komersial. Berikut sebuah kutipan

penting dari lisensi ini.

“The purpose of this License is to make a manual, textbook, or other functional and

useful document "free" in the sense of freedom: to assure everyone the effective freedom

to copy and redistribute it, with or without modifying it, either commercially or

non-commercially.

Secondarily, this License preserves for the author and publisher a way to get credit for

their work, while not being considered responsible for modifications made by others”.

8. LGPL (Lesser General Public License)

Dari http://www.webopedia.com/TERM/L/LGPL.html: Lesser General Public

License digunakan untuk memberi lisensi software bebas, sehingga software tersebut

dapat digabungkan dalam software bebas dan software berbayar. Berbeda dengan GPL

yang dipakai untuk FOSS, lisensi ini meniadakan keharusan membuka kode sumber

software. Penggunaan terbanyak dari lisensi ini adalah sebagai referensi ke GNU LGPL.

LGPL juga disebut GNU libraries dan secara formal disebut sebagai Library/pustaka

GPL.

9. Enhanced Machine Controller / LinuxCNC

Dari http://www.linuxcnc.org/index.php/about:

LinuxCNC merupakan sebuah sistem software untuk kendali komputer terhadap

peralatan-peralatan mesin seperti mesin-mesin milling/penggilingan dan mesin-mesin

bubut.

LinuxCNC merupakan software bebas dengan kode sumber terbuka. Versi terbaru

dari sistem ini berlisensi GPL dan LGPL.

LinuxCNC menyediakan:

- beberapa antarmuka pengguna grafis termasuk satu untuk layar sentuh.

- sebuah interpreter untuk “G-code” (bahasa pemrograman peralatan mesin RS-274)

- sebuah sistem perencanaan gerak yang realtime dengan look-ahead

- operasi elektronik mesin tingkat-rendah, seperti sensor dan kendali motor(motor drives)

- sebuah lapisan “breadboard” yang mudah digunakan untuk secara cepat membuat

- sebuah - pengaturan unik terhadap mesin pengguna

- sebuah software PLC yang dapat diprogram dengan diagram tangga

- pemasangan/instalasi mudah dengan paket-paket “.deb” atau sebuah live-CD

Sistem ini tidak menyediakan fungsi penggambaran (CAD - Computer Aide

Design) atau pembuatan(generation) G-code dari gambar (CAM - Computer Automated

Manufacturing).

10. Boolean

Boolean merupakan sebuah sistem bilangan yang memiliki dua angka, yaitu 1

dan 0. Kedua angka tersebut merepresentasikan dua keadaan yang berbeda, yaitu 1 untuk

true/benar dan 0 untuk false/salah. Sistem bilangan biasa digunakan untuk menyatakan

logika dalam rangkaian elektronik, terutama yang mengandung unsur gerbang logika.

11. Variabel Signed Integer dan Unsigned Interger

Signed integer secara sederhana merupakan variabel yang terdiri dari bilangan

bulat dan termasuk bilangan positif dan negatif. Sementara unsigned integer tidak

termasuk bilangan negatif atau hanya menyediakan bilangan positif. Pada sistem yang

memiliki arsitektur 32-bit, nilai signed integer berkisar dari -2.147.483.647 sampai

2.147.483.647, sedangkan unsigned integer berkisar dari 0 sampai

4.294.967.295.(http://crasseux.com/books/ctutorial/Integer-variables.html)

12. Shell Interpreter

Shell interpreter secara sederhana merupakan software yang menyediakan

antarmuka pengguna dengan sistem pada sistem operasi linux untuk menjalankan

perintah-perintah yang dapat ditanggapi oleh sistem. Bahasa yang digunakan pada

interpreter ini adalah shell.

13. Timer IEC

Merupakan timer yang distandarkan oleh International Electrotechnical

Commission.(http://www.toolingu.com/class-430300-ladder-diagram-timers-and-counter

s-for-siemens-plcs-300.html)

Lampiran 9. Daftar Kompetisi PLC Programming untuk Mahasiswa

1. E-TIME - Lomba PLC (Programmable Logic Control) di PNJ (Politeknik

Negeri Jakarta)

2. Lomba Mahasiswa Tingkat Nasional - Pemrograman Ladder PLC

(Programmable Logic Controller) di ITB (Institut Teknologi Bandung)

3. ARC "Industrial Automation and Robotic Competition" - PLC Programming

di ITS (Institut Teknologi Sepuluh Nopember)

4. Applied Science Festival (Apsifest) - Programmable Logic Control di Telkom

University.

Sumber(diakses tanggal 28 Desember 2014):

http://ft.ugm.ac.id/wp-content/uploads/2014/03/PLC.pdf

http://www.info-lomba.com/2014/04/iarc-industrial-automation-and-robotic.html

http://lombaplc.tf.itb.ac.id/

http://infolombaku.blogspot.com/2009/12/lomba-plc-2010-mahasiswa-tingkat_14.

html

http://www.info-lomba.com/2014/01/applied-science-festival-2014.html

http://harianti.com/e-time-2014-kompetisi-dan-expo-tingkat-nasional-bagi-mahas

iswa-se-indonesia-dari-politeknik-negeri-jakarta/

http://www.fti.itb.ac.id/4148.xhtml