Scale and compare
The high-level output turns on above 80 % and turns off only below 75 %.
Step by step
Pick a step. The rungs are drawn by the editor after Core scans the program up to that step.
SCALE_LINEAR
InGlobal.Raw_mA12In Lo4In Hi20Out Lo0Out Hi100DestGlobal.Level50
GRT
AGlobal.Level50B80
Global.HighLevelXIC
GEQ
AGlobal.Level50B75
Global.HighLevelOTE
1. 12 mA. SCALE gives 50 %. Neither branch passes, so HighLevel is off.
SCALE_LINEAR
InGlobal.Raw_mA18In Lo4In Hi20Out Lo0Out Hi100DestGlobal.Level87.5
GRT
AGlobal.Level87.5B80
Global.HighLevelXIC
GEQ
AGlobal.Level87.5B75
Global.HighLevelOTE
2. 18 mA. 87.5 % is above 80. The GRT branch turns HighLevel on.
SCALE_LINEAR
InGlobal.Raw_mA17In Lo4In Hi20Out Lo0Out Hi100DestGlobal.Level81.25
GRT
AGlobal.Level81.25B80
Global.HighLevelXIC
GEQ
AGlobal.Level81.25B75
Global.HighLevelOTE
3. 17 mA. 81.25 % is still above 80.
SCALE_LINEAR
InGlobal.Raw_mA16.5In Lo4In Hi20Out Lo0Out Hi100DestGlobal.Level78.125
GRT
AGlobal.Level78.125B80
Global.HighLevelXIC
GEQ
AGlobal.Level78.125B75
Global.HighLevelOTE
4. 16.5 mA. 78.125 % is below 80, so GRT blocks. The seal branch holds HighLevel on, because the level is at least 75.
SCALE_LINEAR
InGlobal.Raw_mA15.5In Lo4In Hi20Out Lo0Out Hi100DestGlobal.Level71.875
GRT
AGlobal.Level71.875B80
Global.HighLevelXIC
GEQ
AGlobal.Level71.875B75
Global.HighLevelOTE
5. 15.5 mA. 71.875 % is below 75, so the seal branch opens and HighLevel turns off.
SCALE_LINEAR
InGlobal.Raw_mA16.5In Lo4In Hi20Out Lo0Out Hi100DestGlobal.Level78.125
GRT
AGlobal.Level78.125B80
Global.HighLevelXIC
GEQ
AGlobal.Level78.125B75
Global.HighLevelOTE
6. 16.5 mA. Back to 78.125 %. HighLevel stays off, because only the GRT branch can turn it on.
| Step | Raw_mA | Level | HighLevel |
|---|---|---|---|
| 1. 12 mA | 12 | 50 | 0 |
| 2. 18 mA | 18 | 87.5 | 1 |
| 3. 17 mA | 17 | 81.25 | 1 |
| 4. 16.5 mA | 16.5 | 78.125 | 1 |
| 5. 15.5 mA | 15.5 | 71.875 | 0 |
| 6. 16.5 mA | 16.5 | 78.125 | 0 |
Why it works
- SCALE maps 4 to 20 mA onto 0 to 100 %, so 12 mA is 50 %.
- The first branch turns HighLevel on above 80. The second branch is a seal: once HighLevel is on it stays on while Level is at least 75.
- Steps 4 and 6 have the same level but a different result. The 5 % gap is the deadband. Without it, a level hovering at 80 turns the output on and off every scan.
Common mistakes
- One compare for on and offGRT Level 80 alone chatters when the level ripples around 80.
- Ignoring a broken sensorBelow 4 mA the scaled value goes negative. Check for a low mA value and treat it as a fault.