Anda di halaman 1dari 20

TEKNIK OTOMASI INDUSTRI

TUGAS RESUME PLC

OLEH:

Ksatria Nugraha

NIM : 21130067

Dosen Pengampu : Habibullah, S.Pd.,M.T

PROGRAM STUDI D4 TEKNIK ELEKTRO INDUSTRI

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG

2023
Resume BAB 7
Prinsip Pemrograman Dasar PLC

A. Pengantar pemrograman PLC.


Karena PLC pada dasarnya adalah perangkat digital yang memonitor, memproses, dan
menghasilkan data dari proses industri, maka diperlukan program perangkat lunak
dengan instruksi untuk melakukan fungsi yang diinginkan. Program ini memiliki dua
bagian terpisah dengan dua tujuan berbeda. Yang bertanggung jawab atas semua fungsi
internal dari PLC, dan dikembangkan oleh produsen PLC dan tidak dapat dimodifikasi
dengan cara apa pun oleh pengguna. Bagian kedua dari program PLC terkait dengan
fungsi logika dan fungsi lainnya bahwa pengguna ingin mengeksekusi dan perlu ditulis
dalam bahasa yang dimengerti PLC. Jenis pemrograman kedua ini akan menjadi fokus
Bab 7 dan akan mencakup bahasa pemrograman yang ada, masalah dasar pada
standardisasi bahasa dan norma pemrograman, instruksi bahasa individual, dan aplikasi
yang sesuai.
Pemrograman PLC telah berevolusi melalui berbagai tahap secara paralel dengan
teknologi dari perangkat ini. Awalnya, pemrograman PLC hanya mencakup input
digital dan instruksi output yang hanya melakukan fungsi logis yang sesuai dengan
kasus relay elektromekanis konvensional. Bahasa yang sesuai, yang dikenal sebagai
relay ladder logic (RLL), merupakan bahasa bentuk campuran yang menggabungkan
simbol grafis dan string alfanumerik sintaksis pendek. Nama "tangga" berasal dari fakta
bahwa garis vertikal yang mengekspresikan "awal logika" (atau, secara metaforis,
potensi tegangan tinggi) ditempatkan di sebelah kiri, dan garis dengan "akhir logika"
(atau, secara metaforis, potensi tegangan rendah) ditempatkan di sebelah kanan. Antara
dua garis vertikal ini, elemen logika sederhana (atau kombinasinya) membentuk
cabang, dan disebut "kontak logika" atau "logika relai" secara keseluruhan, seperti yang
ditunjukkan pada Gambar 7.1. Di antara keduanya garis vertikal, ada sejumlah cabang
dalam bentuk tangga. Selanjutnya, evolusi di bidang PLC sangat besar. Dalam beberapa
tahun, PLC menyertakan fungsi dan operasi pengatur waktu dan penghitung dengan
memperkenalkan instruksi yang sesuai dalam bahasa tangga.

Dengan kondisi ini, produsen PLC memperkenalkan pemrograman lain bahasa dalam
bentuk grafis atau teks dan pada tingkat pemrograman yang lebih tinggi, dengan tetap
mempertahankan bahasa tangga hingga sekarang, terutama karena beberapa
keunggulan utama, yaitu:
• Ini adalah bahasa simbolis atau grafis dengan cara representasi yang sangat
sederhana yang sangat dekat menyerupai struktur sirkuit otomasi klasik, dan
inilah mengapa tidak hanya akrab untuk semua insinyur yang berurusan dengan
otomasi industri, tetapi juga untuk teknisi listrik.
• Memiliki waktu eksekusi yang sangat singkat untuk instruksi, serta waktu
eksekusi yang singkat dari cabang program, sehingga semua cabang dianggap
berjalan hampir dalam mode paralel, sama seperti di sirkuit otomasi
konvensional.
• Ini memberikan kemampuan untuk pemrograman online (sehingga
memungkinkan pengguna untuk membuat perubahan program saat sistem
sedang berjalan) dan program dapat dikompilasi secara real time.

sekitar tahun 1990, produsen PLC mengembangkan bahasa pemrograman milik mereka
dengan ketidakcocokan total di antara mereka. Sebagai contoh, bahasa tangga dari dua
produsen yang berbeda mungkin memiliki bentuk yang sama, tetapi dalam keadaan apa
pun mereka kompatibel. Selain itu, ada beberapa kasus di mana dua PLC yang berbeda
dari perusahaan yang sama diproduksi untuk menggunakan bahasa tangga tetapi dengan
notasi yang berbeda yang tidak memungkinkan pertukaran program atau transfer
langsung program dari satu PLC ke PLC lainnya.
Dalam keadaan ini, istilah "diagram tangga" menyatakan sekumpulan bahasa yang
serupa tetapi tidak kompatibel dari semua produsen PLC, bukan bahasa pemrograman
umum untuk PLC. Di Di sisi lain, situasi ini memaksa pengguna PLC untuk
menggunakan pabrikan tertentu karena dia perlu menggunakan alat khusus untuk
pengembangan perangkat lunak, pembelajaran, pemeliharaan, dan peningkatan. Dalam
situasi yang tidak menguntungkan ini, Komisi Elektroteknik Internasional (IEC)
mencoba memberlakukan standardisasi dengan mendefinisikan standar IEC 61131-3.

B. Standar IEC 61131.


Standar yang umumnya dibuat oleh asosiasi dan komite internasional memainkan
peran penting dalam pengembangan semua teknologi industri. Standarstandar tersebut
umumnya membantu dalam mencapai kompatibilitas, transparansi, dan
interoperabilitas di berbagai produk; meningkatkan kepercayaan pengguna terhadap
produk mereka; dan membantu mengembangkan alat dan metodologi di bawah payung
spesifikasi teknologi yang sama. Dengan demikian, IEC hadir untuk mengatasi situasi
yang kacau dalam ketidakcocokan bahasa pemrograman untuk PLC dengan
pembentukan terbuka standar IEC 61131, Bagian pertama yang dikeluarkan pada tahun
1992 dan mengacu pada PLC secara umum. Bagian ketiga dari standar ini, yang disebut
IEC 61131-3, dikeluarkan pada tahun 2003 dan mengacu pada bahasa pemrograman
PLC. Saat ini, semua produsen PLC utama telah menerima standar ini, dan produk
mereka dikembangkan sesuai dengan itu.
Standar IEC 61131-3 menggabungkan lima pendekatan berbeda untuk memprogram
sistem kontrol, dan terutama untuk kasus PLC. Setiap pendekatan didasarkan pada
bahasa sederhana yang menargetkan jenis masalah atau aplikasi otomasi tertentu.
Bahasa-bahasa ini dapat dengan mudah digabungkan untuk menghasilkan kode
campuran, atau digunakan dalam jenis sistem kontrol selain PLC, seperti sensor pintar,
driver yang dapat diprogram, pengontrol proses, perangkat lunak SCADA, dan
sebagainya. Tujuan utama dari standar ini adalah untuk menormalkan bahasa
pemrograman yang ada, bukan untuk mencegah kemungkinan pengembangan bahasa
baru. Di sisi lain, standar IEC 61131-3 telah memperkenalkan blok fungsi yang dapat
diprogram dalam bahasa non-standar, seperti C++. Lima bahasa yang disematkan
untuk PLC adalah yang berikut:

1. Diagram Tangga, LD, atau LAD—Bahasa Grafis.


Sebuah program yang ditulis dalam bahasa Diagram Tangga mirip dengan sirkuit
otomatisasi kabel klasik. Ini menggunakan simbol logis seperti :
= Buka kontak logis jika variabel X berada dalam logika "0" (misalnya,
input digital, output, kumparan logika, dll.).
= Tertutup Logis kontak kalau si variabel X sedang dalam sebuah logika
"0".
=Kumparan logika internal atau output digital pada logika "0" atau "1"
jika logika sebelumnya di cabang (lihat Gambar 7.1) masing-masing
adalah "0" atau "1 " .
Cabang horizontal di antara dua garis vertikal di awal logika dan akhir logika, yang
disajikan pada Gambar 7.1, mencakup elemen-elemen logika seperti di atas atau
kombinasi dari elemen-elemen tersebut yang disebut "anak tangga" atau "jaringan"
yang membentuk "tangga". Setiap cabang berakhir di sisi kanan dalam satu koil logika
atau output. Beberapa produsen mengizinkan paralelisme dua atau lebih kumparan
logika atau output di cabang yang sama. Selain itu elemen sederhana di atas, bahasa
LAD memiliki simbol blok untuk semua fungsi dasar yang diperlukan dalam
sistem otomasi, seperti pengatur waktu, penghitung, operasi aritmatika, dll.

2. Diagram Blok Fungsi (FBD) - Bahasa Grafis.


Karena tidak ada terjemahan bahasa FBD yang ditetapkan secara umum, maka
dimungkinkan untuk merujuk hal ini dengan istilah "bahasa komponen logika",
"bahasa diagram logika", "bahasa gerbang logika", dan istilah serupa lainnya.
bahasa diagram blok fungsi berisi blok simbol operasi fungsional, yang
mengimplementasikan berbagai fungsi dari fungsi AND sederhana dari aljabar
Boolean hingga kontrol PID. Setiap blok memiliki nama fungsi yang
diimplementasikan dan diterima di sisi kiri input dan di sisi kanan output, yang
membawa hasil fungsi seperti yang disajikan pada Gambar 7.2.
Variabel input dan output PLC terhubung ke input dan output blok fungsional
masing-masing dengan jalur interkoneksi atau hanya dideklarasikan sebelumnya,
Output dari sebuah blok dapat dihubungkan ke input dari blok fungsional lainnya.
Setiap jalur interkoneksi diarahkan dalam arti bahwa data ditransfer dari kiri ke
kanan, sementara kedua ujung jalur interkoneksi harus memiliki tipe yang sama. Ini
berarti bahwa output dari blok logika AND pada Gambar 7.2, yang merupakan
variabel diskrit (0 atau 1), tidak dapat dihubungkan ke input 1 dari blok ADD_I,
yang seharusnya merupakan variabel integer.

3. Daftar Instruksi (IL) - Bahasa Berbasis Teks.


Daftar instruksi adalah bahasa tingkat rendah yang terlihat seperti bahasa rakitan,
tetapi berada pada level yang lebih tinggi dari LAD dan FBD, dalam hal kriteria
klasifikasi terjemahan program dari satu bahasa ke bahasa lain. Karena fakta bahwa
program dari bahasa lain selalu dapat diterjemahkan ke dalam bahasa IL yang sesuai
(kebalikannya tidak benar), itu dianggap sebagai bahasa PLC utama. IL juga dikenal
sebagai daftar pernyataan (STL) atau bahasa Boolean. Karena perintah IL yang
paling dasar adalah hanya fungsi dasar aljabar Boolean (seperti AND, OR, AND
NOT, OR NOT, dll.).
Sebuah instruksi dalam bahasa IL terdiri dari dua bagian: operasi instruksi dan
nama operan dimana fungsi tersebut akan diimplementasikan, seperti yang
ditunjukkan pada Gambar 7.3. Nama variabel yang digunakan secara langsung
terkait dengan sistem pengalamatan yang diadopsi oleh produsen PLC yang dirujuk
dalam Bagian 6.8.3. Pada tingkat aplikasi, kedua bagian dari instruksi disingkat
sejauh mungkin, seperti yang disajikan pada Gambar 7.3.

Instruksi pemrograman ditulis satu demi satu sebagai daftar, oleh karena itu bahasa
menerima nama IL dari IEC 61131-3. Contoh program Boolean kecil adalah sebagai
berikut:

4. Structured Text (ST) - Bahasa Berdasarkan Teks.


ST adalah bahasa tingkat tinggi yang sintaksnya menyerupai bahasa Pascal. Untuk
programmer yang sudah terbiasa dengan pemrograman dalam bahasa tingkat tinggi,
seperti Basic atau C, akan sangat mudah untuk memprogram dalam bahasa ST.
Secara umum ST mendukung instruksi yang kompleks dan instruksi yang kompleks
dan tertanam seperti: - Ulangi-sampai, sambil-lakukan
- Eksekusi di bawah kondisi (IF-THEN-ELSE, case)
- Fungsi (SQRT (-), SIN (-))
Setiap program ini dimulai dengan deklarasi variabel dan kemudian diikuti dengan
utama, yang dipisahkan dengan titik koma. Variabel dapat didefinisikan dengan
jelas sebagai nilai numerik numerik (misalnya, bilangan bulat, real, dll.), variabel
yang disimpan secara internal, atau input dan output. Spasi kosong dapat membagi
instruksi dari variabel, dan diperbolehkan untuk mengurai dan menyisipkan
komentar untuk meningkatkan keterbacaan program. Contoh bahasa ST adalah:

Program ini membaca "bcd_input" dalam bentuk format kode BCD dan digunakan
untuk mengubah waktu tunda dari pengatur waktu TON. Ketika input "test_input"
diaktifkan, pengatur waktu dimulai menghitung dan setelah jangka waktu tertentu,
"set" diaktifkan. Perbedaan penting antara bahasa ST dan bahasa tradisional lainnya
adalah cara aliran program dikendalikan. Program ST dapat berjalan dari awal
hingga akhir berkali-kali dalam satu detik. Sebaliknya, program LAD atau FBD
tidak dapat mencapai instruksi terakhir kecuali eksekusi sebelumnya instruksi
sebelumnya selesai. Bahasa ST dirancang untuk berhubungan dengan bahasa lain
standar. Sebagai contoh, program LAD dapat memanggil subrutin yang ditulis
dalam bahasa ST.

5. Sequential Function Chart (SFC)


Pada dasarnya Bahasa Grafis yang Menggunakan Program Segmen yang Ditulis
dalam Bahasa IL. Bahasa SFC didasarkan pada GRAFCET , yang merupakan
perangkat lunak yang berasal dari Prancis dan sangat mirip dengan jaringan Petri.
Bahasa GRAFCET didirikan pada tahun 1977 oleh kelompok kerja Prancis untuk
menyediakan alat grafis untuk menggambarkan dan mendefinisikan proses industri
berurutan yang dikendalikan oleh pengontrol logis. Komponen pemrograman SFC
dasar adalah:
1. Langkah atau status pengoperasian sistem yang terkait dengan tindakan
aktuator
LANGKAH TINDAKAN
2. Transisi yang terkait dengan kondisi logis variabel sistem seperti kondisi "JIKA
t =30° C" atau kondisi menunggu "KETIKA TIMER AKTIF"
3. Interkoneksi terarah antara langkah dan transisi.
Gambar 7.4 menyajikan contoh umum program bahasa SFC untuk memahami
pemanfaatannya.
• Dalam setiap cabang hanya satu langkah yang dapat aktif.
• Ketika sebuah transisi terpenuhi, yang berarti bahwa semua kondisi
untuk transisi ini terpenuhi, maka langkah sebelumnya dinonaktifkan
dan langkah berikutnya dipaksa untuk dieksekusi.
• Ketika sebuah langkah aktif, itu berarti bahwa program otomasi berada
dalam kondisi ini dan bahwa tindakan yang sesuai dengan langkah
tersebut dilakukan.
• Setiap transisi dan langkah mewakili atau berisi program otomatisasi
keseluruhan yang ditulis dalam salah satu bahasa lain .
Dengan elemen-elemen SFC ini, seseorang dapat mengatur dan mensintesis
program otomasi besar yang mencakup sekuensial dan / atau paralel sub-proses
kontrol. Gambar 7.5 menyajikan program SFC untuk sistem keamanan dua pintu di
mana satu pintu membutuhkan kode keamanan tiga digit dan pintu lainnya
membutuhkan kode keamanan dua digit untuk membuka.
Standar IEC 61131-3, dengan lima bahasa pemrograman yang dijelaskan di atas,
membantu menghapus perbedaan yang ada dalam perangkat lunak produsen PLC
dan dengan demikian membantu mencapai standarisasi keseluruhan dalam
pemrograman.

C. Intruksi Pemrograman Dasar perangkat lunak untuk pemrograman PLC" adalah


lingkungan perangkat lunak yang kompleks dengan banyak operasi umum yang
ditawarkan kepada pengguna, seperti sebagai pengunduhan / pengunggahan program
otomasi ke / dari PLC, pemantauan onlineeksekusi program, pengendalian run-stop
PLC melalui lingkungan perangkat lunak, perangkat keras pemilihan dan konfigurasi,
dan banyak lainnya, serta menulis program otomasi. Di bawahistilah "pemrograman
PLC" ada dua tugas utama yang terlibat:
• Konfigurasi dan pengaturan umum PLC, yang mencakup pembentukan
komunikasi antara perangkat pemrogram dan PLC
• Pemrograman operasi logika fungsional PLC
Program otomasi yang akan dimuat ke PLC adalah perangkat keras agnostik, yang
berarti bahwa perangkat lunak tidak mengetahui jenis perangkat keras yang tersedia
yang tidak dapat dideteksi secara otomatis. Dengan demikian, untuk eksekusi yang
tepat dari program otomasi, program tersebut harus dinyatakan setepat mungkin untuk
jenis perangkat keras yang tersedia. Secara khusus, ini harus menyatakan jenis CPU,
jenis dan jumlah modul I/O, jenis prosesor komunikasi jika ada. Selain itu, harus dapat
mengenali atau memilih Alamat I/O. Pekerjaan ini dilakukan oleh pengguna dalam
lingkungan perangkat lunak yang mudah digunakan dari PLC dan disebut «konfigurasi
perangkat keras PLC». Sisa bab ini akan berfokus pada tugas kedua pemrograman dasar
logika otomasi yang disertakan dalam program otomasi.
Seperangkat instruksi yang tepat dari tiga bahasa dasar, yaitu Boolean, FBD, dan LAD.
Dengan instruksi-instruksi ini, yang tercantum dalam Tabel 7.1, insinyur otomasi akan
dapat menangani sebagian besar kebutuhan aplikasi industri. Dalam tiga kolom pertama
Tabel 7.1, sintaks dari setiap instruksi disediakan untuk tiga bahasa pemrograman:
Boolean, FBD, dan LAD. Di tempat-tempat yang ada terdapat sel kosong, hal ini
mengindikasikan bahwa instruksi tertentu tidak ada dalam bahasa yang bersangkutan.
Pada kolom variabel, notasi berikut ini digambarkan dengan yang sesuai:
I = Input
Q = Keluaran (Output) *
M = Bit memori tambahan (koil logika)
T = Pengatur waktu
C = Penghitung
FB = Blok fungsi POU
FC = Fungsi POU
IB = Byte masukan
IW = Kata masukan† QB
= Byte keluaran
QW = Kata keluaran†
MB = Byte memori tambahan
MW = Kata memori tambahan†
Label = Label alfanumerik‡
Setiap PLC berisi setidaknya dua akumulator dengan lebar masing-masing dua kata
digital, mulai dari byte paling tidak signifikan di sebelah kanan ke byte paling
signifikan di sebelah kiri, seperti yang ditunjukkan pada Gambar. Signifikansi “tinggi.
Isi register 1 dimodifikasi dengan menggunakan instruksi beban . Dalam register, byte,
kata, atau kata ganda dapat dimuat setelah pergeseran awal isi lama register 1 ke register
2, dan reset register 1. Jelas, memuat numerik konstanta ke register menciptakan konten
digital yang setara dengan konstanta dalam bentuk biner, kecuali dinyatakan lain oleh
instruksi pemuatan . Instruksi transfer selalu mentransfer isi register 1 ke tempat yang
ditentukan dengan instruksi tersebut. Pada kolom yang diberi nama “operasi instruksi”,
tindakan yang dilakukan oleh CPU dirangkum saat menjalankan setiap instruksi.

1. Hasil dari Eksekusi Instruksi


Konsep RLO akan dijelaskan lebih lanjut dengan bantuan rangkaian rangkaian
otomasi klasik yang disajikan pada Gambar 7.9. Aktivasi relai C tergantung pada
status dari tiga kontak sakelar S1, S2, dan S3. Dalam hal ini, diasumsikan lebih
lanjut bahwa status ketiga kontak sakelar ketika menguji rangkaian persis seperti
yang ditunjukkan pada Gambar 7.9. Awalnya diperiksa dengan voltmeter sederhana
jika ada apakah ada tegangan listrik pada catu daya. Jika ada tegangan, langkah
selanjutnya adalah memeriksa apakah ada tegangan tepat setelah kontak S1. Karena
S1 adalah kontak tertutup, voltmeter akan menunjukkan kepada kita trennya. Dalam
sirkuit klasik, relai C diaktifkan jika ada tegangan di titik A, yaitu di ujungnya
seperti yang digambarkan pada Gambar 7.9. Dalam logika yang dapat diprogram,
RLO adalah yang menentukan-sebagai tegangan-hasil dari instruksi pengaktifan.

Untuk membuat konsep RLO lebih mudah dipahami dalam hubungannya dengan
instruksi logika Boolean, Gambar 7.10 akan digunakan. CPU mencari dengan
memeriksa status variabel yang ditentukan dalam instruksi ini. Hasil dari operasi
logis adalah yang baru RLO primer , menggantikan RLO primer sebelumnya, yang
umumnya hilang. Hasil ini disimpan sementara hanya ketika ada cabang logika
Boolean paralel. Oleh karena itu, RLO primer adalah RLO yang dibuat setelah
eksekusi lengkap suatu instruksi. RLO yang diekstrak oleh proses logika di atas,
CPU sendiri yang menghasilkan RLO. Kasus ini seperti menyatakan bahwa ada
tegangan pada catu daya +24-0 V DC dari rangkaian otomatisasi klasik.

Setelah mengeksekusi instruksi aktivasi, RLO utama dihapus secara permanen dan
dimulai pembuatan RLO baru di cabang program berikutnya atau di cabang
berikutnya berikutnya . Pada rangkaian otomasi klasik pada Gambar, jika relai C
diaktifkan, tidak perlu mengetahui bahwa ada tegangan di titik A. Informasi ini
tidak berharga karena, pada kenyataannya, informasi ini melekat pada pernyataan
«relai C diaktifkan».

2. Instruksi Logika Boolean


Instruksi pertama dari kelompok instruksi logika Boolean, yang digambarkan pada
Tabel 7.1, adalah instruksi AND Instruksi AND. Ketika CPU mengeksekusi
instruksi ini, terlepas dari bahasa pemrograman, CPU akan memeriksa apakah
logika "1" disimpan di lokasi memori input I3.3 PLC,yang berarti, jika benar, maka
pada input digital I3.3 yang sesuai ada tegangan listrik.
Dengan demikian, apabila CPU menemukan logika "1" maka RLO sekunder
(S.RLO) adalah "1". Selanjutnya, fungsi AND antara S.RLO dan RLO primer
(P.RLO) di mana P.RLO ="1" (ini dihasilkan oleh CPU, karena tidak ada instruksi
lain sebelumnya), akan menghasilkan RLO = "1". Dari yang terakhir ini, juga akan
bergantung pada hasil eksekusi dari instruksi yang mengikutinya.

Instruksi kedua dari kelompok ini adalah pernyataan AND NOT. Ketika CPU
mengeksekusi salah satu instruksi itu memeriksa apakah ada logika «0» di lokasi
memori input digital I3.3, yang berarti bahwa tidak ada tegangan listrik pada input
I3.3 yang sesuai dari PLC

.
CPU menemukan logika «0», maka S.RLO adalah «1». Selanjutnya, fungsi AND
antara S.RLO = «1» dan P.RLO = «1» akan memberikan RLO = «1». Dengan
instruksi AND NOT, dimungkinkan untuk mengaktifkan output melalui kontak
input terbuka , yang tidak dapat diimplementasikan dalam otomatisasi konvensional
tanpa menggunakan relai tambahan Instruksi ketiga dalam kelompok instruksi yang
sama adalah pernyataan OR. Saat CPU mengeksekusi salah satu instruksi berikut,
ia memeriksa apakah ada logika «1» di lokasi memori digital masukan I3.3.
Instruksi berikut ini untuk membuat ekspresi kompleks hanya ditemukan dalam
bahasa Boolean, dan memiliki sederhana yang akan disajikan melalui contohcontoh
pada Bagian 7.5.

3. Instruksi Aktivasi pada rangkaian otomasi konvensional dan bagaimana instruksi


ini bekerja dengan cara memicu logika "1" ke variabel tertentu dalam instruksi yang
dieksekusi secara analog. Jika RLO sebelum instruksi aktivasi adalah logika "1",
maka variabel yang ditentukan dalam instruksi akan diaktifkan. Instruksi aktivasi
ini bergantung pada RLO dan jika RLO logika "1", maka variabel akan diaktifkan
berdasarkan cara yang ditentukan oleh setiap instruksi. Instruksi aktivasi yang
paling sederhana adalah "=" dan selama RLO logika "1", variabel yang sesuai akan
diaktifkan. Logika ini diulang terus menerus selama operasi PLC.

4. Instruksi Pelengkap
Instruksi L dan T digunakan untuk memindahkan data dari satu lokasi memori PLC
ke lokasi memori lain secara massal. Data dapat berupa input, output, bit tambahan,
atau lokasi memori lain yang dapat diakses. Instruksi ini dieksekusi terus menerus
dalam setiap siklus pemindaian dan dapat merujuk pada nilai numerik konstan atau
mengirim konten yang ditentukan ke akumulator 1.

Instruksi penghitungan CU dan CD hanya terkait dengan operasi penghitung dan


mengubah isi penghitung dengan satu jika pulsa RLO naik. Ini berguna dalam
aplikasi seperti menghitung botol yang melewati sebuah fotosel di sabuk konveyor.
Jika sabuk berhenti dan ada botol di depan fotosel, PLC akan terus menghitung
banyak botol secara virtual sampai ada kenaikan pulsa RLO yang memaksa PLC
untuk melanjutkan gerakan sabuk dan menghitung botol yang lewat secara akurat.
Tabel 7.1 menyederhanakan simbol instruksi penghitungan CU atau CD dalam
bahasa pemrograman FBD dan LAD. Blok CU dalam bahasa LAD menerima enam
koneksi logis dan memiliki input penghitungan yang dapat dihubungkan ke
penghitung Cxx. Input S dan R dideklarasikan untuk melakukan instruksi set dan
reset penghitung. Output CV memberikan nilai penghitung saat ini, dan output
digital "0" atau "1" diberikan ketika konten Cxx ≠ 0. Instruksi yang sesuai dengan
A Cxx dalam bahasa Boolean juga memiliki fitur grafis yang serupa dan dapat
ditemukan dalam bahasa FBD.

Instruksi perbandingan dan kontrol aliran program dalam bahasa pemrograman


seperti LAD (Step7-Siemens) dan FBD. Instruksi perbandingan memungkinkan
membandingkan dua angka dalam semua format dasarnya dan selalu dilakukan
antara dua konten yang ada di dua akumulator pertama dalam urutan yang sama.
Instruksi ini selalu digunakan bersama dengan instruksi pemuatan dan ketika
perbandingan terpenuhi, CPU menghasilkan RLO = "1". Instruksi kontrol aliran
program membantu mengubah aliran eksekusi instruksi dalam program yang sama
dengan atau tanpa kondisi. Ada beberapa jenis instruksi kontrol aliran program
seperti instruksi label JU, JC, JMP, dan CALL yang digunakan untuk beralih ke
instruksi yang ditandai dengan tag label, melakukan transisi hanya ketika suatu
kondisi terpenuhi, atau memanggil blok program lain atau POU sesuai dengan
standar IEC 61131-3 terminologi untuk dieksekusi. Beberapa contoh instruksi
panggilan untuk POU adalah sebagai berikut:
CALL FC 10
CALL FB25, DB1
CALL FB25, DB2

D. Pemrograman Menurut Standar IEC 61131-3 pada instruksi Tabel 7.1 yang digunakan
untuk memprogram fungsi otomatisasi sederhana sesuai dengan standar IEC 61131-3.
Meskipun contoh yang diberikan merupakan aplikasi industri kecil, namun penting
untuk memahami cara memprogram semua fungsi otomatisasi sederhana tersebut. Hal
ini dikarenakan terdapat sejumlah besar otomatisasi sederhana dan kecil yang
digunakan dalam kombinasi untuk membuat aplikasi industri yang lebih besar dan
terintegrasi. Selain instruksi pada Tabel, teks juga menyebutkan bahwa beberapa
instruksi tambahan yang berguna dalam PLC juga akan disajikan. Beberapa contoh
aplikasi industri yang lebih terintegrasi di antaranya:
1. Sorotan Umum dan Batasan dalam Pemrograman PLC
Untuk program yang ditulis dalam bahasa LAD, ada ada dua cara untuk
menjalankan instruksinya. dua cara eksekusi instruksi dalam bahasa pemrograman
PLC (Programmable Logic Controller), yaitu secara serial dan paralel. Dalam
eksekusi serial, instruksi dijalankan baris demi baris, sedangkan dalam eksekusi
paralel, instruksi dijalankan kolom demi kolom. Belum ada cara standar untuk
eksekusi instruksi LAD, dan setiap produsen memiliki pendekatan yang dianggap
paling cocok untuk sistem digitalnya. Meskipun demikian, hasil akhir dari eksekusi
instruksi akan sama terlepas dari metode eksekusi yang digunakan.

Batasan kecerdasan PLC merujuk pada kemampuan CPU untuk menggunakan


kemampuannya secara efisien. Dalam program satu anak tangga LAD yang
ditunjukkan pada Gambar 7.15, jika semua input dinonaktifkan, CPU hanya akan
mengeksekusi instruksi yang diperlukan untuk menghemat waktu dan membuat
siklus pemindaian PLC lebih pendek. Namun, keterbatasan kecerdasan PLC terletak
pada kenyataan bahwa CPU tidak dapat mengaktifkan output digital yang
membutuhkan "aliran daya dalam arah sebaliknya". Hal ini menjadi masalah jika
ingin mengimplementasikan rangkaian otomasi konvensional dalam program LAD,
karena CPU tidak dapat menerapkan logika dari kanan ke kiri. Sebagai hasilnya,
program LAD seperti itu tidak layak dan tidak dapat dimasukkan ke dalam PLC.
Pada implementasi rangkaian Gambar 7.16 sebagai program LAD, implementasi
ini kemungkinan besar akan menghasilkan program LAD hipotetis dari Gambar
7.17a. Solusi untuk masalah ini adalah dengan melihat apa yang dilakukan oleh
rangkaian pada Gambar 7.16, dan untuk mengimplementasikan fungsi ini dengan
tepat tanpa menyalin struktur dan bentuk rangkaian konvensional. Jumlah instruksi
LAD per anak tangga dan batasan jumlah total sub-cabang paralel yang dapat hadir
dalam program yang sama anak tangga yang sama diatur oleh masing-masing
produsen PLC, dan batasan ini biasanya diperkenalkan pada jumlah instruksi LAD
dan jumlah sub-cabang per anak tangga program. Dalam versi awal perangkat lunak
Siemens Step7©, ada batasan pada jumlah instruksi per anak tangga untuk bahasa
LAD dan FBD, serta jumlah cabang dan sub-cabang, namun di lingkungan
perangkat lunak portal TIA saat ini tidak ada batasan seperti itu untuk aplikasi nyata,
dan batasan jumlah cabang ditentukan oleh ukuran memori PLC yang berlaku untuk
semua produsen PLC.
Dalam program LAD, urutan anak tangga akan diperiksa untuk memastikan bahwa
tidak mempengaruhi hasil akhir program. Dalam rangkaian otomasi konvensional,
tidak ada masalah seperti itu karena semua cabang berada di bawah tegangan listrik
yang sama dan beroperasi pada waktu yang sama. Namun, dalam beberapa kasus,
urutan anak tangga dapat mempengaruhi hasil akhir program. Contohnya adalah
pada Gambar 7.19a dan 7.19b, di mana urutan anak tangga yang sama menghasilkan
keluaran yang berbeda. Penting untuk diingat bahwa urutan anak tangga dapat
mempengaruhi hasil, tetapi fokus khusus pada urutan anak tangga hanya diperlukan
saat melakukan debugging perangkat lunak yang dihasilkan. Di antara instruksi
aktivasi yang serupa dalam bahasa Boolean, instruksi terakhir akan menimpa
instruksi sebelumnya.

2. Pemrograman dengan Logika Boolean dan Instruksi Aktivasi


Gambar 7.26a menunjukkan rangkaian otomasi klasik yang menggunakan sensor
S1 untuk mengontrol pengoperasian relai daya C. Sebelum melakukan
pemrograman, diperlukan langkah awal untuk menentukan bagaimana perangkat
input dan output terhubung ke PLC. Hal ini penting untuk dilakukan karena program
PLC tidak memiliki arti jika tidak ada koneksi yang tepat dari perangkat I/O dan
definisi alamat yang sesuai. Gambar 7.26b menunjukkan spesifikasi untuk aplikasi
yang sedang diperiksa, di mana kontak sakelar NO S1 terhubung ke input I1.2 dan
relai C terhubung ke output Q0.2.

3. Pemrograman dengan Timer dan Penghitung Waktu setiap pengatur waktu dapat
mengimplementasikan berbagai jenis fungsi waktu, yang masing-masing
ditentukan oleh instruksi aktivasi yang sesuai. fungsi waktu yang paling dasar
sebagai hasil dari eksekusi program yang sama: Satu-satunya perbedaan adalah
instruksi aktivasi SX yang menjadi:
SP untuk pewaktu pulsa
SE untuk pengatur waktu pulsa yang menahan sendiri
SD untuk pengatur waktu penundaan ON
SS untuk pengatur waktu penundaan ON yang menahan sendiri
SF untuk pengatur waktu tunda OFF dan untuk berbagai kasus perubahan input
(I0.0 atau I1.0) yang menyebabkan pengatur waktu disetel atau disetel ulang
masing-masing.

Setiap pengatur waktu dapat mengimplementasikan berbagai jenis fungsi waktu


yang masing-masing ditentukan oleh instruksi aktivasi yang sesuai. Pengatur waktu
memiliki output yang diaktifkan dan tetap diaktifkan (ON) untuk waktu T dari saat
input timer diaktifkan dengan tepi naik positif. Output timer dinonaktifkan pada saat
input timer dinonaktifkan sebelum waktu T berakhir. Output pengatur waktu juga
dinonaktifkan segera setelah input reset diaktifkan. Pengatur waktu pulsa yang
menahan sendiri memiliki perilaku yang mirip dengan pengatur waktu pulsa
sederhana, kecuali jika input timer dimatikan sebelum waktu T berakhir, output
tetap berenergi sampai pengukuran waktu T telah selesai. Dalam kasus timer tunda
ON-delay, outputnya diaktifkan setelah waktu T telah berlalu dari saat tepi pulsa
naik positif pada input, dan tetap diaktifkan selama input diaktifkan (ON). Pengatur
waktu tunda ON yang menahan sendiri memiliki perilaku yang mirip dengan
pengatur waktu sebelumnya, kecuali bahwa waktu T hitung mundur terus berlanjut
meskipun input timer (I0.0) dinonaktifkan.
Pengatur waktu tunda OFF akan mengaktifkan output pada saat yang sama ketika
input diaktifkan dan akan tetap aktif selama input pengaturan tetap aktif. Jika input
pengatur waktu dinonaktifkan, maka penonaktifan output akan ditunda selama
jangka waktu T (OFF-delay). Ada juga pembaharuan waktu pengukuran T saat
aktivasi dan penonaktifan input secara berurutan. Dalam bahasa LAD, simbol grafis
instruksi pengatur waktu tunda ON-delay ditunjukkan pada Gambar 7.49. Dalam
rangkaian otomasi konvensional, kebutuhan industri yang biasa untuk
menghidupkan mesin dengan penundaan waktu diimplementasikan. Program yang
diperlukan dalam bahasa LAD ditunjukkan pada Gambar 7.50c, di mana waktu T
telah didefinisikan sebagai 30 s. Gambar 7.51 menunjukkan sirkuit otomasi klasik,
koneksi I/O ke PLC dan program LAD untuk pengoperasian mesin (relai C) dengan
waktu penundaan untuk berhenti.
4. Menggunakan Pemrograman Struktural
Bagian ini membahas cara mengimplementasikan pemrograman struktural dengan
contoh-contoh spesifik, seperti penggunaan FC dan FB dalam PLC untuk
mengontrol beberapa motor dan proses produksi. Pemrograman FC mencakup
deklarasi variabel, penamaan FC, pengenalan komentar, dan program otomasi yang
diimplementasikan oleh FC. FC dan program utama diprogram di lingkungan
perangkat lunak PLC yang akan digunakan. FB yang terhubung langsung ke satu
atau lebih blok data juga ditangani dengan cara yang sama. Program otomasi proses
industri dijelaskan melalui struktur yang terdiri dari FB untuk ban berjalan, FC
untuk mesin-mesin pengolah, dan program utama termasuk otomatisasi stasiun
pusat.
5. Memprogram Operasi Matematika
Operasi matematika dalam aplikasi otomasi dapat diprogram dengan mudah.
Pertama, dua angka dimuat dalam dua register yang sesuai, dan kemudian instruksi
yang sesuai dipanggil untuk menjalankan operasi matematika. Urutan register yang
dimuat harus diperhatikan. Hasil operasi matematika selalu ada di register 1 dan
dapat ditransfer ke lokasi lain di memori PLC dengan menggunakan instruksi
transfer. Semua PLC besar yang didedikasikan untuk aplikasi industri memiliki
kumpulan besar operasi matematika yang tersedia.

6. Aplikasi Pemrograman PLC


Tata letak otomasi praktis disajikan dalam bagian ini untuk memperoleh
pengalaman dalam otomasi yang dapat diprogram dan aplikasinya pada proyek
otomasi elektromekanis. Pada tahap ini, diasumsikan bahwa pembaca telah
memahami dasar prinsip-prinsip pemrograman PLC dan memiliki pengalaman yang
cukup dalam pemrograman logika tata letak otomasi sederhana. Beberapa aplikasi
yang dijelaskan di antaranya adalah pengoperasian motor pembalik yang
dikendalikan oleh dua relai daya, dan otomatisasi bintang-delta. Program otomasi
harus mengaktifkan relai C3 setelah menekan tombol START sesaat pada
otomatisasi bintang-delta. Kontak sakelar relai harus menjadi input ke PLC dan
dengan demikian menjadi semacam sensor status relai jika penting untuk
mengetahui bahwa relai telah diaktifkan.

Anda mungkin juga menyukai