Hydraulic Presses with RSLogix 500

willie

Member
Join Date
Apr 2003
Location
North Carolina
Posts
18
Hello;
I have just went on-line and became a member here on this site. It looks like a great place. The article about the hydraulic presses interested me. I have taken two courses on Programming and Troubleshooting the SLC 500 PLC's. I have written 7 programs in the last 3 years using RSLogix 500 software with Micrologix 1000 PLC's. In all of these programs I have used light curtains as a must, to stop movement or retract cylinders for safety. The article made me wonder if I am specifically liable for safety matters if anyone gets hurt because of a malfunction in the machanical, or PLC function of the machines. Would anyone be interested in looking at one of my programs to give me an opinion if I am staying on the right track? It would consist of about 30 rungs. My programs do work and I have never had a failure or malfunction in one of the programs once finished, but in the learning stage it still takes me quite a while to come up with the right sequence. I have never started using integers, counters, or math instructions.
Thanks in advance;
Willie
 
Welcome!, Wille...

Feel free to post you program here, we'd be glad to 'critique' it...

Compress your .RSS file as a zip (you can use a program like WinZIP to do that). Then, when you reply to this thread, look near the bottom of the editor for this:
[attachment]
Simply "Browse" to, and select your zipped file. It will then get attached to your post.

If you want, you can practice attaching files in the "Practice Posting Here" forum.

beerchug

-Eric

attach.gif
 
Step 1 - Close your RS Logix file

Step 2 - Open windows explorer and Right click on the .RSS file

Step 3 - Select "Add to your_file_name.zip

Done. The zipped file is added to the existing folder

Click on the browse button below as Eric mentioned and point to the zipped file -> submit

Hope this helps
 
from talking to the other electricians in the plant I work at it is best to avoid integer files when ever possible. It seems they intimidate the guys and I have been told GM doesn't allow them in their plants. Same would go for sequencers, It seems I am the only one willing to tackle these programs and the nore I play with them the more confident I get, A nice upward spiral really.
 
Any suggestions on my PLC Program?

I have notice it has been downloaded quite a few times. Just wondering if there was any comments, or should I even ask?
Thanks
Willie zzzzz
 
Relax a little, look at the times between your posts.

A few things.

Consider using the address descriptions along with the symbols. You can make much more detailed explanations in the description.

Try not to use the word commands on bits. Especially since you are only using 1 or 2 bits per word. Bit level commands are easier to follow.
Example. The EQU in rung 13 is in acutality only checking B3:6/0 and B3:6/1. It would be easier to follow if you used two XIO commands.

The limit test in rungs 13 and 14 with the high and lows set to zero. What are their purpose?

It is hard to tell from the program what the press is actually supposed to do, so I can't tell a lot about functionality.
 
I was always under the assumption that a light curtin is a safety device and must kill contol power. Am i wrong?
 
Some Quibbles

Willie:

Quibble #1: I can't tell from your descriptions which way the Light Curtain is wired - Is I:1/3 = 1 when the Curtain is interrupted, or when it is OK?

Quibble #2:
Excerpt from the code

|
| LIGHT_CURTAIN LIGHT_CURTAIN_BIT
| I:1/3 B3:7/0
2 |----| |-------------------------( )
|
| LIGHT_CURTAIN INCOMPLETE_PART_BIT
| I:1/3 B3:6/0
3 |----|/|-------------------------(L)
|

| INCOMPLETE_PART_BIT ACTIVATE_LC_TIMER
| B3:6/0 B3:6/1
9 |--------| |---------------------(L)
|
|
| ACTIVATE_LC_TIMER LIGHT_CURTAIN_TIMER
| B3:6/1 +--- TON ---+
10|--------| |------------------| T4:0 |
| +-----------+
|
| LIGHT_CURTAIN_TIMER INCOMPLETE_PART_BIT
| T4:0.DN B3:6/0
11|---------| |---------------+-----(U)
| |
| | ACTIVATE_LC_TIMER
| | B3:6/1
| +------(U)



`
[NOTE: I changed your MOV 0 B3:6 to a pair of unlatches, to make the logic easier to follow, just as Rick suggests]

In the above logic, when I:1/3 drops out, B3:6/0 comes ON, turning ON B3:6/1 and starting the timer. For the next two seconds, B3:6 will not equal '0'. After the timer is done, you reset the B3:6 bits, but on the next scan, if I:1/3 is still OFF, B3:6/0 will get set again, setting B3:6/1. Since the Timer never "saw" B3:6/1 drop out, it retains its DONE status, clearing the B3:6 bits again.

So now I step back and try to figure out what you are trying to accomplish with this. If the light curtain drops out (assuming), then for the next two seconds, nothing can happen, and the machine will stop. But at first glance, it looks like after those two seconds, you could restart the machine with a blocked light curtain (I say "looks like" - you DO prevent that from happening on rung 13 by using BOTH the "LIGHT_CURTAIN_BIT" and the check for the light curtain not having been blocked in the last two seconds). It just seems like you are using a lot of code in a way that is not easy to follow to accomplish a fairly simple task.

Quibble #3: As the code was saved, I noticed that T4:6 was DONE, but the rung conditions are not true. Examining the code, I can see that - baring a change in input conditions, those rung conditions will become true next scan, at least in time to continue to keep the timer DONE. However, the input condtion bits will also become false again in that next scan as well. This quibble is along the same line as #2 - you tend not to let condtions remain true for an entire scan (let alone for a human-viewable time) so that someone can debug or troubleshoot the code.

Your code may indeed work - it's not possible to tell without more documentation - but if someone (other than you) needs to make a change or figure out what's going on, it won't be easy.
 
SLaubach said:
I was always under the assumption that a light curtin is a safety device and must kill contol power. Am i wrong?

It is a safety device. However, this does not mean it has to kill control power.
For example, our machines transfer a part into and out of a load/unload station. We often put a light curtain in front of the operator. If the LC is broken, the transfer stops, but we don't want the rest of the action on the machine, which is safely behind physical guards, to stop. I only tie the PLC outputs pertaining to the transfer to the LC. I either interrupt the common power to the output module or pass each output line through the safety relays to create the hard wired circuit. I then monitor the LC status so the PLC knows what is going on.

Fron willie's posts, we don't know if he is doing this or not.
 
It is hard to tell from the program what the press is actually supposed to do, so I can't tell a lot about functionality.
Thanks Rick for the response. This is what I had hoped for. I understand what you said about using word commands on bits. This is what I had hoped for. Other than the PLC cources I had taken I have had no help programming. On some of the rungs I would just mix up some features trying to get familiar with if it works this way or not. Process flow is really simple, but I may have it gobbed up a bit. Finger switch is activated when finger is taken off. Lockup cyl comes down to lock up on tube. Press cyl comes in sideways to press flange on tube locked up. Press cyl activates limit switch once locked up. After limit switch is activated Press cyl retracts first then Lockup cyl. If light curtain is broken before flange is pressed on part all operations will cease. I have a delay for 2 seconds letting operator know part is not complete. Operator then can press finger switch again and operation starts timing process again with cylinders in present state and assures completion of known good part. If light curtain is broken after flange press cyl is complete cylinders are not affected. At no time should operator be able to have light curtain broken and any movement in machine take place. Operator takes out complete known good part then loads another tube.
Thanks;
Willie
 
No, your program comments made it. How do you think Allen knew exactly what to call stuff?... Allen's good, but he's not a mindreader... :D

Your last post can be considered part of that "more documentation". Anything that will help us understand what the machine is supposed to do. Remember, we're coming into this blind, and your program jumps all over the place. Looks like you wrote a program that didn't work, then kept patching stuff in 'til it did... :sick:

When you've discovered all the "Oops, THAT didn't work" stuff, sit down and rewrite the program from scratch with this new knowledge. I think you can probably come up with a simple, straightforward program that will be easy for the next guy (like us) to understand... :nodi:

For example, in Rung 12, you're clearing 6 words, yet you only use 1 or 2 bits in each word (OK, in B3:9, you used 3). Worse yet, a lot of these bits are self-clearing. Look at B3:1/0. It simply mirrors the finger switch input, so why do you need to reset it with a move command? Also, there's no need to use set/reset instructions in this program. Using them only makes it much more complicated than necessary. Set/reset have their place, and this is not it... (n)

In your original post, you state that "in the learning stage it still takes me quite a while to come up with the right sequence". That's fine, but once you figure out the right sequence, remove all the "fixes" that you did. IOW, don't leave all the patches laying around. Even if this means a re-write from scratch. Then, when you're all done, comment the heck out of the program while it's still fresh in your mind!... :cool:

beerchug

-Eric
 
Program changes

Eric;
Your right. I thought of how Allen was able to address the code after I sent the reply. I do need to clean up the program after the fact. I started with what do I want to examine then I never went back and took out what did not matter. Writing a PLC program gives me a great feeling of accomplishment. Cleaning it up is just part of the process. Great corrective criticism. I'll use it!
Thanks again;
Willie
 

Similar Topics

Hello everyone, I'm reaching out for assistance regarding a project I'm currently working on. Specifically, it involves a hydraulic system with...
Replies
7
Views
394
Hi All, I could do with some advice on a hydraulic control system. It is necessary for me to accurately position a vertical hydraulic ram with...
Replies
34
Views
1,892
Hi, I am about to start a project controlling a hydraulic ram using a Siemens S7-1200 controller. It will need to be quite steady control, by...
Replies
1
Views
748
Good Evening Everyone, I am attempting to monitor the level of hydraulic fluid in a tank. The tank is 50 gallons. For insurance purposes we need...
Replies
16
Views
4,159
Hi I have an electro hydraulic valve with coil resistance 22 ohms that takes as +/-12V DC input with 40Hz dither superimposed. The valve controls...
Replies
7
Views
2,516
Back
Top Bottom