Content
# Project: Cambria CSD Water Ignition Phase 3
Ignition Phase 3
Replace Opto 22 S1 controller functions with AB Compactlogix 5069-L330ER
Use Prosoft Modbus TCP gateway (on site and installed) to create timed messages to each IO site
Writing messages to the IO will override live system, we will want to schedule this when ready to test
CCSD Water Project Backups IO Configs
Opto learning center PAC Control config file
The learning center IP is 192.168.102.91
Uses PAC Project 10.4c or higher
Install professional version using this password: 05Apollo18
This software provides this view:
PAC Manager provides the Modbus calculator
CCSD Water Ignition Phase 3 Tags - updated
This is the current version of IO and P&ID tags: https://docs.google.com/spreadsheets/d/12DObnBd5r5nWkdom1YDtSgJxO8dVcEX3k4dxl6IqeR8/edit?usp=sharing
Use application code manager to instantiate the process object library.
192.168.102.251 CCSD Water SCADA AB PLC Compactlogix
.67 is modbus gateway, linked to PLC already
Already linked to Ignition
Project Outline
1. Planning
1. ✅Develop P&IDs for system
1. ✅Overview
2. ✅Boosters
3. ✅PK
4. ✅SSWF
2. ✅Develop Tag list based on P&IDs
2. RTU List
RTU1100
Leimert
RTU1200
Pine Knolls (PK)
RTU1300
SR3
RTU1400
Stuart
RTU1500
SSWF W1
RTU1600
SSWF W2
RTU1700
SSWF W3
RTU1800
Fiscalini
RTU1900
WBE
RTU2000
SR4
RTU2100
Rodeo
RTU3000
WRF
SCADA
3. Programming
1. PLC
1. ✅IP address at live network 192.168.102.251
2. ✅IP address at dev network 192.168.1.150
3. ✅PAX Objects
1. ✅Build PAX object list in spreadsheet
2. ✅Create ACM project to create project with PAX objects
4. ✅Modules
1. ✅Create and configure Prosoft Modbus TCP module
2. ✅IP address at live network 192.168.102.67
5. Control Strategies
1. Use the PAX Objects to control the pumps, then this allows for the SCADA Hand and SCADA Auto functionality to work.
2. Allow the user to initiate an auto call, without having the change the setpoints to simulate an auto call
3. 4. SSWF (W1, W2, W3)
1. All 3 wells are called by individual on/off setpoints looking at Pine Knolls, no lead lag alternation
2. Has Ignition Edge at W2 to handle historical data to the primary gateway
5. Stuart and Rodeo Grounds Boosters
1. Both Boosters are the same
2. 2 Pump Boosters, lead lag alternation
1. Lead On/Off
2. Lag On/Off
3. HOA not in Auto takes out of call service
4. Fault takes out of call service
6. SR3 and SR4 Well Call
1. Both wells are called by individual on/off setpoints looking at Pine Knolls, no lead lag alternation
2. Both SR3 and SR4 are individual self controlled treatment plants
1. SR4 has been updated and is running its own Ignition Edge Project that is linked to the Ignition gateway to provide historical data and alarms
2. SR3 has not been updated and runs on Opto 22 PLC, using Ignition edge only as a historical data handler
4. Communications - reference CCSD Water Project Backups IO Configs
1. Reference this spreadsheet for IO Point correlation with Modbus addresses
1. https://docs.google.com/spreadsheets/d/1v5gXvtNvfIo58OJE3jPbdhaI5_uVJG3G/edit?usp=drive_link&ouid=105974013212587964753&rtpof=true&sd=true
2. Andy to get screenshots of IO config within Opto 22 PAC Control
2. Use Page/Embedded/Comms page to develop UI on
3. Create Program that creates sequential messaging (message RTU 1100, and once it gets DN or ER, move on to RTU1200) to each RTU with the following features:
1. Polling time between cycles display
1. Alarm if greater than 60 seconds or count the errors, greater than x, lets pick one
2. Escalating attempt intervals (user editable, global intervals: internal 1- 10 seconds, interval 2 60 seconds, interval 3 300 seconds)
3. Ability to disable polling a particular RTU by user
4. WRF is an Allen Bradley Compactlogix Controller that can be messaged explicitly, this is what the Opto 22 controller is doing now, we can replace that functionality with the new SCADA controller, all other RTUs are Opto 22 SNAP PAC R1 or EB1 controllers.
4. Alarms:
1. ROC
2. Watchdog, create AOI
3. tank flatline use existing AOI
4. Tie in Comm fails into each device IO Fault on the PAX object that it is affected by
1. HMI (Human-Machine Interface) Additions
* Ribbon Charts for Pump Status 1
* ✅Import Resource
* ☐ Configure a ribbon chart for any motors in a given loop
* ☐ Implement a separate ribbon chart on each loop section that contains pumps4.
* Alarm Analysis Tool 5
* ✅Import Alarm Analysis Tool
* Look into Alarm Description to be referenced, not tag name
* System Diagnostics Screen 8
* ✅Import System Diagnostics resources
* ☐ Make sure appropriate systems are included or excluded from old configurations
2.
Mobile User Interface (UI)
* ☐ Develop a mobile-friendly version of the SCADA project12.
3.
Reporting
* Gallons Per Day (GPD) Report 16
* ☐ Create a new report that details the GPD for each individual well site17.
* Daily Production Report 18
* ☐ Configure the system to automatically generate a production report every day for the preceding 24-hour period19.
* ☐ Implement a real-time display showing a rolling 24-hour production total20.
* ☐ Ensure the real-time production data is pulled into Ignition, historized, and updated every 15 minutes21.
* Daily Demand Report 22
* ☐ Configure the system to automatically generate a demand report every day for the preceding 24-hour period23.
* ☐ Implement the demand calculation:
Demand = Total Production - Change in Total Storage24.
* ☐ Create a real-time display showing a rolling 24-hour demand result25.
* ☐ Ensure the real-time demand data is pulled into Ignition, historized, and updated every 15 minutes26.
Tank storage volumes as function of height
Tank Site
Tank Qty.
ID Tank 1, ft
ID Tank 2, ft
Vol/ ft H, Tank 1
Vol/ ft, Tank 2
Tot. Vol./ ft, gal
Pine Knolls
2
52 ft
52 ft
15,886.5 gal
15,886.5 gal
31,772.9 gal
Stuart St.
2
40 ft
30 ft
9,400.3 gal
5,287.7 gal
14,687.9 gal
Fiscalini
1
46 ft
0 ft
12,431.9 gal
0.0 gal
12,431.9 gal
Leimert
1
38 ft
0 ft
8,483.7 gal
0.0 gal
8,483.7 gal
D = P - ΔV
(System Demand t0-t1) = (Total Production t0-t1) - (Change in Total Storage t0-t1)
Where (Total Production t0-t1) is the sum of production from all sources between time 0 and time 1 in MG; and,
(Change in Storage) t0-t1 is the total change in volume in storage between time 0 and time 1 in MG, calculated as Vol at t=1 minus Vol at t=0
E.g.
Demand Aug 1st. = Production Aug. 1st - (Vol Aug 1st - Vol Jul 31st)
Prod Aug 1st = 5 MG
Vol in storage Aug 1st = 11 MG
Vol in storage Jul 31st = 12 MG
(between Jul 31st and Aug 1st we lost 1 MG from storage
Demand Aug 1st = 5 - (11-12) = 6 MG
4. System Resiliency and Alarming
* Disaster Recovery Solution 27
* ✅Procure a new 24" industrial panel mount touchscreen28.
* ☐ Install the new touchscreen and PC at the Pine Knolls site, replacing the existing Windows 7 machine29.
* ☐ Configure the new panel to be ready for an automated gateway backup restoration from the off-site hard drive30. The goal is to enable full SCADA control from Pine Knolls in an emergency31.
* ☐ Move the NAS and Backup PLC to pine knolls
* Watchdog Alarms for State Reporting 32
* ☐ Integrate watchdog alarms for every individual tag associated with state reporting data33.
* ☐ Program the watchdog to monitor that each tag value changes within a set time period to prevent stale data34.
* ☐ Program the watchdog to also monitor for significant value changes over a longer time period to ensure data is live and accurate35.
☐ Ensure an alarm is triggered if a tag has bad quality, even if the communication link to the controller is active36.
Standard RTU Signals: All discrete P_DIn
a. Generator
i. Generator - Normal Power Available
ii. Generator - Emergency Power Available
iii. Generator - Fail
b. Utility Power – Available (120VAC supply power to 120VAC Relay)
c. UPS
i. UPS – DC IN OK
ii. UPS – BATT OK
iii. UPS – DC OUT OK
d. Comm Status
1. Boosters
a. Suction Pressure
b. Discharge Pressure
c. Flow
i. Rate
ii. Totalizer
2. Wells
a. Well Level
b. Flow
i. Rate
ii. Totalizer
3. Pumps:
a. Output:
i. Run Command
ii. Reset
b. Input:s
i. Run Feedback
ii. Fault
iii. HOA in Auto