Mitsubishi PLC Sequential Function Chart (SFC) Programming: From Beginner to Expert

Abstract: For sequential process control, the step control function (SFC) of Mitsubishi PLC is a more intuitive and powerful solution than traditional ladder diagrams. This article will introduce the core concepts of SFC, programming steps, and tips to avoid common mistakes in a straightforward manner, along with a practical case study demonstrating how it simplifies the programming and debugging of complex processes.

In industrial automation, many production processes are carried out in a fixed sequence, such as robotic operations, packaging machines, and assembly lines. Writing such logic using traditional ladder diagrams (LD) requires a large number of start-stop circuits and interlocks, resulting in lengthy programs that are difficult to debug. Mitsubishi’s SFC (Sequential Function Chart) language was created for this purpose.

1. Core Three Elements of SFC: Step, Transition Condition, Action

  1. Step: Represents a stable state in the process. It is depicted as a rectangular box, with the initial step usually represented by a double-lined rectangle. Each step will execute one or more Actions.

  2. Transition Condition: The “switch” that transitions between steps, represented by a short horizontal line. When the ladder logic condition connected to this line is true, the process will transition from the current step to the next step.

  3. Action: Belongs to a “Step” and indicates the operations to be performed in that step, such as “Set Y0”, “Start Timer”, etc.

2. Programming Practice: Simple Material Sorting System

Control Requirements: After starting, the conveyor belt runs (Y0), stops when material is detected (X0), the cylinder extends (Y1) for 2 seconds to push the material into the bin, and the cylinder retracts (Y2) after a 1-second delay, with the process repeating.

  1. Create SFC Program Block: In GX Works2, create a new program and select the language as “SFC”.

  2. Draw the Process:

  • Initial Step: Usually the waiting state for startup.

  • Transition Condition 0: <span>M0</span> (Start Button), when the condition is met, it enters Step 1.

  • Step 1: Action: <span>SET Y0</span> (Start Conveyor). Transition Condition 1: <span>X0</span> (Material Detected), when met, it enters Step 2.

  • Step 2: Action: <span>RST Y0</span> (Stop Conveyor) and <span>SET Y1</span> (Cylinder Extend). Transition Condition 2: <span>T0</span> (A 2-second timer contact), when met, it enters Step 3.

  • Step 3: Action: <span>SET Y2</span> (Cylinder Retract). Transition Condition 3: <span>T1</span> (A 1-second timer contact), when met, it jumps back to the initial step, waiting for the next startup.

3. Advantages and Debugging Tips

  • Advantages: Logical Visualization, the program structure is clear at a glance; Easy Debugging, it is very intuitive to see which step is currently executing and where it is stuck on a transition condition; Easy Modification, adding or deleting steps has minimal impact on other parts.

  • Tips:

  1. Avoid using “long outputs” in actions (<span>OUT</span> instruction), prefer using “Set” (<span>SET</span>), and use “Reset” (<span>RST</span>) in other steps to avoid conflicts.

  2. Complex parallel branching processes can be easily implemented with SFC, which is a nightmare for ladder diagrams.

  3. Utilizing the simulation function of GX Works2 to track the running status of SFC is the best means for debugging and validating the program.

Conclusion: For projects dominated by sequential control, the SFC programming language of Mitsubishi PLC can greatly enhance development efficiency, reduce errors, and lower the difficulty of later maintenance. Mastering SFC is an essential step for every Mitsubishi PLC engineer on the path to advanced programming.

Leave a Comment