Generate solutions using FrameworX AI Designer
Home → How-to Guides → Solution Examples → Architecture Examples → Water Treatment Plant AI Designer Example
This example demonstrates the solution Highland Municipal Water Treatment Plant created by FrameworX AI Designer.
Solution download: Water Treatment Plant AI Designer Example.dbsln
Technical Specification PDF: Highland_WTP_Equipment_Spec.pdf
L5K PLC Program: Highland_WTP_Main.L5K
Showcases:
- Generate a complete municipal water-treatment SCADA solution from a PDF spec and a Rockwell L5K tag export.
- Map four process areas (Raw Water Intake, Chemical Feed, Filtration, Disinfection) to a Unified Namespace organized by ISA-95 area numbering.
- Reuse three User Defined Types (Pump, ChemPump, Filter) to model dozens of equipment instances consistently.
- Capture water-quality compliance limits (turbidity, chlorine residual, pH) as alarm thresholds aligned to drinking-water regulations.
- Drive the live demo from a built-in value simulator while keeping the ControlLogix channel configured but disabled, ready to swap to a real PLC.
- Show how AI mapping from an L5K file produces a tag database that mirrors the PLC's program structure.
- Surface ML opportunities for filter headloss and turbidity, anticipating raw-water quality changes before they breach limits.
This solution was created as a demonstration of FrameworX AI Designer capabilities. It is not intended for production use. Device connections, alarm limits, and process values are illustrative only and have not been validated against real equipment or regulatory requirements.
Summary
This page contains the technical details for the Act 1 live demo. The AI reads the attached PDF specification and L5K PLC tag database to build the complete SCADA solution.
Demo Prompt
Build a NEW FrameworX solution for the Highland Municipal Water Treatment Plant.
The plant specifications are in the attached PDF, the PLC program is in the attached L5K file.
Create the UNS following ISA-95 standards. Map the PLC points using ControlLogix driver, and add a value simulator protocol for our tests.
Add alarms based on the compliance limits in the spec and set up historian for all process variables.
Create a 3 x 2 dashboard, with Gauges on first rows, and trend, alarm, data grid on second.
Analyze which variables that would benefit from machine learning, for later implementation.
Start everything up and give me a status summary.
Attached documents with the prompt
Highland_WTP_Equipment_Spec.pdf — Professional spec with equipment lists, compliance limits, process notes
Highland_WTP_Main.L5K — ControlLogix tag export with 3 UDTs, all controller tags by area, 3 program stubs
Approximately creation = 7 minutes.
Plant Overview
Highland Municipal Water Treatment Plant is a conventional surface water treatment facility serving approximately 18,000 residents. The plant treats raw water from Highland Reservoir with a design capacity of 5 MGD (million gallons per day) and an average daily production of 3.2 MGD.
Area | Name | Description |
|---|---|---|
100 | Raw Water Intake | Reservoir intake structure with raw water pumping |
200 | Chemical Feed | Coagulant, chlorine, and fluoride chemical storage and dosing |
500 | Filtration | Four dual-media gravity filters with automated backwash |
600 | Disinfection & Clearwell | Chlorine contact basin and 0.5 MG clearwell |
Control System Architecture
Main Treatment Plant PLC
Parameter | Value |
|---|---|
Processor | 1756-L83E CompactLogix |
IP Address | 192.168.1.10 |
Slot | 0 |
I/O Chassis | 1756-A13 (13-slot) |
Program File | Highland_WTP_Main.L5K |
All treatment plant process variables are available as Controller Tags in the ControlLogix program.
User Defined Types (from L5K)
The L5K file contains 3 UDTs that the AI should recreate as FrameworX User Types:
UDT_Pump
Member | Type | Description |
|---|---|---|
Running | BOOL | Pump running feedback |
Fault | BOOL | Pump fault/alarm |
Ready | BOOL | Pump ready status |
AutoManual | BOOL | 0=Manual 1=Auto |
SpeedCmd | REAL | Speed command 0-100% |
SpeedFeedback | REAL | Speed feedback 0-100% |
MotorCurrent | REAL | Motor current in Amps |
RunHours | REAL | Accumulated run hours |
UDT_ChemPump
Member | Type | Description |
|---|---|---|
Running | BOOL | Pump running feedback |
Fault | BOOL | Pump fault/alarm |
AutoManual | BOOL | 0=Manual 1=Auto |
DoseRate | REAL | Current dose rate mL/min |
DoseSetpoint | REAL | Dose rate setpoint mL/min |
TankLevel | REAL | Chemical tank level % |
TotalChemUsed | REAL | Totalizer gallons used |
FlowPaced | BOOL | 1=Flow-paced 0=Manual rate |
UDT_Filter
Member | Type | Description |
|---|---|---|
InService | BOOL | Filter in service |
Backwashing | BOOL | Backwash in progress |
HeadLoss | REAL | Differential pressure PSI |
EffluentTurbidity | REAL | Effluent turbidity NTU |
ValvePosition | REAL | Effluent valve 0-100% |
TimeSinceBackwash | REAL | Hours since last backwash |
BackwashCount | DINT | Cumulative backwash count |
Equipment List by Process Area
Area 100 - Raw Water Intake
Tag | Equipment | Description |
|---|---|---|
P-101 | Raw Water Pump 1 | 100 HP VFD centrifugal, 2500 GPM |
P-102 | Raw Water Pump 2 | 100 HP VFD centrifugal, 2500 GPM (standby) |
FT-101 | Flow Transmitter | Magnetic flow meter, raw water header |
AIT-101 | Turbidity Analyzer | Raw water turbidity, Hach 1720E |
AIT-102 | pH Analyzer | Raw water pH, Hach pHD sc |
LT-101 | Level Transmitter | Intake wet well level |
Area 200 - Chemical Feed
Tag | Equipment | Description |
|---|---|---|
P-201 | Coagulant Pump | Metering pump, aluminum sulfate (alum) |
P-202 | Pre-Chlorine Pump | Metering pump, sodium hypochlorite |
P-203 | Fluoride Pump | Metering pump, hydrofluosilicic acid |
LT-201 | Coagulant Tank Level | 2,500 gallon poly tank |
LT-202 | Hypochlorite Tank Level | 5,000 gallon poly tank |
LT-203 | Fluoride Tank Level | 1,500 gallon poly tank |
Area 500 - Filtration
Four identical dual-media (anthracite/sand) gravity filters. Tag pattern: FILT{n} where n = 1–4.
Tag Pattern | Description | Type |
|---|---|---|
FILT{n}_HeadLoss | Filter differential pressure | Analog, 0-10 PSI |
FILT{n}_Turbidity | Filtered effluent turbidity | Analog, 0-5 NTU |
FILT{n}_InService | Filter in-service status | Digital |
FILT{n}_Backwashing | Backwash in progress | Digital |
FILT{n}_Valve | Effluent valve position | Analog, 0-100% |
Backwash trigger: HeadLoss > 8.0 PSI or operator-initiated. Cycle: ~15 min. Only one filter may backwash at a time.
Area 600 - Disinfection and Clearwell
Tag | Equipment | Description |
|---|---|---|
AIT-601 | Free Chlorine Analyzer | Post-chlorination residual, Hach CL17sc |
AIT-602 | pH Analyzer | Finished water pH, Hach pHD sc |
AIT-603 | Turbidity Analyzer | Finished water turbidity, Hach TU5400sc |
LT-601 | Clearwell Level | 0.5 MG clearwell, ultrasonic level |
Water Quality Compliance Limits
Per TCEQ and EPA Surface Water Treatment Rule:
Parameter | Tag | Warn Lo | Warn Hi | Crit Lo | Crit Hi | Unit |
|---|---|---|---|---|---|---|
Finished Water Turbidity | AIT-603 | 0.3 | 1.0 | NTU | ||
Filter Turbidity (each) | FILT{n} | 0.15 | 0.5 | NTU | ||
Free Chlorine Residual | AIT-601 | 0.2 | 3.5 | 0.1 | 4.0 | mg/L |
Finished Water pH | AIT-602 | 6.5 | 8.5 | 6.0 | 9.0 | |
Clearwell Level | LT-601 | 25% | 95% | 15% | 98% | % |
Chemical Tank Levels | LT-201,2,3 | 15% | 10% | % |
Process Notes for SCADA Configuration
Chemical Dosing: Coagulant (alum) dose rate is flow-paced from FT-101. Pre-chlorination is operator-adjusted. Fluoride is flow-paced with manual trim.
Filter Backwash: Only one filter may backwash at a time. Sequence takes ~15 minutes. Remaining three filters handle full plant flow.
ML Opportunity: Filter headloss rate and post-sedimentation turbidity are early indicators of raw water quality changes. Predictive monitoring could enable proactive chemical dose adjustment.
Historian Requirements: All analog process variables historized with appropriate deadband. Digital status on-change. Minimum 1-year retention for regulatory compliance.
Data Source Strategy for the Demo
Source | Status | Purpose |
|---|---|---|
Value Simulator | ENABLED | Drives all live data during demo — makes dashboard come alive |
Allen-Bradley ControlLogix | Configured, channel DISABLED | Shows AI correctly mapped tags from L5K file (no physical PLC) |
In this section...