One stop shop for Train Simulator downloadable content, routes, scenarios, reskins, patches mods and user generated free, subscription and payware Train Sim addons.
IF NOT movingUp AND NOT movingDown AND NOT doorOpen THEN // Idle – look for any pending calls FOR i := 1 TO N DO IF carCall[i] OR callUp[i] OR callDown[i] THEN targetFloor := i; IF i > currentFloor THEN movingUp := TRUE; ELSIF i < currentFloor THEN movingDown := TRUE; ELSE doorOpen := TRUE; // already there ENDIF; EXIT; ENDIF; ENDFOR; END_IF DoorTimer(IN:= doorOpen OR doorCloseRequest, PT:= T#3s); IF DoorTimer.Q THEN doorOpen := FALSE; // after doors close, re-evaluate next target END_IF d. Safety Interlock In any real elevator project, you’ll see:
❌ – Sensor flicker triggers multiple stops. ✅ Use TON or R_TRIG to confirm floor arrival for >20ms.