Spaces:
Sleeping
Sleeping
File size: 10,631 Bytes
199bfa3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | # CSH2 Cryogenic Pump — Diagnostic Reasoning Chains
# Step-by-step decision trees encoding how an expert reasons from observation to diagnosis.
# Each step specifies: what tool to call, what to look for, and branching rules.
reasoning_chains:
- id: RC-001
name: "Low Pressure Build Diagnostic"
trigger: "PT130 cannot reach target pressure"
related_failure_modes: [FM-001, FM-002, FM-003, FM-007]
steps:
- step: 1
action: "query_sensor_data"
description: "Pull PT130, PT110, TT110, VFD speed for the time window"
parameters:
tagindices: [18, 17, 24, 13]
look_for: "PT130 plateau level, PT110 stability, TT110 trend"
next:
if_pt130_below_50pct_target: "step_2"
if_pt130_slow_build: "step_5"
- step: 2
action: "run_simulation"
description: "Compute expected PT130 at current operating conditions"
parameters_from: "extracted operating conditions"
look_for: "Sim vs measured gap magnitude"
next:
if_gap_gt_20pct: "step_3"
if_gap_lt_20pct: "step_6"
- step: 3
action: "Run DCV leak test"
description: "Check PT130 decay rate with pump stopped"
look_for: "Decay rate in bar/min"
next:
if_decay_gt_5_bar_per_min: "conclude_FM002"
if_decay_lt_5_bar_per_min: "step_4"
- step: 4
action: "Compare pressure build at multiple speeds"
description: "Run pump at 10%, 30%, 50% speed and compare pressure"
look_for: "Does pressure gap worsen at higher speeds?"
next:
if_worse_at_higher_speed: "conclude_FM001"
if_similar_at_all_speeds: "step_5"
- step: 5
action: "Check inlet conditions"
description: "Verify subcooling margin: T_sat(PT110) - TT110"
look_for: "Subcooling margin in K"
next:
if_margin_lt_2K: "conclude_FM007"
if_margin_gt_2K: "step_6"
- step: 6
action: "search_domain_knowledge"
description: "Search maintenance history for recent ICV/DCV work"
parameters:
category: "maintenance_history"
component: "ICV"
look_for: "Recent maintenance events"
next:
if_recent_icv_work: "conclude_FM001_installation"
if_no_recent_work: "conclude_FM003"
conclusions:
conclude_FM001:
diagnosis: "ICV reverse flow — leak worsens with speed"
confidence: "high"
failure_mode: FM-001
conclude_FM001_installation:
diagnosis: "ICV installation issue — recent maintenance"
confidence: "high"
failure_mode: FM-001
conclude_FM002:
diagnosis: "DCV leakage — static pressure decay"
confidence: "high"
failure_mode: FM-002
conclude_FM003:
diagnosis: "HP seal blowby — gradual degradation"
confidence: "moderate"
failure_mode: FM-003
conclude_FM007:
diagnosis: "Insufficient subcooling — two-phase inlet"
confidence: "high"
failure_mode: FM-007
- id: RC-002
name: "Pressure Oscillation Diagnostic"
trigger: "PT130 showing high-frequency oscillations"
related_failure_modes: [FM-004]
steps:
- step: 1
action: "query_sensor_data"
description: "Pull PT130 at 1-second resolution for oscillation analysis"
parameters:
tagindices: [18, 1]
resolution: "1sec"
look_for: "Oscillation frequency and amplitude"
- step: 2
action: "Correlate with AOV141 cycling"
description: "Check if AOV140/141 is cycling in sync with PT130"
look_for: "Phase correlation between pressure and valve"
next:
if_correlated: "conclude_FM004"
if_not_correlated: "step_3"
- step: 3
action: "Check DCV dynamics"
description: "Analyze stroke timing — DCV may be bouncing"
look_for: "DCV open/close timing anomalies"
next:
default: "conclude_valve_dynamics"
conclusions:
conclude_FM004:
diagnosis: "Safety loop oscillation — AOV141 hunting"
confidence: "high"
failure_mode: FM-004
conclude_valve_dynamics:
diagnosis: "DCV dynamic behavior anomaly — investigate spring force"
confidence: "moderate"
failure_mode: FM-002
- id: RC-003
name: "Elevated Discharge Temperature Diagnostic"
trigger: "TT130 higher than isentropic prediction"
related_failure_modes: [FM-005, FM-006]
steps:
- step: 1
action: "query_sensor_data"
description: "Pull TT130, PT130, PT110, TT110"
parameters:
tagindices: [27, 18, 17, 24]
look_for: "TT130 excess above isentropic prediction"
- step: 2
action: "run_simulation"
description: "Compute isentropic discharge temperature"
look_for: "Measured TT130 vs predicted"
next:
if_excess_gt_20K: "step_3"
if_excess_lt_20K: "conclude_normal_friction"
- step: 3
action: "Check pressure ratio"
description: "PT130/PT110 ratio vs expected"
look_for: "Is pressure building normally?"
next:
if_ratio_low: "conclude_FM005"
if_ratio_normal: "step_4"
- step: 4
action: "Check TT110 trend"
description: "Is TT110 rising during operation?"
look_for: "TT110 rate of change"
next:
if_tt110_rising: "conclude_FM006"
if_tt110_stable: "conclude_friction"
conclusions:
conclude_FM005:
diagnosis: "Dry running — pump compressing gas"
confidence: "high"
failure_mode: FM-005
conclude_FM006:
diagnosis: "ICV thermal backflow — hot fluid heating inlet"
confidence: "high"
failure_mode: FM-006
conclude_normal_friction:
diagnosis: "Normal — friction heating within expected range"
confidence: "high"
conclude_friction:
diagnosis: "Elevated friction — possible seal break-in or bore damage"
confidence: "moderate"
failure_mode: FM-003
- id: RC-004
name: "Reduced Flow Rate Diagnostic"
trigger: "FT140 below expected mass flow rate"
related_failure_modes: [FM-001, FM-002, FM-007]
steps:
- step: 1
action: "query_sensor_data"
description: "Pull FT140, PT130, VFD speed"
parameters:
tagindices: [7, 18, 13]
look_for: "Flow rate vs expected at current speed"
- step: 2
action: "Check FT140 calibration"
description: "Verify FT140 density correction factor is applied"
look_for: "Is fluid H2 or N2? Apply correct density correction"
next:
if_calibration_wrong: "conclude_calibration_error"
if_calibration_correct: "step_3"
- step: 3
action: "run_simulation"
description: "Compute expected flow at current conditions"
look_for: "Vol efficiency and loss breakdown"
next:
if_icv_leak_dominant: "conclude_FM001"
if_dcv_leak_dominant: "conclude_FM002"
if_gas_inlet: "conclude_FM007"
conclusions:
conclude_FM001:
diagnosis: "ICV leakage reducing effective displacement"
confidence: "high"
failure_mode: FM-001
conclude_FM002:
diagnosis: "DCV leakage losing compressed fluid"
confidence: "high"
failure_mode: FM-002
conclude_FM007:
diagnosis: "Two-phase inlet reducing effective displacement"
confidence: "high"
failure_mode: FM-007
conclude_calibration_error:
diagnosis: "FT140 reading incorrect — apply density correction"
confidence: "high"
- id: RC-005
name: "Motor Power Anomaly Diagnostic"
trigger: "Motor power or current anomaly at given speed"
related_failure_modes: [FM-003]
steps:
- step: 1
action: "query_sensor_data"
description: "Pull VFD power, current, speed, torque"
parameters:
tagindices: [43, 45, 13, 48]
look_for: "Power/current at each speed point"
- step: 2
action: "Compare to baseline power-speed curve"
description: "Plot power vs speed, compare to reference"
look_for: "Offset direction"
next:
if_power_higher: "step_3"
if_power_lower: "conclude_reduced_load"
- step: 3
action: "search_domain_knowledge"
description: "Check seal friction baseline expectations"
parameters:
category: "operational_context"
look_for: "Post-maintenance friction expectations"
next:
if_recent_seal_work: "conclude_seal_break_in"
if_no_recent_work: "conclude_FM003"
conclusions:
conclude_FM003:
diagnosis: "HP seal friction increasing — possible bore damage"
confidence: "moderate"
failure_mode: FM-003
conclude_seal_break_in:
diagnosis: "Normal seal break-in after maintenance (7-9 kgf → 4-5 kgf)"
confidence: "high"
conclude_reduced_load:
diagnosis: "Reduced load — possible liquid starvation or low discharge pressure"
confidence: "moderate"
- id: RC-006
name: "Post-Maintenance Performance Verification"
trigger: "Performance check after maintenance event"
related_failure_modes: [FM-001, FM-002, FM-003]
steps:
- step: 1
action: "search_domain_knowledge"
description: "Look up the maintenance event details"
parameters:
category: "maintenance_history"
look_for: "What was done, what to expect"
- step: 2
action: "query_sensor_data"
description: "Pull first test run after maintenance"
look_for: "Compare to pre-maintenance baseline"
- step: 3
action: "run_diagnostics"
description: "Run full D1-D8 diagnostic sweep"
look_for: "Any new or resolved diagnostic flags"
- step: 4
action: "run_simulation"
description: "Compare sim prediction to post-maintenance performance"
look_for: "Has the residual changed after maintenance?"
conclusions:
conclude_improved:
diagnosis: "Maintenance successfully addressed the issue"
confidence: "high"
conclude_no_change:
diagnosis: "Maintenance did not resolve the underlying issue"
confidence: "moderate"
conclude_degraded:
diagnosis: "Performance worse after maintenance — investigate installation"
confidence: "high"
|