A stuck SFC routine can stop a machine sequence, freeze production, or leave equipment waiting in a step that no longer matches the real process. In Unity Pro and EcoStruxure Control Expert, sfc auto reset is used as a practical control strategy to return a Sequential Function Chart to a known safe starting state when the routine becomes disabled, faulted, or trapped in the wrong step. The goal is not just to “restart” the chart, but to reset it in a controlled way so the PLC logic, outputs, interlocks, and process conditions all agree before the sequence runs again.
| SEO Key | Article Detail |
|---|---|
| Focus Keyword | sfc auto reset |
| Main Topic | Fixing stuck SFC routines |
| Software Context | Unity Pro / EcoStruxure Control Expert |
| Audience | US and UK automation engineers, technicians, and PLC learners |
| Search Intent | Technical guide and troubleshooting |
What Is sfc auto reset in PLC Programming?
sfc auto reset is a logic approach used to clear or reinitialize a Sequential Function Chart when it no longer behaves as expected. SFC routines are commonly used for step-by-step processes such as filling, mixing, indexing, washing, batching, packaging, and machine start-up sequences. Each step becomes active when its transition condition is true, and the next step runs only when the logic allows it.
In Schneider Electric systems, Unity Pro is now commonly referred to under the EcoStruxure Control Expert platform. Schneider describes EcoStruxure Control Expert as the IEC programming software for Modicon PACs, including platforms such as M340 and M580. This matters because many engineers still say “Unity Pro” while newer documentation and support pages may use “Control Expert.”
A reset strategy becomes important when the sequence gets stuck because of a failed sensor, an operator stop, a power cycle, an emergency stop, or an interrupted transition. Without a clean reset method, the chart may remain in a step that is no longer valid.
Why sfc auto reset Matters for Stuck Routines
A stuck SFC routine is not always a programming error. Sometimes it is caused by real-world process conditions. A valve may not open, a motor feedback may not arrive, a product sensor may stay blocked, or an operator may stop the machine halfway through a cycle. When the PLC restarts, the chart may still remember a step that no longer fits the actual machine position.
This is where sfc auto reset helps. It gives the program a defined way to bring the routine back to a known initial state. A good reset design prevents random restarts, clears active steps, and avoids outputs staying on because a step action was not properly released.
| Common Cause | Result in SFC Routine | Reset Need |
|---|---|---|
| Emergency stop during cycle | Active step may remain latched | Clear active sequence safely |
| Sensor failure | Transition never becomes true | Reset after fault handling |
| Power interruption | Chart may restart in old state | Force known startup state |
| Disabled routine | Actions may not fully clear | Reset steps and outputs |
| Operator abort | Sequence stops mid-process | Return to initial step |
How sfc auto reset Works in Unity Pro and Control Expert
In simple terms, sfc auto reset checks for a condition that means the chart should not continue from its current step. That condition may be a cold start, machine reset request, fault reset, recipe change, mode change, or operator abort. Once the reset condition is true, the logic sends the SFC back to its initial state.
Schneider Electric’s support guidance for EcoStruxure Control Expert explains that the INITCHART block can be implemented to reset an SFC sequence back to the initial step during runtime, allowing normal start from that selected chart state. This is a key point because it means the reset should be handled through proper SFC control logic, not by randomly forcing bits or manually clearing memory without understanding chart behavior.
The best reset design usually separates three things: stopping the chart, clearing unsafe outputs, and reinitializing the chart. If all three happen at once without order, the program may appear to work during testing but fail during a real fault.
sfc auto reset Conditions That Should Be Checked
A reliable sfc auto reset should not trigger just because the sequence is slow. Some machines need time for heating, filling, draining, or motion completion. A better approach is to reset only when a clear reset condition exists.
The program should normally check machine mode, safety status, active faults, operator command, and whether the process is allowed to return to the start. For example, if a conveyor sequence is stuck because a product is still inside the machine, resetting the chart without removing or tracking that product could create a collision or product damage.
| Reset Condition | Safe Use Case |
|---|---|
| Cold start | PLC powers up and needs deterministic state |
| Operator reset | Human confirms the process can restart |
| Fault reset | Fault is cleared and outputs are safe |
| Auto mode disabled | Sequence should not continue running |
| Batch abort | Recipe or process cycle is cancelled |
| Maintenance mode | Technician needs chart returned to start |
sfc auto reset and Output Safety
One common mistake is assuming that resetting the chart automatically makes every output safe. In real machines, outputs may be controlled by step actions, interlocks, separate function blocks, manual mode logic, or retained variables. A chart reset can clear the active step, but the programmer still needs to confirm what happens to motors, valves, heaters, clamps, and motion commands.
A safe reset should make sure outputs are driven by current logic, not old step memory. This is especially important when using set and reset actions inside SFC steps. If an output is set when entering a step but not reset when leaving it, the machine may keep running even after the chart has moved or stopped.
For this reason, the reset routine should include a clear output handling strategy. That does not always mean turning everything off instantly. Some processes need controlled shutdowns, such as closing a valve before stopping a pump or venting pressure before opening a door. The reset should match the machine’s safety design and process requirements.
Fixing a Stuck SFC Routine Step by Step
When troubleshooting a stuck routine, first identify the active step. Then check the transition condition that should move the chart forward. Most stuck routines are caused by a transition that never becomes true. This may be a missing sensor signal, an incorrect timer, a disabled permissive, or a logic condition that was valid during design but not during real operation.
Next, check whether the chart is enabled. If the routine has a condition variable or enable bit, confirm that it is not preventing execution. A disabled chart may appear stuck when it is actually frozen. After that, review the step actions. Some actions may depend on variables that are no longer changing because the routine has stopped.
Only after these checks should sfc auto reset be used. Resetting too early can hide the true fault. The better method is to record the active step, fault reason, and reset source before clearing the chart. This makes future troubleshooting much easier.
Best Practice Table for sfc auto reset Logic
A strong sfc auto reset design should be predictable, readable, and easy to maintain. It should also avoid surprise restarts. After a reset, the routine should wait for a valid start command unless the process has been specifically designed for automatic recovery.
| Best Practice | Why It Matters |
|---|---|
| Reset on cold start | Prevents unknown startup behavior |
| Use a clear reset command | Avoids accidental chart clearing |
| Log the stuck step | Helps diagnose repeat failures |
| Clear unsafe outputs first | Reduces machine risk |
| Reinitialize the chart correctly | Returns logic to known state |
| Require restart confirmation | Prevents unexpected motion |
| Test in simulation first | Finds logic errors before live use |
Common Mistakes When Using sfc auto reset
The first mistake is using reset logic as a shortcut for poor transition design. If a chart keeps getting stuck, the real issue may be unclear permissives, weak sensor validation, or missing fault logic. The reset should recover from abnormal states, not replace proper sequence design.
The second mistake is resetting while the process is still physically mid-cycle. A PLC can return to the first step in milliseconds, but the machine may still have a part clamped, a tank half-filled, or an actuator extended. The software state and physical state must be brought back together.
The third mistake is allowing automatic restart after reset without checking safety and operator intent. In many systems, reset should prepare the sequence, not immediately launch it. The start command should be separate so the operator or supervisory system has control.
When sfc auto reset Should Not Be Used
There are situations where sfc auto reset is not the right answer. If the machine is in an emergency stop condition, the chart should not simply reset and continue. If a safety device is open, a motion axis is not homed, or a product is in an unknown position, the system should require manual recovery.
It should also be avoided when the process contains material that could be wasted, overheated, mixed incorrectly, or released unsafely. In batch processes, resetting the sequence may require recipe cleanup, material tracking, or quality checks before restarting.
A good rule is simple: use automatic reset for software state recovery, but use controlled recovery for physical process uncertainty.
Final Thoughts on sfc auto reset
sfc auto reset is a useful way to fix stuck SFC routines, but it must be designed with care. In Unity Pro and EcoStruxure Control Expert, the reset should bring the chart back to a known starting point, clear unsafe logic states, and prevent unexpected machine action. Schneider’s INITCHART guidance shows that proper runtime initialization is available for SFC handling, but the surrounding logic still needs to be engineered correctly.



