Programming of Elevators Unlighting Buttons

Oct 2013
711
91
New York, USA
Elevators aren't computers (unless they have a part that is a computer), but my question is related. From experience, I made what I call "the elevator riddle." How do you make an elevator unlight a button without going to that floor? The elevator works properly, and you can't break it or push an Emergency button. The answer is to push buttons in opposite directions. Where I work, when the elevator gets to the bottom, it unlights all the buttons even if there are higher floors it hadn't gone to. I would think there would be a way of programming elevators to leave the buttons lit and go to those floors when it reaches the bottom (or top). This was true for two elevators, so I'm assuming it's how elevators are normally programmed.
 

topsquark

Math Team
May 2013
2,450
1,016
The Astral plane
I guess I had always assumed there was some kind of electronic switch that activated when the elevator passed a given floor? It seems simpler to me to use something like that than for software.

-Dan
 
Apr 2014
1,010
347
UK
How old is the lift? Earlier elevators with computer control were 99% about safety, later more code space was available to compute more complex 'routes' to get everyone to their floor more efficiently, this is especially true if there are multiple elevators.
Clearing the 'destination list' when it reaches the bottom was a sensible option back in the day, if someone is still in it they just have to press the floor button again. Why sensible, you might ask, well, when else do you do a reboot? (takes <0.5s to restart a microcontroller).
 
Oct 2013
711
91
New York, USA
The elevator I noticed it in is old, but it was also true for an elevator in a building under 20 years old.
 
Apr 2014
1,010
347
UK
Even 20 years ago, microcontrollers, for the most part, were still quite limited at the cheap end which everyone wants to use (even on expensive elevators!), so I can well believe it. Trust plays a big part in this, because people don't like software controlling their destiny, getting software past the appropriate acceptance body (my assumption, there are for other industries) is costly, so you would keep it as simple as possible, and you'd regularly reset it in case it was running out of stack space due to any unexpected coding error that hadn't been picked up. This is still true today to a large extent. I work with locomotives, I cheat and use a FPGA instead of a micro for all the control :)