pick and place

333145589a766626710b288055366l.jpg
333145589a766731665b430943756l.jpg

Hope fully this is a bit clearer
 
ballymeeney -

You've got a ton of problems here... starting in Rung #2.

As long as M0 is SET then Y0 NEVER goes OFF, at least, not in this rung.
However, you are also controlling Y0 in Rung-7! Since the Arm never goes to the Right Limit (X3) Y0 is turned OFF in that rung!

The net effect is that your Arm NEVER, NEVER, NEVER goes down!

You should NEVER control the same Output with two different rungs (unless you are using SET/RST or LATCH/UNLATCH).

Your entire program has problems throughout.
 
should i just give up on this subject!? I can understand and read basic programs and thought i was getting a grasp of programming.

did the structure of my ladder look any bit correct. What would a correct soloution look like??
 
Take a look at this link, maybe it can help you get started. It was provided by Terry Woods and Allen Nelson, another forum member.
http://www.patchn.com/b4programming.htm

This thread is very long but may also help in your thought processes. http://www.plctalk.net/qanda/showthread.php?t=11015

Take your time, write the process out, name the I/O where they can be easily undertood, then translate what you wrote into logic. NOTE: When you START something you may need to stop it so consider that in your thoughts.
 
Of course you SHOULDN'T give up!

Consider the following...

You've got three major functions... The Clamp, the Vertical Motion and the Horizontal Motion. These functions are controlled by five separate outputs.

The Clamp is controlled by only one signal - OPEN CLAMP.
(The spec is a little confusing about the operation. I will assume that those time delays are supposed to be delays before subsequent movement by the Arm.)
The Clamp has to be driven to Open. The Clamp is either told to Open, or it is not told to Open.
The default position is Closed.

The Vertical Motion is controlled by two signals - LOWER THE ARM and RAISE THE ARM.
If neither signal is ON then the Arm maintains its current vertical position.
There is no default position.

The Horizontal Motion is controlled by two signals - TRAVERSE RIGHT and TRAVERSE LEFT.
If neither signal is ON then the Arm maintains its current horizontal position.
There is no default position.

So... working backwards from the outputs...

Let's discuss the Horizontal Motion, the Vertical Motion and then the Clamp, in that order. The Clamp is the more complicated part so I'll leave that until last.

The following describes the "conceptual cause" for driving a particular output. The idea is to think like a human and develop "conceptual causes" for the activity.

HORIZONTAL CONTROL

Why would you turn ON the "Traverse Right" output?

1. In order to "align with the place-station".

Align with
Place
Station
---| |---------( Y3 ) TRAVERSE RIGHT
M10


.
Why would you turn ON the "Traverse Left" output?

1. In order to "align with the pick-station".

Align with
Pick
Station
---| |---------( Y4 ) TRAVERSE LEFT
M11


Yes! Conceptually, it is that simple!
You go to the right to align with the Place-Station! And you continue doing so until you are aligned!
You go to the left to align with the Pick-Station! And you continue doing so until you are aligned!

Now, regarding "Traverse Right"...
...under what conditions would you want to... "Align with the Place-Station"?

1 The Clamp HAS a part. <<< This is NOT a "sensed" condition! (more later)
2. The Arm is at the Upper Limit.
3. The Arm is NOT aligned with the Place-Station.

Clamp Arm At Aligned
Has Upper with
Part Limit Place
---| |--------| |--------|/|-----( M10 ) Align with
M3 X2 X3 Place-Station


.
Once the Arm is in the upper position, with a part in the clamp, then the Arm should "Traverse Right" until it is at the right-side limit (X3).

Now, regarding "Traverse Left"...
...under what conditions would you want to... "Align with the Pick-Station"?

1. The Clamp does NOT have a part. <<< This is NOT a "sensed" condition! (more later)
2. The Arm is at the Upper Limit.
3. The Arm is NOT aligned with the Pick-Station.

Clamp Arm At Aligned
Has Upper with
Part Limit Pick
---|/|--------| |--------|/|-----( M11 ) Align with
M3 X2 X4 Pick-Station


.
Once the Arm is in the upper position, without a part in the clamp, then the Arm should "Traverse Left" until it is at the left-side limit (X4).

Now, why am I using M10 and M11?

At this point, it is primarily to keep the specific details of the "cause" separate from the "conceptual cause". As you become more experienced, you might find the need to employ Manual Controls on this project. For example, you might want to add the ability to simply move to the right by only a few inches. This would require a different "conceptual cause" to drive the arm to the right. For example...

Align with
Place
Station
---| |-----+----( Y3 ) TRAVERSE RIGHT
M10 |
|
JOG |
Right |
---| |----+
M33


.
The specific details regarding "JOG Right" would then have to be developed, separately, just as Align with Place Station was developed.

VERTICAL CONTROL

Why would you turn ON the "Lower the Arm" output?

1. In order to "fetch" a part from the "pick-station".
2. In order to "deposit" a part at the "place-station".

Fetch
Part
---| |---+-----( Y0 ) LOWER the ARM
M12 |
|
Deposit |
Part |
---| |---+
M13


.
Why would you turn ON the "Raise the Arm" output?

1. In order to "lift" a part from the "pick-station".
2. In order to "clear" the "place-station" after depositing a part.

Lift
Part
---| |---+-----( Y2 ) RAISE the ARM
M14 |
|
Clear |
Arm from |
Place |
---| |---+
M15


.
Regarding Lower the Arm...
...under what conditions would you want to... "Fetch Part"?

1. The Arm is aligned with the Pick-Station.
2. The Clamp does NOT have a part. <<< This is NOT a "sensed" condition!
3. The Arm is NOT at the Lower Limit.

Aligned Clamp Arm At
With has Lower
Pick Part Limit
---| |--------|/|--------|/|-----( M12 ) Fetch Part
X4 M3 X1


.
...under what conditions would you want to... "Deposit Part"?

1. The Place-Station is Empty
2. The Arm is aligned with the Place-Station.
3. The Clamp DOES have a part. <<< This is NOT a "sensed" condition!
4. The Arm is NOT at the Lower Limit.

Place Aligned Clamp Arm At
Station With has Lower
Empty Place Part Limit
---| |---+---| |--------| |--------|/|-----( M13 ) Deposit Part
X5 | X3 M3 X1
|
Deposit |
Part |
---| |---+
M13


.
Notice the parallel portion. I don't know how the Photo-Eye (X5) corresponds to the Arm at Lower Limit switch. That is, it could be that the Photo-Eye would stop the downward movement just before the Arm got all the way down to the Lower Limit. Adding Deposit Part in parallel with Place Station Empty ensures that the Arm will not begin going down unless the station is empty, and then will continue to go down until it is at the Lower Limit. You only need to look at X5 long enough to know it is OK to begin depositing the part.

Regarding Raise the Arm...
...under what conditions would you want to... "Lift Part"?

1. The Arm is aligned with the Pick-Station.
2. The Clamp DOES have a part. <<< This is NOT a "sensed" condition!
3. The Arm is NOT at the Upper Limit.

Aligned Clamp Arm At
With has Upper
Pick Part Limit
---| |--------| |--------|/|-----( M14 ) Lift Part
X4 M3 X2


.
...under what conditions would you want to... "Clear Arm from Place"?

1. The Arm is aligned with the Place-Station.
2. The Clamp does NOT have a part. <<< This is NOT a "sensed" condition!
3. The Arm is NOT at the Upper Limit.

Aligned Clamp Arm At
With has Upper
Place Part Limit
---| |--------|/|--------|/|-----( M15 ) Clear Arm from Place
X3 M3 X2


.
Now, let's talk about "Clamp has Part" (M3).

Let me remind you... the spec is awful! There is a conflict in the descriptions of the Clamp on the Arm and the Clamps on the Tables. The "timing" is also weird.

Conceptually, when the Arm is at Home, without a part, it needs to "Fetch a Part".
Apparently, this is a "single-cycle" process started by the pushbutton.
So... when the button is pressed, the Arm goes to get the part.
I'm going to assume... that the time delay is to allow the Clamp to be fully closed on the part before "Lifting" the part.
So... with the Clamp Open, the Arm arrives at the Lower Limit and closes the Clamp.
After 1.7 seconds, "Clamp has Part" goes TRUE. Then the Arm lifts the part and carries on.

With the Clamp Closed on the part, the Arm approaches the Place Station. After arriving at the Lower Limit switch, the Clamp Opens. The timer runs. At timeout, Clamp has Part goes FALSE.

This is enough for now... let's see what you think, and what you come up with.
 
Ok heres another go, I didnt understand the parallel before.

Ok its in home position start button is presed and the machine moves down

Start upper left clamp lower up emergency
limit limit limit stop

---| |- | |--+--| |--+-|\|---|\|----|\|---|\|-- ---- --( Y0 )
X16 X2 x4 Y1 x1 Y2 X0
| |

| |

down | |

---| |-------+ |

Y0
|

-| |-+-| |--|\|--| |-|
M1 x3 x5 y1
|
|

down |

-| |-+

Y0


-| |---|\|--- |\|---------------------------------------- (Y1)
X1 M6 X0
| |
| |
| |
| |
| | k17
-| |-+ +--| |-----------------------------------(TO)
Y1 X1




-| |--+-- | |----| |--+-|\|---|\|----|\|---- ---- --( Y2 )
To X4 Y1 X2 Y0 X0
| |

| |

| |

-| |--+ |
Y2
|

-| |-+-| |------------+
T1 x3
|
|

|

-| |-+
Y2


---| |-- | |-+--|\|------------------- ---- --( M0 )
Y2 Y1 Y3
|

|

|

---| |-------+
M0




-| |--+-- | |----| |---|\|---|\|----|\|---- ---- --( Y3 )
Mo X2 Y1 X3 Y4 X0
|

|

|

-| |--+
Y3



-| |---|\|-------------------------------------------- (M1)
Y3 Y0
|
|
|
|
|
-| |-+
M1


-| |---| |-------------------------------------------- (M2)
Y0 Y1
|
|
|
|
|
-| |-+
M2


-| |---||-+- |\|-+-------------------------------------- (Y1)
X1 M2 X2
| |
| |
| |
| |
| | k15
-| |------+ +-------------------------------------(T1)
Y1


---| |-- |\|-+--|\|------------------- ---- --( M4 )
Y2 Y1 Y4
|

|

|

---| |-------+
M4


-| |--+-- | |----|\ |---|\|---|\|----|\|---- ---- --( Y4 )
M4 X2 Y1 X4 Y3 X0
|

|

|

-| |--+
Y4


-----------------------------------------------------[end]


ok so that what i got out.

Is it an improvement,

I think i should invest in some software, it's clearer on screen!
 
bally...

Don't ever use that quick-response thing unless you are posting ONLY text!

Do you have a word processor such as MS-Word?

If so, open it and set the font to Courier.

Then, do like so...

[ladder]

Enter your code here.

Then finish with...

[/ladder]

Ensure that ALL of your ladder-code was written in COURIER!

Then "copy-n-paste" (DO NOT CUT-n-paste!) the whole thing, including [ladder] through [/ladder], to the reply-window.

Then, PLEASE, press "Preview Post" BEFORE you press "Submit Reply"! If you see a problem(s) with the displayed text, then return to your word-processor document and fix the problem(s). Go back and forth as necessary to get them all.

Then, COPY the fixed version, and return to the reply window. Use Ctrl-A to select ALL of the current text in the reply window and then press delete. Then paste your current text to the reply window.

Again, PLEASE, press "Preview Post" BEFORE you press "Submit Reply"! That is WHY the Preview Post exists!

Don't press "Submit Reply" until you are satisfied with the presentation shown through "Preview Post"!

I know it is late for you... see you tomorrow!
 

Start upper left clamp lower up emergency
limit limit limit stop





---| |- | |--+--| |--+-|\|---|\|----|\|---|\|-- ---- --( Y0 )
X16 X2 x4 Y1 x1 Y2 X0
| |

| |

down | |

---| |-------+ |

Y0


|

-| |-+-| |--|\|--| |-|
M1 x3 x5 y1
|
|

down |

-| |-+

Y0


-| |-+--|\|--+- |\|---------------------------------------- (Y1)
X1 M6 X0
| |
| |
| |
| |
| | k17
-| |-+ +--| |-----------------------------------(TO)
Y1 X1




-| |--+-- | |----| |--+-|\|---|\|----|\|---- ---- --( Y2 )
To X4 Y1 X2 Y0 X0
| |

| |

| |

-| |--+ |
Y2
|

-| |-+-| |------------+
T1 x3
|
|

|

-| |-+
Y2


---| |-- | |-+--|\|------------------- ---- --( M0 )
Y2 Y1 Y3
|

|

|

---| |-------+
M0




-| |--+-- | |----| |---|\|---|\|----|\|---- ---- --( Y3 )
Mo X2 Y1 X3 Y4 X0
|

|

|

-| |--+
Y3



-| |--+-|\|-------------------------------------------- (M1)
Y3 Y0
|
|
|
|
|
-| |--+
M1


-| |-+--| |-------------------------------------------- (M2)
Y0 Y1


|
|
|
|
|
-| |-+
M2


-| |---||-+- |\|-+-------------------------------------- (Y1)
X1 M2 X2
| |
| |


| |
| |
| | k15
-| |------+ +-------------------------------------(T1)
Y1


---| |-- |\|-+--|\|------------------- ---- --( M4 )
Y2 Y1 Y4
|

|

|

---| |-------+
M4


-| |--+-- | |----|\ |---|\|---|\|----|\|---- ---- --( Y4 )
M4 X2 Y1 X4 Y3 X0
|

|

|

-| |--+
Y4


-----------------------------------------------------[end]







 
Last edited:
ok i think that looks a bit better, dont know where to put in the power failure recovery though
 
Last edited:
Ohh... for Pete's sake bally... put some names on there!

And be a little more careful of your spacing.

By the way, at this point, you are far away from from doing the recovery stuff!

Let's the basic control system straightened out first!
 
bally...

You didn't give up, did you?

You are already closer then many beginners!

You just need to get over, around, a few perception problems.

Come back!
 
If you are looking to failsafe the system, one way (as previously mentioned)in addition to the plc program, is within the system used to actuate the movement. By this I mean pneumatic or hydraulic. If you are using this type of system, one way that I have used, and seen used sucessfully, is to use what is called P.O. checks on the actuators. Basically, what this involves is installing a pilot operated check valve on the side of the cylinder that will be energized. The PO check will not open ( and thus allow the actuator to move0 unless it is opened by the pressure line of the opposite end of the cylinder. Inother words, port A will not open until it recieves a "pilot" signal from port "B" side of the valve. The pressure sent from port B opens the check vealve of port A, allowing the air (or oil) to exhaust, thus allowing the cylinder to move. Typically I see this arrangement on vertical slides, where the load could cause a machine crash if it were to fall at the wrong time. You could disconnect the air entirely, and the load would not fall, because the PO holds the cylinder from exausting. Keep in mind that you need a high quality cylinder ( no leakage), as well as control logic to be sure it operates as required.

I also failed to mention that these valves mount directly on to the cylinder, and are readily available from most compentent suppliers. TRULY FAILSAFE
 
Last edited:

Similar Topics

Hi everyone Can anyone help me to understand the ladder logic of pick and place system of ITS PLC atg edition ? thank you
Replies
1
Views
2,245
Hello everyone :) I have to use Its PLC Atg Edition to create the ladder diagram for the pick and place system. Can you guys give me some ideas...
Replies
1
Views
1,897
we have a pick and place setup that consists of a Y-axis mast that moves back and forth on a horizontal carriage x-axis. The mast hangs on, and...
Replies
9
Views
3,219
hi everyone, I'm new with plc, and am trying to connect cpu 313c with pc via MPI usb cable. Plc is set to run a FESTO pick and place station. I...
Replies
9
Views
4,339
Hi Guys, I have an application i hope someone can help with. First of all, all air cylinders are controlled by double acting valves. I have...
Replies
14
Views
10,292
Back
Top Bottom