A simple example for fluid level control using high and low level switches and a pump to fill the tank.
First give all the inputs a long 20char name at Tab1 and a shorter 8 char name at Tab2. The 8 char name is used on the graphics displays while the short name is using in the trend logs and programming.
Set the range to LOW/HI at Tab4. Depending on your float siwtches you might need to flip that around by selecting HIGH/LOW instead. You can guess to get started and change this later if necessary.
Next give the outputs a long and short name in the outputs table.The range of OFF/ON is already set by default.
Normally I would do the programming next but it helps to have a graphics display to debug while you do the programming. This way you can see the system working live as you program.
I noticed the system is a little clumsy to use, I made some notes and the team will be working on that. For example I could not manually turn the pumps on and off, just could turn them from manual to auto mode and a few other little UI improvements. If you have difficulties or need new features here you can send us an email or post in the forum.
Finally the programming.
The IF- statement is an edge triggered event, its useful for pushbuttons and float switches. Soon afer the pump comes on this low level switch will flip state so if we used IF NOT T1LOW the pump will be going off as soon as the low level float triggers.
The IF+ T1HIGH statement waits for the high level switch to flip state telling us the tank is full and the pump can be turned off. As the fluid gets used up the high level float will change states but we don’t turn on the pump right away, we wait till the low level float triggers and THEN turn on the pump again.
Thre’s two tanks so we just cut & paste the first few lines and edit them for Tank2.
10 REM *******TANK1 PROGRAM *********
20 IF- T1LOW AND NOT T1HIGH THEN START T1PUMP
30 IF+ T1HIGH THEN STOP T1PUMP
40 REM *******TANK2 PROGRAM *********
50 IF- T2LOW AND NOT T2HIGH THEN START T2PUMP
60 IF+ T2HIGH THEN STOP T2PUMP
Next debug the program by manually toggling the float switches to simulate the fluid going up & down. Flip between the inputs table, the graphics screen and the program to test it all out and make adjustments.
You can do some alarms, see teh Dalarm statement in the help files. Also you could add some timers to make sure the pump didnt stay on too long due to a faulty float switch.
Final Note: The emailed alarms feature is finally working (again). Please update T3000 and T3 firmware to be able to use the new features. Chelsea will do a writeup on how to configure and test it all out
2 posts were split to a new topic: New Graphics System
What would you suggest if the tank being filled is 1/2 mile from the pump being controlled.
Water is incompressible so the length of the pipe shouldnt affect the timing much. Sounds like big pumps you have there so must be careful to avoid water hammer. If a float switch started acting up for example the program above could cause trouble. We can add a short cycle safety flag called SHORTC to make sure the pump runs for a least 30 seconds and similarly stays off for at least 30 seconds at a time.
5 REM ******* SHORT CYCLE FLAG: SHORTC ********
10 VAR1 = TIME-OFF( PUMP1 )
20 VAR2 = TIME-ON( PUMP1 )
30 IF MIN( VAR1 , VAR2 ) < 0:0:30 THEN START SHORTC ELSE STOP SHORTC
40 REM *******TANK1 PROGRAM *********
50 IF- T1LOW AND NOT T1HIGH AND NOT SHORTC THEN START T1PUMP
60 IF+ T1HIGH AND NOT SHORTC THEN STOP T1PUMP
I had the same problem with the pumps and wanted to be able to start them, regardless of the status of the float switches.
What I did:
the pump relay (Output: R1) is set to automatic mode,
my float switch (Input-table: IN8_10K) is in automatic mode,
I have a variable VR1 which is in MANUAL mode,
I have a FSLO variable (automatic) specifying the minimum height of my float,
I have a FSHI variable (automatic) specifying the maximum height of my float,
my program is as follows:
30 REM set low and high limits of the floater
40 FSLO = 340
50 FSHI = 440
60 REM run pump if input lower than lower limit
70 IF IN8_10K <= FSLO THEN R1 = 1
75 REM stop pump if input higher than upper limit
80 IF IN8_10K >= FSHI THEN R1 = 0
150 REM if manual switch is ON, bypass the upper limit and run the pump
180 IF VR1 = 1 THEN FSHI = 640 , R1 = 1
185 REM if manual switch is OFF, stop the pump
190 IF VR1 = 0 THEN R1 = 0
by increasing the upper limit of my float (which is technically not possible to reach, the max of the table is 450), the pump runs regardless of the float height when I activate my switch.
Looking good. I see your project has an analog float sensor which is a step up from the two float switches example up above. If the sensor fails you would want to put a safety for the maximum time on of the pump, and some alarms.
Note: The email alarms feature is working with non SSL servers, our team will write up how to use it in this forum today.
I’ll add this month a water and liquid level transmitter I already use on another project
(https://temcocontrols.com/shop/water-and-liquid-level-transmitter/).
More reliable and without moving parts. And in my case, never stuck with ice (external pond).
Is there a good option to communicate with the float switch if it is 1/2 mile away? Currently no power onsite, unless we use 12V. No wires between float switch and pump either.