3 Pump sequencing

Last edited:
I need to program a vacuum center in the PLC,
under the following conditions, both in the CX-ONE of ONROM, as well as of SIEMENS (TIA PORTAL V15),
with 3 pumps;
2 vacuostats;
2 levels of buoys - 1 for disposal (upper - full tank)) and another for blocking (lower - empty tank), under the following operating conditions:
- in manual mode, the system will work continuously, regardless of the vacuum level of the system, only stopping in condition of blocking level of one of the tanks or activation of the protection of the motor contactor thermal relay;
in automatic mode, the 18' Hg vacuum switch informs the system to start operating at 1st. pump, if left open for more than 15 seconds, the second pump starts operating. the 15" Hg vacuum switch requests the input of the 3rd pump. after closing the 15" Hg vacuum switch, an internal PLC contactor is activated, and 1 minute after this condition, the 3rd. pump is turned off, 1 minute after the closing of the 18" Hg vacuum switch, the 2nd pump is turned off, and if the system spends more than 10 minutes above this level, the 1st pump is turned off, only returning to operation when there is a change in the system's vacuum level, the clp makes the pumps alternate in their operation, providing the equivalent use of all pumps.
inputs:
I.OO MANUAL PUMP 1
I.01 AUTOMATIC PUMP 1
I.02 MANUAL PUMP 2
I.03 AUTOMATIC PUMP 2
I.04 MANUAL PUMP 3
I.05 AUTOMATIC PUMP 3
I.06 DISPOSAL BUOY - TANK 1
I.07 BLOCK BUOY - TANK 1
I.08 DISPOSAL BUOY - TANK 2
I.09 BLOCK BUOY - TANK 2
I.10 VACUOSTAT (CLOSES WITH 15" Hg AND OPENS WITH 18" HG)
I.11 VACUOSTAT (CLOSES WITH 15" Hg AND OPENS WITH 15 "Hg

OUTPUTS:

Q0 - RELAY'1 (VENTILATION SOLENOID VALVE - TANK 1)
Q01 - RELAY'2 (CENTER FAILURE)
Q02 - RELAY'3 (LOW VACUUM ALARM)
Q03 - RELAY´4 (BLOCKING LEVEL ALARM)
Q04 - RELAY´5 9 SOLENOID VENTILATION VALVE - TANK 2)
Q05 - RELAY 6 (PUMP CONTACTOR 1)
Q06 - RELAY 7 (PUMP C0NTATOR 2)
Q07 - RELAY 8 (PUMP CONTACTOR 3)
 
I.10 VACUOSTAT (CLOSES WITH 15" Hg AND OPENS WITH 18" Hg)
I.11 VACUOSTAT (CLOSES WITH 15" Hg AND OPENS WITH 15" Hg)
Is that correct, or is it a typo, and the red 15 supposed to be an 18?

Or if it is correct, how does the system detect when the vacuum changes from 18.001"Hg to 17.999"Hg?

Are the blue WITHs implying the vacuostat (vacuum switch?) closes when the vacuum goes above 15/18"Hg, and the orange WITHs implying that the vacuostat opens when the vacuum goes below 15/18"Hg? Or vice versa?

My guess would be that it is the following:

  • I.10 VACUOSTAT is CLOSED ABOVE 18" Hg and is OPEN BELOW 18" Hg
  • I.11 VACUOSTAT is CLOSED ABOVE 15" Hg and is OPEN BELOW 15" Hg)
What are the condition that will cause the pump ordering (which is first, which is second, which is third) to alternate/change?
 
Last edited:
Re-state the control scheme prose as logical statements e.g.

  • the 18" Hg vacuum switch informs the system to start operating at 1st. pump, ... if the system spends more than 10 minutes above [18"Hg], the 1st pump is turned off, only returning to operation when there is a change in the system's vacuum level
    • => the first pump is on if either
      • the 18"Hg switch is open
      • OR
        • the first pump is on
        • AND
        • the 18"Hg switch has been continuously closed for less than 10min
  • if [18"Hg switch is] open for more than 15 seconds, the second pump starts operating. ... 1 minute after the closing of the 18" Hg vacuum switch, the 2nd pump is turned off
    • => the second pump is on if either
      • the 18"Hg switch has been continuously open for more than 15s
      • OR
        • second pump is on
        • AND
        • the 18"Hg switch has been continuously closed for less than 1min
  • the 15" Hg vacuum switch requests the input of the 3rd pump. after closing the 15" Hg vacuum switch, an internal PLC contactor is activated, and 1 minute after this condition, the 3rd. pump is turned off,
    • => the third pump is on if either
      • the 15"Hg switch is open
      • OR
        • third pump is on
        • AND
        • the 15"Hg switch has been continuously closed for less than 1min
All three of those descriptions can be implemented with the Start/Stop circuit; (see this link):

  • Start is the initial condition e.g. "switch opens," or "switch has been continuously open for more than 15s"
  • Run is the pump on condition
  • Stop is the not-expired state of a "continuously closed for X minutes" timer.
The states of conceptual sequence of pumps

  • First_pump_on
  • Second_pump_on
  • Third_pump_on
will be internal bits (booleans) that are independent of the contactor outputs for the physical pumps:

  • PUMP CONTACTOR 1
  • PUMP CONTACTOR 2
  • PUMP CONTACTOR 3
There will be nine other bits indicating which physical pump is which sequenced pump:

  • Pump_1_is_first
  • Pump_1_is_second
  • Pump_1_is_third
  • Pump_2_is_first
  • Pump_2_is_second
  • Pump_2_is_first
  • Pump_3_is_first
  • Pump_3_is_second
  • Pump_3_is_third
The most complex section will be the code that assigns the values of these nine bits. Only three of those bits will be 1 at any time; the other 6 will be 0. Only one of the Pump_1_is_... bits will be 1 at any time; only one of the ..._first bits will be 1 at any time; etc. This section will also have to implement some metric for "equivalent use," such as number of starts or total run time, as well as whether a pump is in manual or not, and assign 1s and 0s to the Pump_N_is_Mth bits accordingly.

Obviously that functionality could also be performed with three INTs, but it does not matter in the end.

The final section of the program will determine which contactors to the physical pumps will be on e.g. for Pump 1

MANUAL PUMP 1 PUMP CONTACTOR 1
----+-------] [---------------------------------------------+--------( )-----
| |
| AUTOMATIC PUMP 1 Pump_1_is_first First_is_on |
+-------] [----------+--------] [-------------] [-------+
| |
| Pump_1_is_second Second_is_on |
+--------] [-------------] [-------+
| |
| Pump_1_is_third Third_is_on |
+--------] [-------------] [-------+

This is only one approach; this could also be done with bits in INTs and bit-wise OR and AND instructions.
 
Last edited:
Re-state the control scheme prose as logical statements e.g.

  • the 18" Hg vacuum switch informs the system to start operating at 1st. pump, ... if the system spends more than 10 minutes above [18"Hg], the 1st pump is turned off, only returning to operation when there is a change in the system's vacuum level
    • => the first pump is on if either
      • the 18"Hg switch is open
      • OR
        • the first pump is on
        • AND
        • the 18"Hg switch has been continuously closed for less than 10min
  • if [18"Hg switch is] open for more than 15 seconds, the second pump starts operating. ... 1 minute after the closing of the 18" Hg vacuum switch, the 2nd pump is turned off
    • => the second pump is on if either
      • the 18"Hg switch has been continuously open for more than 15s
      • OR
        • second pump is on
        • AND
        • the 18"Hg switch has been continuously closed for less than 1min
  • the 15" Hg vacuum switch requests the input of the 3rd pump. after closing the 15" Hg vacuum switch, an internal PLC contactor is activated, and 1 minute after this condition, the 3rd. pump is turned off,
    • => the third pump is on if either
      • the 15"Hg switch is open
      • OR
        • third pump is on
        • AND
        • the 15"Hg switch has been continuously closed for less than 1min
All three of those descriptions can be implemented with the Start/Stop circuit; (see this link):

  • Start is the initial condition e.g. "switch opens," or "switch has been continuously open for more than 15s"
  • Run is the pump on condition
  • Stop is the not-expired state of a "continuously closed for X minutes" timer.
The states of conceptual sequence of pumps

  • First_pump_on
  • Second_pump_on
  • Third_pump_on
will be internal bits (booleans) that are independent of the contactor outputs for the physical pumps:

  • PUMP CONTACTOR 1
  • PUMP CONTACTOR 2
  • PUMP CONTACTOR 3
There will be nine other bits indicating which physical pump is which sequenced pump:

  • Pump_1_is_first
  • Pump_1_is_second
  • Pump_1_is_third
  • Pump_2_is_first
  • Pump_2_is_second
  • Pump_2_is_first
  • Pump_3_is_first
  • Pump_3_is_second
  • Pump_3_is_third
The most complex section will be the code that assigns the values of these nine bits. Only three of those bits will be 1 at any time; the other 6 will be 0. Only one of the Pump_1_is_... bits will be 1 at any time; only one of the ..._first bits will be 1 at any time; etc. This section will also have to implement some metric for "equivalent use," such as number of starts or total run time, as well as whether a pump is in manual or not, and assign 1s and 0s to the Pump_N_is_Mth bits accordingly.

Obviously that functionality could also be performed with three INTs, but it does not matter in the end.

The final section of the program will determine which contactors to the physical pumps will be on e.g. for Pump 1

MANUAL PUMP 1 PUMP CONTACTOR 1
----+-------] [---------------------------------------------+--------( )-----
| |
| AUTOMATIC PUMP 1 Pump_1_is_first First_is_on |
+-------] [----------+--------] [-------------] [-------+
| |
| Pump_1_is_second Second_is_on |
+--------] [-------------] [-------+
| |
| Pump_1_is_third Third_is_on |
+--------] [-------------] [-------+

This is only one approach; this could also be done with bits in INTs and bit-wise OR and AND instructions.
friend, I deeply appreciate your attention in answering me.consegui the programming code of this problem. it is a sewage station to
vacuo, (from the company EVAC SYSTEMS (formerly PVAC), commanded by plc (in this case clp onron. There are 17 coding pages in ladder language divided into two columns, that is, with 12 sections (section name). There are 19 comparators (CMP). ), 16 timers (TIM), 30 counters (CNTR), 7 (CNT), 2 (BSET), 42 (MOVE),
11 (DIFU) and 2 (DIFD), all this by coded by the CX-ONE (ONROM programmer).
 
i am interested. Pdf landscape format is most universal; that way people who do not have the same software can look at the code.



friend are more than 20 pages. I have them printed. I will scan all of them and convert to pdf.
As soon as it is ready to be placed in group.la for monday or tuesday. Good studies
 
i am interested. Pdf landscape format is most universal; that way people who do not have the same software can look at the code.

is it possible after you analyze this onrom cx-one schedule, convert to allen bradley and tia portal 15 from siemens' rs-logic?
 
Here is an untested approach to the problem described by OP, written for MicroLogix 1100 Series B in ladder. Comments, criticisms, etc. are welcome.

The bulk of the sequencing logic is in [LAD 234 LEADLAGLAG]. The basic idea is that there are three pumps (1, 2, 3) and three sequence types Lead, Lag1, Lag2. Each of the pumps will be assigned a unique sequence type, so at any give time there will be one Lead pump, one Lag1 pump, and one Lag2 pump. Which pump is assigned which type is dependent on each pump's mode (Manual, Automatic, Maintenance) and how much accumulated run time each pump has relative to the other pumps. When all pumps are in Automatic mode, as vacuum decreases, the pump designated Lead turns on first, then the pump designated Lag1, and finally the pump designated Lag2.

Everything else seems straightforward.
 

Similar Topics

I recently made a simple program which controls four pumps to maintain line pressure of a glycol system. Two pumps are running at any given time...
Replies
7
Views
2,153
Hi, I have a situation with four pumps which have to work 3 duty and 1 standby. However the question is how I can make work to sequence them...
Replies
4
Views
1,524
I am working on a PLC program to allow an operator to select the order (of 6 pumps) that they would like them to start in. For example I have an...
Replies
8
Views
5,233
I've gotten to the learning curve where I can program a call for pump to come on at set point but I'm not sure how to turn the same pump off when...
Replies
1
Views
45
Hey Guys, I was looking for a little help on a school project. I was asked to program three pumps with two inputs, more and less. The project...
Replies
23
Views
2,475
Back
Top Bottom