hard times programming an application on a SLC 5/03 PLC

giovani

Member
Join Date
Jun 2003
Location
Rio de Janeiro
Posts
18
Hi, everyone !

I'm developing an application on a SLC 5/03 PLC and I'm trying to implement a functionality that I'm having some trouble with.

Basically in this application the user can through the supervisory system select which valves should be opened or closed and which pumps should be turned on or turned of by selecting one of many elements of a ring control and pressing an OK button. When the user does this the PLC sets or resets the respective outputs corresponding to the valves and pumps related to the element selected of the ring control and, on the supervisory system, the associated elements , i.e, valves, pumps and pipes change color to indicate their current status to the operator.

The problem that arises is a result of the fact that I want to command these valves and pumps not only through the ring control but also by clicking on them on the supervisory screen. Since I used OTL ( SET ) and OTU (RESET) instructions to implement what was described in the previous paragraph that's the reason of my problem.

If anyone could lend me a hand and show me how I could do this I would be deeply appreciated.

Thanks anyway,

Giovany
 
It's gonna be hard to give you an idea without you posting some of your logic. I have experience with fluid transportation, which is what you appear to be working with. Post an example of a valve or a pump that represents what you currently have programmed and I'll see if I can be some help.
 
Although I don't reccomend it, you can use multiple OTU and OTL instructions in an SLC. Based on what I understand I would branch your existing rungs with control from the SCADA or the Ring to accomplish what you need.
 
Example program

First of all,

thanks to everyone for the quick help.

Rube, here I post the program example you asked me for

In the example, the bits N7:40/0 to N7:40/15 and N7:41/0 to N7:41/3
correspond to the elements of the ring control each.

I decided to create a subroutine to each element of the reing control.

The outputs that correspond to the valves and pumps are O:18/11 to O:18/14 ant O:19/0 to O:19/15.

I hope this is what you asked me for.
 
It is possible that this will work, but I wouldn't advise using this approach. Remember that a subroutine is ONLY scanned when the JSR is true. The state of the outputs will NOT be modified if the rungs are not being scanned. So unless you are setting the state of every output in every subroutine, you could be having problems. Even if you set it up correctly - this type of program is miserable to troubleshoot!

I tend to take a different approach to something like what you have suggested.

Try something like:


Supervisory Interlocks
On Request OK Output On
---+----| |----+----| |----------( )---
| |
| Auto |
|On Request|
+----| |---+



You can certainly modify this to have seal-in or latch behavior (note that these are different!) and add "Off Requests" if your "On Request" is not maintained.

Good luck,

Marc
 
Giovanni,

How about setting up individual static bit registers with the bit configuration you need for each output word and then just move the word into the output register when the corresponding ring control bit is selected. For example, set up B3:0 with your configuration for the first ring

0010 0011 0000 1010 = B3:0

Then just move B3:0 to the output register when the the ring bit is selected:

| ring bit
|---] [-----]OSR[-----------------MOV B3:0 --> O:6.0
|



(Sorry....haven't mastered posting ladder yet)

This way you could directly address the outputs in your tags of the supervisory screen and have direct control. You would also be able to easily modify the ring word configuration without editing the ladder.

Hope this helps.

Jeff
 
From what I see, you could use OTE commands instead of latches. When the integers are in the correct state to make the output true (and more than one integer can make the output true) you don't HAVE to latch the output. You can use logic without subroutines, which can sometimes prevent flaky operation, and use multiple branches to call on your outputs. You will probably need the regular logic to call any output on manually anyway.
I also agree that using multiple output coils is a bad practice. If nothing else it can be confusing to diagnose problems.

I can give you a starter example of the logic I'm describing if you need it.
 
Ladder

Sorry--

Had to figure out how to post this attachment.

Say you want O:19/13, a Valve, to be one of the needed outputs during more than one ring. You also want supervisory control.
If either of the rings calls this valve on, it will only stay on as long as the ring callls it on. "Other logic" could include stop bits, timer bits, ring selection change bits, etc.
The supervisory bit will be like a "manual" button. It can be programmed to stay on (elsewhere, not in this rung), or be a momentary as shown here.
It's just my personal preference to use OTE instructions instead of latches on outputs.

I hope I'm reading your question correctly.

rss.jpg
 
I apologize for the vagueness of my example. Here is sample ladder for what I mean:

[attachment]


You could then set up B9:0 with the outputs you need turned on or off for word O:2.0 (O:19.0 in your case) and set up bit 11-14 of B11:0 for O:5.0 (O:18.0 in your case) for the first ring. Set up words B9:1 and B11:1 for the next, and so on. Notice the Masked Move to make sure you only move bits 11-14.

This would then allow you to program a supervisory bit elsewhere for manual control.

HTH,
Jeff
 
Last edited:

Similar Topics

Outside what used to be an RCA TV plant. Shame of a use of a good robot.
Replies
3
Views
1,693
Hi - I'm a newbie to the PLC world but was recently asked if we could store more than the 2G that the CompactLogix 5370 allows by its max size SD...
Replies
13
Views
1,330
It's Saturday, so I thought it would be amusing to look at times gone by, imagine if you had to carry this to site "IBM 5mb Hard Disk 1950's.
Replies
16
Views
1,861
Any help appreciated, Proposed question: I need to track parts to count the rejects in a rotating machine but having no luck tracking proper...
Replies
7
Views
2,344
I've been beating my head against this problem intermittently for a while now. :banghead: We have 3 meter with hard mechanical counters on the...
Replies
26
Views
7,902
Back
Top Bottom