# logic table for 3 story elevator

Discussion in 'Homework Help' started by taco3rd, Dec 4, 2013.

1. ### taco3rd Thread Starter New Member

Oct 22, 2013
11
0
Hello,

I have an assignment due this weekend to develop a logic table for an elevator meeting these specifications:

1. The elevator serves three floors
2. Someone on the elevator can press which floor they want to go to
3. Someone on a floor can press the up or down button to summon the elevator.
4. There's an interlock system which prevents the elevator from moving if the door is open.

Does this table make any sense, or am I barking up the wrong tree here? I have inputs for the floor(fl), buttons in the elevator(b), call buttons on the floors up/down(u&d) and an output of door open(o). I have no idea how to incorporate the interlock system.

fl b u d o
2 2 0 0 1
2 1 0 1 0
2 0 0 1 0
1 2 1 0 0
1 1 0 0 1
1 0 0 1 0
0 2 1 0 0
0 1 1 0 0
0 0 0 0 1

I know there are other threads in the forum about this subject, and I have read some of them, but I'd like to understand the assignment, not just copy from another thread. Any help at all would be appreciated.

Thanks,
Tom

2. ### MikeML AAC Fanatic!

Oct 2, 2009
5,450
1,066
The values in the table may or may not be correct.

I am suggesting a different approach. Wouldn't it be more useful to have a table that shows what happens next (present state/next state) if an input happens? That is called a state-transition table, and is the basis of making any state machine...

3. ### taco3rd Thread Starter New Member

Oct 22, 2013
11
0
I appreciate the input MikeML. As I understand it, the assignment is for a simple logic table and then develop a logic circuit that could implement the table (diagram or sum-of-products formula). This is an initial Computer Organization course, so it's not very complicated. Not yet anyway.

4. ### MikeML AAC Fanatic!

Oct 2, 2009
5,450
1,066
Ok, then separate the inputs from the outputs. What are the outputs?

5. ### taco3rd Thread Starter New Member

Oct 22, 2013
11
0
I actually had the inputs and output separate, but it got compressed when I posted it. I think the only output would be door open (o on the logic table), unless I'm mistaken (very possible). I could use help developing the interlock system described in the initial post, too.

6. ### MikeML AAC Fanatic!

Oct 2, 2009
5,450
1,066
Wouldn't door open be an input that is used to prevent the lift motor from running until the user closes the door?

Aren't the outputs two signals that cause the lift motor to run upwards or downwards; with everything else being inputs (ie. which floor is the lift on now, which button is calling the elevator, which button inside the car got pushed, is the door open, has the elevator reached the parked position on the selected floor, etc)?

7. ### WBahn Moderator

Mar 31, 2012
17,715
4,788
Also, your table has just one set of up/down call buttons. Aren't there a set on each floor?

For the first pass at this, I would ignore the distinction between the Up and Down buttons on each floor and treat them both as just a "Come Here" request. Many real elevators used to be set up this way, particularly in low traffic installations. Now, almost all elevators have directional call buttons because it is just simpler and cheaper to use a consistent floor-level interface to the controller.

8. ### taco3rd Thread Starter New Member

Oct 22, 2013
11
0
Thanks for helping WBahn.

Ok, I'm not sure I have this straight. So, the proper way to set this up is to make open door an input, add an input for a single (for now)call button on each floor and make the outputs elevator up and elevator down?

Also, now that I've realized that each input is either true of false, my floor(fl) input doesn't make any sense. I'm fairly lost right now. ha.

9. ### WBahn Moderator

Mar 31, 2012
17,715
4,788
You will need an additional output "open door". There are a couple ways to handle this. First, can have just a single output from your controller that tells the door on the present floor to open and assume that if that output is LO that the door is closed. Second, you can assume you have an output from your controller that command the door on the present floor to open and an input to your controller that tells you that the door IS open. That's the safest and most reasonable -- for instance, your controller may stop telling a door to be open, but someone might be in the way or have blocked the door open with a box.

Your floor value can be 1,2,3 very easily. You just have two bits, both of which can only be 0 or 1, and you interpret the four possible combinations as indicating a floor number. Since you have four such possible combinations, you have to decide what you want to happen if that fourth combination ever occurs.

10. ### taco3rd Thread Starter New Member

Oct 22, 2013
11
0
Ok, what if I had inputs for indicator signals that determine if 1) the elevator is in motion, or not. And 2) which floor the elevator is currently on. With an output of door open only if the elevator is not in motion and is on a single floor? Is that kind of what you're getting at?

11. ### WBahn Moderator

Mar 31, 2012
17,715
4,788
It's real easy to get carried away and add a lot of unnecessary stuff. The problem is that we have no idea what the detailed expectations are. These "three story elevator" projects are all over the place and each is a bit different in what the requirements are. Some (even most) essentially allow the elevator to move immediately from one floor to the next. Many use a one register delay to represent the delay between the open-door command and the open-door sensor. It all really depends on what behavior your particular instructor is trying to have you capture the sense of.

12. ### taco3rd Thread Starter New Member

Oct 22, 2013
11
0
I know my instructor isn't expecting anything too fancy. Basically, something that works simply under the conditions I posted initially, and that I understand the logic of it. My classes will get more advanced as I go along. This is just an exercise on boolean logic, but its a little tricky for me because I have no prior experience.