Automation Direct DL05 problem

david bron

Guest
D
This is my first attempt at plc programming and I am having a lot of problems. I would sure appreciate it if some one could look at my attatche ladder and tell me where the problem is.When loaded into the PLC I dont get past the first output Y3 working.

Please help
 
David we would be glad too but you forgot to make the attachment. If you are having problems posting the file(s) you can send them to me in an email, [email protected] and I will make it available AND look at it. With the DL plc you have to put all the associated files in a zip then attach the zip file. There will be several files associated with a project. Look in the DirectSoft32 folder for projects then find all files with your project name, add them to a zip file using WinZip or similar then attach here.

We will be waiting. BTW since you are going to be using/working with plcs then signup as a member, its free and the gains are enormous.
 
Last edited:
correct information

here is the zip file for my first post allong with my correct name sorry I had been at this program for 20 hours and was not thinking clearly

Dave Brown
 
The first thing that I see is that you never tell the program to move past sg2. You need to instruct the program to go to sg3 sometime.

Also with the SP1 contact,Y3 will always be on even if the stage 2 is not .

I have never have any luck at Automation Direct stage programming. Why not just try ladder.
 
I need Y3 to stay on .That is my IN CYCLE lamp and also moves my fixture into position.Also I believe I jump to STAGE S3 on the next line. I have been looking at this program for several days now and may be missing something very simple
 
1. Except for an Initial Stage (ISG) no stage turns on unless it is the object of a JMP or a SET command. A JMP command has the added effect of turning off the stage it is in. You can use the SET command if you wish to start another stage but keep the current one still active.

2. An OUT instruction is only effective within a stage if that stage is currently active (your Y3 in stage 2, Y1 in stage 5). When the stage turns off, that output turns off unless it is turned on in some other stage after that.

3. Could you please describe the nature of the inputs (X) and outputs (Y) and the intended sequence?

4. Your current program as written will do the following:

Wait for X0 to turn on then ...
Wait for X0 to turn off then ...
Turn on Y3

That's ALL it will do until power to the PLC is cycled.
 
new ladder attempt

what I need to accomplish is

1 when cycle start is pushed input on X0
2 out put Y3 is energized the in cycle lamp is lit and the machine closes.

3 input on X2 verifies that the machine is closed.
4 output on Y1 will bring the drilling heads down to a prox input on X3

5 here I need to denergize Y1 ( this will reverse the valve and the drilling heads will return to there home position.

6 after the drilling heads return home a prox switch input on X4 will go high.

7 at this point I need to deenergize Y3 the lamp will go off and the machine will open.

8 the program needs to reset at this point.

I have attatched my revised ladder please make any sugestions and let me know if it will work.

Thanks for all the help

Dave
 
OK, knowing what you want, here is my analysis (I hope this isn't a student project)

1 - OK it does wait for X0 (Cycle Start - try using lables) to be pressed and S1 waits for it to be released (is that what you want?)

2. (S2 rung 1) Y3 (Cycle Lamp, Machine Close) is turned on.

3. (S2 rung 2) As soon as X2 closes (Machine Is Closed) Y3 is immediately turned off by the jump to S3. If you want it to STAY ON until step 7 (your description) then do a SET Y3 instead of an OUT Y3.

4. (S3) Y1 is turned on by the line but is immediately turned back off by the jump to S4. Again, if you wish Y1 to stay on, do a SET Y1.
(S4) This does wait until X3 energizes.

5. (S5) If you have revised the rung in S3 to SET Y1 then you can now do a reset (RST Y1) instead of OUT Y1. You can change the _Off - SP2 to an _On - SP1 like in your other rungs for consistency. But as a note, the first rung after the stage box does not require any condition if you intend it to be true for the duration that the stage is active. You can remove all the _On's and _Off's as they occur in your program.

6. (S6) This waits for X4 but it is waiting for the input X4 to turn off. Is that what you want? It doesn't sound like it from your description.

7. (S7) Change the _Off to an _On or remove it. Change the OUT Y3 to a RST Y3 to deenergize it.

8. Do you want to have any hard verification that the machine is open before resetting? You would have to have another stage looking for an input saying the machine is open, or at least check that X2 has released.
 
You made most of the changes.

In rung 13 (S5) change the _Off to an _On or get rid of it altogether if you wish (see my comment in the previous post about the first rung of a stage). Are you thinking that having an _Off will reset the output?

Rung 15 - I don't know if you thought about the nature of the X4 input. You are waiting for it to go OFF. Is that what you really want?

Rung 17 - Did you give consideration to any confirmation that the machine is open before restarting? An operator could restart the cycle before it has even begun to open with this logic.
 
Yes I am waiting for it to go off X4 that is. it will be on a cam cycle that turns on 8 pneumatic high speed drills when it raises the drills our of the way it is in an off cam state. IE I know it is safe to open the fixture. I did it this way so depth adjustments can be made by the operator quickly and fairly fool proof.

I would like to say Thank you for all your help. You tought me more than you know.
Dave Brown
 
As Bernie stated, you have to realize that outputs will not 'automatically' stay ON unless you either 'SET' them, or maintain the 'OUT' in the later stages.

Notice that when you 'jump' to the next stage, the previous stage turns OFF!... 👨🏻‍🏫

Therefore, in your latest version, output Y3 will O-N-L-Y be ON while stage 2 is active. This is NOT what you want to do.

You have a choice, you can 'SET' and 'RESET' the output:

+-------+
| SG |
| S2 |
+-------+
| SP1 Y3
|----] [-------------------------( SET )
|
~~~
|
+-------+
| SG |
| S7 |
+-------+
| SP1 Y3
|----] [-------------------------( RST )
|


Or, maintain the output throughout the stages:

+-------+
| SG |
| S2 |
+-------+
| SP1 Y3
|----] [-------------------------( OUT )
|
|
+-------+
| SG |
| S3 |
+-------+
| SP1 Y3
|----] [-------------------------( OUT )
|
|
+-------+
| SG |
| S4 |
+-------+
| SP1 Y3
|----] [-------------------------( OUT )
|
|
+-------+
| SG |
| S5 |
+-------+
| SP1 Y3
|----] [-------------------------( OUT )
|
|
+-------+
| SG |
| S6 |
+-------+
| SP1 Y3
|----] [-------------------------( OUT )
|


This is in addition to your other existing logic of course.

First thing you should do is add names to your I/O, stages, etc. so it will be easier for us (AND you) to follow... :nodi:

Don't worry, it'll all make sense eventually... :D

beerchug

-Eric
 
the Zen of stage programming ...

Greetings, Dave,

now that Bernie, Ron, and Eric have done all of the hard work and helped you get a handle on this stage programming animal, here are some extra thoughts from the sidelines that might make the next project a little bit easier ...

Eric Nelson said:
First thing you should do is add names to your I/O, stages, etc.

this is excellent advice ... I would go just a little bit further and recommend that as the very FIRST phase of every project that you name each and every one of your stages with a separate step of the machine’s actions ... notice in the left column of the sample program below how each separate machine step has been assigned to a separate LABELLED stage box ... don’t start with the right column until all of the steps have been defined and named and charted ... this is where a lot of beginners go wrong ... they program first ... and then do the documentation later ... there is a much easier way to proceed ...
[attachment]

notice that this sample project is NOT intended to be just like the one you’re working on ... but it is a fairly common sequence of machine steps that most programmers can identify with ... plus I’ve taken a few minor liberties with the way the program will actually be displayed on your computer screen ...

once you’ve defined and charted each step (stage) of the machine’s sequence, then it’s time to start fleshing out each stage ... if you’ve picked the right name for each stage (one which accurately defines exactly what the stage is intended to accomplish) then the actual programming is pretty straightforward ... for example:

what will we do during the “wait for start” stage? ... we’ll use special contact SP4 to flash the green lamp to signal the operator that we’re ready for another cycle ... when will we be finished with the “wait for start” stage? ... when the operator presses the start button ... then we’ll move on to the next stage ...

what will we do during the “head goes down” stage? ... we’ll keep the green lamp on steady to let the operator know that a cycle is currently in progress ... we’ll turn on the travel motor to drive the head downward ... when will we be finished with the “head goes down” stage? ... when the head reaches the lower limit switch ... then we’ll move on to the next stage ...

what will we do in the “grind at bottom” stage? ... we’ll keep the green lamp on steady to let the operator know that a cycle is currently in progress ... we’ll turn on the grinder motor to grind the product ... and notice that since we did NOT program the travel motor in this stage, the head will not be moving during this step of the cycle ... since this will be a TIMED step in the cycle, we’ll need to run a timer ... when will we be finished with the “grind at bottom” stage? ... when the “dwell” timer gets done ... then we’ll move on to the next stage ...

what will we do during the “head goes up” stage? ... we’ll keep the green lamp on steady to let the operator know that a cycle is currently in progress ... we’ll turn on the travel motor to move the head ... we’ll also energize the “up” relay to set the travel motor’s direction to drive the head upward ... when will we be finished with the “head goes up” stage? ... when the head reaches the upper limit switch ...

now the cycle is complete so we can jump back up to the start stage ... and we’re ready to start another cycle ...

the best way to start a project like this is to draw the stage boxes on a piece of paper ... leave some room between the boxes for the programming ... but do NOT start adding the actual programming code until each and every one of the machine’s action steps has been assigned to its own individual stage box ... yes, it IS possible to program several steps in each stage ... but that defeats the overall idea behind stage programming ... the beauty of this “stage” programming approach is that if you do it correctly, then you’ll never again have a BIG programming problem ... all of your problems will be little bite-sized problems ... something that you can work on just one little step (stage) at a time ...

good idea: make a flow chart of your process before you start to program it ...
better idea: use stage programming to set up the flow chart ...

stage programming is really just a flow chart that actually WORKS ... you can program decisions and use the results to jump to alternate paths ... you can set up more than one simultaneous path ... for example: how about a simple little chain of stages ... running off to the side of the main sequence of stages ... constantly monitoring for “cycle took too long” ... then let the “too long” condition drop into a “set alarm” stage ... you can use “resets” in this stage to “turn off” the execution in the main sequence of stages ...

people who have no previous experience with stage programming are usually amazed that things like the “double-coiling” problems associated with ladder logic are no longer an issue ... notice that “output coils” for Y14 (the travel motor) appeared twice in the sample program with absolutely no problems ... and look at how simple the “output” rungs become ... we’re letting the ON or OFF status of the stages condition the output actions ... in fact, if you find yourself adding “too much” conditioning to your “output” rungs, then you’re probably doing something wrong ...

and for those of us whose processors don’t even support stage programming ... it’s often worth the time it takes to program a complicated process in stage first – even though it will eventually have to be REprogrammed in ladder logic ... the fact is, using stage programming as a flow charting process can help us analyze and understand the machine’s actions ... and help us organize our thoughts ... and provide a systematic and structured approach to our final ladder logic programming ...

final thoughts: stage programming ... it’s good when you understand it ... it’s even better when you accept it and believe in it ...

hope this helps ...

stage.jpg
 

Similar Topics

Hello everyone, I have a customer that needs some help and I dont really understand the question so im posting it here, I think he is over...
Replies
16
Views
3,692
I have a Direct Logic DL05 (DO-05DR) PLC I'm using with a samkoon touchscreen. I've got communication going between the two using Modbus, but...
Replies
25
Views
7,434
I am about to use a PLC for the first time to do a small lab task, and we have ordered an AD DL05 with 8 DC inputs and 6 relay outputs. The...
Replies
4
Views
3,658
Anyone know if you can use a DL05 and communicate to wonderware, with or without the ethernet addon. Thanks for your time.
Replies
5
Views
4,524
Back
Top Bottom