DL240 Editting Crash

cnrservices

Member
Join Date
Dec 2003
Location
Southeastern Michigan
Posts
147
Attached is a Directsoft file for a machine that watches the next machine upline for a ready signal, and if the signal (X11) is there it sends product through.

However this machine in particular does not stop when the X11 signal drops, it "preps" itself by grabbing one last piece & continuing through until it is ready to drop on the conveyor. At this time it is usually holding a piece just above the last piece on the stopped conveyor. As soon as the ready X11 goes true, the machine drops the readied piece on top of the other piece & this causes a problem every time the line is resarted.

I tried adding a rung & having X11 start a 8 Second timer, then using the timer in place of the X11 instruction in Line 90, accepted the edits OK, wrote to the PLC, but at the end of the download where the PLC stops RUN mode & shows PAUSED, the communication with the PLC halted, the CPU Fault light on the PLC came on & I got a error message about the processor memory. I had to power down the PLC & it came back up in RUN mode OK. I also had to shut down Directsoft & DSLaunch & restart them to restart the 240 COMM link.

I went online & redownloded the original file, and the machine ran as before. This happenned a 2nd time exactly the same, so figuring a CPU problem replaced the DL240 with a brand new CPU, downloaded the original file & tried to edit it. SAME CRASH

Now I successfully did the exact same edit (see lines 204 - 206.)

Is there any reason one stage of a program won't take a verified edit, but another stage will?

Also, am I going about this the right way - I want to wait 8 seconds after the Ready signal goes true before dropping a part.

Hopefully some A-D "specialists" can give this AB programmer some guidance.
 
Last edited:
I wish I could offer some help with the error, Greg. I don't have a 240 lying around to test. It will probably be helpful to give the EXACT text of the error. If you haven't already, be sure to post this question at the A-D forum, but don't expect an answer before tomorrow.

I don't use stage programming, so I'm at a loss trying to follow your program. lack of naming and comments doesn't help either (hint, hint)... ;)

As far as adding the 8 second timer goes, what you did should work. BUT, I also see X11 used in rung 10 (a --]/[-- contact). Just be sure that there won't be a problem if X11 happens to turn OFF before the timer expires. If there is, you may need to add something to prevent that --]/[-- contact from going true if the timer didn't finish.

beerchug

-Eric
 
Eric,
lack of naming and comments doesn't help either (hint, hint)...

I know how you feel, I dislike working without schematics or full programs, but the only info I have on the machine is what I uploaded & a couple of quickly traced inputs. (no schematics, printouts or disk on file - the customer bought this at an auction from a competitor closing it's doors.)

As far as line 10, I'm sure that is just sending a fault code to the touchscreen, as I editted that first & it only delayed the screen message coming up while the machine still ran, so I fa'gotaboutit after the first crash.

I figured that with the stages I had to put an individual timer in each stage used, as if one timer was put in a stage not being processed that would cause bigger problems, and I couldn't recognize any area of the program that ALWAYS executed every cycle (like Ladder #2 in a SLC or PLC5) even with the online Stage View - too fast skipping through to even know why it's there.

Thanks for the reply.

P.S. The other option was to reprogram the next machine to delay the ready signal, but I couldn't find anyone in the area with SAIA software, and a few programmers thought I was making the name up.
 
Last edited:
cnrservices said:
I couldn't recognize any area of the program that ALWAYS executed every cycle (like Ladder #2 in a SLC or PLC5) even with the online Stage View - too fast skipping through to even know why it's there.

There isn't any... It's full of stages (reminds me of 2001 - A Space Odyssey "Oh my God, it's full of stars")... :p

Since you'll probably be living with this machine for a while, go ahead and start reverse engineering it. Fill in the I/O descriptions, and start trying to figure out what the original programmer's train of thought was. That is, if he had one... :D

There are plenty of guys here who swear by A-D's stage programming, so the more nicknames, etc. you can add, the better... :nodi:

beerchug

-Eric
 
Greg - what's the make of the machinery? The action sounds suspiciously like one of ours when it reacts to a signal which should only come back on when the area is clear. I can't look at the code from home but I'll look at it from work in the morning. I always program in Stage Logic so it makes it even more possible. As to a programming crash, I haven't the faintest.
 
just a thought

Greg maybe when X11 goes false and signals the panel view you could go to a new stage put some dummy logic in it and when X11 goes true now timeout and go back to the real program. I maybe completely in left field as I don`t use Stages, but if this works it would save alot of documentation.
Good Luck
Tom
 
Thomas,
when X11 goes false and signals the panel view you could go to a new stage put some dummy logic

Since I have no experience with stages, where in this file would I put the call (or calls) to the dummy stage if X11 false to make sure it worked whenever X11 drops and the program isn't looping somewhere else?

And if there was more than one call to that stage would a simple RETURN if X11 true work, or would I have to know what stage I came from?

Eric,
If you haven't already, be sure to post this question at the A-D forum...
Tried that, but have to register to post & get a password e-mailed to you, and my e-mail server WILL NOT process any e-mail from A-D. It all gets SPAM blocked. They must have done something before to get "listed" on the spammers list. Come to think of it I have never gotten an order confirmation, shipping notification or e-mail newsletter from A-D either & I know they have my right address.
 
Greg,

A go-around on the AD Forum issue may be to sign up for a free web based email account with MSN or Yahoo. Since the webmail is not downloaded to your server like outlook, it wont be blocked.
 
crash

Hi Greg
The DL205 users manual explains stage programming in section 7. I learned switching between ladder and stage views will show you program flow. S0 and S1 are ING stages this means they are active at power up. S0 always calls S100,GTS1,GTS2,GTS3 and can call S1. S100 calls GTS4 AND GTS5. S1 calls out S10 and son on click view then stage view. Maybe someone who programs in stages can help you I don`t understand it. Did the rung that CRASHED your program look like this? Wish I could help!bonkhead
Good Luck
Thomas
[attachment][and]

directsoft.jpg
 
Thomas,

The crash that shut down the PLC CPU was below - as I only wanted the timer to respond to X11, not any of the other bits or timers in the original line, also I tried different timer numbers and times (T35; K77).

One thing I still question about the stages: if S0 is an ING stage does it get processed every PLC scan or just initially at power up?

Mike,

I guess I have to get another free e-mail account, had one before but got sooooo much spam I had to search 100 e-mails for 1 or 2 "real" e-mails.

pic 1.jpg
 
Last edited:
The ISG stage turns on at power up (or program to run mode) and it will stay on unless you jump (JMP) out of it or turn the associated S bit for this stage off through some other means (RST, peripheral device, etc...)

If you want code that runs all the time regardless of stage events, you have to place the desired code above ALL stages, including the ISG stage.
 
ING

Greg the manual says the ing stages are treated just like a regular stage after powerup. It looks to me like S0 with S100 and the subrutines would be kind of like regular ladder programming, I don`t think even in stage programming you could go into a sub and just stay there with out the watch dog bitting you. And evidently you can with stages. C4 or C6 calls S1, S1 calls S10 from there a whole line of stages. When it jumps into S22 X5 is on and X3 is on and V2020 equal to or > than V2110 it turns off C34 which turns off Y5.Without doc. it like **** **** and you know the rest.
Have a nice day!
Thomas
 
It helps a lot to think of each stage as a Master Control Relay. In reality that's exactly how they act. Each stage controls the power rail until the next stage. If a stage is off then "no power", if the stage is on then everything works as normal.
 
Greg,

I loaded your software in an old 240 and it ran just fine. Added the timer back (T26 as shown in your post) and it still ran just fine.

Not sure what the problem could be... something could be turning off S22 after X11 comes on, but before the 8 seconds are up, it'd have to be X0 or C42 from what I see.
 

Similar Topics

Hello PLCs. I need assistant with my current problems with the H2-ECOM100. Machine configuration: DL205 with DL240 cpu, and H2-ECOM100 plugged...
Replies
11
Views
3,670
Hello, Wondering if anyone could possibly shed some light on an issue with a Direct Logic 205/DL 240 CPU. I'm having zero luck talking to this...
Replies
2
Views
2,772
I've got a DL205 with a 240 CPU and I've put a F2-04AD-1 analog 4-20 input card installed on slot 3 (last slot of the 4 slot rack) for an RTD I'm...
Replies
18
Views
4,857
Original system has one pump and 26 hoppers. Each hopper has a Full switch. Only one input was used on the PLC for the Full switch. Operator...
Replies
8
Views
2,444
So I've got this project where I need a LOT of adjustable timers (each with different times). So I was thinking of using the 4 Pots on the DL240...
Replies
14
Views
3,524
Back
Top Bottom