← TSI

Clients/TSI/slack/2025/11/2025-11-10_tsi-capp.md

slack
Source
3
Chunks
4
Entities
Doc
Type

Content

# #tsi-capp — 2025-11-10 **17:57 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762826235997619):** Two racks of IO ![[F09S1B8MHSA_image.png]] **18:17 [Mason Radke](https://slack.com/archives/C09RQLEH9C4/p1762827448705109):** Niiiice **18:34 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762828445552289):** High complexity: That's an insightful question. The "most complicated" narrative is often the one that involves the highest number of complex conditions, sequencing steps, physical safety interlocks, and critical downstream dependencies. Based on the specifications, the single most complicated control narrative that will require the most effort in design, programming, and rigorous commissioning is: *UF/RO CIP Cleaning Sequences (with Chemical Interlocks)* (Source Sections: 3.10.J and 3.15.S) Why this is the Most Complex Narrative This narrative is more complex than the other high-complexity items (like the ASTM calculations or the UF Backwash) because it combines sophisticated sequencing with immediate safety requirements. It essentially runs a miniature, high-risk chemical plant within the main system. Here are the specific factors driving its complexity and labor hours: 1. Critical Safety Interlocks (Non-Negotiable Logic) The primary reason this task is so complicated is the absolute requirement to prevent catastrophic chemical mixing. This translates to difficult, non-standard software interlocks: • *pH Interlocks (3.10.J.4.e):* The PLC must continuously monitor the CIP tank $\text{pH}$ and enforce logic to prevent two chemicals from being injected simultaneously or mixed dangerously: ◦ *IF $\text{pH} < 6$ (Acidic), THEN $\rightarrow$ Sodium Hypochlorite must be blocked.* ◦ *IF $\text{pH} > 8.5$ (Caustic), THEN $\rightarrow$ Citric Acid/Sulfuric Acid must be blocked.* • *Manual Override Prevention:* The specification explicitly states these safety interlocks must hold *even if manually forced on by the operator*, requiring robust code that bypasses HMI commands under unsafe conditions. 2. Multi-Component Sequencing and Recipe Management The CIP/MC process is not a simple start/stop sequence; it's a long, conditional recipe with many steps that must execute in order, relying on specialized equipment: • *Recipe Selection (3.10.J.4):* Operators select a recipe, which determines whether the clean is heated/unheated and which chemicals are used (Sulfuric Acid, Caustic Soda, Citric Acid, etc.). • *Sequential Steps:* The sequence involves: *Hot Water Heating (conditional), Chemical Injection, Recirculation Cycles, Soaking Periods, Drain Step,* and *Rinse Step.* • *Alternating Recirculation (3.10.J.4.h):* The cleaning solution must alternate between the feed side and the filtrate side, often involving complex valve timing and pump modulation to ensure full membrane cleaning. 3. Cross-System Integration The CIP sequence relies on external systems that must be commanded by the main PLC: • *External Chemical Dosing:* The CIP tank requests volumes of chemical (e.g., Sodium Hypochlorite, Caustic Soda) from the *plant PLC* via *produced/consumed tags*, requiring robust network communication logic to ensure the correct batch volume is delivered and acknowledged. • *Hot Water Transfer (3.10.J.4.a):* The process requires coordinating the *RO CIP Tank heaters* and the *RO CIP pumps* to transfer heated water at a precise temperature and volume to the UF CIP tank. In summary, the CIP narrative is the most complex because it represents a *highly critical, state-based sequence* where *safety compliance (chemical interlocks)* must be prioritized above all else. This demands significantly more programming, exception handling, and dedicated commissioning time compared to the complex, but less safety-critical, flow calculations. **18:42 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762828971346679):** That's a great request to confirm where your programming time should be focused. I will analyze the elements defined in the Medium and Low complexity tiers and identify the single most demanding narrative in each group. Medium Complexity: Most Complicated Narrative The most demanding narrative in the Medium Complexity tier is the *Purified Water Pump PID Speed Control*. (Source Sections: 3.31.C and 3.2.E) Why This is the Most Complicated Medium Task While standard PID loops are generally mid-complexity, this specific application is elevated due to its *three major dependencies* and control goal, making it far more involved than a simple pump alternation or chemical trim: 1. *Variable Pump Count (Conditional Duty):* The primary challenge is that the control logic must dynamically adjust the number of running pumps (duty pumps) based on upstream and downstream conditions: ◦ It uses the *RO Train production setpoint* (upstream input) and the *number of online Injection Wells* (downstream input) to decide whether to run *one duty pump or two duty pumps (3.31.B)*. ◦ The logic must smoothly transition pump count without violating the Clearwell level setpoint. 2. *Dual Control Goal:* The PID loop must *accelerate or slow down the VFD-driven pumps (3.31.C.2)* to achieve two simultaneous goals: ◦ Maintain a *level setpoint in the Clearwell Tank*. ◦ Maintain the pressure of the finished water leaving the AWPF. 3. *Extensive Alarming and Interlocks:* The logic must manage numerous conditions to ensure system integrity: ◦ Shutdown if the Clearwell Tank *Low Level Status* is active. ◦ Increase speed if the Clearwell Tank *High Level Status* is active. ◦ Monitor flow meters to ensure maximum flow is not exceeded based on affinity laws. This combination of *dynamic device selection (1-pump vs 2-pump logic)* and *precise PID control* over VFDs makes the Purified Water Pump control the most labor-intensive and critical system in the medium tier. Low Complexity: Most Complicated Narrative The most demanding narrative in the Low Complexity tier is the *Custom Alarm Procedure Logic (Disabling Alarms during Flush/Stabilization)*. (Source Section: 3.15.R) Why This is the Most Complicated Low Task The Low Complexity tier consists primarily of basic digital ON/OFF logic (simple faults, high-level floats, etc.). This specific task is the most complex because it involves *conditional logic* that overrides the state of numerous other complex loops across the entire RO system. 1. *Non-Standard Operation:* Normally, alarms are always active. This requires writing *exception-handling code* to selectively disable (or mask) specific alarms based on the operating state. 2. *Scope of Disablement:* The logic must target and disable an entire class of alarms, including: ◦ *Low Flow Alarms* during flushing sequences. ◦ *Recovery, Flux, and Differential Pressure Alarms* during flushing and stabilization modes. ◦ *Normalized Data Calculation* and alarms during these transient phases. 3. *Timing and Interlocks:* The logic is highly dependent on timing and interlocks: ◦ The alarms must be disabled when a sequence starts. ◦ The alarms must be *re-enabled* only after a user-specified *time delay* following the completion of the Startup Stabilization Mode. This delay requires reliable timers and state flags across the program. While the individual fault checks are simple, the coordination required to manage *which alarms are OFF, for how long, and under what condition* to avoid nuisance alarms during critical operational phases makes this single element the most time-consuming to program, validate, and test in the low-complexity category. **18:44 [Mason Radke](https://slack.com/archives/C09RQLEH9C4/p1762829051092109):** It’s going to be difficult to estimate. I’m not sure how to go about it exactly **18:47 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762829239403169):** Well, if something seems overwhelming, breaking it up into smaller pieces usually helps. Maybe it's best to go through the narrative itself and estimate smaller bits. I can see if Gemini can help organize it some. You'd be better at prompting the AI for it I think. I'm just winging this stuff. **18:50 [Mason Radke](https://slack.com/archives/C09RQLEH9C4/p1762829405977369):** Yea. Let me get my hands on the narrative and I’ll start breaking it down **19:05 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762830325403649):** I had Gemini do a little breakdown of each most complicated narrative, and compiled it into a google sheet. I shared the folder with you. **19:06 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762830365286579):** Please let me know how I can make this easier. Maybe I can save the narratives as separate PDF? **19:06 [Mason Radke](https://slack.com/archives/C09RQLEH9C4/p1762830401065189):** I would like to see the original narrative first **19:06 [Mason Radke](https://slack.com/archives/C09RQLEH9C4/p1762830410308659):** I’ll let you know **19:09 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762830546461929):** copy. the specs are in that folder I shared. I have a PDF with just the narratives in it called [Extracted pages from CAPP - Vol 4 Specs_control narratives.pdf](https://drive.google.com/open?id=1O7EwgrqZvzUIXPRldqx6NEbbxoKTizO-&usp=drive_copy) **19:11 [Kevin](https://slack.com/archives/C09RQLEH9C4/p1762830709799429):** looks like now you can access the file direct from Slack.

Extracted Entities

TypeKeyValueConfidenceEvidence
site Client TSI 95% Client: TSI
task Most Complex High Complexity Narrative UF/RO CIP Cleaning Sequences with Chemical Interlocks 95% the single most complicated control narrative ... UF/RO CIP Cleaning Sequences (with Chemical Interlocks)
task Most Complex Medium Complexity Narrative Purified Water Pump PID Speed Control 90% most demanding narrative in the Medium Complexity tier is the Purified Water Pump PID Speed Control
task Most Complex Low Complexity Narrative Custom Alarm Procedure Logic (Disabling Alarms during Flush/Stabilization) 90% most demanding narrative in the Low Complexity tier is the Custom Alarm Procedure Logic
File: Clients/TSI/slack/2025/11/2025-11-10_tsi-capp.md
Updated: 2026-02-20 02:20:32.412747