I created this PLC program when I attended the high school. It would work for a traction elevator featuring four levels, automatic doors and double speed.
The count proximity switch detects a set of magnets fixed in the shaft near the middle floors. Due to the count proximity the elevator moves in the correct direction and the motor speed decreases once the car is near a requested floor.
Two dump switches fixed in the shaft are activated when the elevator is close to the extreme floors. Due to the dump switches the PLC recognizes the position of the car when the control panel is supplied. In that condition both direction instructions would be activated by any request. The down instruction prevails because the other one features a small delay.
The level proximity switch stops the elevator when it reaches the requested floor.
If the PLC takes a request and the direction contactors are not activated within a certain time (RMP), the request is deleted through the SFB input.
The exterior requests delay is set by the RMP timer.
Though the program has been tested with a PLC simulator, it has never worked on a real elevator model.