Tutorial Pemrograman PLC Siemens dengan Tia Portal – TIA Portal merupakan kumpulan perangkat lunak (software) dan tools yang dikembangkan oleh Siemens.
Tujuannya adalah untuk mengintegrasikan berbagai alat pengembangan yang digunakan dalam otomatisasi perangkat, dengan fokus pada penyatuan dan pembaruan perangkat keras yang telah ada sebelumnya seperti Simatic Step 7, Simatic WinCC, dan Sinamics Starter.
Environment ini memiliki tanggung jawab dalam melakukan pemrograman, pengembangan, dan konfigurasi perangkat PLC Siemens, HMIs, dan inverter frekuensi.
Logika pemrograman pengguna dalam TIA Portal mengadopsi struktur blok, yang berfungsi sebagai alat bantu untuk memfasilitasi pengembangan, pemeliharaan, dan diagnostik mesin dan proses industri.
Pendekatan yang terstruktur dan terorganisir dalam pengembangan memungkinkan efisiensi yang lebih baik dalam proses tersebut.
Step7 adalah perangkat lunak yang digunakan untuk memprogram PLC dari keluarga S7-1200, S7-1500, S7-300, dan S7-400.
Selain itu, WinAC dan yang terbaru, S7-1500 Software Controller, merupakan alternatif kontroler yang dapat digunakan sebagai pengganti komputer industri.
Pada Step7, tersedia beberapa bahasa pemrograman yang dapat digunakan, antara lain Ladder, FBD (Function Block Diagram), SCL (Structured Control Language), STL (Statements List), dan S7 GRAPH.
Setiap bahasa pemrograman ini memiliki kegunaan dan ciri khasnya sendiri yang dapat disesuaikan dengan kebutuhan dan kompleksitas program yang ingin dibuat.
Development layar HMI dalam WinCC dapat diterapkan pada berbagai sistem pengawasan, termasuk komputer, sistem terisolasi, atau SCADA, serta panel operasi Basic, Comfort, dan Mobile.
Hal ini memungkinkan pengguna untuk mengembangkan antarmuka pengguna yang sesuai dengan kebutuhan dan tipe sistem yang digunakan.
Protokol komunikasi yang umum digunakan dalam industri adalah Profibus, PROFINET, dan AS-I (Actuator Sensor Interface).
Untuk menjalin komunikasi dengan PLC, penting untuk memperhatikan keberadaan CM (Communication Module) yang berfungsi untuk mengatur komunikasi dalam berbagai protokol industri yang berbeda, seperti Modbus dan CANOpen.
Di bawah ini terdapat gambar yang menampilkan fitur-fitur utama dari SIMATIC STEP 7 dan SIMATIC WinCC.
Perangkat keras kontroler bertanggung jawab atas pengawasan status pabrik dan pengendalian elemen aktuator yang terhubung.
Sistem operasi berperan sebagai interpreter yang menjalankan algoritma tertentu. Sistem operasi pada PLC bertugas menerjemahkan instruksi logis ke dalam tindakan fisik sesuai dengan program pengguna dan konfigurasi perangkat keras yang ada pada PLC.
Pemrograman controller menggunakan arsitektur yang terstruktur menjadi beberapa blok utama, yaitu OB (Organization Blocks), FC (Functions), FB (Function Blocks), dan DB (Data Blocks). Setiap blok memiliki peran dan fungsi spesifik dalam pengembangan program untuk controller.
Baca Cepat :
TogglePentingnya Memahami Blok Organisasi dalam TIA Portal
Blok organisasi merupakan bagian yang sangat terkait dengan siklus pelaksanaan program dan penanganan gangguan.
Hal ini disebabkan oleh eksekusi blok-blok tersebut yang terkait dengan trigger yang telah ditentukan sebelumnya, seperti interval waktu atau deteksi kegagalan perangkat keras.
Blok OB1, yang juga dikenal sebagai blok utama, memiliki peran yang sangat penting dalam inisialisasi dan pemindaian urutan pemanggilan blok lain yang sesuai dengan kode yang telah diimplementasikan.
Berbeda dengan blok OB lainnya, OB1 adalah blok eksekusi siklik dan berkelanjutan.
Dari representasi yang ada dalam gambar, eksekusi program dimulai dengan isi dari blok OB1 secara linear dan sinkron, dengan kode dieksekusi dari kiri ke kanan dan dari awal hingga akhir blok.
Setelah eksekusi blok utama selesai, CPU akan melanjutkan eksekusi kode dari awal lagi, dan proses ini akan berulang tanpa batas sesuai dengan siklus kerja yang telah ditentukan.
Meskipun pengguna membuat beberapa blok fungsi dan data, PLC hanya akan mengeksekusi instruksi yang diatur dan dalam urutan yang telah ditentukan melalui blok OB1.
Pada gambar di bawah, terlihat penciptaan subprogram seperti yang ditunjukkan oleh panggilan blok, yang dapat mengandung panggilan tersembunyi.
Karena pembentukan instruksi dalam fungsi utama bergantung pada pemrosesan semua fungsi yang ditugaskan, waktu siklusnya dapat berfluktuasi tergantung pada kondisi pabrik dan kondisi pemrograman yang tidak terduga.
Untuk menghindari kegagalan logis atau memastikan eksekusi siklik dengan periode aktivasi yang berkelanjutan dari beberapa perawatan logis khusus, direkomendasikan untuk menggunakan Cyclic Interruption OB.
Blok Cyclic Interrupt dieksekusi secara siklik dengan interval waktu yang telah ditentukan antara setiap eksekusi saat blok tersebut dibuat.
Oleh karena itu, setiap 100 ms, pemrosesan saat ini dihentikan untuk melaksanakan instruksi yang ada dalam blok Cyclic Interrupt.
Pentingnya Memahami Function (FC) di Tia Portal
Fungsi (FC) mencakup algoritma tertentu dan mengembalikan nilai ke variabel yang telah didefinisikan sebagai output, berdasarkan variabel input serta pemeriksaan yang dilakukan di dalam blok tersebut.
Variabel-variabel lokal yang dideklarasikan dalam FC memiliki karakteristik yang bisa berupa In (input), Out (output), InOut (input dan output), Temp (temporary), atau Constant (konstan).
- Input: input merujuk pada parameter masukan dari sebuah fungsi. Penggunaan input ini penting untuk membedakan antara berbagai kondisi panggilan untuk fungsi yang sama.
- Output: output merujuk pada parameter keluaran dari sebuah fungsi. Pemberian output ini penting untuk membedakan berbagai tindakan panggilan untuk fungsi yang sama.
- InOut: Input dan Output mengacu pada parameter yang dapat diatur sebagai masukan dan keluaran pada saat yang bersamaan. Ini berguna untuk mengurangi kesalahan dalam penulisan parameter masukan.
- Temporary: ini merujuk pada variabel sementara yang ditempatkan pada ruang memori acak CPU saat blok dimulai, dan nilainya dihapus saat blok selesai dieksekusi, tanpa kemungkinan penyimpanan atau referensi global.
- Konstan: ini merujuk pada variabel sementara yang nilainya tetap dan didefinisikan pada saat deklarasi.
Pentingnya Memahami Function Block (FB) di Tia Portal
Di bawah ini, kita melihat diagram yang disederhanakan dari FB (Function Block), yang memiliki struktur dan fungsi yang mirip dengan FC (Function), namun dengan tambahan penciptaan iDB (Instance Data Blocks) yang terhubung dengan setiap panggilan FB.
Variabel yang digunakan dalam FC juga dapat digunakan dalam FB, tetapi FB memiliki satu jenis variabel tambahan yang disebut statis.
Variabel statis adalah variabel yang nilainya tetap dan disimpan dalam memori non-volatile CPU yang dapat diakses dari seluruh program (variabel global).
Ketika FB dipanggil dalam proses pemrograman, perlu untuk menetapkan instance DB (Instance Data Blocks) untuk setiap panggilan yang diperlukan.
Dengan demikian, setiap panggilan yang berbeda dari FB yang sama memiliki ruang memori yang terpisah.
Gambar di bawah ini mengilustrasikan penggunaan beberapa panggilan dari FB yang sama. Misalkan FB ini dinamakan “Motors,” panggilan ini terletak dalam dua baris kode yang berbeda dan ditugaskan dua iDB (Instance Data Blocks) unik yang terkait dengan panggilan khususnya.
Dengan demikian, variabel statis yang disebut “Motor_On” menunjukkan kondisi motor yang terkait dengan DB-nya.
Mengenal User Data Type di Tia Portal
Di TIA Portal, selain dari jenis data yang umum seperti Integer, Real, Boolean, dan sebagainya, variabel juga dapat berasal dari tipe data yang telah didefinisikan sebelumnya yang disebut User Data Type (UDT).
Tipe data ini dapat memiliki struktur yang dapat berubah dan terdiri dari kombinasi jenis data lain yang tersedia, termasuk array.
Penggunaan UDT membantu dalam mengorganisasi dan mereplikasi struktur data, sehingga memudahkan dalam pengembangan dan diagnostik program.
Contoh Pengoperasian Motor Listrik
Pada contoh ini, kita akan menggunakan Function Block, Function, Data Type, dan Data Block untuk menangani dan meningkatkan tugas sederhana dalam mengoperasikan mesin.
Langkah pertama adalah membuat tipe data “Motor”, yang mencakup semua informasi yang diperlukan untuk berinteraksi dengan HMI (Human Machine Interface).
Untuk mengoperasikan FC (Function Block) Motor kami, parameter input dan output harus mencakup semua peralatan fisik yang dibutuhkan untuk mengoperasikan motor.
Ini termasuk selektor switch dan remote, tombol start dan stop, serta sensor umpan balik yang mengukur status motor.
Parameter “Data” dari jenis data “Motor” yang baru saja kita buat, dan output (untuk mengaktifkan kontak motor), harus didefinisikan sebagai InOut karena akan digunakan sebagai parameter input dan output di seluruh program.
Data dari motor kita, yang merupakan tipe data “Motor”, perlu disimpan dalam Data Block global, di mana setiap motor diwakili sebagai satu variabel dari jenis data tersebut untuk setiap motor yang akan dioperasikan.
Oleh karena itu, bermanfaat untuk membuat array dari tipe data “Motor” dengan panjang yang sama dengan jumlah mesin yang diinginkan.
Fungsi ini dapat memantau sensor umpan balik dan kondisi output motor untuk mendiagnosis kemungkinan skenario cacat.
Jika umpan balik terus berjalan tanpa perintah dari PLC untuk memulai mesin, kita dapat mengidentifikasi sensor atau kontak yang rusak.
Kondisi kedua dan ketiga terjadi saat motor tidak bergerak meskipun perintah PLC telah merangsang bobin kontak, yang dapat diidentifikasi sebagai kelebihan beban saat ini, sensor rusak, atau kontak kontaminan. Memori Kesalahan Motor tetap aktif hingga operator meminta reset kesalahan dari HMI.
Setelah tidak ada kesalahan mesin, fungsi kami menangani kondisi untuk benar-benar mengaktifkan mesin.
Mesin ini dapat dioperasikan dari Inputs Push-Button Lokal, Remote Manual On and Off Commands, dan remote Automatic Commands.
Setelah motor dan umpan baliknya dievaluasi untuk waktu pemantauan yang ditentukan sebelumnya, memori umpan kembali “Motor Running” diaktifkan untuk informasi dan tampilan status di HMI.
Salah satu keuntungan utama dari penggunaan function adalah kemampuannya untuk mereplikasi logika untuk sub-sistem yang serupa.
Sebagai contoh, untuk mengatasi tindakan motor yang serupa (dalam hal fungsi proses), itu cukup mudah dengan melakukan replikasi panggilan blok dan memasukkan parameter yang sesuai untuk setiap motor.
Sebagai alternatif, struktur logis lain yang bisa digunakan untuk program ini adalah menggunakan Function Block (FB) alih-alih Function (FC) Block.
Dengan pendekatan ini, tidak akan diperlukan pembuatan Data Block untuk menyimpan Data Motor.
Sebaliknya, kita akan menggunakan tag Statics (Instance Data Block) dari lingkungan panggilan yang terkait dengan motor spesifik.
Struktur parameter FB akan sangat mirip dengan FC, satu-satunya perbedaan adalah jenis data parameter yang sekarang didefinisikan sebagai Static.
Ketika Function Block (FB) Motor dimasukkan ke dalam program pengguna untuk membuat panggilan Motor 3, proses wizard akan dimulai untuk membantu dalam pembuatan Data Block yang akan terhubung dengan panggilan FB tersebut.
Dengan pendekatan ini, kita dapat menghubungkan Data Block ke Multi-Instance Data Block, yang didefinisikan sebagai tag dari jenis data “Motor_FB” dalam parameter statis FB “Motors_Calls”.
Strategi ini melibatkan struktur program tertentu di mana beberapa peralatan dan operasi terfragmentasi menjadi blok fungsi, memungkinkan untuk replikasi dan organisasi memori yang efisien.
Hal tersebut dilakukan dengan mengkondensasikan semua multi-instance DB ke dalam satu DB dari panggilan fungsi asli.
Kesimpulan
Kesimpulan dari penggunaan software TIA Portal adalah adanya berbagai fitur yang mendukung pengembangan, strukturisasi data, intervensi pemeliharaan, dan skalabilitas proses serta peralatan industri.
Meskipun ada berbagai pendekatan dalam pemrograman PLC untuk mencapai hasil yang sama, selalu bermanfaat untuk mencari cara yang paling efisien.