Sequential Function Chart (SFC) pada PLC: Pengertian, Konsep, Cara Kerja, dan Contohnya

Pengertian Sequential Function Chart (SFC)

Sequential Function Chart (SFC) adalah salah satu bahasa pemrograman yang digunakan pada Programmable Logic Controller (PLC) untuk mengembangkan program kontrol yang memiliki proses atau tahapan operasi secara berurutan.

SFC dirancang untuk menggambarkan alur proses atau sequence secara visual sehingga programmer dapat dengan mudah memahami posisi proses, aktivitas yang sedang dijalankan, serta kondisi yang diperlukan untuk berpindah ke proses berikutnya.

Berbeda dengan Ladder Diagram (LD) yang lebih banyak digunakan untuk membuat logika kontrol berbasis kontak dan coil, SFC lebih menitikberatkan pada urutan kejadian atau tahapan proses.

Secara sederhana, konsep SFC dapat dipahami melalui tiga pertanyaan:

STEP = Proses sedang berada di tahap apa?
ACTION = Apa yang dilakukan pada tahap tersebut?
TRANSITION = Kapan proses boleh berpindah ke tahap berikutnya?

SFC sangat sesuai digunakan pada mesin atau sistem industri yang mempunyai banyak tahapan operasi, seperti mesin packaging, conveyor, filling system, batch process, sistem CIP, dan berbagai aplikasi otomasi lainnya.

SFC dalam Pemrograman PLC

Sequential Function Chart merupakan salah satu pendekatan pemrograman yang termasuk dalam keluarga bahasa pemrograman PLC berdasarkan IEC 61131-3.

Dalam praktiknya, SFC dapat digunakan sebagai struktur utama untuk mengatur sequence, sementara logika yang terdapat pada setiap tahap dapat diimplementasikan menggunakan bahasa PLC lainnya, seperti:

  • Ladder Diagram (LD)
  • Structured Text (ST)
  • Function Block Diagram (FBD)

Dengan pendekatan tersebut, SFC dapat berfungsi sebagai kerangka atau pengatur alur proses, sedangkan LD, ST, atau FBD digunakan untuk menangani logika detail.

Contohnya:

                 SFC
        Sequence Control
               │
      ┌────────┼────────┐
      ▼        ▼        ▼
    STEP 1   STEP 2   STEP 3
      │        │        │
      ▼        ▼        ▼
      LD       ST       FBD

Pendekatan ini membuat program PLC lebih terstruktur, terutama ketika sebuah mesin mempunyai sequence yang cukup kompleks.

Konsep Dasar Sequential Function Chart

Terdapat beberapa elemen penting dalam SFC. Tiga konsep utama yang perlu dipahami adalah Step, Action, dan Transition.

1. Step

Step adalah tahapan atau kondisi tertentu dalam suatu proses.

Step menunjukkan posisi sistem saat ini.

Sebagai contoh, pada sistem pengisian tangki dapat dibuat beberapa step:

STEP 0
IDLE

↓

STEP 1
OPEN INLET VALVE

↓

STEP 2
FILL TANK

↓

STEP 3
CLOSE VALVE

↓

STEP 4
START PUMP

↓

STEP 5
PROCESS COMPLETE

Ketika PLC berada pada STEP 2, berarti sistem sedang berada pada tahap Fill Tank.

Dengan demikian, programmer dapat dengan mudah mengetahui proses mana yang sedang aktif.

2. Action

Action adalah aktivitas yang dilakukan ketika sebuah Step sedang aktif.

Misalnya pada Step OPEN INLET VALVE, action yang dijalankan adalah:

Valve_Inlet := TRUE;

Sedangkan pada Step START PUMP:

Pump := TRUE;

Action dapat digunakan untuk:

  • Mengaktifkan output digital.
  • Mematikan output.
  • Menjalankan timer.
  • Mengatur nilai variable.
  • Menjalankan Function Block.
  • Menjalankan logika tertentu.
  • Mengaktifkan proses atau perangkat tertentu.

Contoh:

STEP: START PUMP

ACTION:

Pump := TRUE;

Selama Step tersebut aktif, action akan menjalankan fungsi yang telah ditentukan.

3. Transition

Transition adalah kondisi yang menentukan kapan PLC dapat berpindah dari satu Step ke Step berikutnya.

Sebagai contoh:

STEP
OPEN VALVE

        │
        ▼

TRANSITION
Valve_Open_FB = TRUE

        │
        ▼

STEP
START PUMP

Artinya, PLC akan berpindah dari OPEN VALVE ke START PUMP apabila feedback valve open sudah bernilai TRUE.

Transition dapat berupa berbagai kondisi logika, misalnya:

Start_PB = TRUE

atau:

Valve_Open_FB = TRUE

atau:

Tank_Level >= 80%

atau:

Pressure_OK AND Temperature_OK

atau:

Timer_Done = TRUE

Dengan demikian, Transition berfungsi sebagai syarat perpindahan antar-step.

Contoh SFC pada Sistem Pengisian Tangki

Untuk memahami konsep SFC, kita dapat menggunakan contoh sederhana berupa sistem pengisian tangki.

Misalnya proses yang diinginkan adalah:

  1. Sistem berada pada kondisi standby.
  2. Operator menekan tombol Start.
  3. Valve inlet dibuka.
  4. Setelah valve terbuka, proses pengisian dimulai.
  5. Ketika level mencapai 80%, valve ditutup.
  6. Setelah valve benar-benar tertutup, pompa dijalankan.
  7. Setelah proses selesai, sistem masuk ke kondisi Process Complete.

Sequence tersebut dapat digambarkan sebagai berikut:

┌─────────────────────┐
│ STEP 0              │
│ IDLE                │
└──────────┬──────────┘
           │
        Start_PB
           │
           ▼
┌─────────────────────┐
│ STEP 1              │
│ OPEN INLET VALVE    │
│                     │
│ Valve_Inlet = ON    │
└──────────┬──────────┘
           │
      Valve_Open_FB
           │
           ▼
┌─────────────────────┐
│ STEP 2              │
│ FILL TANK           │
│                     │
│ Valve_Inlet = ON    │
└──────────┬──────────┘
           │
      Level >= 80%
           │
           ▼
┌─────────────────────┐
│ STEP 3              │
│ CLOSE VALVE         │
│                     │
│ Valve_Inlet = OFF   │
└──────────┬──────────┘
           │
     Valve_Close_FB
           │
           ▼
┌─────────────────────┐
│ STEP 4              │
│ START PUMP          │
│                     │
│ Pump = ON           │
└──────────┬──────────┘
           │
        Process_OK
           │
           ▼
┌─────────────────────┐
│ STEP 5              │
│ PROCESS COMPLETE    │
└─────────────────────┘

Dari contoh tersebut terlihat bahwa SFC membuat urutan proses menjadi lebih mudah dipahami.

Cara Kerja SFC pada PLC

Secara sederhana, prinsip kerja SFC adalah sebagai berikut.

1. PLC berada pada Initial Step

Ketika sistem mulai bekerja, PLC berada pada Initial Step, misalnya:

STEP 0 - IDLE

Pada tahap ini sistem belum menjalankan proses utama.

2. Transition diperiksa

PLC kemudian memeriksa kondisi Transition.

Misalnya:

Start_PB = TRUE

Jika kondisi tersebut terpenuhi, PLC berpindah ke Step berikutnya.

3. Step berikutnya menjadi aktif

Misalnya:

STEP 1 - OPEN VALVE

Step tersebut menjadi aktif.

4. Action dijalankan

Action pada Step tersebut dijalankan:

Valve_Inlet = TRUE

Valve kemudian diperintahkan untuk membuka.

5. Transition berikutnya diperiksa

PLC menunggu kondisi:

Valve_Open_FB = TRUE

Ketika feedback valve sudah menunjukkan posisi open, PLC berpindah ke Step berikutnya.

Proses tersebut berulang sampai sequence selesai.

Sequence Paralel pada SFC

Salah satu kemampuan penting SFC adalah menangani parallel sequence.

Dalam beberapa aplikasi industri, setelah satu proses selesai, dua atau lebih proses harus berjalan secara bersamaan.

Misalnya setelah proses filling selesai:

                 FILL COMPLETE
                       │
                 ┌─────┴─────┐
                 │           │
                 ▼           ▼
             START PUMP   OPEN VALVE
                 │           │
                 ▼           ▼
             PUMP READY   VALVE OPEN
                 │           │
                 └─────┬─────┘
                       │
                       ▼
                    STEP NEXT

Dengan sequence paralel, dua proses dapat berjalan secara bersamaan dan kemudian bergabung kembali ketika seluruh kondisi yang diperlukan sudah terpenuhi.

Fitur ini sangat bermanfaat untuk sistem yang memiliki beberapa aktuator atau proses yang bekerja secara simultan.

Branching dan Looping pada SFC

Selain sequence berurutan dan paralel, SFC juga dapat digunakan untuk membuat branching dan looping.

Branching

Branching digunakan ketika proses dapat mengambil jalur yang berbeda berdasarkan kondisi tertentu.

Contohnya:

                 STEP
                  │
                  ▼
            CHECK LEVEL
              /      \
             /        \
            ▼          ▼
       LEVEL LOW    LEVEL HIGH
            │          │
            ▼          ▼
       FILL TANK    NEXT PROCESS

Dengan demikian, sequence dapat menyesuaikan kondisi proses.

Looping

Looping digunakan ketika proses tertentu harus dilakukan berulang kali.

Contohnya:

START
  ↓
PROCESS
  ↓
CHECK
  ↓
Not Complete
  │
  └──────────→ PROCESS

Complete
  ↓
END

Looping sering digunakan pada proses produksi yang membutuhkan pengulangan sampai kondisi tertentu terpenuhi.

Contoh SFC pada Aplikasi Industri

SFC banyak digunakan pada berbagai jenis aplikasi otomasi industri.

1. Packaging Machine

Sequence dapat berupa:

Detect Product
↓
Clamp
↓
Filling
↓
Sealing
↓
Cutting
↓
Release
↓
Complete

2. Conveyor System

Contoh sequence:

Start Conveyor
↓
Detect Product
↓
Stop Conveyor
↓
Process Product
↓
Start Conveyor
↓
Product Exit

3. Batch Process

Pada proses batch:

Charge Material
↓
Mixing
↓
Heating
↓
Temperature Hold
↓
Cooling
↓
Discharge
↓
Batch Complete

4. CIP System

SFC juga cocok untuk sistem Cleaning in Place (CIP):

Pre-Rinse
↓
Caustic Wash
↓
Intermediate Rinse
↓
Acid Wash
↓
Final Rinse
↓
CIP Complete

Aplikasi seperti ini biasanya mempunyai sequence yang panjang dan membutuhkan kondisi perpindahan yang jelas.

SFC vs Ladder Diagram

SFC dan Ladder Diagram sama-sama dapat digunakan untuk pemrograman PLC, tetapi memiliki karakteristik yang berbeda.

AspekSFCLadder Diagram
FokusUrutan prosesLogika kontrol
StrukturStep dan TransitionContact dan Coil
Sequence panjangSangat cocokBisa menjadi kompleks
Visualisasi prosesSangat baikLebih terbatas
Parallel sequenceLebih mudahLebih kompleks
Logika ON/OFF sederhanaBisa digunakanSangat cocok
Troubleshooting sequenceRelatif mudahDapat lebih kompleks
Aplikasi utamaSequence controlLogic control

Sebagai contoh, logika sederhana seperti:

Start AND NOT Stop → Motor ON

biasanya lebih mudah dibuat menggunakan Ladder Diagram.

Sedangkan sequence:

Open Valve
↓
Wait Feedback
↓
Start Pump
↓
Wait Pressure
↓
Stop Pump

lebih mudah divisualisasikan menggunakan SFC.

SFC Tidak Menggantikan Ladder Diagram

Penggunaan SFC tidak berarti Ladder Diagram menjadi tidak diperlukan.

Dalam proyek PLC, beberapa bahasa pemrograman dapat digunakan secara bersamaan.

Contohnya:

             SFC
       Sequence Control
              │
      ┌───────┼───────┐
      ▼       ▼       ▼
    STEP 1  STEP 2  STEP 3
      │       │       │
      ▼       ▼       ▼
     LD       ST      FBD

SFC dapat digunakan untuk mengatur sequence utama, sedangkan Ladder Diagram atau Structured Text digunakan untuk membuat detail logic pada masing-masing proses.

Pendekatan ini dapat membuat program lebih modular dan mudah dipelihara.

Kelebihan Sequential Function Chart

Beberapa kelebihan SFC dalam pemrograman PLC antara lain:

1. Mudah memahami urutan proses

Programmer dapat melihat sequence secara visual dari Step satu ke Step berikutnya.

2. Memudahkan troubleshooting

Ketika mesin berhenti, engineer dapat mengetahui Step mana yang sedang aktif.

Misalnya:

ACTIVE STEP = FILL TANK

Engineer kemudian dapat memeriksa Transition dari proses filling menuju proses berikutnya.

3. Cocok untuk proses kompleks

SFC dapat menangani:

  • Sequence berurutan.
  • Parallel sequence.
  • Branching.
  • Looping.
  • Synchronization.

4. Program lebih terstruktur

Sequence panjang dapat dipecah menjadi beberapa Step sehingga program menjadi lebih mudah dipahami.

5. Memudahkan pengembangan sistem

Ketika sequence perlu ditambahkan atau diubah, struktur Step dan Transition dapat membantu programmer melakukan modifikasi secara lebih terorganisir.

Kekurangan SFC

Walaupun memiliki banyak kelebihan, SFC juga memiliki beberapa keterbatasan.

1. Tidak semua PLC memiliki implementasi yang sama

Dukungan dan fitur SFC dapat berbeda tergantung platform dan software PLC yang digunakan.

2. Kurang praktis untuk logic sederhana

Untuk logika sederhana seperti:

Sensor AND Permissive → Motor ON

Ladder Diagram biasanya lebih sederhana.

3. Membutuhkan pemahaman konsep State

Programmer harus memahami hubungan antara:

Step → Action → Transition → Step berikutnya.

4. Reset dan Initial Step harus dirancang dengan baik

Sequence perlu memiliki kondisi awal, kondisi akhir, serta mekanisme reset yang jelas agar sistem tidak masuk ke kondisi yang tidak diinginkan.

Tips Mendesain SFC untuk Aplikasi Industri

Dalam membuat SFC, beberapa hal berikut perlu diperhatikan.

1. Tentukan Initial Step

Pastikan sistem mempunyai kondisi awal yang jelas.

Contohnya:

STEP 0 - IDLE

2. Gunakan nama Step yang mudah dipahami

Hindari nama seperti:

STEP_001
STEP_002
STEP_003

Jika tidak ada dokumentasi tambahan.

Lebih baik menggunakan nama seperti:

OPEN_INLET_VALVE
FILL_TANK
CLOSE_INLET_VALVE
START_PUMP
PROCESS_COMPLETE

Nama yang jelas akan sangat membantu saat troubleshooting.

3. Gunakan feedback field device

Jangan hanya memberikan perintah:

Valve_Open = TRUE

tetapi gunakan feedback untuk memastikan bahwa valve benar-benar telah terbuka:

Valve_Open_FB = TRUE

4. Gunakan permissive dan interlock

Transition dapat dibuat dengan kondisi seperti:

Valve_Open_FB
AND
Permissive_OK
AND
No_Fault

Hal ini membantu memastikan bahwa perpindahan sequence hanya terjadi ketika kondisi yang diperlukan telah terpenuhi.

5. Tentukan kondisi fault

Sequence sebaiknya memiliki penanganan ketika suatu kondisi tidak tercapai.

Contohnya:

OPEN VALVE
       ↓
WAIT FEEDBACK
       ↓
Feedback tidak muncul
       ↓
TIMEOUT
       ↓
FAULT

Dengan demikian, sistem tidak terus menunggu tanpa batas ketika terjadi masalah pada field device.

SFC dan State Machine

Konsep SFC sangat erat kaitannya dengan State Machine.

Dalam State Machine, sistem memiliki beberapa state dan dapat berpindah dari satu state ke state lain berdasarkan kondisi tertentu.

Contohnya:

       ┌───────────┐
       │   IDLE    │
       └─────┬─────┘
             │ Start
             ▼
       ┌───────────┐
       │    RUN    │
       └─────┬─────┘
             │ Fault
             ▼
       ┌───────────┐
       │   FAULT   │
       └─────┬─────┘
             │ Reset
             ▼
           IDLE

Karena itu, memahami konsep State, Transition, Action, Condition, dan Event akan sangat membantu ketika mempelajari SFC lebih lanjut.

Kesimpulan

Sequential Function Chart (SFC) merupakan pendekatan pemrograman PLC yang sangat cocok untuk sistem otomasi yang mempunyai banyak tahapan atau sequence.

Konsep dasarnya dapat diringkas menjadi tiga bagian:

STEP → Menunjukkan posisi atau tahapan proses.
ACTION → Aktivitas yang dijalankan ketika Step aktif.
TRANSITION → Kondisi yang menentukan perpindahan ke Step berikutnya.

Dengan struktur tersebut, SFC dapat membantu programmer membuat program PLC yang lebih terstruktur, mudah dibaca, mudah ditelusuri, dan lebih mudah ditroubleshooting.

SFC sangat relevan untuk aplikasi seperti packaging machine, conveyor, filling system, batch process, CIP, material handling, dan berbagai sistem otomasi industri yang membutuhkan pengendalian proses secara berurutan.

Bagi seorang automation engineer, memahami SFC juga merupakan langkah penting untuk memahami konsep sequence control dan state machine yang banyak digunakan dalam desain sistem kontrol industri.

Scroll to Top