Chemical dosing pump

This is the modified program, but is not working based on your logic, i have explained how i want it to wort in my previous comments, but if you are still nor clear, tell m, i will explain further
 
This is the modified program, but is not working based on your logic, i have explained how i want it to wort in my previous comments, but if you are still nor clear, tell m, i will explain further

Dosing pump.PNG
 
Is this correct?

Now wWhen start button is pressed, the chemical pump should start and run (Q3=1) till the set.

When the count of flow meter pulses,
reaches which is pulses are connected to a counter, reaches the counter preset, at which point the chemical pump stops (Q3=0) and the water solenoid valve opens (Q2=1), and w.

When the water reaches the high level
tank sensor, the high level sensor should stop the water solenoid valve should close (Q2=0)., w

When the water goes below the high level sensor, it should not turn on the water solenoid valve (Q2 remains 0).


The process should stsrt start again when the water reaches the low level sensor.
 
This is the modified program, but is not working based on your logic, i have explained how i want it to wort in my previous comments, but if you are still nor clear, tell m, i will explain further


Like I said, in my back of the envelope start/stop circuit, I swapped the low and high level sensor contacts.

So swap I3 and I6 in that last branch, i.e. the one that controls Q2; I6 (water low) should be examined by an NO contact; I3 (water high) should be examined by an NC contact.

Also, if you want to ensure the process starts when the start button is pressed even if the water level is not low, put an NO contact with I1 in parallel with the NO contacts of the I6 and the Q2 seal-in branches.
PXL_20230919_120837619.png
 
It is still not working, when Q3 is off, Q2 needs to come on, and that can only happen if I3 is NC, but when I3 turns to NO, i do not want it to affect Q2 by turning it off. thanks

PLctalk1.PNG
 
It is still not working, when Q3 is off, Q2 needs to come on, and that can only happen if I3 is NC, but when I3 turns to NO, i do not want it to affect Q2 by turning it off. thanks

In your screenshot, I3 is going to turn off Q2 once it changes state because it's not sealed in.

I've attached a screenshot of how I would program this (this is in AB Studio 5000 but it works the same). If indeed your high level switch opens when water reaches it, you would program it the bottom way, but I typically run into the situation where the switches close when floating, in which case it would be programmed the top way. In that situation, the low level float I6 is typically floating, so it's closed and will open once the water pumps down that far and Q2 will go false, and the pump will stop until the high level float I3 closes, starting the pump and then sealing itself in around I3 which should go false quickly, but Q2 will stay on until it hits I6 again, rinse and repeat. The stop button needs to be outside of the parallel start rungs so that it breaks the "power flow", if left the way you have it, it will not stop the pump if I3 or Q2 are already true (I also programmed an NC stop button out of habit). I'm wondering if maybe you have the address labelled as Stop but are actually using it as a Start PB?

I think a few photos/screenshots from you (or even a video if you can) of the system state and the program state would really help us troubleshoot with you.

LvlControl.PNG
 
Last edited:
It is still not working, when Q3 (do you mean I3?) is off, Q2 needs to come on, and that can only happen if I3 is NC, but when I3 turns to NO, i do not want it to affect Q2 by turning it off. thanks


Terminology is important, so please note that booleans CANNOT be described as "NC" or "NO" i.e. the phrases "I3 is NC" or "I3 is NO" have no sensible meaning.

  • The discrete (boolean) input I3 can have a value of either 1 or 0
  • IF
    • the input rung state to an NO contact is TRUE,
    • AND I3 is examined by that NO contact,
    • AND the value of I3 is 1,
  • THEN
    • the output rung state of that NO contact will be TRUE

  • IF
    • the input rung state to an NC contact is TRUE,
    • AND I3 is examined by that NC contact,
    • AND the value of I3 is 0,
  • THEN
    • the output rung state of that NC contact will be TRUE

  • For ALL other cases the output rung state of any NO or NC contact examining I3 will be FALSE.
 
Last edited:
the water reachesing the high level tank sensor, the high level sensor should stop close the solenoid valve i.e. it should write a 0 to Q2,

when the water goes below the high level sensor, it should not turn on open the solenoid valve.

the process should stsrt again when the water reaches the low level sensor/

@mylespetro: close valve at high level; open valve at low level. you need to swap I6 and I3, but you got it.

@koloyewo needs to better understand the Start/Stop Circuit pattern (e.g. here), NC contacts, and NO contacts; apparently, so do I :oops::
PXL_20230919_120837619.png
 
Last edited:
@koloyewo:

  • When the water level is above the high level sensor, what is the value of I3? Is it 1 or is it 0?
  • When the water level is below the high level sensor, what is the value of I3? Is it 0 or is it 1?
The answers to these questions determines the type of contact, NO or NC, that will be used to examine the value of I3 in the ladder program.
 
According to two previous posts by @koloyewo (see attached image), a high water level (i.e. a water above the high water level sensor) should be writing a 1 to the value of discrete input I3, so a water level below the high water level sensor should be writing a 0 to the value of discrete input I3.

So if a high water level should close Q2, then the type of contact for the "Stop" condition in the "Start/Stop" Circuit pattern for Q2 should be an NC contact, which will

  • allow the value of Q2 to be 1 as long as the water level is below the sensor, and
  • ensure the value of Q2 is 0 if the water level rises above the sensor, and
  • does not change the value of Q2 from 0 back to 1 when the level drops (transitions) from above to below the high level sensor, until the level also drops below the low level sensor.
Untitled.png
 
@koloyewo:


In the original program (Post #42), the low water level edge detection occurs when the value of I3 changes from 0 to 1.

In Posts #28, #30, and #47, the low water level edge detection (SF001) occurs when the value of I3 changes from 1 to 0, which resets a counter.

Do you want the counter to reset when the level rises (transitions) from low to not-low, or when the level drops (transitions) from not-low to low?

What is the value of I3, 1 or 0, when the water level is below the low level sensor?
 
[Ignore previous Post #57; I fixed typos for low level input, it's I6 not I3.]

@koloyewo:

In the original program (Post #42), the low water level edge detection occurs when the value of I6 changes from 0 to 1.

In Posts #28, #30, and #47, the low water level edge detection (SF001) occurs when the value of I6 changes from 1 to 0, which resets a counter.

Do you want the counter to reset when the level rises (transitions) from low to not-low, or when the level drops (transitions) from not-low to low?

What is the value of I6, 1 or 0, when the water level is below the low level sensor?
 
Sorry, I'd misunderstood that Q2 was a pump.
No need to apologize, @koloyewo uses inconsistent and/or incomprehensible descriptions (e.g. "stop the solenoid valve"), and also makes many typos, regarding tag names and what they do, in almost every one of their posts. Not that my posts have been any better LOL. OP's flag is UK but it appears we are separated by a common language.

I doubt we know yet either how this system operates or precisely what the control system is supposed to accomplish. It may be a dosing system but apparently it cannot measure at least one of the component flows; that was an interesting development. I have posted a couple of "is this correct?" queries and have yet to see any complete answers.

Apparently OP has the impression that our super powers include X-ray vision and/or reading minds; it's a typical thread, I guess ;).
 
Well it took me about 10 mins to code this assumes that the process is on low level & the run latch is on then the water valve opens and the chem dosing valve, it also assumes the chem dosing is shorter than the time it takes to fill the tank to high level, when the dosing pulse count = the required count it turns off the dosing solenoid, the water continues until it hits high level, it will not start again until the level falls below the low level.
UIf this is what you want then it is pretty simple.
 

Similar Topics

We have a couple LMI chemical dosing pumps that are pumping caustic and sanitizer into a couple CIP tanks. I would like to know if there's a way...
Replies
6
Views
3,036
Hello, I am relatively new to PLC's and water treatment. I currently working in a water treatment facility as an instrumentation worker. I have...
Replies
1
Views
2,093
Hello all, I am working on Water treatement project i need to prepare logic for Dosing Pump the system has two Dosing pump they having Storke &...
Replies
7
Views
2,812
Very interesting read and every WTP staffs nightmare. No one ever wants to end up on national news. Instrumentation work distracts staff and...
Replies
12
Views
5,676
We have a wash facility which uses a venturi to draw an iron phosphate chemical from a tank into a high pressure water line running at 160 bar...
Replies
2
Views
1,750
Back
Top Bottom