Program Step-by-step berguna untuk memudahkan pembuatan program PLC untuk pengendalian urutan kerja (sequence) pada suatu sistem otomasi. Berikut ini saya berikan informasi praktis tentang konsep, pemrograman dan implementasinya.
Diagram step-by-step menggambarkan satu per satu tahapan proses kerja yang berubah berdasarkan kondisi logika input. Tahapan (step) digambarkan dengan kotak bertulisakan nomor urut yang dihubungkan ke output yang dikehendaki. Tahapan (step) berubah ke tahapan berikutnya jika ada transisi yang aktif. Transisi merupakan kondisi logika yang diberikan untuk memulai tahapan berikutnya, bisa berupa sebuah sensor atau beberapa sensor.
Sebelah kiri merupakan diagram step-step, sedangkan bagian tengah dan paling kanan merupakan program PLC dengan Function Block Diagram (FBD).
Diagram Step-step dibaca menurun dengan nomor step bertambah. Pada setiap saat, hanya ada satu step yang aktif. Selanjutnya kotak step ini dihubungkan mendatar ke output-output yang diperlukan. Kode S,R atau N merupakan status memori yang diberikan ke ouput. Stored (S) berarti pada saat pemanggilan, maka output yang bersangkutan nilainya disimpan dan selalu aktif. Meskipun tahapan sequence sudah bertambah, output tersebut tetap aktif. Output akan mati apabila ada step yang mereset (R=Reset). Sedangkan N artinya not-stored, yaitu output hanya aktif pada saat step tersebut berjalan.
Program PLC memiliki 3 bagian utama, yaitu rangkaian transisi, program step-step, dan yang terakhir adalah implementasi output. Rangkaian transisi diperlukan terpisah jika memiliki syarat-syarat yang kompleks. Namun jika cukup sederhana syaratnya, transisi bisa digabung dengan program utama step-step nya. Transisi ini biasanya menggunakan rangkaian logika sederhana dengan operasi AND / OR / Not dan terkadang berasal dari input, timer, atau counter.
Program step-step memiliki konsep bahwa:
- Setiap tahapan (step) pada program menggunakan fungsi Flip-flop, dimana ada input SET untuk mengaktifkan flip-flop dan input RESET untuk mematikan flip-flop. Keluaran dari flip-flop dinyakatakan dengan variable STEPn.Q
- Step yang sekarang (n) hanya bisa diaktifkan jika step sebelumnya (n-1) sudah aktif. Atau, step sekarang (n) adalah syarat untuk step berikutnya (n+1) aktif.
- Step sekarang (n) harus mematikan step sebelumnya (n-1) sesaat step-n aktif. Demikian juga, step berikutnya (n+1) harus mematikan step sekarang (n)
- Semua step harus dapat mati sekaligus apabila ada sinyal EMG (emergency stop). Untuk aplikasi ini, gunakan operasi OR pada input reset setiap flip-flop n.
Dengan konsep tersebut, maka hanya ada satu step yang aktif pada saat yang sama, dan tidak ada step yang berjalan tanpa berurutan, meskipun ada transisi yang aktif. (untuk mencegah aktifnya output yang tidak sesuai urutan)
Pada bagian implementasi output, perlu diperhatikan bahwa hanya SATU pernyataan untuk SATU output. Artinya, tidak boleh ada pernyataan output (statement) yang lebih dari satu untuk variable output yang sama. Jika ada output yang aktif pada lebih dari satu step, maka gunakan operasi OR untuk menggabungkan urutan step yang sesuai.