Is it Ok to command open to an already open valve?

Preeya

Member
Join Date
Nov 2003
Posts
112
Hi Everyone, I have seen some programmers who do not command open to an already open valve or even do not set an already set bit. They use a logic that adds --> open only if not open already.

My question is.. Is it necessary to do that?

Thanks for your time!
 
IMHO, no it's not necessary. A case could be made that if the preceeding logic string to the output/valve is VERY long that an extra rung condition indicating already open could save you a few microcesonds of scan time. But in the greater scheme of things I don't think it matters much.

Keith
 
There are many considerations which go into this determination. First would be the rating of the valve coils.

If the valves are not rated for continuous operation, then you have to take the power away in accordance with the duty cycle capabilities of the valve.

So then if you have continuous duty coils there is the configuration of the valve center position. With a blocked center on a hydraulic system, in a horizontal orientation, then removing power once you achieve the desired position normally is ok. On a pneumatic slide which stops against a shock/damper, if you remove the power, you are likely to have your actuator pushed back out of position.

Remember, your logic only exists to make other things happen, the answers cannot all be found in the program.
 
I may have misunderstood the question. Maybe Preeya can clarify. I took the question to be:

| Set Coil Coil |
|----] [------]/[---------( )---|
| | |
| Coil Reset | |
|----] [------]/[---| |
| |

or

| Set Coil Coil |
|----] [------]/[---------(S)---|
| |




This is as opposed to some additional device that detects the physical state of the machine component the output is controlling.

Keith
 
The question was in regard to your second condition. I was not sure if you need the ]/[ for the coil.

From most of your replies it looks like it is not needed. Someone correct me if I am wrong.
 
The response to your question is neither straight forward nor simple. First you need to find out if your valve can stand continuous power and adapt your code to this. Second you need to find out if your valve is mechanically latching and so reapplying power changes nothing or if it goes to a "middle" position where the "movement" stops and so reapplying power will reinitiate it (or simply apply again pressure).
I hope that the above help
 

It depends!

There are plenty of cases where this is a valid action!


The basic concept might be...
Earlier in the scan, based on what I knew, I didn't think I needed this ON but now, at this point in the scan, after looking at other conditions, I see that I do need it ON!

The classic example is to look at this using "REVERSE-LOGIC".
A sub-routine is called. Something is turned ON in the sub-routine.
The sub-routine is done and can not turn the output OFF. The output stays ON.

Later, outside of the sub-routine, Ladder sees the output to be ON and that it is not needed. Ladder uses SET to tell the output to turn OFF!

I've always been amazed at the number of people that think SET is "permanent" until RESET. Or that once something is turned ON in a sub-routine it can't be turned off by anything except the sub-routine.

That just ain't so.

SET is a ONE-TIME flick-ON-of-the-output. Likewise, RESET is a ONE-TIME flick-OFF-of-the-output.

It takes "CAUSE" to make an "EFFECT".

If a sub-routine turned something ON, then the sub-routine is done, then Ladder turns it OFF, the output stays OFF until something turns it back ON!

geeez, I love MGD! Hi, Ron... How ya doin'?
 
Thank you, Terry, for noticing that it's a "SET", not just an 'regular' OUT. Perhaps 'beer goggles' increase comprehension?... 🍺

If it was just a 'regular' OUT...

| SET COIL COIL
|----] [-----]/[--------( )


I would agree that it's probably not needed. But since it's a "SET" output, the NC contact may be necessary. The "COIL" may have been turned on with a 'regular' OUT earlier in the scan, and the programmer doesn't want to "SET" it if turned on by this earlier rung.

Calling an output more than once (double coil syndrome) is bad practice, but this may be how the program was written... :confused:

beerchug

-Eric
 
Quote: "I've always been amazed at the number of people that think SET is "permanent" until RESET."

Terry, I guess I don't understand what you mean. My experience with Siemens S5 and S7 is that once something is SET, it remains set until some other logic resets it (whether it's specifically a reset command, or by other methods).

When I look at the ladder diagram that Kamenges posted,

| Set Coil Coil |
|----] [------]/[---------(S)---|
| |

I can't see any point in the NOT instruction. Whether it is there or not, the coil will be set, period, as long as the "Set" instruuction is True. I'm not questioning why someone would set a coil in two different places, and I probably wouldn't do it that way, but just looking at the raw code, that instruction can be removed.
 
S7Guy said:
Quote: "I've always been amazed at the number of people that think SET is "permanent" until RESET."

Terry, I guess I don't understand what you mean. My experience with Siemens S5 and S7 is that once something is SET, it remains set until some other logic resets it (whether it's specifically a reset command, or by other methods)

I think the "by other methods" was Terry's point. Meaning the "RESET" command is not the O-N-L-Y means of turning off the bit.

beerchug

-Eric

P.S. I am questioning my previous statement on why the NC contact may be needed when a "SET" is used. I now don't think it is needed, period... :D
 
I am guilty of mal practice.

Eric Nelson said:
Calling an output more than once (double coil syndrome) is bad practice, but this may be how the program was written... :confused:
I was loading an FX2n program tonight for the first time in about 2 years. The GPPW warned me of a about two dozen multiple coil violations. How annoying.

Assembly language and C programmers do not have such rules. Why do these rules only exist when programming in ladder? Personally I think the rules that people have about latches, one shots and multiple use of output coils is a handicap and is like fighting with your hands tied behind your back.

In reality computers have only OR, AND and NOT functions. Outputs such as ---(S), ---(R). -----( ) or ----(/) and contacts such as ---|^|--- and ---|v|--- are simulated to make things easier and more familiar to you. Assembly and C programmer generate these functions as needed without regard to the rules that PLC programmer have yet their programs still work. Why is that? Obviously the PLC rules can be successfuly ignored. These 'rules' are just artificial restrictions. Free yourselves of these restrictions. All the PLC coils are just tools or instructions. Use them freely, but wisely.
 
Not really a case of mal practice but...

Peter-
To that I ask "Why are there speed limits?". We have speed limits to keep the 16-year old males from taking there Daddy's Porsche 911 up to 150 MPH on a county road and killing themselves and those around them. Does that mean that no one can take a car like that up to ludicrous speed on a county road without killing themselves? No. They do it every day in the movies and on race tracks. All it means is that you probably shouldn't attempt it unless you have the experience to know if you can get away with it.
The same can be said for the 'artificial rules' for plcs. There is no reason not to use multiple coil references in a program as long as you know exactly what you want to do and what will happen when it executes. I do it with integers all the time without a second thought. However, that doesn't remove the need for a warning against some practices for those who don't have the experience to know what they are getting into. Just like that 55 MPH sign on the county road and the friendly officer there to make sure you see it.

Keith
 

Similar Topics

Hi; I have Weintek HMIs connected with an Ethernet network. Usually I do upload the data log files by using “ftp” command. By using my...
Replies
4
Views
2,141
Hello! I need to control a sinter moisture in a mixing drum. I have a moisture meter with analog output 4-20 mA connected to analog input of PLC...
Replies
5
Views
4,682
Dears; I want to create a button in an HMI of RS view 32 through which Excel file of datalog (in data log folder) could be open. Please assist...
Replies
0
Views
3,552
I have Factory Talk SE 5.0 and I want to open a specific rung, Online, in RSLogix5000. The command line is: OpenRSlogix5000 "C:\RSlogix...
Replies
1
Views
4,759
In ProTool it was only possible to create complete screens, but if I remember rightly (it's about 4 years since I worked with it) it is possible...
Replies
12
Views
8,882
Back
Top Bottom