Step sequence in ladder
Step 0 waits for Start, step 1 fills, step 2 mixes for a time, then the cycle goes back to step 0.
Step by step
Pick a step. The rungs are drawn by the editor after Core scans the program up to that step.
EQU
AGlobal.Step1B0
Global.StartPBXIC
Source
Dest1
EQU
AGlobal.Step1B1
Global.FillValveOTE
EQU
AGlobal.Step1B1
Global.LevelHighXIC
Source
Dest1
EQU
AGlobal.Step1B2
Global.MixerOTE
EQU
AGlobal.Step1B2
Global.MixTimeTON
PRE 1200 ACC 0 EN 0 TT 0 DN 0
EQU
AGlobal.Step1B2
Global.MixTime.DNXIC
Source
Dest1
1. Press StartPB. Rung 0 moves Step to 1. Rung 1 is below it, so FillValve opens in the same scan.
EQU
AGlobal.Step1B0
Global.StartPBXIC
Source
Dest1
EQU
AGlobal.Step1B1
Global.FillValveOTE
EQU
AGlobal.Step1B1
Global.LevelHighXIC
Source
Dest1
EQU
AGlobal.Step1B2
Global.MixerOTE
EQU
AGlobal.Step1B2
Global.MixTimeTON
PRE 1200 ACC 0 EN 0 TT 0 DN 0
EQU
AGlobal.Step1B2
Global.MixTime.DNXIC
Source
Dest1
2. Release StartPB. Step stays at 1 and the tank keeps filling.
EQU
AGlobal.Step2B0
Global.StartPBXIC
Source
Dest2
EQU
AGlobal.Step2B1
Global.FillValveOTE
EQU
AGlobal.Step2B1
Global.LevelHighXIC
Source
Dest2
EQU
AGlobal.Step2B2
Global.MixerOTE
EQU
AGlobal.Step2B2
Global.MixTimeTON
PRE 1200 ACC 0 EN 1 TT 1 DN 0
EQU
AGlobal.Step2B2
Global.MixTime.DNXIC
Source
Dest2
3. Tank full. Rung 2 moves Step to 2. FillValve was already written this scan, so it closes on the next one. Rungs 3 and 4 start Mixer and MixTime.
EQU
AGlobal.Step2B0
Global.StartPBXIC
Source
Dest2
EQU
AGlobal.Step2B1
Global.FillValveOTE
EQU
AGlobal.Step2B1
Global.LevelHighXIC
Source
Dest2
EQU
AGlobal.Step2B2
Global.MixerOTE
EQU
AGlobal.Step2B2
Global.MixTimeTON
PRE 1200 ACC 600 EN 1 TT 1 DN 0
EQU
AGlobal.Step2B2
Global.MixTime.DNXIC
Source
Dest2
4. Scan 4. FillValve closes. MixTime reaches PRE and rung 5 moves Step back to 0. Mixer was written above it, so it stops on the next scan.
EQU
AGlobal.Step0B0
Global.StartPBXIC
Source
Dest0
EQU
AGlobal.Step0B1
Global.FillValveOTE
EQU
AGlobal.Step0B1
Global.LevelHighXIC
Source
Dest0
EQU
AGlobal.Step0B2
Global.MixerOTE
EQU
AGlobal.Step0B2
Global.MixTimeTON
PRE 1200 ACC 1200 EN 1 TT 0 DN 1
EQU
AGlobal.Step0B2
Global.MixTime.DNXIC
Source
Dest0
5. Scan 5. Step is 0. Every output is off and MixTime has reset. The cycle waits for Start.
| Step | Step | FillValve | Mixer | MixTime.ACC |
|---|---|---|---|---|
| 1. Press StartPB | 1 | 1 | 0 | 0 |
| 2. Release StartPB | 1 | 1 | 0 | 0 |
| 3. Tank full | 2 | 1 | 1 | 0 |
| 4. Scan 4 | 2 | 0 | 1 | 600 |
| 5. Scan 5 | 0 | 0 | 1 | 1200 |
Why it works
- Only one value of Step can be true at a time, so only one step's outputs are on.
- Each step has its own rungs: an EQU, what the step does, and a rung that moves Step on when its condition is met.
- Rungs run from the top down. A MOV that changes Step affects the rungs below it in the same scan, and the rungs above it on the next scan.
Ladder or SFC
- A short cycle with one path reads well in ladder.
- Use a Sequential Function Chart when steps branch, run in parallel or need timed actions. Each step then has a status tag and the chart shows where it is.
Common mistakes
- Latching outputs in a stepAn OTL stays on after the step ends. Use OTE under the EQU so the output turns off when the step changes.
- Two rungs moving Step in one scanIf two conditions are true together, the lower rung wins. Give each step one exit rung, or order them on purpose.