News:

  • December 05, 2024, 05:39:32 AM

Login with username, password and session length

Author Topic: Another New User  (Read 13376 times)

malexand

  • Newbie
  • *
  • Posts: 5
Another New User
« on: November 13, 2008, 03:04:54 PM »
Hello,

I am embarking on writing a program for my DL05 PLC that will control a small sanding operation. Components included are: 2 swing clamps, linear actuator, air manifold, precision regulator, and sanding machine. The actuator, and 2 swing clamps are controlled by compressed air which is regulated by the manifold. The flow of this process will be:

1. Operator puts part in fixture and presses start button on sander
2. PLC program begins:
   a. Sander turns on
   b. Swing clamp contact on manifold engages, air flows to two clamps holding part in fixture
   c. Actuator contact on manifold engages, air flows to actuator extending actuator (moving part to sandpaper)
   d. Precision regulator holds air pressure to actuator at 20 lbs.
   e. Actuator moves part to make contact with sandpaper, held in this position for 6 seconds
   f. After 6 seconds, 2nd actuator contact on manifold engages, air flows to actuator retracting actuator (moving part away from sandpaper)
   g. Sander turns off
   h. 2nd swing clamp contact on manifold engages, supplies air to both clamps to release clamp from holding part
3. Operator takes part off of fixture, puts next part on
4. Operator presses start button, process starts again
 
As I am not at all familiar with DirectSoft5 or any PLC language, I have been going through the training manual to get an idea on how to begin writing a program for this. Any help on how to go about creating a program that could perform those tasks would be helpful.

Thanks for taking the time to read this,
Mike A

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3581
  • Darth Ladder
Re: Another New User
« Reply #1 on: November 13, 2008, 05:03:54 PM »
Whatever you do with the PLC, it sounds like this machine will have the ability to clamp and or sand some guy's hand, so you'll want to make sure you use some safety rated hardware in addition to the PLC to make sure that can't happen.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

malexand

  • Newbie
  • *
  • Posts: 5
Re: Another New User
« Reply #2 on: November 14, 2008, 07:44:23 AM »
Thats a good point! Currently we have plexiglass shields that encase the system. Adding a contact for when the shields are closed or open would be a great safety device - so that only when the shields are in a closed, locked position will the program run.

milldrone

  • Full Member
  • ***
  • Posts: 48
  • I'm changing my attitude to thumbs up
Re: Another New User
« Reply #3 on: November 14, 2008, 09:42:47 AM »
I am embarking on writing a program for my DL05 PLC that will control a small sanding operation. Components included are: 2 swing clamps, linear actuator, air manifold, precision regulator, and sanding machine. The actuator, and 2 swing clamps are controlled by compressed air which is regulated by the manifold. The flow of this process will be:

1. Operator puts part in fixture and presses start button on sander
2. PLC program begins:
   a. Sander turns on
   b. Swing clamp contact on manifold engages, air flows to two clamps holding part in fixture
   c. Actuator contact on manifold engages, air flows to actuator extending actuator (moving part to sandpaper)
   d. Precision regulator holds air pressure to actuator at 20 lbs.
   e. Actuator moves part to make contact with sandpaper, held in this position for 6 seconds
   f. After 6 seconds, 2nd actuator contact on manifold engages, air flows to actuator retracting actuator (moving part away from sandpaper)
   g. Sander turns off
   h. 2nd swing clamp contact on manifold engages, supplies air to both clamps to release clamp from holding part
3. Operator takes part off of fixture, puts next part on
4. Operator presses start button, process starts again

The first thing that needs to be done when writing a PLC program is to make a description of the process. I'm having a little difficulty with your description. It might just be a terminology thing. I going to attempt to write a description of your process from what I have just read. I will also ask some questions along the way.

1. Operator presses start button.
2. "Sander motor" output from the PLC turns on. Do we need a time delay for the motor to come up to speed? If this is an electric motor, You do realize that the PLC cannot turn this on directly but will need some sort of interface?
3. "Swing clamp down" output turns on in the PLC. Do we need some time delay before the next step? Also you are saying there is two "contacts" as you are calling them for the clamps. Are they "clamp" and "unclamp"  or are they two coils one for each clamp?
4. "Actuator extend" output from the PLC turns on. Do we wait six seconds from this moment or do we wait until the actuator is in position? If we wait six seconds when it's in position then we need a in position sensor.
5. "Actuator retract" output from the PLC turns on. Are you sure there is two coils for the actuator? Extend and retract? do we need a time delay after the retract output has been turned on before the next step or is there a home sensor?
6. Turn  off the "sander motor output from the PLC. Do we need another time delay before the next step?
7. "Swing clamp up" output from the PLC turns on.

The safety aspects Controls Guy mentioned need to addressed. Safety is done outside the PLC, not in the program.

We need details on the nature  of the loads the PLC is expected to control. 120V AC, 24VDC, amps ect.

Do you want help writing the program? This is an excellent type of project to start learning PLCs with! Or do you just want the code? I'm hoping you want just some nudges from us to get you started. I'm sure we will do our best to help you.     
 
Vaughn

malexand

  • Newbie
  • *
  • Posts: 5
Re: Another New User
« Reply #4 on: November 14, 2008, 12:14:37 PM »
This is all great stuff and I appreciate the feedback already  ;) Once my automation expert comes back from vacation on Monday I will write up a better, more detailed description of what I actually want to have happen. To answer your question, I would like to learn how to write the program with some assistance as I will have to write more of them in the future for different product lines. Thanks again!

Mike

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3581
  • Darth Ladder
Re: Another New User
« Reply #5 on: November 14, 2008, 01:33:58 PM »
There are specially built (fault tolerant) safety relays and wiring practices that you can use to guarantee the final design is safe.  Some brands are Pilz, Allen Bradley, STI/Omron, Banner, etc.  As milldrone pointed out you don't want to rely on a standard PLC to provide safety (although there are safety rated PLC's).  Since it's your first design, you might want to get an experienced controls engineer to look it over before you build it, or if the sales engineer for the safety hardware is technical enough, he can probably help you make sure you're applying it correctly.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

malexand

  • Newbie
  • *
  • Posts: 5
Re: Another New User
« Reply #6 on: November 17, 2008, 03:30:31 PM »
Alright thanks again Controls for the input - I will be looking into some sort of safety implements for this design.

In response to your questions milldrone:

2. Yes a 3 second time delay is needed. I have spoken to my automation guy here and we will have to get a contactor for the motor to turn on.

3. A 2 second time delay will be necessary for the swing clamps. Only 1 signal will be needed for controlling air to 2 different tubes (clamp up and down).

4. Again a 2-3 second delay will be necessary after the actuator extends. That amount of time will guarantee that there is proper contact between part and sanding drum. Nothing will change for the next 6 seconds as the part is being sanded.

5. Just like the clamps, only one signal will be used for both retract and extend on the actuator. A 2 second time delay will be needed before the next step.

6. Another 2 second delay would be appropriate at this point - again we will have to find a suitable contactor to accomplish this.

This PLC is the DL05 D0-05AR model and will have 24VDC loads.

I hope this clears up some of my vague descriptions and I would like to thank you again for taking the time to look at this. Since I am pretty new to this, any help in starting a program would be appreciated.

milldrone

  • Full Member
  • ***
  • Posts: 48
  • I'm changing my attitude to thumbs up
Re: Another New User
« Reply #7 on: November 18, 2008, 10:12:10 AM »
malexand,

This looks like a perfect EDRUM application. Two ladder logic rungs and your done. I tried this with conventional ladder and I was using 5 rungs. Read up on the EDRUM function. Then reply back and we will get started then.
Vaughn

malexand

  • Newbie
  • *
  • Posts: 5
Re: Another New User
« Reply #8 on: November 19, 2008, 08:41:22 AM »
I agree milldrone, this looks like a perfect application for the EDRUM function. I found a great article on it at http://www.automationdirect.com/static/manuals/d006userm/ch6.pdf . Looks like it will be a good way to reduce the number of ladder rungs in my program. Does it matter that I am using DL05? That article was DL06 specific but I hope it works for earlier versions. Can't wait to get started!

Mike

milldrone

  • Full Member
  • ***
  • Posts: 48
  • I'm changing my attitude to thumbs up
Re: Another New User
« Reply #9 on: November 19, 2008, 10:34:47 AM »
malexand,

My copy of the DL05 manual says the EDRUM is supported. So this should work. I do not have a DL05 at my desk to test. I only have a DL06.

So you will need a way to "maintain" (for logic reasons) a momentary push on the start button. Then "dropout" when the cycle is complete.

Then the EDRUM's enable input would use this "maintained logic" to enable the timing. The reset input would use the opposite state of this "maintained logic". A "leading edge" version of this same "maintained logic" is a good choice for the "jog" input. The only thing left is to list the times in each step and assign the steps to the outputs. Do not forget to put in a "end of cycle" bit in the EDRUM.

Need more of a nudge?

I'm hoping you have the DL05 somewhere that you can program it and watch what happens. The outputs do not need to be connected. The DL06 I mentioned earlier in my post is actually my spare. I use it to test programs, not just sit on the shelf.     
Vaughn

Vernon Leeper

  • Full Member
  • ***
  • Posts: 49
Re: Another New User
« Reply #10 on: November 23, 2008, 07:34:38 PM »
malexand,
I just finished a vacuum forming machine last month, kind of sounds the same. Used an 05AR, programmed in stage but, because I was using a DV1000 for the opperators to set timers and check part count, didn't know if an EDRUM would have worked, would have been a lot easier.  Can EDRUM timers be changed with some sort of HMI or do you just use it for fixed amouts?
The programmed is saved, your welcome to it just modify it to what you need. As for safety, I used a E-stop in front of everything, the machine will not run unless the E-stop is pulled, all you can do is power it up.
Vern.
Give a man a fish and he eats for a day, teach him to fish and he eats for the rest of his life.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3581
  • Darth Ladder
Re: Another New User
« Reply #11 on: November 23, 2008, 11:05:41 PM »
No, you can only enter constants for time values in a DRUM, not use a V like you can in a normal timer.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

Vernon Leeper

  • Full Member
  • ***
  • Posts: 49
Re: Another New User
« Reply #12 on: November 24, 2008, 08:31:34 PM »
Bummer, If you could "on the fly" adjust timers in a drum through a HMI would work wonders for some processes. Don't you think, you could eliminate a few rungs. If it did work, then it would have made my vacuum former so much easier. The proceess steps are all time based operations like a drum. I needed some way for the setup tech to adjust heat times, vacuum, and cool times, other wise I would have to drag out a laptop for every setup. Oh well, it works.
Give a man a fish and he eats for a day, teach him to fish and he eats for the rest of his life.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3581
  • Darth Ladder
Re: Another New User
« Reply #13 on: November 25, 2008, 09:27:59 AM »
Bummer, If you could "on the fly" adjust timers in a drum through a HMI would work wonders for some processes. Don't you think, you could eliminate a few rungs. If it did work, then it would have made my vacuum former so much easier. The proceess steps are all time based operations like a drum. I needed some way for the setup tech to adjust heat times, vacuum, and cool times, other wise I would have to drag out a laptop for every setup. Oh well, it works.

Well, what I've done a lot that would work for you is to use an EDRUM, setting only any fixed, non adjustable timers in the drum itself, and allow 16 relays for the step completion events.    Then the completion conditions are written immediately below the drum, and can include a normal timer if necessary, which can have a V-register for a setpoint, that can be set from an MMI.

Or, while it's not quite as flexible, if the only reason you're doing it is to allow time adjustment, you could chuck the C coils as completion conditions and just use the timer done bits.
« Last Edit: November 25, 2008, 09:34:54 AM by Controls Guy »
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

b_carlton

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 606
    • thePLCguy
Re: Another New User
« Reply #14 on: November 25, 2008, 11:23:20 AM »
I suggest Stage programming. It has much more opportunity for documenting the individual events. You can transition based on a varitey of factors, not just time. The time could be easily adjustable. If you need flexibility then this is the way to go.
An output is a PLC's way of getting its inputs to change.