lift (3 floors) using PLC (model:FP1-C14;ladder diagram)


Thread Starter


I am a IT student who currently study engineering subject.And i have a assignment about program lift (3 floors) using PLC(FP1-C14).I have no idea at all and how to start.

Since I am a I.T student and not a enginneering student, I am looking for help and guidence to help me complete the assignment.Thanks for
your help.

Lift Requirement:
1. 3 Floors.
2. Top Floor has only down button.
3. Middle Floor has up and down buttons.
4. Ground Floor has only up button.
5. Beside that, must have "RESET BUTTON" and "STOP BUTTON".
6. Only program in PLC and using computer.(NOT use in real live)
Start by identifying the I/O involved (since this is a school project dont worry about safety issues unless its required).
Was there a mechanical layout or do you have to do it all? Design and program?
To give you an idea the lift will need a motor that reverses, the lift car will need pushbuttons for floor 1, 2, 3 plus an ESTOP, each floor will need 1 or 2 pushbutton(s), the lift will need to know what floor its at (this can use
limit switches or prox but an encoder on motor may be good).
As I said, determine the I/O need then make a sequential chart of what it does. Start First IN First Out...rider pushes button on floor 1 etc etc.
Here's the deal, even tho you are "just" an IT student...HOW good do you want to be? If you can do this "on your own" then you will do ok in this field. If you allow others to do your work now then later others will always do your
work...whats that mean? That others will excel while you watch, sometimes that can mean watching from the sidelines.
Hope this was of some assistance.

Jennifer Powell

Search on 'elevator' on this site. There are other threads are about elevator (lift) programming projects, namely "The dreaded elevator program" (from October 2001) and "How PLC control an elevator?" (from January 2002).

Hope this helps!

Jennifer Powell
Editor & Moderator,


Mr. Lee:

Yours is a classic problem in two ways. First, everybody that ever taught a PLC programming class has used this problem. Second, every student who ever took a PLC programming class has asked the same questions. So don't feel like
you are not able to manage this. What you are lacking is an understanding of how to solve controls problems.

Think of this in terms of a program in a more familiar language, like maybe "C."

In such a program you first define your "objects."

In the case of the "elevator" (pardon my language)the things to consider are:
-- how do I know what floor I am on?
-- how do I know I'm squarely in line with the door?
-- what do I need to do to make the elevator move?
-- what do I need to do to make it safe to use?

Well, you need to use a few sensors of some sort: the obvious things are limit switches, but you can use any sort of sensing device you want to. Place these so that there is a "presence" switch at each floor that says "the elevator is
here" then another switch says this is exactly the place where the lift floor and the building floor line up.

Now, you need a switch on the lift car to say "the door is closed" so that you now know (all together) where your lift is, and if the door is opened or closed.

Are you beginning to see a pattern here? The whole idea is to manage the problem one element at a time. The difference between controls and other programming is that you have to figure out how to manage and measure the hardware that you are controlling, not just work mathematical problems using somebody else's measurements.

No insult inteded here, I simply wish to point out the difference in this sort of problem solving.

This will get you started: You may feel free to write for further aid if you wish. I have been doing control engineering for about 20 years now, and I can probably help if you really need it.

Hoping I was a help


Jim Kleinert <[email protected]>

Steve Myres, PE

You need to start by defining where you are trying to get to. In other words, sit down and write out a list of all the events that can
occur, as well as all the possible conditions for the elevator, as in event: up button push on second floor, etc., or condition: elevator in
service moving up between second and third floors, approaching third floor stopping point, standby mode at second floor with door closed,
etc.<P>Then make a flow chart, or series of them, showing the decision process in reponse to the possible events for each condition under which they may occur. Then translate the decision tree into ladder language.
First of all, the lines between the factory floor and the office are pretty blurry, and getting more so. An IT person who has at least a
rudimentary understanding of the controls on the factory floor is a very valuable thing. Kudos to your instructor for getting you that
exposure. Next, those in the industry (I've got 18 yrs in so far) don't want to do your homework for you, so that you'll learn a little bit
before you become a co-worker) but we are happy to give some pointers. Just like any other programming assignement in any other language,
use top down design principles. Define the program by using a seires of simple problems that can each have a simple solution. Break it
down until each problem can be handled by a few rungs of logic. Generally, but not exclusively, if it takes more than 4, then you haven't
broken it down enough.
Good luck, and try to have a go on your own before you hit those web sites that have posted solutions. Wait until after you've developed
your own program, then you can take a look at those web sites and evaluate your solution. You'll be ahead that way.


Look through the archives at "": as this subject has been discussed quite a bit recently. There should be two or three threads in
there from the last 2 months that should give everything you need, including some sample code (psuedo-code for the most part, though it should
be easy enough to port to whatever processor you are using). If you need any more advice after reading the postings, feel free to ask!

--Joe Jansen
Hello, I had been struggling writing my own plc programs until the guys here helped me out. My problem was that I knew how to write the ladder logic, but it was very unorganized and I got frustrated trying to figure out the code I had
written the day before. I have found a solution and it has worked very well for me. It is called a State Diagram, a sort of flow chart. Just figure out the different "states" or actions that the elevator would be doing to operate, for
example moving from floor 1 to 2, door opening...ect. Write these states in boxes and connect them with flow arrows. In between the states determine what would trigger the move from one state to another (such as push buttons or
sensors), these are called state transition conditions. After you get the state diagram written out code it into ladder logic. Hope this helped.

Duncan Sickler

A very good tutorial on machine state programming can be downloaded for free from "": It helped me and I am using the knowlege I gained to control machines in our facility. I promise you, you will be able to do the task yourself if you spend a day or two on that tutorial.

Duncan Sickler
Senior Electrical Maintenance Electrician
Northrop Grumman Electronic Systems
Laser System Division
Apopka FL
[email protected]
[email protected]
Thanks for your information.

But i still have one question not clear, regarding the limit switch.Is it a external device?And how to implement it in ladder diagram?
What i mean here is what do i suppose to use?when count time use TIMER; when count frequency use COUNTER; then what should i use for the
limit switch?

Thanks again.