
adccommunitymod (AutomationDirect) asked a question.
Created Date: March 15,2009
Created By: mmainland
**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****
I am working on a custom made pneumatic press for our production line. At first I thought I’d use timers to control the 4 pneumatic air cylinders but I don’t think that will work. I will try to describe my application. - Air cylinder #1 is a double acting cylinder that lowers and raises the upper die set. - Air cylinder #2 is a rodless double acting air cylinder that moves a carriage from point A to point B and back. The part that is being assembled is sitting in the carriage. This carriage is mounted on the lower die set. - Air cylinder #3 is a double acting air cylinder that will stake the part sitting in the carriage when it reaches point b. This cylinder is mounted under the lower die set. - Air cylinder #4 is a single acting air cylinder mounted in the carriage. This cylinder is used to push the part out of the carriage when it has reached point a. I will try to describe the sequence. To start the part is inserted into the carriage while it is sitting at point A. The operator will activate the press and the #1 cylinder will lower the upper die set to stake the part then cylinder #1 will raise to its home position. Then air cylinder #2 will move the carriage to position point B and stop. Next air cylinder #3 will extend to stake the part then retract to its home position. Air cylinder #2 will move the carriage back to point A and stop. Then air cylinder #4 will extend then retract to push the part out of the carriage. We are using light curtains on a separate safety circuit to kill all power to the solenoids when interrupted. I would like to use one of the aux outputs on the curtain to tell the PLC to pause if the curtain is interrupted. Air cylinders #1 & 3 must be totally retracted before the carriage is moved. Any help in guiding me in the right direction would be greatly appreciated. I have been using a DL-05 at home to work on the program but I have ordered a DL-06AA for this project. I have been using timers and a few other commands but I defiantly need help on this one. Thanks, Mark I have assigned PLC outputs: Cylinder #1 extend=Y0 Cylinder #1 retract=Y1 Cylinder #2 extend=Y2 Cylinder #2 retract=Y3 Cylinder #3 extend=Y4 Cylinder #3 retract=Y5 Cylinder #4 extend=Y6
Created Date: March 15,2009
Created by: KPrice
Mark, this is a perfect application to benefit from Stage programming. The Stage programming makes this type of application very easy to program and also very stable.
Will you have limit switches to indicate positions? You do mention timers, and timers could be used to assume that the cylinder has made its motion, but I would recommend using some type of switches to indicate positions, cylinder-mounted or external limit switches, photo switches, prox switches, etc.
You do mention "Air cylinders #1 & 3 must be totally retracted... ", so there must be switches on these cylinders to indicate that they are totally retracted.
We will use both timers and switches in a stage. For example, energize the solenoid and start a timer, if the limit switch indicates full travel, then jump to next stage. If timer times-out, (indicating full travel was not completed within the set time) then jump to a Alarm stage to alarm and perform shut down sequence, if needed.
Yes, you can use the light curtain to "pause " the stage progression. If you 're using timers to indicate full travel was not completed within the set time, look at using the TMRA, to allow you to "pause " the timer if the light curtain is broken.
I do not know the valve configurations, 2-position, 3-position, 1-coil, 2-coil?
Look at the Stage programming. You'll love it. Hope this helps.
Created Date: March 15,2009
Created by: mmainland
Mark, this is a perfect application to benefit from Stage programming. The Stage programming makes this type of application very easy to program and also very stable.
Will you have limit switches to indicate positions? You do mention timers, and timers could be used to assume that the cylinder has made its motion, but I would recommend using some type of switches to indicate positions, cylinder-mounted or external limit switches, photo switches, prox switches, etc.
You do mention "Air cylinders #1 & 3 must be totally retracted... ", so there must be switches on these cylinders to indicate that they are totally retracted.
We will use both timers and switches in a stage. For example, energize the solenoid and start a timer, if the limit switch indicates full travel, then jump to next stage. If timer times-out, (indicating full travel was not completed within the set time) then jump to a Alarm stage to alarm and perform shut down sequence, if needed.
Yes, you can use the light curtain to "pause " the stage progression. If you 're using timers to indicate full travel was not completed within the set time, look at using the TMRA, to allow you to "pause " the timer if the light curtain is broken.
I do not know the valve configurations, 2-position, 3-position, 1-coil, 2-coil?
Look at the Stage programming. You'll love it. Hope this helps.
KPrice,
I thought this might be a good application for stage programming. All 3 double acting cylinders will have magnetic pistons so I can add prox's. The pneumatic solenoids are 5 port 3 position center blocked 2 coil. I'll start doing this in stage.
Thanks!
Mark
Created Date: March 15,2009
Created by: bcarlton
Mark - I often use Stage Programming. A method I find useful is, at first, to FORGET THE OUTPUTS. I really mean it. Describe on paper the motions but leave out what cylinder is on where. Here's an example using your statements somewhat modified:
To start the part is inserted into the carriage while it is sitting at point A. The operator will activate the press (by doing what??)
The upper die set is lowered to stake the part
Then upper die set will raise to its home position.
Then the carriage is moved to position point B.
Next XXX will extend to stake the part
Then XXX retracts to its home position.
Then carriage is moved back to point A.
Then ZZZ extends to to push the part out of the carriage.
Then ZZZ retracts
Each line becomes a stage. SOMETHING (input, timer timing out, counter counting to a finish - whatever) causes the action in one stage to stop and the action in the next stage to begin. Clearly and precisely identify that SOMETHING. Testing for that SOMETHING becomes a rung each stage leading to a JMP to the next stage. Notice - we haven't turned on an output yet. Note that if you do this carefully you can be certain that the stages will execute correctly.
Finally - and this is a step that many non-stage programmers do first - identify for each stage which outputs should be ON during that stage. Place one rung before each testing rung in a stage turning on those outputs. Don't worry about the same output being on in more than one place. The rules can be different in stage programming.
Finally document - for each stage note the action which is taking place and the conditions which will cause the system to transition to the next stage. Your comments will become an exact description of the machine operation.
Created Date: March 20,2009
Created by: mmainland
I have started writing the program but ran into a problem I'm not seeing. I wanted to make sure all the cylinders were in the right position right after power up. For some reason my program does not respond to stage S1, when I close contact X1 there is not responce. I have attaced to code I written so far.
Thanks,
Mark
Created Date: March 20,2009
Created by: allukes
You have a cunundrum. Y1 will never come on. Did you want it to come on after T1 times out?
Created Date: March 20,2009
Created by: bcarlton
Have you verified that stage S1 becomes enabled after closing X0?
If X0 is open on PLC powerup Y1 will be on for 2 seconds. It will then be off until X0 has been closed then it will be on again for 2 seconds after each closing of X1.
Created Date: March 20,2009
Created by: mmainland
You have a cunundrum. Y1 will never come on. Did you want it to come on after T1 times out?
In stage S1 I was trying to get Y1 to come on for 2 sec. then shut off.
bcarlton
Have you verified that stage S1 becomes enabled after closing X0?
If X0 is open on PLC powerup Y1 will be on for 2 seconds. It will then be off until X0 has been closed then it will be on again for 2 seconds after each closing of X1.
I'm not quite sure how to verify S1 becomes enabled?
Created Date: March 20,2009
Created by: allukes
I'm sorry, I didn't look at S1 correctly. its OK.
Go online with directsoft and hit the status button. You will see the Stages highlight
Created Date: March 21,2009
Created by: milldrone
Bernie,
I'm wondering if Marks problem is that Stage S0 (ISG) was never set, because he never cycled power to the PLC, or had any other way to get S0 energised.
I'm not a stage expert. I'm just following along trying to improve my meager skill set.
In stage S1 I was trying to get Y1 to come on for 2 sec. then shut off.
bcarlton
Have you verified that stage S1 becomes enabled after closing X0?
Created Date: March 21,2009
Created by: bcarlton
mmainland will have to do the troubleshooting - I don't have access to a unit right now but the logic is simple enough.
mmainland - first you must go online after downloading then select the 'status ' icon on the second row of buttons. The enabled stages will highlight in blue.
Make sure that X0 and X1 are OFF. Then cycle the 'mode ' to 'program ' then back to 'run '. This should start S0 as an initial stage. Y1 should come on for 2 seconds then turn off. Note that the box for S0 is highlighted.
Next turn on X0. The box highlight should move from S0 to S1.
Now turn on X1. Y1 should come on for 2 seconds then go back off. Turn off X1 the turn it on again. Y1 should turn on for 2 seconds each time.