Halaman

Saturday, January 4, 2020

2. Pemrograman & Fungsional

P.E.M.R.O.G.R.A.M.A.N.

P
rogram PLC biasanya ditulis dalam aplikasi khusus pada komputer pribadi, lalu diunduh dengan kabel koneksi langsung atau melalui jaringan ke PLC. Program ini disimpan dalam PLC baik dalam RAM(33) yang didukung baterai atau memori flash lain yang tidak mudah habis. Seringkali, satu PLC dapat diprogram untuk menggantikan ribuan relay.

PLC mengawali masa hingga pertengahan 1990-an, PLC diprogram menggunakan berbagai macam komputer panel atau terminal(34) yang dibuat khusus untuk itu, yang sering kali memiliki tombol fungsi khusus yang mewakili berbagai elemen logis dari program PLC. Beberapa terminal pemrograman menampilkan elemen-elemen program PLC sebagai simbol grafik/diagram, tetapi representasi karakter ASCII(35) menampilkan kontak, gulungan, dan kabel adalah hal yang biasa. Program disimpan pada kartrid kaset tape(36). Fasilitas untuk mencetak dan dokumentasi sangat minim karena kurangnya kapasitas memori. PLC tertua menggunakan (memory non-volatile magnetic core memory) inti magnetik yang tidak mudah habis(37).

Baru-baru ini, PLC diprogram menggunakan perangkat lunak aplikasi pada komputer pribadi, yang sekarang mewakili logika dalam bentuk grafik dan bukan simbol karakter. Komputer terhubung ke PLC melalui kabel USB, Ethernet, RS-232, RS-485, atau RS-422. Perangkat lunak pemrograman memungkinkan entri dan pengeditan logika dalam ladder. Dalam beberapa paket perangkat lunak, dimungkinkan juga untuk melihat dan mengedit program dalam diagram blok fungsi, diagram alur urutan dan teks terstruktur. Secara umum perangkat lunak menyediakan fungsi untuk debugging dan pemecahan masalah perangkat lunak PLC, misalnya, dengan menyoroti bagian-bagian dari logika untuk menunjukkan status saat ini selama operasi atau melalui simulasi. Perangkat lunak akan mengunggah dan mengunduh program PLC, untuk tujuan pencadangan dan pemulihan. Dalam beberapa model pengontrol yang dapat diprogram, program ditransfer dari komputer pribadi ke PLC melalui papan pemrograman yang menulis program ke dalam chip yang dapat dilepas seperti EPROM.

| USB 
| RS-232
| RS-485
| RS-422
| Ethernet 

Di bawah standar IEC 61131-3, PLC dapat diprogram menggunakan bahasa pemrograman berbasis standar. Bahasa pemrograman yang paling umum digunakan adalah Ladder Diagram (LD) juga dikenal sebagai Ladder logic. Menggunakan logika Contact-Coil untuk membuat program seperti diagram kontrol listrik. Notasi pemrograman grafis yang disebut Sequential Function Charts tersedia pada pengontrol terprogram tertentu. Sebuah model yang meniru perangkat panel kontrol elektromekanis (seperti kontak dan koil relay) yang diganti oleh PLC. Model ini tetap umum hingga saat ini.

IEC 61131-3 saat ini mendefinisikan empat bahasa pemrograman untuk sistem kontrol yang dapat diprogram: diagram blok fungsi (FBD), diagram tangga (LD), teks terstruktur (ST; mirip dengan bahasa pemrograman Pascal), dan diagram fungsi sekuensial (SFC). Daftar instruksi (IL; mirip dengan bahasa assembly) sudah tidak digunakan lagi dalam edisi ketiga standar. Teknik-teknik ini menekankan pengorganisasian operasi yang logis.

| LD = Ladder Diagram = Diagram Tangga 
| FBD = Function Block Diagram 
| SFC = Sequential Function Chart
| ST = Structure Txt
| IL = Instruction List
| IEC = Internationa Electrotechnical Commision  

Sementara konsep dasar pemrograman PLC adalah umum untuk semua produsen, perbedaan dalam pengalamatan I / O, organisasi memori, dan set instruksi berarti bahwa program PLC tidak pernah dapat dipertukarkan dengan sempurna antara pembuat yang berbeda. Bahkan dalam jajaran produk yang sama dari satu pabrikan, model yang berbeda mungkin tidak langsung kompatibel.

CONTOH PROGRAM KONTROL MENGGUNAKAN 
LADDER DIAGRAM (DIAGRAM TANGGA)

Berikut Ini adalah contoh pemrograman dalam diagram tangga yang menunjukkan sistem kontrol. Diagram tangga adalah metode menggambar sirkuit kontrol yang diprogram kedalam PLC. Diagram tangga menyerupai diagram skematik dari sistem yang dibangun dengan relay elektromekanis.

Sebagai contoh, suatu fasilitas umum memerlukan menyimpan air dalam tangki. Air diambil dari tangki oleh sistem lain, sesuai kebutuhan dari contoh harus memperhatikan ketinggian air di dalam tangki dengan mengendalikan katup yang mengisi ulang tangki. Yang ditunjukkan adalah:
  •     Dua input (dari sakelar level rendah dan tinggi) diwakili oleh kontak sakelar pelampung.
  •     Output ke katup pengisian, diberi label sebagai katup pengisian yang dikontrolnya.
  •     Kontak "internal", mewakili sinyal output ke katup pengisian yang dibuat dalam program.
  •     Skema kontrol logis yang dibuat oleh interkoneksi item-item ini dalam perangkat lunak.
| Katup = Valve  
| Saklar Pelampung = Float Switch 
| Perangkat Lunak = Software 

Dalam diagram tangga, simbol-simbol kontak mewakili keadaan bit dalam memori prosesor, yang sesuai dengan keadaan input fisik ke sistem. Jika input diskrit diberi energi, bit memori adalah 1, dan kontak "normal terbuka" yang dikendalikan oleh bit itu akan meneruskan sinyal "benar" logika ke elemen tangga berikutnya. Oleh karena itu, kontak dalam program PLC yang "membaca/Read" atau melihat kontak sakelar fisik dalam hal ini harus "berlawanan/Opposite" atau terbuka untuk mengembalikan TRUE untuk sakelar fisik tertutup. Bit status internal, sesuai dengan keadaan output diskrit, juga tersedia untuk program.

| ON     = "1" = NC = HIGH = TRUE                 
| OFF    = "0" = NO = LOW  = FALSE               
| NO     = Normally Open = Biasanya Terbuka  
| NC     = Normally Close = Biasanya Tertutup 
| LL      = Low Level = Bagian terendah            
| HL     = High Level = Bagian tertinggi            
| Perangkat Lunak = Software                            


Dalam contoh tersebut, keadaan fisik kontak saklar pelampung harus dipertimbangkan ketika memilih simbol "biasanya terbuka/NC" atau "biasanya tertutup/NO" dalam diagram tangga. PLC memiliki dua input diskrit dari float switches (Level Rendah (LL) dan Level Tinggi(HL)). Kedua float switch (biasanya tertutup) membuka kontak mereka ketika level air dalam tangki berada di atas lokasi fisik switch.

Pada video penjelas diatas..., Ketika ketinggian air di bawah kedua switch, kontak fisik pelampung switch ditutup, dan nilai (logika 1) yang sebenarnya dilewatkan ke output Valve Isi. Air mulai memenuhi tangki. Kontak "Katup Isi" internal mengunci sirkuit sehingga bahkan ketika kontak "Level Rendah" terbuka (ketika air melewati sakelar bawah), katup pengisian tetap menyala. Karena Level Tinggi juga biasanya tertutup, air terus mengalir karena level air tetap di antara dua level sakelar. Setelah ketinggian air naik cukup sehingga sakelar "Tingkat Tinggi" mati (dibuka), PLC akan menutup saluran masuk untuk menghentikan aliran air; ini adalah contoh dari logika seal-in (latching). Output disegel sampai kondisi tingkat tinggi memutus sirkuit. Setelah itu, katup pengisian tetap mati sampai level turun begitu rendah sehingga sakelar Tingkat Rendah diaktifkan, dan proses berulang lagi.

Sebuah program lengkap dapat berisi ribuan anak tangga / rung, dievaluasi secara berurutan. Biasanya prosesor PLC akan secara bergantian memindai (scan) semua input dan memperbarui output, kemudian mengevaluasi logika laddernya; perubahan input selama pemindaian program tidak akan efektif hingga pembaruan I / O berikutnya. Pemindaian(Scan) program yang lengkap mungkin hanya membutuhkan beberapa milidetik, jauh lebih cepat daripada perubahan dalam proses yang dikendalikan.

Pemrograman kontroller memiliki variasi dalam tujuanya diterakan masing-masing dalam "anak tangga/rung" ladder diagram. Beberapa hanya mengizinkan bit output tunggal. Biasanya ada batas jumlah kontak seri yang berjajar, dan jumlah cabang yang dapat digunakan. Setiap elemen anak tangga dievaluasi secara berurutan. Jika elemen mengubah keadaan mereka selama evaluasi anak tangga, kesalahan sulit didiagnosis dapat dihasilkan, meskipun kadang-kadang (seperti di atas) teknik ini berguna. Beberapa implementasi memaksa evaluasi dari kiri ke kanan seperti yang ditampilkan dan tidak memungkinkan aliran balik sinyal logika (di anak tangga multi-cabang) untuk mempengaruhi output.



F.U.N.G.S.I.O.N.A.L


F
ungsionalitas PLC telah berkembang selama bertahun-tahun untuk menyertakan kontrol relai sekuensial, kontrol gerak, kontrol proses, sistem kontrol terdistribusi, dan jaringan. Penanganan data, penyimpanan, kekuatan pemrosesan, dan kemampuan komunikasi dari beberapa PLC modern kira-kira setara dengan komputer desktop. Pemrograman mirip PLC yang dikombinasikan dengan perangkat keras I / O jarak jauh, memungkinkan komputer desktop untuk keperluan umum menggantikan dengan beberapa PLC pada aplikasi tertentu. Pengontrol komputer desktop belum diterima secara umum di industri berat karena komputer desktop berjalan pada sistem operasi yang kurang stabil daripada PLC, dan karena perangkat keras komputer desktop biasanya tidak dirancang untuk tingkat toleransi yang sama terhadap suhu, kelembaban, getaran, dan umur panjang seperti prosesor yang digunakan dalam PLC. Sistem operasi seperti Windows tidak cocok untuk eksekusi logika deterministik, dengan hasil bahwa pengontrol mungkin tidak selalu menanggapi perubahan status input dengan konsistensi dalam waktu yang diharapkan dari PLC. Telah ditemukan aplikasi komputer untuk logika program digunakan dalam situasi yang tertentu, seperti otomatisasi laboratorium dan digunakan di fasilitas kecil di mana aplikasi tersebut tidak terlalu menuntut dan begitu penting.

FUNGSI DASAR
Fungsi paling dasar utama dari pengontrol yang dapat diprogram adalah untuk meniru fungsi relay elektro-mekanis. Input diskrit diberi alamat tertentu, dan instruksi PLC dapat menguji apakah status input aktif atau nonaktif. Sama seperti serangkaian kontak relai menjalankan fungsi logika AND, tidak membiarkan arus lewat kecuali semua kontak ditutup, maka serangkaian instruksi "periksa jika ON" akan memberi energi pada bit penyimpanan output jika semua bit input aktif. Demikian pula, serangkaian instruksi paralel akan melakukan logika OR. Dalam diagram kabel relai elektro-mekanis, sekelompok kontak yang mengendalikan satu koil disebut "anak tangga/Rung" dari "ladder diagram", dan konsep ini juga digunakan untuk menggambarkan logika PLC. Beberapa model PLC membatasi jumlah seri dan instruksi paralel dalam satu "anak tangga" logika. Output dari setiap anak tangga menetapkan atau membersihkan sedikit penyimpanan, yang mungkin terkait dengan alamat keluaran fisik atau yang mungkin merupakan "kumparan internal/internal coil" tanpa koneksi fisik. Kumparan internal semacam itu dapat digunakan, misalnya, sebagai elemen umum dalam beberapa anak tangga yang terpisah. Tidak seperti relay fisik, biasanya tidak ada batasan berapa kali input, output atau kumparan internal dapat dirujuk dalam program PLC.
Beberapa PLC menggunakan urutan eksekusi dari kiri ke kanan, atas-ke-bawah yang ketat untuk mengevaluasi logika anak tangga / ladder diagram. Ini berbeda dari kontak relai elektro-mekanis, yang dalam sirkuit yang cukup kompleks dapat melewati kiri-ke-kanan atau kanan-ke-kiri, tergantung pada konfigurasi kontak di sekitarnya. Penghapusan "langkah kerja yang tidak sesuai" ini adalah bug atau fitur, tergantung pada gaya pemrograman.

Instruksi yang lebih maju dari PLC dapat diimplementasikan sebagai blok fungsional, yang melakukan beberapa operasi ketika diaktifkan oleh input logika dan yang menghasilkan output ke sinyal, misalnya, penyelesaian atau kesalahan, sementara memanipulasi variabel secara internal yang mungkin tidak sesuai dengan logika diskrit.


PENGATUR WAKTU DAN PENGHITUNG
TIMER AND COUNTER

TIMER. Fungsi utama pengatur waktu adalah untuk menjaga agar output tetap hidup selama jangka waktu tertentu. Salah satu contoh adalah lampu garasi, di mana Anda ingin listrik terputus setelah 2 menit sehingga memberi seseorang waktu untuk pergi ke rumah. Tiga jenis timer yang biasa digunakan adalah Delay-OFF, Delay-ON, dan Delay-ON-Retensive. Timer Tunda-OFF aktif segera ketika dihidupkan, menghitung mundur dari waktu yang diprogram sebelum terputus, dan dihapus ketika input yang mengaktifkan dimatikan. Pengatur waktu Tunda AKTIF diaktifkan oleh input dan mulai mengumpulkan waktu, menghitung hingga waktu yang diprogram sebelum memotong, dan dihapus ketika input yang diaktifkan dimatikan. Timer Delay-ON-Retensive diaktifkan oleh input dan mulai mengumpulkan waktu, mempertahankan nilai yang terakumulasi bahkan jika (tangga logika) berbunyi salah, dan dapat diatur ulang hanya oleh kontak RESET.

COUNTER. Penghitung terutama digunakan untuk menghitung item seperti kaleng masuk ke kotak pada jalur perakitan. Ini penting karena begitu sesuatu terisi dengan maksimal, item tersebut perlu dipindahkan sehingga sesuatu yang lain dapat diisi. Banyak perusahaan menggunakan penghitung di PLC untuk menghitung kotak, menghitung berapa kaki dari sesuatu yang tertutup, atau untuk menghitung berapa banyak palet yang ada di truk. Ada tiga jenis penghitung, penghitung Atas, penghitung Down, dan penghitung Up / Down. Penghitung naik menghitung hingga nilai preset, nyalakan CTU (output CounT Up) ketika nilai preset tercapai, dan dihapus setelah menerima reset. Penghitung mundur menghitung mundur dari nilai prasetel, menyalakan CTD (output TurunT Down) ketika 0 tercapai, dan dihapus setelah reset. Penghitung Naik / Turun menghitung pada CU, menghitung mundur pada CD, nyalakan CTUD (output Naik / Turun) ketika nilai preset tercapai, dan dihapus saat diatur ulang.

No comments:

Post a Comment