Pool Systems Automation: Difference between revisions

 
(46 intermediate revisions by the same user not shown)
Line 46: Line 46:
|Operating
|Operating
|<tt>Pump Operating</tt>
|<tt>Pump Operating</tt>
|
|The pump is operating and filter flow is in the normal operating direction.
|Green/Yellow (Flashing)
|Green/Yellow (Flashing)
|-
|-
|Backwash
|Backwash
|<tt>
|<tt>Pump Backwash</tt>
|
|The pump is operating and filter flow has been set in the backwash direction.
|Alternating Red-Green
|Alternating Red-Green
|}
|}
Line 57: Line 57:
==== Filter Tank Pressure ====
==== Filter Tank Pressure ====


Four [[Pool Filter Tanks|filter tank]] pressures are monitored by sensors with internal signal conditioning.  When fed by a 24 VDC (each sensor is independently fused), a 1 V to 5 V output corresponds with 0 to 100 psi of pressure.
[[File:Pool Filter Tank Pressure Gauges.jpg|thumbnail|A set of pressure gauges.  Per the design principle, all electronic measurements have an accompanying manual gauge.]]
 
Four [[Pool Filter Tanks|filter tank]] pressures are monitored by [[Pool Systems Automation#Sensors|sensors]] with internal signal conditioning.  When fed by a 24 VDC (each sensor is independently fused), a 1 V to 5 V output corresponds with 0 to 100 psi of pressure.


A value is considered valid if the measured voltage is 1 V or greater (less than 1 V suggests an open circuit or failed sensor).  The low and high thresholds are somewhat arbitrary, and based upon observation.  A nominal pressure of 10 psi is assumed (add 8 psi to the limit per PHTA guidelines for a single-gauge backwash threshold).
A value is considered valid if the measured voltage is 1 V or greater (less than 1 V suggests an open circuit or failed sensor).  The low and high thresholds are somewhat arbitrary and based upon observation.  A nominal pressure of 10 psi is assumed (add 8 psi to the limit per PHTA guidelines for a single-gauge backwash threshold).


{| class="wikitable"
{| class="wikitable"
Line 87: Line 89:
|}
|}


When in the <b>Pump Startup</b>, <b>Operating</b> or <b>Backwash</b> state, each tank pressure is briefly shown on the LCD in psi.  If the value is not valid, <tt>Fault</tt> is shown in place of a pressure value.
When in the <b>Pump Startup</b>, <b>Operating</b> or <b>Backwash</b> state, each tank pressure is briefly shown on the LCD in psi.  If the value is not valid, <tt>Fault</tt> is shown in place of a pressure value.  If rare circumstances (sensor failure, testing) the administrator may disable certain tank(s).  It this case, the value will be shown as <tt>Disabled</tt> and any potential faults related to a particular pressure sensor will not affect the overall system status.
 
==== Output Water Flow ====
 
[[File:Pool Output Water Flow Meter.jpg|thumbnail|The output water flow meter.]]
 
The output water flow is monitored by a paddlewheel flow meter that generates a sine wave with a frequency proportional to the flow rate.  A flow "transmitter" (GF Signet 8512) translates that analog output from the flow meter into a 4-20 mA signal proportional to the flow rate.
 
The value is considered valid if the current measured is greater than or equal to 4 mA (not an open circuit).  The low and high thresholds are based upon the required flow turnover rate for the pool volume and a maximum to avoid issues (channeling) in the filter tanks.
 
{| class="wikitable"
!Qualifier
!Threshold
!Result
!LCD Notification
!Stack Light
|-
|Operating
|< 570 GPM
|Low Flow Rate
|<tt>Out Flow L</tt>
|Yellow
|-
|Operating
|&GreaterEqual; 570 GPM and < 670 GPM
|Flow Rate OK
|None
|Green (unless overridden)
|-
|Operating
|&GreaterEqual; 670 GPM
|Flow Rate High
|<tt>Out Flow H</tt>
|Yellow
|}
 
When in the <b>Pump Startup</b> or <b>Operating</b> state, the flow rate is briefly shown on the LCD in GPM.  If the value is not valid, <tt>Fault</tt> is shown in place of a flow rate value.


==== Water Flow ====
==== Surge Tank Level ====
 
The surge tank level is monitored by a differential pressure sensor with built-in signal conditioning that generates a 4-20 mA signal proportional to the water depth.
 
The value is considered valid if the current measured is greater than or equal to 4 mA (not an open circuit).  The low and high thresholds are based upon the required flow turnover rate for the pool volume and a maximum to avoid issues (channeling) in the filter tanks.
 
{| class="wikitable"
!Qualifier
!Threshold
!Result
!LCD Notification
!Stack Light
|-
|Operating or Backwash
|< 16 in
|Level Critical Low (LL)
|<tt>Surge Tank LL</tt>
|Flashing Red (See Note 1)
|-
|Operating or Backwash
|&GreaterEqual; 16 in and < 46 in
|Level Low (L)
|<tt>Surge Tank L</tt> (See Note 2)
|Yellow (See Note 2)
|-
|Operating or Backwash
|&GreaterEqual; 46 in and < 60 in
|Level Nominal
|None
|Green (unless overridden)
|-
|Operating or Backwash
|&GreaterEqual; 60 in and < 76 in
|Level High (H)
|<tt>Surge Tank H</tt> (See Note 2)
|Yellow (See Note 2)
|-
|Operating or Backwash
|&GreaterEqual; 76 in
|Level Critical High (HH)
|<tt>Surge Tank HH</tt>
|Yellow
|}


==== Water Level ====
<b>Notes:</b>


==== Boiler Operation ====
* <b>Note 1:</b> After a brief delay (presently set to 5 seconds), a critical low (LL) level triggers a pump motor stop to prevent running the pump dry.  The state changes to <b>Pump Stopped</b> and the stack light is set to flashing red.  The operator should take care to eliminate the root cause of the critical low surge tank level before restarting the pump.
* <b>Note 2:</b> These messages and stack light state are only applicable if [[Pool Systems Automation#Auto Fill|Auto Fill]] is disabled.  If [[Pool Systems Automation#Auto Fill|Auto Fill]] is enabled, no fault message is shown on the LCD.  The stack light will blink during the fill process.
 
==== Boiler Status ====
 
Details to follow.


=== Control ===
=== Control ===


==== Auto-Fill ====
==== Auto Fill ====
 
If proper conditions are met, the pool is automatically filled when a low threshold is met via the surge tank water level sensor.
 
Auto fill is enabled by default.  This is indicated by a periodic <tt>AutoFill Enabled</tt> LCD notification.  It may start during any state other than <b>Backwash</b> and the waiting to restart states following a "Critical Level Low (LL)" result.  When in the one of those states, auto fill is paused and <tt>AutoFill Paused</tt> is periodically shown on the LCD.


The pool is automatically filled when a low threshold is met via the surge tank water level sensor.
When auto fill is enabled, the "Level Low (L)" and "Level High (H)" results of the surge tank level are not fault/warning conditions; they becomes strictly thresholds at which auto fill starts/stops. 
 
Auto fill operates until the high level is met or auto fill is disabled.  Auto fill operates for at least 2 minutes.  If the high level threshold is not met after 4 hours, a timeout occurs.  A timeout prevents auto fill for 12 hours in an effort to prevent over-filling the pool in the event of a sensor failure.  This is indicated by a periodic <tt>Fill: TO (12 hr)</tt> LCD notification.  If the high threshold is met within the 4 hour period, a minimum off time (MOT) prevents auto fill for 4 hours to prevent frequent cycling.  This is indicated by a periodic <tt>Fill: MOT (4 hr)</tt> LCD notification.  In theory, 3-5 cycles of auto fill may complete in a day, though thresholds should be set to keep this to 2 or less.


=== User Interfaces ===
=== User Interfaces ===
Line 131: Line 222:
|Flashing Red
|Flashing Red
|The pump is stopped due to the surge tank level.
|The pump is stopped due to the surge tank level.
|-
|Alternating Red-Green
|The system is [[Backwashing|backwashing]].
|}
|}


==== LCD/Keypad ====
==== Display and Keypad ====
 
Details to follow.


==== Remote Monitoring ====
==== Remote Monitoring ====
Details to follow.  Remote monitoring is largely done via the [[Pool Systems Dashboard|dashboard]].


== Design ==
== Design ==


=== Programmable Logic Controller ===
=== Programmable Logic Controller ===
[[File:Pool Systems Automation PLC.jpg|thumbnail|The PLC and support components (power supply and Lantronix unit).]]


A DirectLogic 06 (D0-06DD2) programmable logic controller (PLC) is used for as the base for monitoring and control.  A PLC was selected due to its reliability and relative ease-of-maintenance by volunteer maintenance staff.  Within the electrical engineering community, most have had some level of experience with PLCs and/or ladder logic.  It is assumed that within the membership, there will always be someone with the knowledge that can volunteer on an as-needed basis.
A DirectLogic 06 (D0-06DD2) programmable logic controller (PLC) is used for as the base for monitoring and control.  A PLC was selected due to its reliability and relative ease-of-maintenance by volunteer maintenance staff.  Within the electrical engineering community, most have had some level of experience with PLCs and/or ladder logic.  It is assumed that within the membership, there will always be someone with the knowledge that can volunteer on an as-needed basis.
Line 244: Line 344:
==== Serial Interfaces ====
==== Serial Interfaces ====


The DL06 PLC has two serial interfaces.  On this unit, they are configured as follows:
The DL06 PLC has two built-in serial interfaces.  Each port is connected to a port on the Lantronix Premierwave XN.  The configuration as follows:


{| class="wikitable"
{| class="wikitable"
!Serial Interface
!Serial<br>Interface
!Electrical Configuration
!Electrical<br>Configuration
!Serial Configuration
!Serial<br>Configuration
!Purpose
!Purpose
!Lantronix<br>Port
|-
|-
|Port 1
|Port 1
|RS-232
|RS-232
|9600 8O1/None
|9600 8O1/None
|Programming
|Local Programming<br>(using interface cable)
|Port 2
|-
|-
|Port 2
|Port 2
|RS-232
|RS-232
|38400 8N1/None
|38400 8N1/None
|Modbus Polling
|Modbus Slave<br>([[Pool Systems Dashboard|dashboard monitoring]])
|Port 1
|-
|<b>Planned:</b> D0-DCM Port 1
|RS-232
|Default
|Not Used<br>(spare)
|N/A
|-
|<b>Planned:</b> D0-DCM Port 2
|RS-485
|19200 8N1
|Modbus Master<br>([[Pool Main Pump Motor|VFD]] and [[Boiler Temperature Controller|boiler temperature control]])
|N/A
|}
|}
Notes:
* Port 1 is limited to 9600 baud, odd parity and RS-232 communication.


=== Sensors ===
=== Sensors ===
Line 306: Line 425:


NOTE: The flow meter was previously a GF Signet MK515.3P1.  Erratic behavior prompted its replacement in early June 2021.
NOTE: The flow meter was previously a GF Signet MK515.3P1.  Erratic behavior prompted its replacement in early June 2021.
=== Power Budget ===
{| class="wikitable"
!Item
!Consumption
!Comments
|-
|EA7-T8C Panel
|625 mA
|-
|Lantronix PremierWave XN
|94 mA
|Per the spec sheet, the device consumes 2.25 W @ 30 VDC.  Using the same figure for 24 VDC.
|-
|Pressure Tank Sensors (4)
|80 mA
|A quantity of 4 x 4-20 mA sensors.
|-
|Depth Sensor
|20 mA
|A single 4-20 mA sensor.
|-
|Flow Meter
|20 mA
|A single 4-20 mA sensor.
|-
|Digital Inputs (10)
|85 mA
|On the PLC base, X0 to X3 consume 13 mA, X4 to X23 consume 8.5 mA.  Assuming ten digital inputs.
|-
|Relays (3)
|112.5 mA
|Each coil has a nominal resistance of 640 Ohms (37.5 mA @ 24 VDC).
|-
|Stack Light
|50 mA
|The LME-302L consumes 18 mA per red/yellow and 14 mA for green.
|-
|Programmed Stop Button
|26 mA
|
|-
|Total
|1,112.5 mA
|487.5 mA without EA7-T8C
|}


=== Drawings ===
=== Drawings ===


Drawings have been updated as of June 24th, 2021 with multiple corrections and as-built updates.  They are still in-process and subject to review and change.
Drawings in the automation system package have an FFSC-001 prefix.  Drawings have been updated as of May 14th, 2022 with multiple corrections and as-built updates.  They are still in process and subject to review and change.


==== Panel Layout ====
==== Panel Layout ====


Pages 5-9 are reserved for enclosure panel layouts.
Pages 5-9 are reserved for enclosure panel layouts.
<b>NOTE:</b> Panel layout drawings are created for initial planning purposes and may not accurately reflect later modifications.


[[File:FFSC-001 Pg 5 - PLC Panel Layout.png|300px]]
[[File:FFSC-001 Pg 5 - PLC Panel Layout.png|300px]]
Line 320: Line 488:


Pages 10-19 are reserved for sensors (including "flow meters") and their associated wiring.
Pages 10-19 are reserved for sensors (including "flow meters") and their associated wiring.
<b>NOTE:</b> The water level probe is presently not used.  Documentation is preserved for reference purposes.


[[File:FFSC-001 Pg 10 - Filter Tank Pressure Sensors.png|300px]]
[[File:FFSC-001 Pg 10 - Filter Tank Pressure Sensors.png|300px]]
Line 333: Line 503:
[[File:FFSC-001 Pg 21 - PLC Digital Inputs.png|300px]]
[[File:FFSC-001 Pg 21 - PLC Digital Inputs.png|300px]]
[[File:FFSC-001 Pg 22 - PLC Digital Outputs.png|300px]]
[[File:FFSC-001 Pg 22 - PLC Digital Outputs.png|300px]]
[[File:FFSC-001 Pg 23 - PLC Digital IO.png|300px]]
[[File:FFSC-001 Pg 24 - PLC Slot 2 - 0-5 V Analog Inputs.png|300px]]
[[File:FFSC-001 Pg 24 - PLC Slot 2 - 0-5 V Analog Inputs.png|300px]]
[[File:FFSC-001 Pg 25 - PLC Slot 3 - 4-20 mA Analog Inputs.png|300px]]
[[File:FFSC-001 Pg 25 - PLC Slot 3 - 4-20 mA Analog Inputs.png|300px]]
Line 338: Line 509:
==== Auxiliary ====
==== Auxiliary ====


Pages 40-49 are reserved for systems related to the automation system (via interconnection).
Pages 40-49 are reserved for systems related to the automation system.
 
<b>NOTE:</b> Page 41 is out-of-date and pending update (need to remove magnetic starter to reflect use of VFD).


[[File:FFSC-001 Pg 40 - Boiler Auxiliary.png|300px]]
[[File:FFSC-001 Pg 40 - Boiler Auxiliary.png|300px]]
[[File:FFSC-001 Pg 41 - Pump House Motor.png|300px]]
[[File:FFSC-001 Pg 41 - Pump House Motor.png|300px]]
[[File:FFSC-001 Pg 42 - Chlorinator.png|300px]]
 
[[File:FFSC-001 Pg 43 - PC2100 Auxiliary.png|300px]]
==== Other Drawings ====
 
Some systems related to the automation system are complex enough to justify their own drawing package.  These systems are related, but only share some signals (i.e. RS-485 link) and are not dependent upon the automation system to function.
 
Drawings that were previously part of the automation system drawing package, but have since been moved:
 
* [[:File:FFSC-003 Pg 1 - PC2100 Wiring.png|FFSC-003 Pg 1 - PC2100 Wiring.png]]
* [[:File:FFSC-004 Pg 1 - Chlorinator.png|FFSC-004 Pg 1 - Chlorinator.png]]


== Known Issues ==
== Known Issues ==
Line 356: Line 536:
* Implement time-of-day auto-fill to reduce the frequency at which the pool is filled during the day.  The club is not billed at a time-of-day rate, but as "good citizens" it is ideal to fill during low-demand periods to help reduce water bills for all city residents.  
* Implement time-of-day auto-fill to reduce the frequency at which the pool is filled during the day.  The club is not billed at a time-of-day rate, but as "good citizens" it is ideal to fill during low-demand periods to help reduce water bills for all city residents.  
* Add a float switch as a failsafe means for detecting over-fill.  In the event that the depth sensor fails.
* Add a float switch as a failsafe means for detecting over-fill.  In the event that the depth sensor fails.
* Add variable frequency drive (VFD) control for the main pump motor, when and if implemented.
* Add [[Pool Main Pump Motor#Variable Frequency Drive|variable frequency drive]] control for the main pump motor, when and if implemented.
 
* Add [[Surge Tank#Motorized Actuator|motorized actuator]] control for a surge tank modulating drain valve, when and if implemented.
=== Surge Tank Modulating Valve ===
 
If the budget permits, a spring-return modulating valve will be installed on the drain return into the surge tank.  This will allow consistent level control via water level feedback.  This will restore intended surge tank functionality (maintaining the proper surge tank level regardless of pool level).