Senin, 30 Januari 2012

Motor Stepper dan Rangkaian Interfacenya (Bagian 2)


Rangkaian kontrol untuk setiap tipe motor stepper mempunyai kemiripan yaitu dalam hal aktivasinya. Namun yang paling membedakan adalah dalam hal urutan pemberian data aktivasi setiap lilitan pada motor stepper.

Motor stepper merupakan motor listrik yang tidak mempunyai komutator, di mana semua lilitannya merupakan bagian dari stator. Dan pada rotornya hanya merupakan magnet permanen. Semua komutasi setiap lilitan harus di kontrol secara eksternal sehingga motor stepper ini dapat dikontrol sehingga dapat berhenti pada posisi yang diinginkan atau bahkan berputar ke arah yang berlawanan.

Pada bagaian ini akan dibahas mengenai bagaian terakhir dari rangkaian penggerak motor stepper. Rangkaian ini pada dasarnya hanya merupakan rangkaian switching arus yang mengaliri lilitan pada motor stepper. Urutan pemberian data pada motor stepper ini dapat mengontrol arah putaran dari motor stepper ini. Penambahan kecepatan pada motor stepper dapat dilakukan dengan cara meningkatkan frekuensi pemberian data pada rangkaian switching arus.

Rangkaian kontrol ini nantinya terhubung langsung dengan lilitan pada motor, rangkaian power supplai, dan rangkaian yang dikontrol secara digital yang pada akhirnya menentukan kapan lilitan yang diinginkan dalam kondisi off atau on. Selain hanya menggunakan transistor switching ar, saat ini sudah tersedia driver motor yang memang diperuntukkan bagi motor stepper, yang lebih dikenal dengan H-Bridge. Komponen ini biasanya digunakan pada motor stepper tipe bipolar, walaupun demikian tidak menutup kemungkinan digunakan pada motor stepper tipe yang lain.


Rangkaian Driver Variabel Reluctance Motor

terdapat sebuah 3 blok dimana masing-masing mengatur sebuah kumparan motor stepper. Blok tersebut terdiri dari saklar arus yang dikontrol secara digital. Blok ini berperan penting di dalam pengontrolan arus yang akan melewati kumparan motor tertentu. Pengontrollan blok ini dapat dilakukan oleh sebuah rangkaian digital sederhana atau bahkan sebuah komputer melalui printer port. Dengan menggunakan komputer maka diperlukan perangkat lunak yang nantinya akan mengatur pemberian data dengan suatu urut-urutan tertentu kepada komponen saklar di dalam blok.

Kumparan pada motor stepper mempunyai karakteristik yang sama dengan karakteristik beban induktif lainnya. Oleh sebab itu ketika terdapat arus yang melalui kumparan motor, tidak dapat dimatikan dengan seketika tanpa menghasilkan tegangan transien yang sangat tinggi. Kondisi ini biasanya nampak dengan timbulnya percikan bunga api (ketika menggunakan motor DC dengan daya yang besar). Hal ini sangat tidak diinginkan karena dapat merusak saklar sehingga perlu diberikan rangkaian tambahan untuk membatasi tegangan transien yang muncul. Sebaliknya ketika saklar tertutup maka terdapat arus yang mengalir ke kumparan motor dan akan menghasilkan kenaikan tegangan secara perlahan.

Untuk membatasi tegangan spike yang muncul maka ada dua alternatif penyelesaiannya yaitu dengan memparalel pada kumparan motor dengan dioda dan alternatif yang kedua adalah dengan menggunakan kapasitor yang dipasang paralel dengan kumparan motor stepper.

Diode yang yang terpasang paralel tersebut harus mampu melewatkan arus balik yang terjadi ketika saklar terbuka. Dioda yang digunakan dapat berupa dioda yang umum dipakai seperti 1N4001 atau 1N4002. Jika digunakan dioda yang mempunyai karakteristik ‘fast switch’ maka perlu diberikan penambahan kapasitor yang dipasang secara paralel pada dioda.

Pemasangan kapasitor paralel dengan kumparan motor dapat menyebabkan spike yang ditimbulkan akan menyebabkan kapasitor tersebut charge sehingga tegangan spike yang terjadi tidak akan keluar tetapi diredam oleh kapasitor ini. Tetapi yang paling penting adalah kapasitor ini harus mampu menahan surge current pada saat terjadi spike. Surge current adalah arus tiba-tiba yang sangat besar yang muncul bersamaan dengan tegangan spike. Nilai kapasitor harus dipilih pada kondisi dimana nilai induktansi dari kumparan motor stepper paling besar. Inilah karakteristik motor stepper dengan tipe variabel reluctance dimana nilai induktansinya berubah-ubah tergantung dari sudut putaran pada poros rotor. Penambahan kapasitor sehingga tepat akan membentuk sebuah rangkaian resonansi yang dapat menyebabkan peningkatan torsi pada motor dengan tipe ini.

Rangkaian Driver Unipolar Permanent Magnet and Hybrid Motor

Diode yang yang terpasang paralel tersebut harus mampu melewatkan arus balik yang terjadi ketika saklar terbuka. Dioda yang digunakan dapat berupa dioda yang umum dipakai seperti 1N4001 atau 1N4002. Jika digunakan dioda yang mempunyai karakteristik ‘fast switch’ maka perlu diberikan penambahan kapasitor yang dipasang secara paralel pada dioda.

Pemasangan kapasitor paralel dengan kumparan motor dapat menyebabkan spike yang ditimbulkan akan menyebabkan kapasitor tersebut charge sehingga tegangan spike yang terjadi tidak akan keluar tetapi diredam oleh kapasitor ini. Tetapi yang paling penting adalah kapasitor ini harus mampu menahan surge current pada saat terjadi spike. Surge current adalah arus tiba-tiba yang sangat besar yang muncul bersamaan dengan tegangan spike. Nilai kapasitor harus dipilih pada kondisi dimana nilai induktansi dari kumparan motor stepper paling besar. Inilah karakteristik motor stepper dengan tipe variabel reluctance dimana nilai induktansinya berubah-ubah tergantung dari sudut putaran pada poros rotor. Penambahan kapasitor sehingga tepat akan membentuk sebuah rangkaian resonansi yang dapat menyebabkan peningkatan torsi pada motor dengan tipe ini.

Rangkaian Driver Unipolar Permanent Magnet and Hybrid Motor

Rangkaian kontrol untuk mengendalikan motor stepper dengan tipe unipolar ini hampira sama dengan rangkaian kontrol pada motor tipe variabel reluctance. Perbedaanya hanya pada struktur kumparan motornya saja.

Walaupun demikian karena bebanya merupakan beban induktif maka selalu ada tegangan spike yang muncul ketika saklar terbuka. Oleh sebab itu perlu penambahan dioda yang terpasang paralel dengan kumparan motor stepper seperti terlihat pada gambar 4.

Dua buah dioda tambahan diperlukan karena kumparan motor bukanlah kumparan yang independen tetapi sebuah kumparan yang mempunyai tap di tengah-tengah kumparan seperti struktur pada autotransformer. Ketika salah satu saklar dibuka maka tegangan spike muncul di kedua ujung kumparan motor tersebut dan di clamp oleh dua buah dioda ke supplay motor. Tetapi jika salah satu ujung kumparan motor tersebut tidak floating terhadap supplai motor maka tegangan spike ini akan lebih negatif daripada referensi ground. Jika saklar yang digunakan berupa relay, kondisi ini bukan menjadi masalah. Kondisi ini baru menjadi masalah ketika saklar yang digunakan adalah saklar semikonduktor seperti transistor atau FET.

Untuk membatasi level tegangan spike dapat pula digunakan kapasitor yang terpasang


Rangkaian Praktis Pengendali Motor Stepper

Jika rangkaian kontrol yang mengendalikan rangakaian motor driver ini berupa mikrokontroller atau komponen digital maka ada baiknya agar setiap port yang mengontrol rangkaian driver motor stepper ini diberi buffer terlebih dahulu agar tidak membebani port mikrokontroller yang digunakan. Seperti pada gambar 3, pin control_0, control_1, control_2 dan control_3 ini dapat dikontrol secara digital dengan menggunakan mikrokontroller dengan memberi komponen yang berfungsi sebagai buffer

Ada dua alternatif yaitu dengan menggunakan buffer terlebuh dahulu atau menggunakan FET, yang mempunyai impedansi input yang sangat tinggi, sebagai komponen saklarnya. Tegangan Vmotor tidaklah harus selalu sama dengan tegangan VCC pada mikrokontroller. Oleh sebab itu digunakan sebuah komponen buffer yang mempunyai output open collector sehingga outputnya dapat di pull-up ke tegangan yang diinginkan.

Untuk dasar pemilihan transistornya adalah pada karakteristik IC (arus kolektor). Transistor ini harus merupakan transistor power yang mampu melewatkan arus sesuai dengan arus yang diperlukan oleh kumparan motor stepper ini. Jika arus yang ditarik oleh kumparan motor stepper ternyata lebih besar daripada kemampuan transistor maka transistor akan cepat panas dan dapat menyebabkan rusaknya transistor tersebut.

R pull-up sebesar 470 akan memberikan arus sebesar 10 mA ke basis transistor Q1. Jika Q1 mempunyai gain sebesar 1000 maka arus yang dapat diliewatkan adalah sekitar beberapa ampere, tergantung dari besar arus yang ditarik oleh kumparan motor stepper tersebut. Arus ini harus lebih kecil dari arus IC yang diperbolehkan.

Untuk komponen FET dapat digunakan komponen IRL540 yang dapat mengalirkan arus sampai 20 A dan mampu menahan tegangan balik sampai 100V. Hal ini disebabkan oleh karena FET ini mampu menyerap tegangan spike tanpa perlindungan dioda. Tetapi komponen ini memerlukan heat sink yang besar dan harus cukup baik dalam hal penyerapan panasnya. Ada baiknya jika digunakan kapasitor untuk menekan level tegangan spike yang ditimbulkan dari transisi saklar dari on ke off

Motor Stepper dan Rangkaian Interfacenya (Bagian 1)

Stepper motor bukanlah barang baru di dalam dunia komputer. Bahkan hampir sebagian besar disk drive atau CDROM menggunakan stepper motor untuk memutar disk. Penggunaannya juga cukup sederhana dan mudah digunakan untuk aplikasi-aplikasi tertentu yang tidak terlalu membutuhkan torsi yang besar.

Motor stepper banyak digunakan untuk aplikasi-aplikasi yang biasanya cukup menggunakan torsi yang kecil, seperti untuk penggerak piringan disket atau piringan CD. Dalam hal kecepatan, kecepatan motor stepper cukup cepat jika dibandingkan dengan motor DC. Motor stepper merupakan motor DC yang tidak memiliki komutator. Pada umumnya motor stepper hanya mempunyai kumparan pada statornya sedangkan pada bagian rotornya merupakan permanen magnet. Dengan model motor seperti ini maka motor stepper dapat diatur posisinya pada posisi tertentu dan/atau berputar ke arah yang diinginkan, csearah jarum jam atau sebaliknya.

Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan semakin cepat pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat diatur dalam daerah frekuensi audio dan akan menghasilkan putaran yang cukup cepat.

Tipe Motor Stepper

Motor stepper dibedakan menjadi dua macam berdasarkan magnet yang digunakan, yaitu tipe permanen magnet dan variabel reluktansi. Pada umumnya motor stepper saat ini yang digunakan adalah motor stepper yang mempunyai variabel relukatansi. Cara yang paling mudah untuk membedakan antara tip motor stepper di atas adalah dengan cara memutar rotor dengan tangan ketika tidak dihubungkan ke suplai.

Pada motor stepper yang mempunyai permanen magnet maka ketika diputar dengan tangan akan terasa lebih tersendat karena adanya gaya yang ditimbulkan oleh permanen magnet. Tetapi ketika menggunakan motor dengan variabel reluktansi maka ketika diputar akan lebih halus karena sisa reluktansinya cukup kecil.

Variabel Reluktansi Motor

Pada motor stepper yang mempunyai variabel reluktansi maka terdapat 3 buah lilitan yang pada ujungnya dijadikan satu pada sebuah pin common. Untuk dapat menggerakkan motor ini maka aktivasi tiap-tiap lilitan harus sesuai urutannya.

Gambar 1 merupakan gambar struktur dari motor dengan variabel reluktansi dimana tiap stepnya adalah 30°. Mempunyai 4 buah kutub pada rotor dan 6 buah kutub pada statornya yang terletak saling berseberangan.

Jika lilitan 1 dilewati oleh arus, lilitan 2 mati dan lilitan 3 juga mati maka kumparan 1 akan menghasilkan gaya tolakan kepada rotor dan rotor akan berputar sejauh 30° searah jarum jam sehingga kutub rotor dengan label Y sejajar dengan kutub dengan label 2.

Jika kondisi seperti ini berulang terus menerus secara berurutan, lilitan 2 dilewati arus kemudian lilitan 3 maka motor akan berputar secara terus menerus. Maka agar dapat berputar sebanyak 21 step maka perlu diberikan data dengan urutan seperti pada gambar 2.

Unipolar Motor Stepper

Motor stepper dengan tipe unipolar adalah motor stepper yang mempunyai 2 buah lilitan yang masing-masing lilitan ditengah-tengahnya diberikan sebuah tap seperti tampak pada gambar 3.

Motor ini mempunyai step tiap 30° dan mempunyai dua buah liliatan yang didistribusikan berseberangan 180° di antara kutub pada stator. Sedangkan pada rotonya menggunakan magnet permanen yang berbentuk silinder dengan mempunyai 6 buah kutub, 3 kutub selatan dan 3 buah kutub utara. Sehingga dengan konstrusi seperti ini maka jika dibutuhkan ke presisian dari motor stepper yang lebih tinggi dibutuhkan pula kutub-kutub pada stator dan rotor yang semakin banyak pula. Pada gambar 3, motor tersebut akan bergerak setiap step sebesar 30° dengan 4 bit urutan data (terdapat dua buah lilitan dengan tap, total lilitan menjadi 4 lilitan).

Ketelitian dari magnet permanen di rotor dapat sampai 1.8° untuk tiap stepnya. Ketika arus mengalir melalui tap tengah pada lilitan pertama akan menyebabkan kutub pada stator bagian atas menjadi kutub utara sedangkan kutub stator pada bagian bawah menjadi kutub selatan. Kondisi akan menyebabkan rotor mendapat gaya tarik menuju kutub-kutub ini. Dan ketika arus yang melalui lilitan 1 dihentikan dan lilitan 2 diberi arus maka rotor akan mengerak lagi menuju kutub-kutub ini. Sampai di sini rotor sudah berputar sampai 30° atau 1 step.

Untuk meningkatkan torsi yang tidak terlalu besar maka dapat digunakan urutan pemberian data seperti pada gambar 5. Dimana terdapat dua buah lilitan yang di beri arus pada suatu waktu. Dengan pemberian urutan data seperti ini akan menghasilkan torsi yang lebih besar dan tentunya membutuhkan daya yang lebih besar.

Dengan urutan data baik pada gambar 4 atau gambar 5 akan menyebabkan motor berputar sebanyak 24 step atau 4 putaran.

Bipolar Motor Stepper

Motor dengan tipe bipolar ini mempunyai konstruksi yang hampir sama dengan motor stepper tipe unipolar namun tidak terdapat tap pada lilitannya, seperti tampak pada gambar 6.

Penggunaan motor dengan tipe bipolar ini membutuhkan rangkaian yang sedikit lebih rumit untuk mengatur agar motor ini dapat berputar dalam dua arah. Biasanya untuk menggerakkan motor stepper jenis ini membutuhkan sebuah driver motor yang sering dikenal sebagai H Bridge. Rangkaian ini akan menontrol tiap-tiap lilitan secara independen termasuk dengan polaritasnya untuk tiap-tiap lilitan.

Untuk mengontrol agar motor ini dapat berputar satu step maka perlu diberikan arus untuk tiap-tiap lilitan dengan polaritas tertentu pula. Urutan datanya dapat dilihat pada gambar 7.

Paradigma Pemrograman


Paradigma adalah sudut pandang tertentu yang digunakan terhadap suatu problem, realitas, keadaan dan sebagainya. Paradigma membatasi dan mengkondisikan jalan berpikir seseorang, mengarahkannya terhadap beberapa atribut dan mengabaikan atribut lain, sehingga paradigma hanya memberikan pandangan yang terbatas terhadap sebuah realitas.

Dalam pemrograman dikenal beberapa paradigma, yaitu:

1. Paradigma Pemrograman Prosedural atau Imperatif

Paradigma ini didasari oleh konsep mesin Von Newman (stored program concept) sekelompok tempat penyimpanan (memori), yang dibedakan menjadi memori instruksi dan memori data, masing-masing memori tersebut dapat diberi nama dan nilai, selanjutnya instruksi akan dieksekusi satu persatu secara sekuensial oleh sebuah proses tunggal.

Program dalam paradigma ini berdasarkan pada struktur informasi di dalam memori dan manipulasi dari informasi yang disimpan tersebut. Kata kunci yang sering digunakan dalam paradigma ini adalah:

Algoritma + Struktur Data = Program

Kelebihan dari paradigma ini adalah efisiensi eksekusi karena lebih dekat dengan konsep mesin, kekurangannya adalah batasan yang sangat mengikat sehingga terkadang menyulitkan programmer yang tidak terbiasa.

Contoh bahasa pemrogaman yang menggunakan paradigma prosedural atau imperatif adalah: Algol, Pascal, Fortran, Basic, Cobol, C, dsb…

2. Paradigma Pemrograman Fungsional

Paradigma ini didasari oleh konsep pemetaan dan fungsi pada matematika, fungsi dapat berupa fungsi ”primitif”, atau komposisi dari fungsi-fungsi lain yang telah terdefinisi. Dalam paradigma ini, diasumsikan bahwa akan selalu ada fungsi-fungsi dasar yang dapat digunakan, sehingga penyelesaian masalah berdasarkan pada fungsi-fungsi yang telah tersedia tersebut. Jadi dasar pemecahan masalah adalah transformasional, semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai keadaan akhir, yang mungkin melalui keadaan antara, melalui aplikasi fungsi.

Paradigma fungsional tidak mempermasalahkan memorisasi dan struktur data, tidak ada pemilahan antara data dan program, tidak ada lagi pengertian tentang ”variabel”. Programmer tidak perlu tahu bagaimana mesin mengeksekusi atau bagaimana informasi disimpan dalam memori, setiap fungsi seperti ”kotak hitam”, yang perlu diperhatikan hanya keadaan awal dan akhir, sebuah program besar dihasilkan dengan menggabungkan fungsi-fungsi yang telah tersedia. Program yang dihasilkan dengan bahasa pemrograman yang menggunakan paradigma ini biasanya membutuhkan waktu pemrosesan yang lebih lama dibandingkan dengan yang menggunakan paradigma prosedural karena dibutuhkan waktu lebih untuk memproses fungsi-fungsi yang digunakan dalam membuat program.

Contoh bahasa pemrograman yang menggunakan paradigma fungsional adalah LOGO, APL dan LISP.

3. Paradigma Pemrograman Deklaratif, Predikatif atau Lojik

Paradigma ini didasari atas pendefinisian relasi antar individu yang dinyatakan sebagai predikat. Sebuah program lojik adalah kumpulan aksioma (Fakta dan aturan deduksi.

Dalam paradigma ini, programmer menguraikan sekumpulan fakta dan aturan-aturan (inference rules). Ketika program dieksekusi, pemakai akan mengajukan pertanyaan, selanjutnya program akan menggunakan aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan.

Contoh bahasa pemrograman yang menggunakan paradigma ini adalah: Prolog.

4. Paradigma Berorientasi Object (Object Oriented)

Paradigma ini menggunakan konsep class dan object, object adalah instansiasi dari class, setiap object akan mempunyai attribute dan method, masing-masing object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.

mempunyai hirarki artinya sebuah class dapat diturunkan menjadi sebuah class baru yang juga memiliki attribut dan method class diatasnya. Dengan begitu dalam paradigma ini dikenal konsep modularitas, penggunaan kembali (reuse) serta kemudahan modifikasi.

Contoh bahasa pemrograman yang menggunakan paradigma ini adalah: Smalltalk, Eifel, Delphi, Java.

5. Paradigma Konkuren

Paradigma ini didasari oleah kenyataan bahwa dalam keadaan nyata, sebuah sistem komputer harus menangani beberapa program (task) yang harus dieksekusi secara bersamaan dalam sebuah lingkungan baik mono ataupun multi processor. Dalam paradigma ini programmer tidak lagi berpikir sekuensial, melainkan harus menangani komunikasi dan sikronisasi antar task.

Masing-masing paradigma tersebut mempunyai strategi analisa yang khusus untuk memecahkan persoalan. Setiap paradigma mempunyai kekurangan dan kelebihan sehingga tidak semua persoalan dapat dipecahkan dengan satu jenis paradigma, sehingga diperlukan analisis secara menyeluruh terhadap persoalan yang akan diselesaikan sebelum menentukan paradigma pemrograman seperti apa yang akan digunakan untuk menyelesaikan persoalan tersebut.

Komponen PLC,

Komponen PLC, PLC

Selain komponen dasar yang telah dibahas pada topik sebelumnya, PLC juga memiliki komponen tambahan yang dapat membuat fungsi maupun kinerjanya menjadi semakin optimal. Hal tersebut karena sebuah PLC tersusun dari ratusan bahkan ribuan relay, counter, timer dan juga memori.


Berikut komponen-komponen tambahan pada PLC:

1. Input relay atau kontaktor

Komponen ini dihubungkan ke dunia luar (antarmuka) PLC, dan secara fisik komponen ini ada serta menerima sinyal dari source, sensor dan lain sebagainya.

2. Internal, utility relay

Internal Relay tidak dapat diakses secara langsung untuk digunakan sebagai input maupun output. Komponen ini merupakan relay semu yang merupakan bit digital (0/1) yang disimpan pada internal image register. Dilihat dari sudut pandang pemrograman, semua internal relay mempunyai satu coil dan mempunyai sebanyak contact sesuai yang diinginkan oleh programer. Semua Iternal relay dimiliki oleh semua jenis maupun merk PLC, namun cara penomeran dan jumlah maksimum yang diperbolehkan masing-masing berbeda. Bagi kebanyakan programer, Internal Relay memberikan kebebasan untuk melaksanakan operasi internal yang lebih rumit tanpa memerlukan penggunaan biaya mahal untuk beberapa output relay. Dalam contoh pemrograman Internal Relay dapat disimbolkan dengan IR.

3. Counters

Counter sama dengan input relay yang secara fisik tidak ada. Komponen ini merupakan simulasi counter dan dapat diprogram untuk menghitung banyak pulsa, dapat menghitung naik atau turun atau keduanya naik dan turun. Selama waktu simulasi dapat dibatasi kecepatan hitungnya. Beberapa perusahaan membuat counter berkecepatan tinggi dengan bantuan tambahan hardware.

4. Timers

Timer juga merupakan komponen maya yang secara fisik tidak dapat ditemui. Komponen ini dibuat dengan banyak ragam dan yang paling umum adalah tipe tunda saat ON (on delay) dan tunda saat OFF (off delay) dan dua tipe yang dapat menyimpan data atau tidak dapat menyimpan data (retentive dan nen-retentive type), variasi jenaikan 1 ms sampai dengan 1s.

5. Output relays (Kumparan)

Output relay merupakan komponen tambahan yang dihubungkan dengan dunia luar, memiliki bentuk fisik dan melaksanakan tugas mengirimkan sinyal ON/OFF ke solenoid, lampu dan komponen keluaran lain. Wujud dari output relay ini dapat berupa transistor, relay atau triac tergantung pada model yang dipilih pengguna.

6. Data storage

Data storage merupakan suatu register untuk menyederhanakan penyimpanan. Biasanya difungsikan sebagai alat penyimpanan data.

PLC SIMULATOR


PLC SIMULATOR V1.0

Program simulator sederhana PLC Omron seri CPM atau Sysmac. Nama program tersebut adalah PLC Simulator versi 1.0 karya Tang Tung Yan, sebagaimana ditunjukkan pada gambar V.27 dan dengan spesifikasi:
• Model PLC yang didukung: seri CPM;
• Hanya menerima masukan kode-kode tangga atau mnemonik saja
• Kode-kode tangga yang didukung: LD, NOT, AND, OR, BLK, TIM, CNT, DIFU dan SIFT;
• Jangkauan masukan: 00 hingga 15 (16 masukan);
• Jangkauan keluaran: 1000 hingga 1015 (16 keluaran);
• Jumlah dan Jangkauan timer 00 hingga 07 (0,1 detik hingga 60 menit);
• Jumlah dan Jangkauan pencacah: 00 hingga 07 (0 hingga 9999);
• Relai internal: 0000 hingga 2000
Perangkat lunak PLC Simulator ini memiliki kelemahan tidak adanya pembuatan atau penyurtingan diagram tangga sebagaimana dijumpai paca Syswin. Dengan demikian, jika kita ingin melakukan simulasi dari diagram tangga yang dibuat menggunakan Software Syswin, maka harus kita lihat kode mnemonik-nya (statement list) dengan cara memilih jaringan atau blok yang terkait dan menekan Ctrl+F8, sehingga akan ditampilkan jendela seperti ditunjukkan pada gambar V.27.

Jangan lupa juga mengakhiri programnya dengan perintah END. PLC Simulator v1.0 ini akan digunakan dalam pembahasan contoh-contoh aplikasi, berkas simulator juga disediakan dalam CDROM sehingga Anda tidak perlu mengetikkan lagi. PLC Simulator ini mendukung beberapa kode tangga seperti: LD, OR, AND,
CNT, TIM, BLK, DIFU dan SIFT, dengan demikian kombinasi kode tangga yang dimungkinkan antara lain:
• LD, LD NOT;
• LD TIM, LD NOT TIM;
• LD CNT, LD NOT CNT;
• OR, OR BLK, OR TIM, OR CNT;
• OR NOT, OR NOT BLK, OR NOT TIM, OR NOT CNT;
• AND, AND BLK, AND TIM, AND CNT;
• AND NOT, AND BLK, AND NOT TIM, AND NOT CNT;
• OUT, OUT NOT, DIFU dan SFT;
Beberapa perintah, seperti DIFD, sama sekali tidak dikenal, sehingga beberapa aplikasi yang dibahas harus dilakukan modifikasi agar dapat dijalankan dengan PLC Simulator ini. Selain itu perintah BLK hanya khusus pada PLC Simulator, digunakan untuk antisipasi blok yang menggunakan bit TR (lihat kembali pembahasan
pada pasal 111.1.8). Perintah SIFT perilakunya agak berbeda dengan SIFT pada PLC yang sesungguhnya (akan dibahas lebih lanjut pada Bab VII). Berikut ini keterangan singkat tentang DIFU dan SIFT pada perangkat lunak PLC Simulator: DIFU digunakan jika diinginkan bentuk pulsa (ON hanya sesaat), misalnya:
LD 00000
OUT 01000
Pada potongan program tersebut, jika masukan 000.00 diaktifkan, maka keluaran 010.00 akan diaktifkan selama masukan 000.00 aktif. Bandingkan dengan potongan program berikut:
LD 00000 DIFU 01000


Potongan program kedua ini memiliki perilaku berbeda, jika masukan 000.00 diaktifkan, maka keluaran 010.00 akan aktif untuk satu waktu scan saja, kemudian setelah itu akan non-aktif (OFF) walaupun masukan 000.00 tetap aktif.
Perintah SFT digunakan untuk melakukan penggeseran logika. SFT membutuhkan tiga masukan: masukan data logika, sinyal detak dan reset, perhatikan contoh berikut:
LD 00000 ; masukan sinyal detak DIFU 2000
LD 00001 ; masukan data logik fungsi SFT LD 02000
LD 00002 ; masukan RESET
SFT 01008 01005 ; geser dari 01008 hingga 01005
Catatan: pemrogram bertanggung-jawab untuk memastikan bahwa sinyal detak hanya mengandung satu pulsa saja. Jika masukannya berupa ON kontinyu, maka proses penggeseran akan berlangsung terus menerus. Berbeda dengan PLC Sysmac yang hanya tepicu saat transisi OFF ke ON saja, selama ON tidak dilakukan penggeseran bit.
Saat proses penggeseran terjadi, maka logika pada 010.00 akan digeser ke 010.01, sedangkan yang ada di 010.01 akan digeser ke 010.02, demikian seterusnya. Program tersebut akan melakukan penggeseran bit dari kid ke kanan, jika diinginkan sebaliknya tuliskan kebalikannya, misalnya SFT 01005 01000. Aplikasi PLC CPM1A/CPM2A (Sysmac) Dasar.
Berikut ini akan diberikan contoh-contoh aplikasi PLC Omron seri CPM1 A atau CPM2A dasar berikut dengan pembahasannya. Aplikasi dasar yang dimaksudhkan disini adalah aplikasi-aplikasi contoh penggunaan beberapa fungsi yang dimiliki PLC CPM1 atau CPM2.
Sedangkan aplikasi nyata-nya akan dibahas pada pasal VI1.2. Diagram tangga atau aplikasi-aplikasi yang akan dibahas berikut ini sudah diuji-coba menggunakan seri CPM2A dan PLC Simulator v1.0.
ON OFF Dua Tombol atau Saklar (Interlock)

DESKRIPSI APLIKASI
PLC Omron akan digunakan untuk membuat sebuah aplikasi sangat scderhana, yaitu menghidupkan dan mematikan suatu alat dengan dua tombol, satu tombol picuan untuk START dan satu lagi untuk STOP. Rangkaian ini juga mengandung sifat interlockatau penguncian internal.

DIAGRAM TANGGA
Berkas: onoff . swp
KETERANGAN DIAGRAM TANGGA
Keluaran harus tetap ON hanya dengan sekali picuan dari tombol START (000.00), sehingga harus ada cara menyimpan status ON tersebut, yaitu dengan meng- OR-kan dengan status keluaran 010.00 itu sendiri (baris-1 dan 2), kemudiar. di-AND NOT-kan dengan tombol STOP, agar saat tombol STOP ON (walau hanya sesaat), akan memutuskan status keluaran maupun tombol START (baris-3 dan 4).
Untuk simulasinya digunakan berkas onoff .plc, buka dengan PLC Simulator versi 1.0, sebagaimana ditunjukkan pada gambar VI1.2. Lakukan percobaan dengan mengklik masukan 000.00 (START) kemudian amati keluaran (010.00) dan klik pada masukan 000.01 (STOP) dan amati keluarannya (010.00).
Penundaan ON Keluaran (ON Delay) DESKRIPSI


APLIKASI
PLC Omron akan digunakan untuk membuat sebuah aplikasi sangat sederhana lainnya, yaitu menghidupkan suatu alat setelah 5 detik tombol START ditekan dan akan menahan status keluaran tetap ON selama tombol START juga ON.
Untuk lebih jelasnya silahkan download PLC Simulatornya disini
Atau bila anda ingin simulasi ladder diagram dan contoh kasus, download disini
Semua file dalam bentuk WinRar, apabila dikomputer anda belum terinstall aplikasi WinRar silahkan download aplikasi WinRar disini
Selamat Mencoba......

Kekurangan PLC


Menyambung pada artikel sebelumnya, PLC tak hanya memiliki kelebihan. Sebagai hasil ciptaan manusia, tentunya PLC masih mempunyai kelemahan yang pada setiap generasinya dilakukan koreksi dan penyempurnaan. PLC pada perannya sebagai sistem kendali memiliki kelemahan yang cukup mendasar dan masih terus ditekan agar dapat diperoleh hasil yang mendekati kesempurnaan dan harapan yang ada, baik oleh vendor maupun oleh pengguna tentunya. Adapun kelemahan yang terdapat pada PLC dapat dijelaskan sebagai berikut:

1. Teknologi Masih Baru

Pengubahan sistem lama yang mempergunakan relay ke dalam konsep komputer PLC masih dianggap baru bagi sebagian orang. Tentunya hal ini menjadikan suatu tantangan besar bagi vendor PLC untuk meningkatkan pengenalan PLC ke dalam masyarakat umum maupun masyarakat teknologi (khususnya). Sementara ini, PLC banyak digunakan pada level industri saja, belum banyak merambah dunia yang lebih luas yaitu masyarakat. Meskipun tak terlalu mempengaruhi pasar industri, dengan mengenal sistem PLC orang akan dapat memiliki ketertarikan tersendiri untuk mengasah ilmu khususnya dalam bidang kendali dengan PLC dan membuat implementasinya dalam kehidupan sehari-hari.

2. Aplikasi Program PLC Buruk untuk Aplikasi Statis (Tetap)

Aplikasi-aplikasi PLC dapat mencakup beberapa fungsi sekaligus. Di lain sisi, beberapa aplikasi merupakan aplikasu dengan satu fungsi. Jarang sekali dilakukan perubahan bahkan tidak sama sekali atau statis. Hal tersebut membuat penggunaan PLC pada aplikasi dengan satu fungsi dinilai tidak efektif bahkan dapat menghabiskan biaya yang besar alias boros. Oleh sebab itu, penggunaan PLC pada aplikasi kecil tidak direkomendasikan oleh para ahli sistem kendali.

3. Operasi dengan Ragkaian yang Statis (Tetap)

Kinerja PLC menjadi tidak optimal dan efektif bahkan memboroskan biaya jika rangkaian pada sebuah operasi tidak dilakukan perubahan secara menyeluruh. Proses justru akan menjadi lambat dan membuat sistem terganggu, mempengaruhi pada hasil produksi dan keluaran.

4. PLC Rentan terhadap Perubahan Suhu dan Keadaan Lingkungan

Menjadikan sebuah pertimbangan ketika suatu perangkat yang akan dipergunakan memiliki kelemahan yang cukup mengkhawatirkan. Dalam suatu kalang proses industri, lingkungan akan memiliki perubahan suhu dan keadaan yang tidak dapat diduga, seringkali pemanasan yang sangat luar biasa terjadi, vibrasi yang berhubungan langsung dengan alat-alat elektronik di dalam PLC dan keadaan lingkungan maupun lapangan yang tidak dapat dipungkiri dapat menyebabkan debu yang mengotori perangkat PLC. Apabila hal-hal tersebut terjadi secara terus menerus, kinerja pada sistem PLC akan terganggu dan tidak dapat berjalan secara maksimal. Hal-hal tersebut banyak terjadi khususnya pada PLC generasi lama. Untuk PLC generasi baru kekeurangan ini mulai dapat dikendalikan dan dikurangi secara perlahan oleh vendor.

Kelebihan PLC

Penggunaan PLC di dalam kehidupan sehari-hari dan dalam industri sudah menjadi suatu kebutuhan, terutama untuk menggantikan sistem pengkabelan (wiring) yang masih dipergunakan pada sistem sebelumnya. Para pengguna mulai mengalihkan perhatian kepada PLC karena banyak kelebihan maupun keuntujngan yang ditawarkan oleh sistem yang dapat diprogram kembali ini. Adapun kelebihan maupun keuntungan tersebut antara lain:

1. Fleksibel

Dahulu, penggunaan perangkat sistem kendali membutuhkan banyak sistem pengolahan untuk masing-masing perangkat saja. Misalnya jika terdapat lima mesin maka dibutuhkan lima pengendali. Hal tersebut kini teratasi dengan menggunakan PLC. Cukup menggunakan sebuah PLC saja, banyak perangkat yang dapat dijalankan dengan programnya masing-masing. Sistem pengkabelan mulai dibenahi dan direduksi, semakin sedikit kabel yang digunakan dan ringkat/ sederhana. Tak perlu banyak ruang untuk menempatkannya.

2. Harganya Lebih Murah

Jika kita melihat kembali kepada sisi fleksibilitasnya tentunya sudah menjadi jawaban, dimana harga yang dikeluarkan jauh lebih sedikit (murah) jika dibandingkan dengan menggunakan sistem sebelumnya. Ketika sistem lama (relay) masih banyak menggunakan pengkabelan yang memakan banyak biaya, PLC menawarkan pengkabelan yang sederhana. Pengkabelan dapat dilakukan dengan jumlah yang banyak hanya dengan sebuah PLC, karena PLC mencakup relay, timer, counter, sequencer, dan beberapa fungsi yang dapat disesuaikan sesuai dengan kebutuhan.

3. Jumlah Kontak yang Banyak

Banyaknya kontak yang dimiliki sebuah PLC memberikan banyak kemudahan kepada pengguna. Tidak hanya dari segi finansial, tetapi juga sisi instalasi. Akan jauh lebih sederhana dan mudah jika dibandingkan dengan relay. Misalnya saja pada PLC-5, sebuah PLC keluaran Allen Bradley dengan jumlah kontak minimal 16-32 kontak, sementara itu relay menyediakan kontak sejumlah 4-8 kontak.

4. Dapat Melakukan Pemrograman, Pemrograman Ulang dan Koreksi dengan Mudah

PLC memiliki kelebihan dimana sistemnya dapat diprogram ulang secara cepat, proses produksi yang bercampurpun dapat diselesaikan dengan cepat. Bahkan ketika sistem sedang dijalankan. Bila salah satu sistem akan diubah atau dikoreksi, pengubahannya hanya dilakukan pada program yang terdapat di komputer, dengan waktu yang relatif singkat, setelah itu baru didownload ke PLC. Jika dengan relay, diperlukan pengubahan pada pengkabelannya, waktunya akan sangat lama dan beresiko tinggi sehingga harus mematikan sistem yang sedang berjalan.

5. Metode Pemrograman Mudah dan Bermacam-macam

Banyak metode untuk membuat suatu program pada PLC. Seperti pada penjelasan pemrograman pada PLC, disebutkan bahwa terdapat banyak metode yang ditawarkan untuk membuat suatu program pada PLC, di antaranya Ladder Logic Diagram, Mneumonic dan Function Block Diagram. Setiap programer dapat memiih metode sesuai dengan kebutuhan dan kemampuan.

6. Menyederhanakan Komponen-Komponen Sistem Kendali

Dalam PLC juga terdapat timer, counter, relay dan komponen lainnya, sehingga tak lagi membutuhkan komponen-komponen tersebut sebagai tambahan. Penggunaan relay membutuhkan counter, timer atau komponen lain untuk perangkat tambahan.

7. Keamanan Terjamin

Jika dilihat dari sisi keamanan, PLC tergolong perangkat yang luar biasa aman, dari segi dokumentasi, perangkat dan hal-hal mengenai program. PLC mempunyai sistem penguncian (lock), sehingga mengurangi dan dapat menghindarkan dari adanya pecurian dalam bentuk apapun.

8. Adanya Record Data dan Interface yang Memudahkan Pengguna

PLC dirancang untuk mampu menyimpan data-data yang diperlukan sesuai dengan kebutuhan dan program. Dimudahka dengan adanya interface yang dapat menampilkan proses, data maupun perbandingan ke dalam suatu perangkat komputer (PC) yang terhubung dengan PLC.

9. Sistem Terbaru dengan Wireless

Sistem terbaru dari PLC yaitu dengan menawarkan siste yang wireless dan dapat diakses oleh penggunanya dengan mudah dan jarak jauh. Tak harus masuk ke dalam kantor atau ruangan khusus.

10. Upgrade Sistem dan Komponen Lebih Cepat

Pengguna dapat Menambahkan komponen-komponen kendali setiap saat dan tanpa memerlukan tenaga juga biaya yang besar seperti pada pengendali konvensional (relay). Dimudahkan juga dengan komponen yang tersedia dalam bentuk paket modul, pemasangan dapat dilakukan dengan cepat dan mudah.

Dasar - Dasar Pemrograman PLC (Bagian 4)


Lanjutan dari bagian 3.............

F. Oscillator

Pada contoh sebelumnya, sedikit tidak didiskusikan bagaimana cara membuat operasi scan atau pewaktu (timing). Kita selalu mengasumsikan bahwa setiap menjumpai kondisi coil yang ter-energize (mendapat power) berarti sistem telah bekerja. Padahal kita harus mengetahui prosedur yang digunakan oleh controller dalam menyelesaikan ladder logic diagram. Sebagai contoh untuk mengetahui proses scanning dapat memberi manfaat ke kita sebagai programmer, mari kita kembangkan pembuatan oscilator. Dalam program PLC, oscilator adalah coil yang dapat di nyalakan dan dimatikan ( ON – OFF ) secara bergantian pada setiap periode scan. Oscilator dapat digunakan untuk mengendalikan sesuatu seperti fungsi mathematic, fungsi manipulasi data, yang dikontrol dengan transitional contact. Transitional contact adalah perpindahan contact dari close ke open atau dari open ke close. Sebagai contoh fungsi mathematic pada beberapa controller yang hanya melakukan proses yang ditugaskan padanya pada sekali scan ketika control logic di switch dari open ke close. Sepanjang control logic hanya close atau open saja, maka fungsi tidak akan dijalankan. Untuk meng-enable fungsi supaya terjadi dan berkelanjutan maka transitional contact ini harus diletakkan dalam control logic. Hal ini akan megakibatkan fungsi akan bekerja pada setiap scan karena transitional contact dari oscilator akan selalu switch dari open ke close pada setiap siklus scan.

Contact dan coil mempunyai nama yang sama, oleh karena itu jika coil ter-energize maka contact akan open dan sebaliknya jika coil de-energize maka contact akan close. Begitulah fungsi dari konfigurasi ini sebagai penyedia transitional contact.

Sesuatu yang pertama kali dilaksankan oleh controller dalam beroperasi adalah Update I/O, dalam hal ini pada ladder diagram Update I/O tidak ada karena tidak ada contact maupun coil yang dapat diakses dari luar PLC (tidak ada untuk input maupun output). Setelah Update I/O controller berpindah ke control logic pada rung pertama, dalam kasus ini adalah N/C contact CR1. Control Logic akan diselesaikan jika coil yang berhubungan dengan rung tersebut ter-energize atau de-energize. Jika controller mulai beroperasi semua coil dalam kondisi de-energize. Hal ini mengakibatkan N/C contact CR1 menjadi closed, selama N/C contact CR1 dalam keadaan closed, coil CR1 akan ter-energize. Karena dalam ladder hanya terdapat sebuah rung saja, maka setelah rung ini selesai dikerjakan selanjutnya controller akan berpindah untuk melaksanakan Update I/O yang lain. Setelah selesai Update, controller akan berpindah lagi ke rung yang pertama (hanya ada satu rung saja) dan kemudian menyelesaikannya. Lagi, disini ada N/C contact CR1, bagaimanapun, sekarang coil CR1 ter-energize akibat scan sebelumnya sehingga akan mengakibatkan N/C contact CR1 akan open. Hal ini akan mengakibatkan controller melakukan de-energize terhadap coil CR1. Setelah penyelesaian ladder diagram ini selesai dikerjakan, controller akan melaksanakan Update I/O yang lain. Setelah Update I/O ini akan kembali lagi untuk menyelesaikan lagi ladder logic pada rung yang pertama dan hasilnya akan mengindikasikan bahwa N/C contact CR1 dalam scan ini akan close karena coil CR1 terjadi de-energized pada scan sebelumnya. Selama N/C contact keadannya close akan mengaikibatkan coil CR1 ter-energized. Hal ini akan terus terjadi bergantian …ON-OFF-ON-OFF-ON… berurutan selamanya selama controller beroperasi. Coil akan ON untuk satu scan dan kemudian akan OFF untuk scan berikutnya. Tak peduli berapa banyak jumlah rung dalam ladder, untuk setiap scan coil CR1 secara berurutan ON dalam satu scan, OFF dalam satu scan, ON dalam satu scan dan seterusnya. Fungsi ini hanya akan terjadi pada saat perpindahan contact (contact transition) OFF-to-ON. Transisi berikutnya akan terjadi pada setiap scan yang lain. Ini adalah salah satu contoh metoda untuk membuat transitional contact.

Kita sekarang menambahkan kontak tambahan pada rung oscilator dengan sebuah contact gate untuk oscilator seperti gambar dibawah. Kontak tambahan didalam rung adalah N/O IN1 contact. Jika IN1 adalah OFF pada saat Update I/O, untuk scan ini N/O IN1 akan open dan begitu pula sebaliknya. Ini menyajikan ke kita tentang metode mengendalikan operasi coil CR1. jika kita menginginkan CR1 untuk menyediakan transitional (oscilating) contact, kita harus mengaktifkan IN1 ( 1 ), dan bila kita menginginkan CR1 tidak aktif maka IN1 harus di OFF kan ( 0 ).

Contact Logic pada gambar diatas terdiri dari tiga contact, dua N/O dan satu N/C. N/O contact IN1 didefinisikan sebagai ON switch untuk rangkaian ini dan N/C contact IN2 digunakan sebagai OFF switch. Ketika IN1 di aktifkan maka N/O contact IN1 akan close dan IN2 masih belum aktif sehingga N/C contact IN2 masih close sehingga coil CR1 akan ter-energize. Setelah CR1 ter-energize, jika IN1 dimatikan (N/O contact IN1 adalah open) coil CR1 akan tetap ter-energize untuk scan berikutnya karena N/O contact CR1 akan close. Coil CR1 akan tetap ter-energize sampai akhirnya N/C contact IN2 open dengan cara mengaktifkan IN2 ON. Jika IN2 ON maka CR1 akan de-energize karena N/C contact IN2 open. Jika kemudian IN2 OFF lagi coil CR1 akan tetap de-energize karena solusi untuk contact logic ini akan “False” selama N/O contact IN1 dan N/O contact CR1 keduanya open. N/O contact CR1 disini disebut sebagai holding contact. Oleh karena itu operasi dari rung logic ini adalah sebagai berikut : jika switch ON (IN1) ditekan sebentar, coil CR1 akan ter-energize dan tetap akan ter-energize sampai switch OFF (IN2) ditekan sebentar.

H. Always – ON and Always – OFF Contact

Ketika program dikembangkan, ada kalanya suatu kontak diinginkan untuk selalu ON. Pada PLC keluaran terbaru pada umumnya suatu coil bisa diset untuk keperluan ini. Bagaimanapun pada beberapa kejadian programmer harus menggunakan contact ini didalam ladder diagram. Untuk kejadian, seperti contact akan digunakan untuk level-triggered operasi aritmatik yang akan dilaksanakan pada setiap scan. Kebanyakan PLC membutuhkan minimal satu contact pada setiap rung. Untuk memenuhi kebutuhan ini dan harus selalu mempunyai logika benar, suatu contact harus diletakkan dalam suatu rung yang selalu berlogika berlogika benar. Ada dua cara untuk membuat contact ini:

Membuat coil yang selalu de-energized dan menggunakan N/C contact dari coil tersebut.

Membuat coil yang selalu ter-energized dan menggunakan N/O contact dari coil tersebut.

Meletakkan rung ini di bagian atas program akan mengijinkan programmmer untuk menggunakan N/C contact untuk kesuluruhan ladder kapan saja sepanjang contact diinginkan untuk selalu ON. Coil CR1 akan selalu de-energized karena N/O contact CR1 AND N/C contact CR1 tidak akan pernah bernilai benar (false).

Penyelesaian logika untuk rung ini adalah akan selalu bernilai benar karena N/C contact CR1 OR N/O contact CR1 selalu bernilai benar. Hal ini akan menyebabkan coil CR1 selalu ter-energize. Rung ini harus selalu diletakkan pada setiap awal ladder untuk menyediakan coil yang selalu ter-energize pada scan pertama.

Dasar - Dasar Pemrograman PLC (Bagian 3)


Lanjutan dari Bagian 2


B. Example Problem – Lighting Control

Akan dibuat suatu sistem lighting control dengan 4 buah switch, SWITCH1, SWITCH2, SWITCH3, SWITCH4. Switch ini akan mengontrol lampu dalam ruangan berdasarkan ketentuan sebagai berikut:

Tiga switch ( SWITCH1, SWITCH2, SWITCH3) jika dinyalakan ( = ON = 1 ) salah satu dapat menyalakan lampu, switch tersebut juga bisa digunakan untuk mematikan lampu dengan mematikan ( = OFF = 1 ) salah satu switch tersebut.

Switch ke 4 SWITCH4 adalah master control switch. Jika switch ini pada posisi ON lampu akan mati, dan ketiga switch lainnya tidak akan bisa memberikan efek kontrol ke lampu.

Permasalahan :
  • Tentukan wiring diagram koneksi dengan kontroller ( PLC Wiring Diagram )
  • Tentukan input dan output
  • Tentukan ladder diagram yang memenuhi ketentuan diatas.

Penyelesaian :

Tugas pertama yaitu menggambar PLC Wiring Diagram, untuk mengerjakan ini hubungkan semua switch ke input dan lighting ke output, nomer input dan output berhubungan dengan nomer koneksi terminal.

Keempat switch ditunjukkan dengan normally open selector switch, dan output dihubungkan dengan relay coil CR1. digunakan relay CR1 untuk mengoperasikan lampu karena pada umumnya arus yang digunakan untuk menyalakan lampu ruangan lebih besar ketimbang arus keluaran PLC. Mencoba berusaha mengoperasikan lampu ruangan secara langsung dengan output PLC hampir bisa dipastikan akan merusak PLC.

Untuk konfigurasi ini, masing – masing input dan output didefinisikan sebagai berikut

INPUT IN1 = SWITCH1

INPUT IN2 = SWITCH2

INPUT IN3 = SWITCH3

INPUT IN4 = SWITCH4 (Master Control Relay)

OUTPUT OUT1 = Light control relay coil CR1

Program ini mensyaratkan jika SWITC4 ON, Lampu harus mati ( = OFF ), untuk melakukan ini dibutuhkan N/C SWITC4, dan jika salah satu SWITCH1 atau SWITCH2 atau SWITCH3 adalah ON maka lampu akan nyala ( = ON = 1 ).

Sebagai catatan Normally Close Contact untuk IN4 merepresentasikan sebagai pembalik dari keadaan yang sebenarnya. SWITCH4 didefinisikan sebagai IN4, ingat SWITCH4 harus dalam kondisi OFF agar ketiga Switch yang lain dapat melakukan kontrol terhadap lampu.

C. Internal Relay

Internal Relay adalah general purpose relay yang ada didalam PLC yang tidak dapat diakses secara langsung untuk digunakan sebagai input maupun output. Seperti yang terdapat pada program component, internal relay adalah relay semu, yang merupakan bit digital yang disimpan pada internal image register. Dari sudut pandang pemrograman, semua internal relay mempunyai satu coil, dan mempunyai sebanyak N/O atau N/C contact sesuai yang diinginkan programmer. Semua PLC mempunyai internal relay, akan tetapi skema penomeran dan jumlah maksimum yang diperbolehkan untuk internal relay tergantung dari merk dan model. Oleh karena itu programmer harus mengacu pada technical manual untuk masing – masing PLC untuk menentukan bagaimana internal relay mereferensi dalam suatu program dan jumlah maksimum yang tersedia. Internal Relay adalah tool pemrograman yang sangat berharga, internal relay memberi keleluasaan pada programmer untuk melaksanakan operasi internal lebih rumit tanpa memerlukan penggunaan biaya mahal untuk beberapa output relay. Dalam contoh pemrograman internal relay dinyatakan dengan “CR” yang diikuti dengan nomor urut (e.g., CR1, CR2, etc).

D. Disagreement Circuit

Adakalanya suatu program diperlukan untuk menghasilkan output ketika dua signal “disagree” (sebuah signal berlogika 1 dan yang lain berlogika 0). Sebagai contoh, asumsikan kita mempunyai dua signal A dan B, kita menginginkan sinyal ketiga C sebagai hasil untuk kondisi A = 0, B = 1, atau A = 1, B = 0. Hal ini sangat familiar sekali kita kenal dalam logika digital sebagai gerbang exclusive OR dengan formulasi  . Hal ini dapat juga diimplementasikan dalam ladder logic, asumsikan kita mempunyai dua signal input IN1 dan IN2, dan hasilnya adl OUT1

Untuk program ini OUT1 akan OFF (berlogika 0) ketika IN1 dan IN2 mempunyai nilai yang sama, dan OUT1 akan ON (berlogikan 1) jika IN1 dan IN2 mempunyai nilai yang berbeda.

E. Majority Circuit

Majority Circuit adalah keadaan dimana PLC harus membuat keputusan yang berdasar pada hasil mayoritas masukan. Sebagai contoh, asumsikan PLC memonitor 5 tanki berisi cairan, dan PLC harus memberikan warning kepada operator ketika 3 diantara tanki tersebut kosong. Dengan menggunakan koefisien binomial ada sepuluh kombinasi kemungkinan dari tiga tanki yang kosong. Kemungkinan yang lain juga bisa terjadi untuk kombinasi empat tanki yang kosong dan lima tanki yang kosong, tetapi kita akan melihat kasus ini yang secara otomatis dari empat tanki dan lima tanki kosong akan dimasukkan ketika kita mendesain sistem tiga tanki kosong.

Adalah sangat penting dalam mendesain majority circuit untuk mendesain sistem voting terbanyak mayoritas yang akan diterima. Sebagai contoh asumsikan lima tanki mempunyai label A, B, C, D dan E, dan ketika input dari tanki adalah ON ini mengindikasikan bahwa tanki adalah kosong. Sebuah kombinasi tiga tanki kosong adalah tanki A, B, C, sedangkan D, E tidak kosong. Jika diekspresikan dalam fungsi boolean akan menjadi  . Bagaimanapun fungsi ini tidak akan bernilai benar jika A, B, C, dan D bernilai ON ( = 1 ), maupun juga semua input bernilai ON. Oleh karena itu akan diringkas kedalam ekspresi ABC yang tetap bisa mengcover kondisi  . Hal ini bisa mengcover semua kondisi dari tiga tanki yang kosong. Dan setiap ekspresi yang ditulis hanya menggunakan tiga input yang bisa mengcover lima kombinasi dari empat tanki yang kosong dan satu kombinasi untuk lima tanki yang kosong.

Untuk mencari kemungkinan kombinasi tiga tanki yang kosong dari lima tanki, akan dimulai dengan menyusun tabel bilangan biner dari kemungkinan 5 bit nomer. Dimulai dengan 00000 dan diakhiri dengan 11111. ditambahkan lagi satu kolom disebelah kanan yang merupakan kolom yang menunjukkan jumlah tanki yang kosong (1)

Dengan mereferensi ke tabel, temukan setiap baris yang mempunyai jumlah tanki kosong sebanyak tiga, untuk setiap baris ini kita temukan sebanyak sepuluh kombinasi dari tiga tanki yang kosong, yaitu : CDE, BDE, BCE, BCD, ADE, ACE, ACD, ABE, ABD, dan ABC.

Ketika menulis program untuk masalah ini kita dapat menghemat jumlah relay contact yang akan digunakan, karena kita tahu bahwa penyederhanaan dari struktur relay yang kompleks ini akan disimpan dalam memory PLC. Tetapai bagaimanapun juga bila penyederhanaan ini menjadikan program sulit untuk dibaca dan dimengerti oleh programmer lain, maka program ini boleh untuk tidak disederhanakan. Kita akan menyederhanakan dengan beberapa faktor sehingga program ladder diagram ini menjadi mudah untuk dimengerti dan dibaca

Dasar - Dasar Pemrograman PLC (Bagian 2)

Lanjutan dari Bagian1....


Untuk operasi yang sederhana ini, kita dapat menambah program kita, dan kita akan bisa mulai melihat bagaimana PLC dapat menghemat tidak hanya pada pengawatan (wiring) tetapi pada kompleksitas dan biaya untuk komponen luar.

Kemudian kita akan menambah lampu lain yang akan bisa nyala jika salah satu SWITCH1 ( = IN1 ) atau SWITCH2 ( = IN 2 ) nyala ( = 1 ) seperti pada gambar dibawah, jika kita menambah rangkaian ini ke rangkaian yang sudah ada, kita perlu menambahkan terlebih dahulu switch PB1 dan PB2, Sungguh memerlukan tambahan biaya untuk switch PB1 dan PB2. Akan tetapi manakla ini kita kerjakan dengan PLC akan sangat mudah dan perlu sedikit biaya.

Selama signal switch1 dan switch2 sudah tersedia di terminal input IN1 dan IN2, tidak perlu lagi membawa switch1 dan switch2 ke input PLC yang lain. Hal ini karena keunikan dan ke-ekonomisan fitur dari pemrograman PLC. Sekali signal input dibawa ke input PLC untuk digunakan oleh program, diperbolehkan untuk menggunakan beberapa kontak untuk input tersebut sesuai yang diinginkan baik untuk kontak N/O atau N/C. Hal ini akan mengurangi biaya, sungguhpun program kita memerlukan lebih dari satu kontak N/O dan N/C tetapi pada kenyataannya switch tersebut hanya diperoleh dari PB1 dan PB2 yang hanya membutuhkan single N/O contact.

Sekarang kita mempunyai LAMP2 yang telah terhubung dan kita dapat untuk menyelesaikan pembuatan program untuk permasalahan diatas. Dengan sederhana sekali kita hanya menambahkan rung yang diperlukan untuk melaksanakan kerja operasi

Yang berikutnya, kita akan menambah rangkaian fungsi AND-OR dan OR-AND, untuk ini kita membutuhkan tambahan dua switch yaitu SWITCH3 dan SWITCH4 dan tambahan dua lampu yaitu LAMP3 dan LAMP4

Setelah diketahui skema koneksi untuk semua komponen, akan dapat dibuat tambahan programnya untuk mengimplementasikan rangkaian AND-OR dan OR-AND

Dasar - Dasar Pemrograman PLC (Bagian 1)

Untuk membuat program PLC harus anda harus mempunyai latar belakang dalam pembuatan ladder diagram kontrol mesin. Alasanya adalah pada level dasar pemrogrman ladder untuk PLC adalah sama dengan ladder diagram electrical. Seorang engineer yang mengembangkan bahasa pemrograman PLC harus peka dengan kenyataan bahwa kebanyakan engineer, tehnisi, dan tukang listrik yang bekerja dengan mesin mesin listrik akan terbiasa dengan metode ini untuk merepresentasikan control logic. Ini mengharuskan seseorang pendatang baru di PLC untuk terbiasa dengan control diagram agar bisa dapat dengan cepat beradaptasi dengan bahasa pemrograman. Bahasa pemrograman PLC adalah salah satu bahasa pemrograman yang mudah untuk dipelajari. A. Physical Component Vs Program Component

Ketika belajar PLC programming salah satu konsep yang sulit adalah memahami perbedaan antara physical components dan program components. Kita akan menghubungkan (connecting) physical component (switches, lights, relays, etc) ke terminal luar pada PLC. Kemudian, pada program PLC, semua komponen yang terhubung dengan PLC akan direpresentasikan pada program sebagai Program Components. Program Component tidak sama dengan physical component tetapi hanya nama-nya saja yang boleh sama. Sebagai contoh switch pushbutton N/O S1 diberi nama START, jika kita connect switch ini ke input 001 PLC, maka ketika kita program PLC, switch START akan menjadi N/O relay contact dengan reference designator IN001 dengan nama START. Contoh lain jika kita connect RUN lamp L1 ke output 003 pada PLC, maka pada penulisan program, lamp akan direpresentasikan dengan relay coil dengan reference designator OUT003 dengan nama RUN.

Sebagai contoh pemrograman PLC adalah sebagai berikut, diberikan contoh rangkaian AND ladder diagram yang terdiri dua momentary push button yang terhubung secara seri dengan lampu.

Ketika kita merubah rangkaian untuk bisa dijalankan di PLC, pertama yang kita lakukan adalah menghilangkan semua komponen dan mem-wire ulang ke sistem PLC

Perbedaan yang mencolok terlihat adalah dua switch tidak lagi dihubungkan secara seri, malahan dua switch tersebut sebagai komponen terpisah pada input PLC, dengan model seperti ini kita mendapatkan fleksibilitas yang lebar. Dengan kata lain kita dapat mem-wire rangkaian kedalam software sesuai yang diinginkan. Dua buah sumber 120 V pada kenyataanya adalah sama, tetapi pada gambar ditunjukkan terpisah agar mudah untuk dilihat bagaiamana input dan output tersebut terkoneksi ke PLC dan bagaimana setiap bagian tersebut mendapatkan power.

Setelah kita tau komponen – komponen eksternal yang terhubung dengan PLC kita dapat menulis programnya. Switch1 yang terhubung dengan IN1 disebut sebagai IN1 pada program, dan Switch2 yang terhubung dengan IN2 disebut sebagai IN2 pada program. Juga untuk Lamp1 yang terhubung dengan OUT1 disebut sebagai OUT1 pada program. Program diatas adalah untuk mengontrol Lamp1

Penampilan dari program PLC terlihat seperti penggunaan operasi bit. Hal ini karena rung ladder yang digambar dengan komputer menggunakan kode ASCII untuk membentuk karakter graphic. Rails digambar sebagai garis vertikal, konduktor di tunjukkan sebagai garis horisontal, dan coil OUT1 ditunjukkan seperti sepasang tanda kurung, dan rails di sebelah kanan tidak digambar, beberapa program (software) yang digunakan untuk menulis dan memprogram PLC tidak menyertakan rails disebelah kanan tetapi hanya rails disebelah kiri yang digambar dengan nomer rung selanjutnya untuk masing - masing rung.

Ketika program seperti gambar diatas dijalankan, pertama PLC akan meng-update input image register dengan menyimpan nilai dari input pada terminal IN1 dan IN2 ( akan menyimpan 1 jika input ON dan 0 jika OFF ), kemudian akan menyelesaikan ladder diagram (solves the ladder) sesuai dengan yang terdapat pada diagram dengan berdasar pada isi dari input image register. Untuk program seperti digambar jika kedua input IN1 = 1 dan IN2 = 1 akan mengakibatkan nilai OUT1 = 1 pada output image register ( ini belum membuat terminal out = 1 ), kemudian ketika selesai menyelesaikan semua program, PLC akan melaksanakan update yang lain. Update ini akan mentransfer isi dari output image register (sebagai hasil dari penyelesaian ladder program) kedalam terminal output. Ini akan membuat terminal OUT1 = 1 yang akan menyalakan lampu