tpl-governance-1.html.html 133 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090
  1. <!doctype html><html lang="zh-CN" data-theme="light"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"></head><body><nav class="book-nav"><button onclick="parent.document.getElementById('ovx').click()">← 返回交付文档</button><button onclick="openBook('governance-0.html')">分册总目录</button></nav><title>如东液压系统治理清单</title>
  2. <link rel="preconnect" href="https://fonts.googleapis.com">
  3. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  4. <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700&family=Noto+Sans+SC:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap">
  5. <style>
  6. :root{
  7. --ground:#EEF1F3; --surface:#FBFCFD; --surface-2:#F4F7F9;
  8. --ink:#0F1A22; --ink-2:#33454F; --muted:#5B6C78; --faint:#8C9AA4;
  9. --rule:#C6D0D8; --rule-strong:#9DACB7;
  10. --accent:#14385A; --accent-soft:#DCE6EE;
  11. --st-swap:#C2352C; --st-done:#1F7A55; --st-check:#9A7A0A; --st-open:#2A6BB8;
  12. --st-swap-bg:#F7E4E2; --st-done-bg:#E0EFE7; --st-check-bg:#F4EDD8; --st-open-bg:#E1EAF6;
  13. --band:#E3EBF1;
  14. --shadow:0 1px 0 rgba(15,26,34,.05);
  15. }
  16. @media (prefers-color-scheme: dark){
  17. :root:not([data-theme="light"]){
  18. --ground:#0D1418; --surface:#141C22; --surface-2:#1A242B;
  19. --ink:#E7EDF1; --ink-2:#C2CED6; --muted:#8A99A4; --faint:#6A7883;
  20. --rule:#28343C; --rule-strong:#3E4E58;
  21. --accent:#6FA9D4; --accent-soft:#1D2C38;
  22. --st-swap:#DE5A4C; --st-done:#2E9A6C; --st-check:#AE9128; --st-open:#4785D6;
  23. --st-swap-bg:#2E1A18; --st-done-bg:#122A20; --st-check-bg:#2A2412; --st-open-bg:#152435;
  24. --band:#1B2932;
  25. --shadow:none;
  26. }
  27. }
  28. :root[data-theme="dark"]{
  29. --ground:#0D1418; --surface:#141C22; --surface-2:#1A242B;
  30. --ink:#E7EDF1; --ink-2:#C2CED6; --muted:#8A99A4; --faint:#6A7883;
  31. --rule:#28343C; --rule-strong:#3E4E58;
  32. --accent:#6FA9D4; --accent-soft:#1D2C38;
  33. --st-swap:#DE5A4C; --st-done:#2E9A6C; --st-check:#AE9128; --st-open:#4785D6;
  34. --st-swap-bg:#2E1A18; --st-done-bg:#122A20; --st-check-bg:#2A2412; --st-open-bg:#152435;
  35. --band:#1B2932;
  36. --shadow:none;
  37. }
  38. *{box-sizing:border-box}
  39. body{
  40. margin:0; background:var(--ground); color:var(--ink);
  41. font-family:"Noto Sans SC","PingFang SC","Hiragino Sans GB",system-ui,sans-serif;
  42. font-size:15px; line-height:1.75; -webkit-font-smoothing:antialiased;
  43. }
  44. .sheet{max-width:1120px;margin:0 auto;padding:0 20px 96px}
  45. h1,h2,h3,h4{font-family:"Noto Serif SC","Songti SC",serif;font-weight:700;text-wrap:balance;margin:0}
  46. .mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
  47. .num{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:500}
  48. /* ── 图纸标题栏 ───────────────────────────── */
  49. .titleblock{
  50. margin-top:36px;border:1.5px solid var(--rule-strong);background:var(--surface);
  51. }
  52. .tb-head{padding:26px 28px 20px;border-bottom:1.5px solid var(--rule-strong)}
  53. .tb-eyebrow{
  54. font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.22em;
  55. text-transform:uppercase;color:var(--muted);margin-bottom:14px
  56. }
  57. .tb-head h1{font-size:clamp(30px,4.6vw,46px);line-height:1.12;letter-spacing:.01em}
  58. .tb-sub{margin-top:12px;color:var(--ink-2);font-size:15px;max-width:60ch}
  59. .tb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}
  60. .tb-cell{padding:13px 18px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  61. .tb-cell:last-child{border-right:none}
  62. .tb-k{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
  63. .tb-v{font-size:14.5px;font-weight:500;margin-top:3px;font-variant-numeric:tabular-nums}
  64. /* ── 边界声明 ─────────────────────────────── */
  65. .scope{
  66. margin-top:28px;background:var(--surface);border:1px solid var(--rule);
  67. border-left:4px solid var(--accent);padding:22px 26px;
  68. }
  69. .scope h3{font-size:17px;margin-bottom:10px}
  70. .scope p{margin:0 0 10px;color:var(--ink-2);font-size:14.5px}
  71. .scope p:last-child{margin-bottom:0}
  72. .cut{
  73. display:inline-block;padding:1px 8px;margin:0 2px;border:1px solid var(--rule-strong);
  74. border-radius:2px;font-size:13px;color:var(--muted);text-decoration:line-through;
  75. text-decoration-color:var(--st-swap);text-decoration-thickness:1.5px;
  76. }
  77. /* ── 系统索引 ─────────────────────────────── */
  78. .idx{margin-top:44px}
  79. .idx-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
  80. .idx-head h2{font-size:22px}
  81. .idx-note{font-size:13px;color:var(--muted)}
  82. .idx-list{display:grid;gap:0;border-top:1px solid var(--rule)}
  83. .idx-row{
  84. display:grid;grid-template-columns:44px 1fr auto auto;gap:16px;align-items:center;
  85. padding:11px 6px;border-bottom:1px solid var(--rule);background:transparent;
  86. }
  87. .idx-row.on{background:var(--surface)}
  88. .idx-n{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--muted);font-weight:600}
  89. .idx-row.on .idx-n{color:var(--accent)}
  90. .idx-name{font-weight:500}
  91. .idx-row.on .idx-name{font-weight:700}
  92. .idx-cnt{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--muted)}
  93. .idx-state{font-size:11.5px;letter-spacing:.08em;padding:2px 9px;border:1px solid var(--rule-strong);color:var(--muted);white-space:nowrap}
  94. .idx-row.on .idx-state{border-color:var(--accent);color:var(--accent);font-weight:600}
  95. /* ── 系统章节 ─────────────────────────────── */
  96. .sys{margin-top:64px;border-top:3px solid var(--ink);padding-top:22px}
  97. .sys-tag{
  98. font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.2em;
  99. color:var(--muted);text-transform:uppercase
  100. }
  101. .sys h2{font-size:clamp(24px,3.2vw,32px);margin-top:6px}
  102. .sys-lead{margin-top:12px;color:var(--ink-2);max-width:66ch}
  103. .card{background:var(--surface);border:1px solid var(--rule);padding:22px 24px;margin-top:24px}
  104. .card h3{font-size:16px;margin-bottom:12px;display:flex;align-items:center;gap:9px}
  105. .card h3::before{content:"";width:9px;height:9px;background:var(--accent);flex:none}
  106. .formula{
  107. font-family:"IBM Plex Mono",monospace;font-size:15px;background:var(--surface-2);
  108. border:1px solid var(--rule);padding:12px 16px;margin:10px 0 14px;overflow-x:auto;white-space:nowrap
  109. }
  110. .gvb{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule);margin-top:14px}
  111. .gvb>div{padding:14px 18px}
  112. .gvb .g{background:var(--st-done-bg);border-right:1px solid var(--rule)}
  113. .gvb .b{background:var(--st-swap-bg)}
  114. .gvb .lab{font-size:11.5px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
  115. .gvb .g .lab{color:var(--st-done)} .gvb .b .lab{color:var(--st-swap)}
  116. .gvb .val{font-family:"IBM Plex Mono",monospace;font-size:26px;font-weight:600;margin-top:4px;color:var(--ink)}
  117. .gvb .exp{font-size:13px;color:var(--ink-2);margin-top:4px}
  118. @media(max-width:640px){.gvb{grid-template-columns:1fr}.gvb .g{border-right:none;border-bottom:1px solid var(--rule)}}
  119. /* ── 图 ───────────────────────────────────── */
  120. figure{margin:28px 0 0;background:var(--surface);border:1px solid var(--rule);padding:22px 24px 18px}
  121. figcaption{font-size:13px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--rule)}
  122. figcaption b{color:var(--ink-2);font-weight:600}
  123. .fig-title{font-family:"Noto Serif SC",serif;font-weight:700;font-size:16px;margin-bottom:4px}
  124. .fig-sub{font-size:13px;color:var(--muted);margin-bottom:16px}
  125. .chartwrap{overflow-x:auto}
  126. .legend{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;font-size:13px}
  127. .legend span{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2)}
  128. .lg-dot{width:11px;height:11px;flex:none;border-radius:50%}
  129. .lg-sq{width:11px;height:11px;flex:none}
  130. /* ── 表 ───────────────────────────────────── */
  131. .tablewrap{overflow-x:auto;margin-top:22px;border:1px solid var(--rule);background:var(--surface)}
  132. table{border-collapse:collapse;width:100%;min-width:820px;font-size:14px}
  133. caption{
  134. text-align:left;padding:14px 18px 12px;font-family:"Noto Serif SC",serif;font-weight:700;
  135. font-size:15.5px;border-bottom:1px solid var(--rule);background:var(--surface-2)
  136. }
  137. caption .csub{display:block;font-family:"Noto Sans SC",sans-serif;font-weight:400;font-size:13px;color:var(--muted);margin-top:3px}
  138. th{
  139. text-align:left;font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
  140. font-weight:600;padding:10px 14px;border-bottom:1px solid var(--rule-strong);white-space:nowrap
  141. }
  142. td{padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
  143. tbody tr:last-child td{border-bottom:none}
  144. td.tid{white-space:nowrap;font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:14.5px}
  145. td.tid small{display:block;font-weight:400;color:var(--muted);font-size:11.5px;letter-spacing:.04em}
  146. td.part{white-space:nowrap;font-weight:500}
  147. td.act{min-width:190px}
  148. td.why{color:var(--ink-2);font-size:13.5px}
  149. .hl{color:var(--ink);font-weight:600;font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
  150. tr.rank1 td{background:var(--surface-2)}
  151. .pill{
  152. display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;white-space:nowrap;
  153. border:1px solid currentColor;letter-spacing:.03em
  154. }
  155. .p-swap{color:var(--st-swap);background:var(--st-swap-bg)}
  156. .p-done{color:var(--st-done);background:var(--st-done-bg)}
  157. .p-check{color:var(--st-check);background:var(--st-check-bg)}
  158. .p-open{color:var(--st-open);background:var(--st-open-bg)}
  159. .evid{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--muted);white-space:nowrap}
  160. /* ── 待定 ─────────────────────────────────── */
  161. .hold{margin-top:30px;border:1.5px solid var(--st-open);background:var(--st-open-bg)}
  162. .hold-h{padding:14px 22px;border-bottom:1px solid var(--st-open);display:flex;align-items:center;gap:10px}
  163. .hold-h h3{font-size:16px;color:var(--st-open)}
  164. .hold-h .tagn{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--st-open);border:1px solid var(--st-open);padding:1px 8px}
  165. .hold-b{padding:6px 22px 18px}
  166. .hold-item{padding:14px 0;border-bottom:1px dashed var(--st-open)}
  167. .hold-item:last-child{border-bottom:none}
  168. .hold-q{font-weight:700;margin-bottom:7px}
  169. .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:8px}
  170. @media(max-width:640px){.two{grid-template-columns:1fr}}
  171. .opt{background:var(--surface);border:1px solid var(--rule);padding:11px 14px;font-size:13.5px;min-width:0;overflow-wrap:anywhere}
  172. .opt .ol{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:4px}
  173. .rec{font-size:13.5px;margin-top:10px;color:var(--ink-2)}
  174. .rec b{color:var(--st-open)}
  175. .foot{margin-top:64px;padding-top:20px;border-top:1px solid var(--rule);font-size:13px;color:var(--muted)}
  176. .foot code{font-family:"IBM Plex Mono",monospace;font-size:12.5px;background:var(--surface-2);padding:1px 6px;border:1px solid var(--rule)}
  177. /* ── 偏离表 ─────────────────────────────── */
  178. table.dev{min-width:1000px}
  179. table.dev th{text-align:center}
  180. table.dev th:first-child,table.dev td:first-child{text-align:left}
  181. table.dev th:last-child,table.dev td:last-child{text-align:left}
  182. td.v{text-align:center;font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:500;white-space:nowrap}
  183. td.v small{display:block;font-size:10.5px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:2px;font-family:"Noto Sans SC",sans-serif}
  184. td.v.bad{background:var(--st-swap-bg);color:var(--st-swap);font-weight:600}
  185. td.v.bad small{color:var(--st-swap);opacity:.8}
  186. td.v.warn{background:var(--st-check-bg);color:var(--st-check);font-weight:600}
  187. td.v.warn small{color:var(--st-check);opacity:.85}
  188. td.v.ok{color:var(--st-done);font-weight:600}
  189. td.v.na{color:var(--faint)}
  190. tr.base td{background:var(--surface-2);border-bottom:2px solid var(--rule-strong);font-weight:600}
  191. tr.base td.v{color:var(--ink)}
  192. tr.done td{opacity:.86}
  193. /* ── 现场第一步 ─────────────────────────── */
  194. .step{margin-top:26px;border:1.5px solid var(--accent);background:var(--surface)}
  195. .step-h{padding:15px 22px;background:var(--accent-soft);border-bottom:1px solid var(--accent);display:flex;align-items:center;gap:11px;flex-wrap:wrap}
  196. .step-h h3{font-size:16.5px}
  197. .step-h .tagn{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;color:var(--accent);border:1px solid var(--accent);padding:2px 9px}
  198. .step-b{padding:18px 22px}
  199. .three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
  200. @media(max-width:760px){.three{grid-template-columns:1fr}}
  201. .br{border:1px solid var(--rule);padding:13px 15px;background:var(--surface-2);min-width:0;overflow-wrap:anywhere}
  202. .br .rd{font-family:"IBM Plex Mono",monospace;font-size:15px;font-weight:600;margin-bottom:5px}
  203. .br .ac{font-size:13.5px;color:var(--ink-2)}
  204. .br.b1{border-top:3px solid var(--st-swap)} .br.b1 .rd{color:var(--st-swap)}
  205. .br.b2{border-top:3px solid var(--st-check)} .br.b2 .rd{color:var(--st-check)}
  206. .br.b3{border-top:3px solid var(--st-open)} .br.b3 .rd{color:var(--st-open)}
  207. /* tooltip */
  208. #tip{
  209. position:fixed;pointer-events:none;opacity:0;transition:opacity .12s;z-index:50;
  210. background:var(--ink);color:var(--ground);padding:8px 11px;font-size:12.5px;line-height:1.5;
  211. font-family:"IBM Plex Mono",monospace;max-width:240px;
  212. }
  213. @media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
  214. :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  215. @media print{
  216. @page{size:A4 portrait;margin:11mm 9mm}
  217. html,body{background:#fff}
  218. body{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:11.5px}
  219. .sheet{max-width:none;padding:0}
  220. svg[id]{width:100%!important;height:auto!important;max-width:100%}
  221. .chartwrap,.tablewrap{overflow-x:visible!important}
  222. table{min-width:0!important;font-size:10.5px}
  223. table{table-layout:auto}
  224. table th:last-child,table td:last-child{width:34%}
  225. table.dev th:not(:first-child):not(:last-child),table.dev td:not(:first-child):not(:last-child){width:9%}
  226. caption{font-size:11.5px}
  227. .dev{min-width:0!important}
  228. .formula{white-space:pre-wrap!important;overflow-x:visible!important;word-break:break-word;font-size:12px}
  229. .mono,.opt,.br{overflow-wrap:anywhere}
  230. .card,.tablewrap,.chartwrap,.hold,.three>.br,.gvb>.b,figure{break-inside:avoid}
  231. tr{break-inside:avoid}
  232. thead{display:table-header-group}
  233. h1,h2,h3,caption{break-after:avoid}
  234. section.sys{break-before:page}
  235. section.titleblock{break-after:avoid}
  236. a[href^="http"]::after{content:""}
  237. }
  238. </style>
  239. <div class="sheet">
  240. <section class="titleblock">
  241. <div class="tb-head">
  242. <div class="tb-eyebrow">Governance Register · 治理登记册 · 分册</div>
  243. <h1>液压系统治理清单</h1>
  244. <p class="tb-sub">变桨 · 高速轴制动。列出<strong>治理对象、处置内容与依据</strong>,报告与治理清单</p>
  245. </div>
  246. <div class="tb-grid">
  247. <div class="tb-cell"><div class="tb-k">项目</div><div class="tb-v">项目 R-01(如海)海上</div></div>
  248. <div class="tb-cell"><div class="tb-k">机型 / 台数</div><div class="tb-v">SWT-4.0-130 · 38 台</div></div>
  249. <div class="tb-cell"><div class="tb-k">范围</div><div class="tb-v">系统① 液压系统</div></div>
  250. <div class="tb-cell"><div class="tb-k">证据窗</div><div class="tb-v">运行 →2026-07-07</div></div>
  251. <div class="tb-cell"><div class="tb-k">版本</div><div class="tb-v">v1.0 · 2026-09-05</div></div>
  252. <div class="tb-cell"><div class="tb-k">部件命名</div><div class="tb-v">按上海电气设备结构树</div></div>
  253. </div>
  254. </section>
  255. <section class="scope">
  256. <h3>本分册的范围</h3>
  257. <p>本册只出<strong>液压系统</strong>一节(变桨 · 高速轴制动)。其余系统各有分册;发电机轴承、主轴承、齿轮箱轴承与轮齿、叶根连接螺栓不在治理清单范围,见《跨系统危险级风险与联合处置总册》。</p>
  258. <p><strong>部件名一律按</strong>《上海电气 SWT4.0-130 设备结构树》<strong>写</strong>。引用故障处置手册、SCADA 告警文本、备件库名称时照录原文并标明出处。</p>
  259. <p style="font-size:13.5px;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px;margin-top:14px"><strong>本册统计术语(逐个中文释义,避免误读):</strong><br><span class="mono">p50</span> = <strong>中位数(50 百分位)</strong>;<span class="mono">p90 / p95</span> = <strong>90 / 95 百分位数</strong>,<b>不是概率</b>。把该量的取值从小到大排,"p95 = 53.79%"意思是 <b>95% 的数据小于等于 53.79%</b>;<b>中位数不被极端值拉走</b> —— 一次传感器 rail 或一次风暴尖峰能把平均值拉高一大截,却几乎不动中位数,所以本册一律用中位不用平均。<br><span class="mono">fleet</span> = <strong>同型机群</strong>(本场 38 台)。"fleet 中位"= 38 台各自算出一个数后再取中位。<br><span class="mono">z</span> = <strong>稳健标准分</strong>(偏离机群中位多少个稳健标准差)。<b>z 大不等于偏得多</b> —— 机群本身极密集时,很小的绝对差也会算出很大的 z,<b>本册所有 z 都另过了绝对幅度闸</b>。<br><span class="mono">MAD</span> = <strong>中位绝对偏差</strong>,机群离散程度的稳健度量,作 z 的分母。<br><span class="mono">CI</span> = <strong>置信区间</strong>;<span class="mono">MDC</span> = <strong>最小可检出变化</strong>(小于它的变化在本通道分辨率下读不出来)。<br><span class="mono">同一时间窗</span> = 各台取<b>同一段时间</b>的数据比较(避免拿不同时段互比);<span class="mono">现窗</span> = 数据窗末段,与"全窗"相对 —— <b>判"现在坏不坏"只看现窗</b>。</p>
  260. <p style="font-size:13.5px;color:var(--muted)">口径承 SOP §0.2 六枚举。本册所列<strong>全部为候选级及以下</strong>,用于安排复核与处置顺序,<strong>不替代现场停机标准</strong>。</p>
  261. </section>
  262. <section class="sys">
  263. <div class="sys-tag">System 01 · U6</div>
  264. <h2>液压系统<span style="font-size:.6em;font-weight:500;color:var(--muted)"> 变桨 · 高速轴制动</span></h2>
  265. <p class="sys-lead">本节讲<strong>一个油箱、两条回路</strong>:<strong>①变桨大站</strong> 400 L / 245 bar —— <strong>②HS 制动器(HS brake)</strong>由大站经 P BRAKE 分出(0–80 bar,自带 6 L / N₂ 预充 50 bar 蓄能器)。机上还有<strong>第三条回路 = 偏航制动电源组</strong>(另一个箱,12.2 L / 180 bar),<strong>归系统 03 偏航</strong>。</p>
  266. <p class="sys-lead" style="margin-top:10px;font-size:14px"><strong>要件号直接看 <span style="color:var(--accent)">表 A2「备件/物资准备」</span></strong>(本节中部,深蓝色标题条)—— 换的是 <strong>70 号蓄能器,物资编码 <span class="mono" style="color:var(--accent);font-weight:600">A9B10051506</span></strong>,10 L / 180 bar 活塞式。<br><strong style="color:var(--st-swap)">凡本册标「件号待确认」的条目,采购前联系【如东】核实在用件号,不据本册编码直接下单。</strong></p>
  267. <p class="sys-lead" style="font-size:13.5px;color:var(--muted);margin-top:8px">两箱油经三方闭环实证:大站油样铁 9 ppm vs 偏航小站 77 ppm,两者<strong>配对相关为零</strong>(图纸 ZSM1038081 + UP 定值 + 油样三方闭环)。<strong>所以本节的油与压力基线,一条也不能拿去比偏航小站</strong> —— 那边只有 12.2 L,同样磨屑量浓度被浓缩几十倍。</p>
  268. <!-- 判据卡 -->
  269. <div class="card">
  270. <h3>判据:泵单次加载输出量 V<sub>cyc</sub></h3>
  271. <p style="margin:0 0 10px;color:var(--ink-2);font-size:14.5px">变桨泵站上有<strong>两组蓄能器,分工完全不同</strong>:</p>
  272. <div class="gvb" style="margin-top:0">
  273. <div class="g" style="background:var(--surface-2)">
  274. <div class="lab" style="color:var(--accent)">70 号 · 泵站近端缓冲</div>
  275. <div class="val">10 L / 180 bar</div>
  276. <div class="exp">活塞式,经 ø7.0 节流 + 20×2.5 管<strong>直连泵压主管</strong> ⇒ <strong>全额参与充能循环</strong>。物料号 <span class="mono">A9B10051506</span>。<strong>本节 A 类失效全部在这个件上。</strong></div>
  277. </div>
  278. <div class="b" style="background:var(--surface-2)">
  279. <div class="lab" style="color:var(--accent)">106 号 · 轮毂顺桨主源</div>
  280. <div class="val">6 × 30 L / 125 bar</div>
  281. <div class="exp"><strong style="color:var(--st-swap)">无连续 SCADA 通道</strong>,但<strong style="color:var(--st-done)">有自检容量检查产出的记录值可查</strong>。每叶片 60 L,经长管 + 旋转接头 + 118 单向阀 ⇒ 对充能循环<strong>仅弱耦合(系数 0.095)</strong>。物料号 <span class="mono">A9B10073976</span>。<strong>自检记录值 140 bar @20 ℃ = 正常,本轮不动。</strong></div>
  282. </div>
  283. </div>
  284. <p style="margin:14px 0 0;font-size:14.5px;color:var(--ink-2)"><strong>所以 V<sub>cyc</sub> 主要在量 70 号那 10 L 的罐</strong>,轮毂 180 L 只按 9.5% 参与。系统总容变按仿真台标定式分解 —— <span class="mono">C = C管路 + C70 + 0.095·C106</span>,<span class="mono">Cᵢ = Vᵢ·p₀ᵢ / p²</span>:</p>
  285. <div class="formula">p₀=180 → 0.0025 + 0.0372 + 0.0442 = <b>0.0839</b> ≈ 实测 <b>0.087 L/bar</b> ✓   |   p₀=60 → 0.059 ✗   p₀=10 → 0.049 ✗</div>
  286. <p style="margin:0 0 14px;font-size:13.5px;color:var(--muted)">⇒ <strong>70 号预充设计值 180 bar 由 38 台实测容变反算证实</strong>,不依赖任何一份纸面资料。这同时是本判据的物理底座。</p>
  287. <div class="formula">V_cyc = 泵单次加载时长 × 排量   (36.8 L/min = <b>0.613 L/s</b>,25.4 ccm × 1450 rpm)</div>
  288. <div class="gvb">
  289. <div class="g">
  290. <div class="lab">健康 · 26 台</div>
  291. <div class="val">3.1 – 7.2 <span style="font-size:14px;font-weight:400">L</span></div>
  292. <div class="exp">全窗 fleet 带,中位 <b>4.4 L</b>(原 5.0–11.7 / 7.15 <b>秒</b>)。<b>独立校核:</b>仿真台按控变桨活动带标定的健康点 <b>4.9 L</b> 落在本带内,与中位差 12% —— 一个是分布、一个是标定点,互为印证。同期:周期 96 s · 加载 6 次/10 min · 带宽 50 bar · 油温 38 ℃ · 超压 0%。</div>
  293. </div>
  294. <div class="b">
  295. <div class="lab">气容丧失 · 8 台</div>
  296. <div class="val">0.52 <span style="font-size:14px;font-weight:400">L</span></div>
  297. <div class="exp">A 类中位(原 0.85 秒),<strong>为健康中位的 1/8.5</strong>。本质是系统总容变 <b>C 由 0.087 塌到 0.0037 L/bar = 23 倍</b>(剩下的只有纯管路柔度)。8# 实测同期:周期 <b>2.6 s</b> · 加载 <b>228 次/10 min</b> · 带宽 135 · 油温 51 ℃ · <b>超压占时 98.3%</b>。</div>
  298. </div>
  299. </div>
  300. <p style="margin:16px 0 0;font-size:14.5px;color:var(--ink-2)"><strong>为什么是断崖不是渐变:</strong>70 号垮塌 → 循环尖峰 → 棘轮抬升 → <strong>118 单向阀恒闭 → 轮毂 106 被退出循环</strong> → C 直接塌到纯管路 ≈0.003(对齐 8# 实测 0.0037)。一旦越过这个连锁点,指标是台阶式下落,没有中间态。</p>
  301. <p style="margin:12px 0 0;font-size:14.5px;color:var(--ink-2)"><strong>为什么不是漏油:</strong>外漏只增加每循环的消耗量,不改变系统容变 C。25# 泵输出量 1.46× 而容变 C 仍有健康的 0.62 ⇒ <strong>主导因素在消耗侧</strong>,先查漏点。<strong>但 C 已非满值,不能断言储能侧完好</strong>,故该台已补"同次测预充"。</p>
  302. <p style="margin:12px 0 0;font-size:14.5px;color:var(--ink-2)"><strong>为什么不是泵磨损:</strong>排量下降会<strong>拉长</strong>单次加载时长而<strong>不改变循环频次</strong>(单位时间的消耗量没变);实测 8# 是<strong>频次由 6 升到 228 次/10 min(38×)且单次时长骤降</strong> —— 方向相反,泵磨损排除。<br><span style="color:var(--muted)">口径边界:反算出的 C 绝对值依赖假定排量 36.8 L/min;分型与健康带用的是实测量 V<sub>cyc</sub>,不受此影响。</span></p>
  303. </div>
  304. <!-- 顺桨安全 -->
  305. <div class="card" style="border-left:4px solid var(--st-open)">
  306. <h3>顺桨安全:70 号失效不碍顺桨;106 靠自检记录</h3>
  307. <p style="margin:0 0 12px;font-size:14.5px;color:var(--ink-2)">这一段是业主最关心的,前面的判据全都答不了它 —— 因为<strong>两组蓄能器在安全链上的角色完全不同</strong>。</p>
  308. <div class="three">
  309. <div class="br b2" style="border-top-color:var(--st-done)">
  310. <div class="rd" style="color:var(--st-done)">70 号失效</div>
  311. <div class="ac">SCADA 循环签名<strong>剧变</strong>(吞吐 0.5 L / 周期 2.6 s / 带宽 135)—— 好查。<br><strong>但失电顺桨不受影响</strong>:顺桨主源是轮毂 106,走 103 → 121 路,<strong>70 号不在此路</strong>。<br><b>实证:</b>数据窗内 4 次全场停电<strong>全部安全顺桨、零超速</strong>。</div>
  312. </div>
  313. <div class="br b1">
  314. <div class="rd">106 失氮(假设情形)</div>
  315. <div class="ac"><strong>106 没有连续 SCADA 通道</strong> —— 循环侧的间接反映只有中度变化(吞吐约 2 L),与个体基线难分辨。<strong>能看见它的只有一条路:机组自检容量检查</strong>。<br>而后果恰恰最重:<strong>失电顺桨失去能量源</strong>。<br>覆盖它的<strong>只有机组自检容量检查</strong>(UP03284 组,从轮毂 235 bar 起测)。</div>
  316. </div>
  317. <div class="br b3">
  318. <div class="rd">两者同时失效</div>
  319. <div class="ac">SCADA 上<strong>与单独 70 号失效不可分辨</strong>,而实际后果是<strong>顺桨失败</strong>。<br>⇒ 这就是为什么<strong>不能只靠 SCADA 判据清场</strong>。</div>
  320. </div>
  321. </div>
  322. <p style="margin:16px 0 0;font-size:14.5px;color:var(--ink-2)"><strong>结论:两套监测互补,同时关注。</strong>本清单的 V<sub>cyc</sub>/Δp 判据覆盖的是 70 号;<strong>106 无连续 SCADA 通道,由机组自检容量检查覆盖</strong> —— <span class="mono">UP03284</span> 组自检从轮毂 235 bar 起测,<strong>机组自己测出一个值并记录下来</strong>,查的就是这个数。<strong>现状是好的</strong> —— 最近一次自检记录 <span class="hl">140 bar @20 ℃</span>(2026-08,处夏季温修范围内)= 正常,本轮不动。<br><strong>所以"建台账"不是新增测量,是把已经在产生的自检记录汇总成月度序列</strong> —— 有了序列才看得出 106 是稳着还是在慢慢掉。</p>
  323. <p style="margin:12px 0 0;font-size:13px;color:var(--muted)">依据:<span class="mono">U6_变桨液压仿真台.html</span>(SWT-4.0-130,图纸 1034384/1034386;参数标定自本场 38 台实测与原厂图纸,v47p 2026-08-13 现场证实)。该仿真台是本节判据的物理底座,页面全部升值与容变分解均与其标定一致。</p>
  324. </div>
  325. <!-- 图 1 -->
  326. <figure>
  327. <div class="fig-title">图 1  泵单次加载输出量 V<sub>cyc</sub> 逐台分布</div>
  328. <div class="fig-sub">横轴 = 泵一次加载输出的油量(加载时长 × 36.8 L/min)。绿带 = 26 台正常机组区间;红线 = <b>70 号罐总容积 10 L,任何台不可能越过</b>。落在带左侧的机组,70 号已丧失储能能力。</div>
  329. <div class="chartwrap"><svg id="vcyc" width="1000" height="430" role="img" aria-label="V_cyc 点阵图" viewBox="0 0 1000 430" preserveAspectRatio="xMidYMid meet"></svg></div>
  330. <div class="legend">
  331. <span><i class="lg-dot" style="background:var(--st-swap)"></i>建议换蓄能器</span>
  332. <span><i class="lg-dot" style="background:var(--st-check)"></i>先现场核(非蓄能器)</span>
  333. <span><i class="lg-dot" style="background:var(--st-done)"></i>已处置 · 已恢复</span>
  334. <span><i class="lg-sq" style="background:var(--压差);border:1px solid var(--rule-strong)"></i>健康带 5.0–11.7</span>
  335. <span><span style="font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--muted)">⟵</span>箭头 = 从原值跌到现值</span>
  336. </div>
  337. <figcaption><b>组值说明:</b>3# / 20# / 2# / 35# 四台档案只给了组区间 <span class="mono">0.47–0.63 L</span>,未逐台落值,图中按组区间画横杠而非单点 —— <b>未落值不外推</b>。14# / 32# 的 V<sub>cyc</sub> 在健康带内(3.4–4.4 L),问题在压力带宽,不入本图。<b>全部升值 = 原档案秒值 × 0.613</b>,原秒值在各点悬停可见。</figcaption>
  338. </figure>
  339. <!-- 图 2 Δp -->
  340. <figure>
  341. <div class="fig-title">图 2  泵启停压差 Δp 逐台分布</div>
  342. <div class="fig-sub">Δp = 泵完成一次加载所需的系统压力降幅,即控制回差的实测值。气容完好时压力衰减慢,泵在 <b>52 bar</b> 窄带内启停 —— <b>全场 30 台实测恰为 52.0,即设计锁定值</b>。气容丧失后无储能缓冲,压力须降至 116–141 bar 泵才够完成一次加载。</div>
  343. <div class="chartwrap"><svg id="band" width="1000" height="400" role="img" aria-label="泵启停压差 Δp点阵图" viewBox="0 0 1000 400" preserveAspectRatio="xMidYMid meet"></svg></div>
  344. <div class="legend">
  345. <span><i class="lg-dot" style="background:var(--st-swap)"></i>Δp 变宽 · 与 V<sub>cyc</sub> 同向 ⟹ 蓄能器</span>
  346. <span><i class="lg-dot" style="background:var(--st-check)"></i>Δp 变宽 · V<sub>cyc</sub> 正常 ⟹ 不是蓄能器</span>
  347. <span><i class="lg-dot" style="background:var(--st-done)"></i>已处置 · 已回位</span>
  348. <span><span style="font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--muted)">⟵</span>箭头 = 从原值涨到现值</span>
  349. </div>
  350. <figcaption><b>这是与 V<sub>cyc</sub> 相互独立的第二条证据</b> —— 一个测"每次能存进多少油",一个测"压力掉多深"。两条都指同一台,才构成换件依据。<b>31# 方向是反的</b>(Δp 20,比锁定值还窄):它 2025-07 换主控板后 V<sub>cyc</sub> 由 1.4 跳回 6.58 —— 证明<b>Δp 异常有两个方向,窄的那侧是参数问题,不是蓄能器</b>。</figcaption>
  351. </figure>
  352. <!-- 图 3 分型 -->
  353. <figure>
  354. <div class="fig-title">图 3  V<sub>cyc</sub> × Δp 二维分型判别图</div>
  355. <div class="fig-sub">横轴 Δp,纵轴单次充液量。<b>只有右下角那一格才需要换蓄能器</b>:压力掉得深(Δp 宽)<b>而且</b>每次存不进油(V<sub>cyc</sub> 塌)。右上角的台Δp也宽,但油照样存得进 —— 那是漏油或参数,换蓄能器等于白换。</div>
  356. <div class="chartwrap"><svg id="quad" width="1000" height="470" role="img" aria-label="V_cyc 与Δp二维分型图" viewBox="0 0 1000 470" preserveAspectRatio="xMidYMid meet"></svg></div>
  357. <figcaption><b>右侧专列:</b>7# / 10# 档案<b>无 Δp 落值</b>,横坐标缺失。二者分别为全场衰减最快台与最新一起阶跃下降台,不因缺一个坐标而排除于决策图外。<b>虚线空心圈 = 纵坐标真实、横坐标未知</b>,它们的换件依据是 V<sub>cyc</sub> 的衰减速率(图 1)而不是本图。<b>空列 = 未测,非合格。</b><br><b>两个边界台,现场一测即定:</b>21# / 28# Δp 只比锁定值宽 4 bar,却位于 V<sub>cyc</sub> 衰减侧 —— 登机先测预充:预充≈0 ⟹ 气囊已破,换;预充正常 ⟹ 改归参数侧,查回差参数别换件。19# 落在气容侧,但它Δp 只轻微变宽而<b>系统压力严重越带(240 bar)</b>,档案判混合型,先查参数、同次测蓄能器。</figcaption>
  358. </figure>
  359. <!-- 图 4 实物对照时序 -->
  360. <figure>
  361. <div class="fig-title">图 4  已验证正样本 4# / 31# 处置前后双参数时序</div>
  362. <div class="fig-sub">全场仅此两台达成<b>处置动作与指标恢复时点对齐</b>,是本节全部判据的标定基准。并列的意义:<b>V<sub>cyc</sub> 偏低不指向具体部件,须先分型再定处置</b> —— 4# 更换蓄能器,31# 零备件消耗、仅更换主控板并重刷程序 —— <b>但其恢复中 Δp 只解释 2.6×(实际 4.7×),残差来自气容回升,故不是纯参数型</b>。</div>
  363. <div class="chartwrap"><svg id="anchors" width="1000" height="500" role="img" aria-label="4号与31号机组处置前后时序对照" viewBox="0 0 1000 500" preserveAspectRatio="xMidYMid meet"></svg></div>
  364. <div class="legend">
  365. <span><i class="lg-dot" style="background:var(--st-swap)"></i>处置前 · 坏</span>
  366. <span><i class="lg-dot" style="background:var(--st-done)"></i>处置后 · 好</span>
  367. <span><i class="lg-sq" style="background:var(--压差);border:1px solid var(--rule-strong)"></i>健康带 3.1–7.2 L/次</span>
  368. <span><span style="font-family:'IBM Plex Mono',monospace;color:var(--st-open)">┋</span> 工单日期</span>
  369. <span><sup style="color:var(--st-open);font-weight:700">推</sup> 由档案数值推算,非原值</span>
  370. </div>
  371. <figcaption><b>两轨共用工单时刻线,可直接读出两参数在同一处置动作上的同步翻转。</b>4# 的 V_cyc 是<b>周粒度真实序列</b>(换件前一周 → 换后连续三周),形状是"塌到底 → 一次跳回 → 稳住"。<b>换后三周 4.39 / 6.22 / 4.29 L,写成区间是 4.3–6.2 L,周间摆动 45%,属工况正常范围</b>:V_cyc 随变桨活动幅度变化(0–0.5° 档 5.14 L → >10° 档 9.73 L,+89%),该周叶片动作量大则读数高。<b>三周全部落回健康带(3.1–7.2 L)内,而换件前是 0.53 L</b> —— 它的 Δp<b>换件前 81,换后档案没落值</b>,所以第二轨在工单线之后是<b>虚线空白 —— 空白代表没测,不代表回位</b>。31# 档案<b>只给了换板前后两个状态,不是连续序列</b>,两轨都画成阶跃而非折线,<b>不把两个点连成一条看起来像趋势的线</b>。<br><b>第二通道的关键对比 —— 31# 的 Δp 为 20,位于锁定值 52 下方</b> —— 与所有换蓄能器的台方向相反。Δp 异常有两侧:偏高是储能没了,偏低是回差参数错了,<b>处置完全不同</b>。31# 换板后Δp 回锁定值、系统压力由 236 降 19 bar,两项均为推算值,已标「推」。</figcaption>
  372. </figure>
  373. <!-- 表 A-1 指标偏离表 -->
  374. <div class="tablewrap">
  375. <table class="dev">
  376. <caption>表 A1 · 证据面 —— 五项指标逐台偏离表<span class="csub">第一行是全场正常基线。<b>↓ / ↑ 表示偏离方向,红底格 = 已越出基线</b>。同一台身上偏离的项数越多,换件依据越硬 —— 这是"问题部件更换"的证据面。</span></caption>
  377. <thead>
  378. <tr>
  379. <th>机组</th>
  380. <th>① 单次充液量<br><span style="font-weight:400;text-transform:none;letter-spacing:0">V<sub>cyc</sub> L/次 · 罐容 10</span></th>
  381. <th>② 泵启停压差 Δp<br><span style="font-weight:400;text-transform:none;letter-spacing:0">压差 bar</span></th>
  382. <th>③ 系统压力工作点<br><span style="font-weight:400;text-transform:none;letter-spacing:0">HydPress bar</span></th>
  383. <th>④ 泵负载率<br><span style="font-weight:400;text-transform:none;letter-spacing:0">×正常组</span></th>
  384. <th>⑤ 液压油温<br><span style="font-weight:400;text-transform:none;letter-spacing:0">℃</span></th>
  385. <th>命中</th>
  386. <th>分型 → 动作</th>
  387. </tr>
  388. </thead>
  389. <tbody>
  390. <tr class="base">
  391. <td class="tid">基线<small>正常 26–30 台</small></td>
  392. <td class="v">3.1 – 7.2<small>中位 4.4 · 原 5.0–11.7 秒</small></td>
  393. <td class="v">52.0<small>30 台锁定同值</small></td>
  394. <td class="v">213 – 216<small>循环带 210–245</small></td>
  395. <td class="v">1.0×<small>duty 9.6%</small></td>
  396. <td class="v">34 – 45<small>保护阈 70</small></td>
  397. <td class="v">—</td>
  398. <td>—</td>
  399. </tr>
  400. <tr><td class="tid">7#</td>
  401. <td class="v bad">1.80 ↓<small>衰减前基线 9.61</small></td>
  402. <td class="v na">—</td><td class="v na">—</td>
  403. <td class="v bad">次数 3→21 ↑</td>
  404. <td class="v bad">+3.0 K ↑</td>
  405. <td class="v"><b>3</b>/3 可测</td>
  406. <td>气容衰减 · <b>进行中</b> → 换</td></tr>
  407. <tr class="rank1"><td class="tid">3#<small>03E</small></td>
  408. <td class="v bad">0.47–0.63 ↓</td>
  409. <td class="v bad">116 ↑<small>原 52</small></td>
  410. <td class="v bad">207 ↓<small>原 214</small></td>
  411. <td class="v bad">2.39× ↑<small>duty 23.7%</small></td>
  412. <td class="v bad">max 71 ⚠<small>已达保护阈</small></td>
  413. <td class="v"><b>5</b>/5</td>
  414. <td>气容 · <b>已到底,近跳机</b> → 换</td></tr>
  415. <tr><td class="tid">10#</td>
  416. <td class="v bad">0.47 ↓<small>换前 2.90</small></td>
  417. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  418. <td class="v"><b>1</b>/1 可测</td>
  419. <td>气容 · <b>单周断崖</b> → 换</td></tr>
  420. <tr><td class="tid">8#<small>08F</small></td>
  421. <td class="v bad">0.50 ↓<small>与仿真实测一致</small></td>
  422. <td class="v bad">140 ↑<small>原 54</small></td>
  423. <td class="v bad">202 ↓<small>低 13</small></td>
  424. <td class="v bad">3.09× ↑<small>flow 19.2</small></td>
  425. <td class="v na">—</td>
  426. <td class="v"><b>4</b>/4</td>
  427. <td>气容 · <b>补气已复发</b> → 直接换</td></tr>
  428. <tr><td class="tid">20#</td>
  429. <td class="v bad">0.47–0.50 ↓</td>
  430. <td class="v bad">116–141 ↑</td>
  431. <td class="v na">—</td>
  432. <td class="v bad">2.55–3.09× ↑</td>
  433. <td class="v na">—</td>
  434. <td class="v"><b>3</b>/3</td>
  435. <td>气容 · <b>充氮已复发</b> → 直接换</td></tr>
  436. <tr><td class="tid">2#<small>02E</small></td>
  437. <td class="v bad">0.47–0.63 ↓</td>
  438. <td class="v bad">64–132 ↑</td>
  439. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  440. <td class="v"><b>2</b>/2</td>
  441. <td>气容 · 已到底 → 换</td></tr>
  442. <tr><td class="tid">35#<small>35B</small></td>
  443. <td class="v bad">0.47–0.63 ↓</td>
  444. <td class="v bad">64–132 ↑</td>
  445. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  446. <td class="v"><b>2</b>/2</td>
  447. <td>气容 · <b>只补过气未换件</b> → 换</td></tr>
  448. <tr><td class="tid">28#</td>
  449. <td class="v bad">1.15 ↓</td>
  450. <td class="v warn">56 ↑<small>仅宽 4</small></td>
  451. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  452. <td class="v"><b>2</b>/2</td>
  453. <td><b>边界台</b> → 先测预充定型</td></tr>
  454. <tr><td class="tid">21#</td>
  455. <td class="v bad">0.98 ↓</td>
  456. <td class="v warn">56 ↑<small>仅宽 4</small></td>
  457. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  458. <td class="v"><b>2</b>/2</td>
  459. <td><b>边界台</b> → 先测预充定型</td></tr>
  460. <tr><td class="tid">19#<small>19C</small></td>
  461. <td class="v bad">0.52 ↓</td>
  462. <td class="v warn">62 ↑</td>
  463. <td class="v bad">240 ↑<small>全场唯一越带</small></td>
  464. <td class="v warn">1.04 /天</td>
  465. <td class="v bad">44.8 ↑<small>全场最热</small></td>
  466. <td class="v"><b>5</b>/5</td>
  467. <td><b>混合型</b> → 先查参数/传感,同次测蓄能器</td></tr>
  468. <tr><td class="tid">25#</td>
  469. <td class="v ok">4.33 ✓</td>
  470. <td class="v bad">83 ↑</td>
  471. <td class="v na">—</td>
  472. <td class="v bad">1.46× ↑<small>正常组最高</small></td>
  473. <td class="v na">—</td>
  474. <td class="v"><b>2</b>/3</td>
  475. <td><b>泄漏型</b> → 查漏点,<b>不换蓄能器</b></td></tr>
  476. <tr><td class="tid">26#</td>
  477. <td class="v ok">正常 ✓</td>
  478. <td class="v na">—</td><td class="v na">—</td>
  479. <td class="v warn">6.0→7.7 ↑</td>
  480. <td class="v na">—</td>
  481. <td class="v"><b>1</b>/2</td>
  482. <td>泄漏型 · 在加重 → 跟踪</td></tr>
  483. <tr><td class="tid">14#</td>
  484. <td class="v ok">3.4–4.4 ✓</td>
  485. <td class="v bad">93 ↑<small>原 52</small></td>
  486. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  487. <td class="v"><b>1</b>/2</td>
  488. <td><b>参数型</b> → 查回差参数,<b>不换蓄能器</b></td></tr>
  489. <tr><td class="tid">32#<small>32E</small></td>
  490. <td class="v ok">正常 ✓</td>
  491. <td class="v bad">83 ↑<small>原 60</small></td>
  492. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  493. <td class="v"><b>1</b>/2</td>
  494. <td>参数型 · 蓄能器 2025 已换好 → 查回差参数</td></tr>
  495. <tr class="done"><td class="tid">4#</td>
  496. <td class="v ok">4.84 ✓<small>换件前 0.53</small></td>
  497. <td class="v na">换件前 81<small>换后档案未落值</small></td>
  498. <td class="v na">—</td><td class="v na">—</td><td class="v na">—</td>
  499. <td class="v">0/2</td>
  500. <td>✅ 2026-06-09 已换蓄能器 = <b>实物对照</b></td></tr>
  501. <tr class="done"><td class="tid">31#<small>31A</small></td>
  502. <td class="v ok">4.04 ✓<small>换板前 0.86</small></td>
  503. <td class="v ok">52 <sup style="color:var(--st-open)">推</sup><small>换板前 <b>20 = 过窄</b></small></td>
  504. <td class="v ok">217 <sup style="color:var(--st-open)">推</sup><small>换板前 236 · −19 阶跃</small></td>
  505. <td class="v na">—</td><td class="v na">—</td>
  506. <td class="v">0/3</td>
  507. <td>⚠ 2025-07 换主控板后恢复,但 <b>Δp 只解释 2.6×、实际 4.7× ⇒ 残差 1.81× 来自气容本身回升</b> = <b>参数 + 气容双因,对照资格已降级</b></td></tr>
  508. </tbody>
  509. </table>
  510. </div>
  511. <p style="font-size:13px;color:var(--muted);margin:10px 2px 0">
  512. <b>读表口径:</b>「—」= 该台该项档案未逐台落值,<b>不是正常,是没测/没落盘</b>;「命中 n/m」的分母只数<b>该台有值的项</b>,不拿缺测当合格。④ 泵负载率一列 3# 为泵开机占比(duty)、8#/20#/25#/26# 为泵输出量(flow),两者都归一到正常组倍数,单位已在格内注明。区间值(如 0.76–1.02)为档案给的<b>组区间</b>,该四台未逐台落值。
  513. </p>
  514. <div style="margin-top:34px;padding:13px 20px;background:var(--accent);color:var(--surface);display:flex;align-items:center;gap:12px;flex-wrap:wrap">
  515. <span style="font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.2em;opacity:.85">PARTS LIST</span>
  516. <span style="font-family:'Noto Serif SC',serif;font-weight:700;font-size:17px">备件/物资准备 —— 换什么件、物资编码是多少</span>
  517. </div>
  518. <div class="tablewrap" style="border:2px solid var(--accent);margin-top:0">
  519. <table>
  520. <caption>表 A2 · 备件/物资准备 —— 换件清单与物料编码<span class="csub">编码取自备件系统 <span class="mono">库存列表</span> sheet 的 <b>「物资编码」</b>字段(<b>非我方命名</b>);<span class="mono">出保备件</span> sheet 同类字段名为「物料号」—— <b>两列交集 19 个编码</b>(如 <span class="mono">A9B00019164</span>)且同为 A9B+8 位格式 ⇒ 同一编号体系,不同源表列名不同。描述栏为<b>原始英文原文,未改写</b>。<b>⚠ 库存列表无导出日期,为某一时刻快照 —— 下单前必须核 ERP 现存量,禁按本表采购。</b></span></caption>
  521. <thead><tr><th>件名 / 位号</th><th>物资编码<br><span style="font-weight:400;text-transform:none;letter-spacing:0">= 出保表「物料号」</span></th><th>备件系统原始描述</th><th>规格</th><th>现场库<br><span style="font-weight:400;text-transform:none;letter-spacing:0">可用</span></th><th>坏件库<br><span style="font-weight:400;text-transform:none;letter-spacing:0">不可用</span></th><th>本轮需求</th></tr></thead>
  522. <tbody>
  523. <tr class="rank1">
  524. <td class="part"><b>70 号蓄能器</b><br><span style="font-size:11.5px;color:var(--muted)">泵站近端缓冲 · 变桨泵站</span></td>
  525. <td class="mono" style="font-weight:600;color:var(--accent)">A9B10051506</td>
  526. <td class="mono" style="font-size:12px">Piston accumulator 10L 6,0<br>#变桨泵站蓄能器</td>
  527. <td class="v">10 L / 180 bar<br><small>活塞式</small></td>
  528. <td class="v bad">0</td><td class="v" style="color:var(--faint)">4<small style="color:var(--st-swap)">坏件,不可领用</small></td>
  529. <td class="v bad"><b>6 只</b><small>3#7#10#8#20#35#2#(2#为P1)</small></td>
  530. </tr>
  531. <tr>
  532. <td class="part">HS 制动蓄能器<br><span style="font-size:11.5px;color:var(--muted)">HS 制动器 · 图 pos.220</span></td>
  533. <td class="mono" style="font-weight:600;color:var(--accent)">A9B10052306<br><span style="font-size:10.5px;font-weight:400;color:var(--st-open)">归属待确认</span></td>
  534. <td class="mono" style="font-size:12px">Accumulator 6L PS250bar precharged #</td>
  535. <td class="v">6 L<small style="color:var(--st-open)">描述写 PS250bar<br>=许用压力非预充</small></td>
  536. <td class="v">1</td><td class="v na">—</td>
  537. <td class="v warn">1 只<small>18#</small></td>
  538. </tr>
  539. <tr>
  540. <td class="part">轮毂 106 蓄能器<br><span style="font-size:11.5px;color:var(--muted)">顺桨主源 · 每叶片 2 只</span></td>
  541. <td class="mono" style="font-weight:600;color:var(--accent)">A9B10073976</td>
  542. <td class="mono" style="font-size:12px">Piston accumulator 30L 125bar</td>
  543. <td class="v">6×30 L / 125 bar<br><small>每叶片 60 L</small></td>
  544. <td class="v">1</td><td class="v">1</td>
  545. <td class="v ok">0<small>现场实测 140 bar 正常</small></td>
  546. </tr>
  547. <tr>
  548. <td class="part">偏航制动蓄能器<br><span style="font-size:11.5px;color:var(--muted)">→ 归系统 03</span></td>
  549. <td class="mono" style="font-weight:600;color:var(--accent)">A9B10080525</td>
  550. <td class="mono" style="font-size:12px">Piston accumulator 6L 120BAR FSE<br>#偏航刹车蓄能</td>
  551. <td class="v">6 L / 120 bar</td>
  552. <td class="v bad">0</td><td class="v na">—</td>
  553. <td class="v na">系统 03</td>
  554. </tr>
  555. <tr>
  556. <td class="part">氮气瓶<br><span style="font-size:11.5px;color:var(--muted)">补氮与预充实测配套</span></td>
  557. <td class="mono" style="font-weight:600;color:var(--accent)">A9B00082524</td>
  558. <td class="mono" style="font-size:12px">N2 bottle 10kg</td>
  559. <td class="v">10 kg</td>
  560. <td class="v na">出保 190</td><td class="v na">—</td>
  561. <td class="v warn">按航次配</td>
  562. </tr>
  563. </tbody>
  564. </table>
  565. </div>
  566. <!-- 现场第一步 -->
  567. <div class="step">
  568. <div class="step-h"><span class="tagn">STEP 0</span><h3>登机第一步:测 N₂ 预充压力</h3></div>
  569. <div class="step-b">
  570. <p style="margin:0;font-size:14.5px;color:var(--ink-2)">这个读数同时是<strong>本判据的证伪试验</strong>。<strong>70 号的设计预充是 180 bar(铭牌)</strong>,该值已由 38 台实测总容变反算证实(见判据卡)。三个读数区间对应三个不同动作,<strong>其中第三个会直接推翻本判据</strong>。</p>
  571. <div class="three">
  572. <div class="br b1"><div class="rd">读数 ≈ 0 – 20 bar</div><div class="ac">气囊/活塞密封失效,N₂ 已排空 ⟹ <strong>换 A9B10051506</strong>。与 8# 实测签名(带宽 135 / 周期 2.6 s / 超压 98.3%)一致。</div></div>
  573. <div class="br b2"><div class="rd">读数 20 – 150 bar</div><div class="ac">漏氮但活塞完好 ⟹ <strong>补氮至 180 bar,并把实测值写进工单</strong>,3 个月后复看 V<sub>cyc</sub> 是否回到 3 L 以上。</div></div>
  574. <div class="br b3"><div class="rd">读数 ≈ 180 bar 而 V<sub>cyc</sub> 仍低</div><div class="ac"><strong>本判据被推翻。</strong>停止按本轴派工,转查泵容积效率 / 25 号卸荷阀 / 回差参数。</div></div>
  575. </div>
  576. <p style="margin:14px 0 0;font-size:13px;color:var(--muted)"><strong>为什么不再用反推:</strong>档案原用 <span class="mono">p₀ = V_cyc ÷ 0.0479</span> 反推每台应读值,该式取 V₀ = 180 L —— 那是<b>轮毂 106 的总容积</b>,而主导 V<sub>cyc</sub> 的是<b>70 号那 10 L</b>(轮毂仅按 0.095 弱耦合参与)。<b>分母取错件,整列反推值作废</b>,现改用铭牌值 180 bar 直判。</p>
  577. </div>
  578. </div>
  579. <div class="card" style="border-left:4px solid var(--st-swap)">
  580. <h3>反算每台的预期预充压力 p₀</h3>
  581. <p style="margin:0 0 10px;font-size:14.5px;color:var(--ink-2)">有了容变式,就能从每台<strong>已实测的 V<sub>cyc</sub> 与 Δp 反推它的 70 号还剩多少预充</strong>。这样现场测出来的数不是孤零零一个读数,而是<strong>与一个事先写死的预测值对照</strong> —— 对得上,判据成立;对不上,判据当场作废。</p>
  582. <div class="formula">C = (1 − 0.087) · V_cyc / Δp   ⟹   p₀ = (C − C管路 − 轮毂项) · p² / V₇₀   (p=220 bar,V₇₀=10 L)</div>
  583. <p style="margin:0 0 12px;font-size:13.5px;color:var(--ink-2)"><strong>0.087 = 每循环的泄漏与变桨消耗占比</strong>(总消耗 3.2 L/min ÷ 泵 36.8 L/min)。<strong>轮毂项</strong>在 118 单向阀闭锁后消失 —— 本页 A 类台反算时该项若保留会得负值,<strong>说明它们的轮毂确已被退出循环</strong>,这本身是个可现场检验的预测。</p>
  584. <div class="gvb">
  585. <div class="g">
  586. <div class="lab">正样本校验 · 31# 换板前</div>
  587. <div class="val">178 <span style="font-size:14px;font-weight:400">bar</span></div>
  588. <div class="exp">该台是<b>参数型</b> —— 换主控板就好了,蓄能器本来就没坏。反算出 <b>178 ≈ 设计 180</b>。<b>反算式在"蓄能器好"的台上给出正确答案。</b></div>
  589. </div>
  590. <div class="b">
  591. <div class="lab">负样本校验 · 4# 换件前 / 8#</div>
  592. <div class="val">17 / 3.7 <span style="font-size:14px;font-weight:400">bar</span></div>
  593. <div class="exp">4# 换件前 <b>17 bar</b>(换后恢复);8# <b>3.7 bar</b>,与仿真台独立标注的 <b>≈0–2 bar</b> 吻合。<b>反算式在"蓄能器坏"的台上也给出正确答案。</b></div>
  594. </div>
  595. </div>
  596. <p style="margin:14px 0 0;font-size:13px;color:var(--muted)"><strong>不确定度(必须随值引用):</strong>用健康台自校,fleet 中位口径反算得 <b>147 bar</b>、仿真标定点口径得 <b>207 bar</b>,设计值 180 落在两者之间 ⇒ <strong>本反算的带宽约 ±17%</strong>。所以表内值一律写"≈",<strong>现场判"同不同量级",不判小数点</strong>。<br><strong>两台算不了:</strong>7# / 10# 档案未落 Δp 值 —— <strong>现场这两台必须同时记录 Δp,否则回来还是算不了</strong>。</p>
  597. </div>
  598. <!-- 表 A -->
  599. <div class="tablewrap">
  600. <table>
  601. <caption>表 A3 · 执行面 —— 变桨泵站蓄能器派工表(气容丧失类)<span class="csub">A 类失效部位<b>全部为 70 号蓄能器</b>(变桨泵站近端缓冲,10 L / 180 bar)。<b>物资编码 <span class="mono">A9B10051506</span></b> — 原始描述 <span class="mono">Piston accumulator 10L 6,0 #变桨泵站蓄能器</span>。<b>派工序列:3# + 7# 同一首航次。</b></span></caption>
  602. <thead><tr><th>机组</th><th>部件</th><th>70 号预充 p₀ (bar)<br><span style="font-weight:400;text-transform:none;letter-spacing:0">反算 / 设计 / 现场实测</span></th><th>处理方案</th><th>好 vs 坏</th><th>等级</th></tr></thead>
  603. <tbody>
  604. <tr class="rank1"><td class="tid">7#<small>07F</small></td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="color:var(--st-open);font-weight:600">不可算</span><small style="color:var(--st-open)">缺 Δp,现场须同时记录</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">带件登机:测预充 → 按 STEP 0 三分支<br><span style="font-size:12.5px;color:var(--muted)">读数显著偏高时先查泵/阀,不得径直换件</span></td><td class="why">V<sub>cyc</sub> <span class="hl">9.61 → 1.80 L</span>。<strong>9.61 L 是衰减前的基线,不是现况</strong> —— 该台原本每次充压能吃进 10 L 罐容的 <strong>96%</strong>,是全场储能最好的机组之一,现在只剩 1.80 L;现周斜率全场最陡且未见底,同期油温 +3.0 K、加载次数 3→21。<strong>全场唯一仍在单调衰减的机组</strong>;衰减前该台 V<sub>cyc</sub> 15–17 L,居全场前列。</td><td><span class="pill p-swap">换件 P0</span></td></tr>
  605. <tr><td class="tid">3#<small>03E</small></td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈9</span><small>118 已闭锁支</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">带件登机:测预充 → 换<br><span style="font-size:12.5px;color:var(--muted)">五项全偏,备件必须随船</span></td><td class="why">V<sub>cyc</sub> 已到底,Δp 由 52 涨到 <span class="hl">116</span>,系统压力 214→207;油温 max 已达 <span class="hl">71 ℃ = 保护阈</span>,7102 告警 8 条。<strong>五项判别量全部越线,全场唯一</strong>。</td><td><span class="pill p-swap">换件 P0</span></td></tr>
  606. <tr><td class="tid">10#<small>10F</small></td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="color:var(--st-open);font-weight:600">不可算</span><small style="color:var(--st-open)">缺 Δp,现场须同时记录</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">带件登机:测预充 → 换</td><td class="why">2026-06-29 单周 <span class="hl">2.90 → 0.47 L</span> 阶跃下降。全场最新一起,原档案还把它列在"边界观察"。</td><td><span class="pill p-swap">换件 P0</span></td></tr>
  607. <tr><td class="tid">8#<small>08F</small></td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈4</span><small>与仿真 0–2 吻合</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">带件登机:测预充 → 换<br>+ 同次查系统压力 −13 bar</td><td class="why">V<sub>cyc</sub> <span class="hl">1.45 → 0.50 L</span>,<strong>与仿真台 8# 实测 0.50 L 精确一致</strong>;Δp 54→140,泵输出量 3.09×,超压占时 98.3%;<strong>2025-02 补过气已复发,且当时没留预充实测值</strong> —— 这次必须留。</td><td><span class="pill p-swap">换件 P0</span></td></tr>
  608. <tr><td class="tid">20#</td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈5</span><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">带件登机:测预充 → 换</td><td class="why">已到底,Δp 116–141;<strong>2025-08 充过氮已复发</strong>;曾按"油位低"补油,无效 —— 补油治不了气侧。</td><td><span class="pill p-swap">换件 P0</span></td></tr>
  609. <tr><td class="tid">35#<small>35B</small></td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈13</span><small>组值</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">带件登机:测预充 → 换</td><td class="why">气容持续衰减;<strong>2025-03 只补了气没换件,同样未留预充实测值</strong>。</td><td><span class="pill p-swap">换件 P0</span></td></tr>
  610. <tr><td class="tid">28#</td><td class="part">70 号蓄能器 <span style="font-size:11.5px;color:var(--muted)">或回差参数</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈79</span><small>中间值⇒可能仅漏氮</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act"><strong>测预充定型</strong>:偏低 → 换;正常 → 改查回差参数参数,不换件</td><td class="why">V<sub>cyc</sub> <span class="hl">1.15 L</span> 显著偏低,但 Δp 仅 <span class="hl">56</span>(比锁定值宽 4)—— 坐在图 3 的边界格里。<strong>2026 全年无任何蓄能器处置记录。</strong></td><td><span class="pill p-check">先测后定 P1</span></td></tr>
  611. <tr><td class="tid">2#<small>02E</small></td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈13</span><small>组值</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act">测预充 → 换<br><span style="font-size:12.5px;color:var(--muted)">与环网柜复电工作合并登机</span></td><td class="why">已到底,Δp 64–132。该台 2026-01~02 因环网柜击穿整机停运 55 天,月度均值受污染,<strong>以周粒度为准</strong>。</td><td><span class="pill p-swap">换件 P1</span></td></tr>
  612. <tr><td class="tid">21#</td><td class="part">70 号蓄能器 <span style="font-size:11.5px;color:var(--muted)">或回差参数</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-swap)">≈65</span><small>中间值⇒可能仅漏氮</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="border:1px dashed var(--rule-strong);border-radius:2px;padding:3px 2px;font-size:11px;color:var(--faint)">实测 ______</div></td><td class="act"><strong>测预充定型</strong>:同 28#,顺路合并做</td><td class="why">V<sub>cyc</sub> <span class="hl">0.98 L</span>,Δp <span class="hl">56</span>。同为边界台,A 类里程度最轻,无跳机征兆。</td><td><span class="pill p-check">先测后定 P2</span></td></tr>
  613. <tr><td class="tid">4#</td><td class="part">70 号蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">泵站近端缓冲 · 10 L / 180 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10051506</span></td><td class="v" style="min-width:118px"><span style="font-size:16px;font-weight:700;color:var(--st-done)">≈17</span><small>换件前反算</small><div style="border-top:1px solid var(--rule);margin:5px 0 3px;padding-top:4px;font-size:11.5px;color:var(--muted)">设计 <b style="color:var(--ink)">180</b></div><div style="font-size:11px;color:var(--st-done);font-weight:600">已换件 ✓</div></td><td class="act">不用做 —— 已闭环<br><span style="font-size:12.5px;color:var(--muted)">留作本判据的实物对照</span></td><td class="why">2026-06-09 工单「70蓄能器更换,电气滑环清洗」→ V<sub>cyc</sub> <span class="hl">0.53 → 4.39 / 6.22 / 4.29 L</span>,<strong>指标在换件当周跳回</strong>。<br><span style="color:var(--muted)">该单 loss=0 且落在 2026-06 全场迎峰度夏批量维护内(17 行 / 16 台)⇒ <b>不作"针对性处置"引用,也不据它建"站侧闭环链"</b>;V<sub>cyc</sub> 的前后跳变是独立观测,仍作正样本。</span></td><td><span class="pill p-done">已闭环</span></td></tr>
  614. </tbody>
  615. </table>
  616. </div>
  617. <!-- 表 B/C -->
  618. <div class="tablewrap">
  619. <table>
  620. <caption>B 类 · 真外漏  /  C 类 · 参数与压力工作点<span class="csub">这两类 V<sub>cyc</sub> 都正常 —— 蓄能器是好的,换它等于白换。这正是 V<sub>cyc</sub> 判据比"泵开机时长(duty)"强的地方:duty 会同时漏检和假阳。</span></caption>
  621. <thead><tr><th>机组</th><th>部件</th><th>处理方案</th><th>好 vs 坏</th><th>等级</th></tr></thead>
  622. <tbody>
  623. <tr class="rank1"><td class="tid">25#</td><td class="part">液压管路 / 泵站</td><td class="act">找漏点(泵站联轴器、管路、接头);<br><strong>同次测 70 号预充</strong></td><td class="why">V<sub>cyc</sub> 4.33 L 看似正常,但 <b>Δp 已 83(正常 52)⇒ 容变 C = 0.052 = 健康的 0.62,不是"完全正常"</b>;流量 <span class="hl">1.46× 正常组最高</span> ⇒ 主导因素在消耗侧。<b>预充若偏低,本台属漏 + 气容双因。</b></td><td><span class="pill p-check">现场核 P1</span></td></tr>
  624. <tr><td class="tid">26#</td><td class="part">液压管路</td><td class="act">同上,列跟踪;<b>下次登机顺路测预充</b></td><td class="why">V<sub>cyc</sub> 平稳而流量 <span class="hl">6.0 → 7.7 上升中</span> ⟹ 漏量在涨,尚未到派工量级。</td><td><span class="pill p-check">跟踪 P2</span></td></tr>
  625. <tr><td class="tid">19#<small>19C</small></td><td class="part">压力传感 / 泵起停参数</td><td class="act">泵起停压力表实测对拍 SCADA;<br>同次催 OEM 要 UP07230-51 参数表</td><td class="why">HydPress <span class="hl">240 bar = 全场唯一越出 213–216 带</span>;液压油温 <span class="hl">44.8 ℃ 全场最热</span>;19 个月恒定不动。三选一:传感偏 / 参数错 / 调节故障 —— 一次实测即可确定。</td><td><span class="pill p-check">现场核 P1</span></td></tr>
  626. <tr><td class="tid">14#</td><td class="part">泵起停回差参数</td><td class="act">查回差参数参数,不动蓄能器</td><td class="why">压差 <span class="hl">52 → 93</span> 变宽,但 V<sub>cyc</sub> <span class="hl">3.4–4.4 L 正常</span> ⟹ 是压力带宽度问题,不是气容。同型对照:31A 换主控板后 V<sub>cyc</sub> 由 0.86 回到 4.04 L。</td><td><span class="pill p-check">现场核 P2</span></td></tr>
  627. <tr><td class="tid">32#<small>32E</small></td><td class="part">泵起停回差参数</td><td class="act">同上</td><td class="why">压差 <span class="hl">60 → 83</span>。该台蓄能器失氮已于 2025 处置并恢复(V<sub>cyc</sub> 0.51→4.29 L),本次压差变宽属<strong>参数侧新问题</strong>,别当旧病复发。</td><td><span class="pill p-check">现场核 P2</span></td></tr>
  628. </tbody>
  629. </table>
  630. </div>
  631. <!-- D 类分析卡 -->
  632. <div class="card">
  633. <h3>高速轴制动侧的判据(不沿用 V<sub>cyc</sub>/Δp)</h3>
  634. <p style="margin:0 0 10px;font-size:14.5px;color:var(--ink-2)">前面变桨泵站那两个判别量,<strong>在这一侧没有分辨力</strong>:<span class="mono">BrAccPrs</span> 在 10 min 层<strong>全场窗内压差恒为 0.0</strong> —— 该压力在 10 分钟尺度上根本不波动(制动器不像变桨那样连续动作)。所以本侧判据换成两条:<strong>①蓄能器侧看<strong>月中位压力缓升</strong>(蓄能器氮气侧失压后,油侧常压逐月抬高)· ②摩擦副侧看刹车片厚度与制动动作时间</strong>。</p>
  635. <div class="gvb">
  636. <div class="g">
  637. <div class="lab">回路本体 · 设计与实测对得上</div>
  638. <div class="val">44%</div>
  639. <div class="exp">制动只用到额定压力的 44%;常压 63 bar 相对 N₂ 预充 50 bar 属合理浮充;施压极值 91 ≈ 安全阀整定 90(pos.210);紧急泄压实测 32–35 s vs 设计 30 s(UP07104/05)。<strong>回路本身无异常</strong>。</div>
  640. </div>
  641. <div class="b">
  642. <div class="lab">压力缓升判据 · 健康基线</div>
  643. <div class="val">66 <span style="font-size:14px;font-weight:400">bar</span></div>
  644. <div class="exp">风场整体基线 = 722 个台·月的 95 百分位 <b>66 bar</b>。全场有 28 个台·月 >66,分布在 14 台;10#/34# 多月徘徊 67–69 却无 9309 告警。<b>最可能失效的是 18 号</b>(极差 16 bar)。</div>
  645. </div>
  646. </div>
  647. <p style="margin:16px 0 8px;font-size:14.5px;color:var(--ink-2)"><strong>检测面盘点 —— 这一侧的眼睛是缺的,结论强度受限于此:</strong></p>
  648. <div class="three">
  649. <div class="br b1"><div class="rd">刹车片厚度</div><div class="ac"><strong>无任何连续量</strong>。SB540 设计:磨损限 7 mm、更换限 14 mm、检查周期 80–100 工作日 —— <strong>但现场厚度数据一个都没有</strong>,只能靠开关量与人工。</div></div>
  650. <div class="br b2"><div class="rd">9111 = 刹车片间隙报警</div><div class="ac"><b>码义</b>(两源一致):手册 SWT-4.0-130 作「警告—刹车片间隙报警」,首条处置 = 刹车片测厚/更换;SCADA 原文作「警告,制动衬片磨损」。<br><b>不是 <span class="mono">din_BrakLin1</span> 那一路</b>:49 条告警窗内该开关量 <b>timeon 全为 600 s、零断开</b>。它只在 4 次检修拆装时断开过。<br><b>49 条逐台归属:</b><br>· <b>38#</b> 41 条 —— <b>真</b>。跨 8.5 个月递增,2026-02-02 处置后至数据末<b>五个月零条</b>(开关量 21617 窗全在线;同期该台其他码 319 条 ⇒ 机组在跑)。<br>· <b>20#</b> 4 条 —— 换高速轴<b>复装后第 3 天</b>起,4 天后止,此后 15 个月零条 ⇒ 间隙未复位。<br>· <b>24# / 26#</b> 各 2 条 —— 落在 <b>IO 模块断电 / CAN 通讯 / 全场停断电</b>事件内(见派工表末两行)。<br><b>⇒ 告警数据未显示在发的刹车片磨损事件。</b>严格讲这只是"没有一台在发 9111",不等于"没有一台磨损" —— 刹车片厚度全场无连续量,<b>物理状态须现场实测确认</b>。</div></div>
  651. <div class="br b3"><div class="rd">压力不上画面</div><div class="ac"><span class="mono">BrakPres</span> / <span class="mono">BrAccPrs</span> <strong>未进 1 min 转发层与集控画面</strong>,本侧全部判据只能后台跑,值班看不到。手刹(10 L)、盘车、吊机、舱盖站更是<strong>全无 SCADA 测点</strong>。</div></div>
  652. </div>
  653. <p style="margin:16px 0 0;font-size:14.5px;color:var(--ink-2)"><strong>刹车片是否已进损耗期 —— 需要关注:</strong>全库刹车片更换仅 <strong>1 件次 / 5.5 年</strong>(27# 2021);硬故障级告警 <span class="mono">9101「高速轴刹车片间隙太小」</span><strong>全窗 0 条</strong>(<span class="mono">9110 / 9112</span> 亦为 0);设计只用额定压力 44%。三条一致指向"尚未进入",<strong>但都不是厚度实测,且 9111 手册语义首条即刹车片磨损 ⇒ 不可据此判无</strong> —— 一次测厚(24# / 26# / 20#)可同时关闭"9111 触发源"与"是否进损耗期"两个开口。</p>
  654. </div>
  655. <!-- 表 D -->
  656. <div class="tablewrap">
  657. <table>
  658. <caption>D 类 · HS 制动器(HS brake,6 L / N₂ 预充 50 bar 独立蓄能器)<span class="csub">制动蓄能器与变桨泵站蓄能器非同一部件。本侧判据 = <strong>蓄能器压力缓升</strong>(氮气侧失压 ⇒ 油侧常压逐月抬高)+ 制动动作时间。<b>术语更正:</b>档案与集控画面沿用"主轴刹车",但 22# 齿轮箱高速轴更换工单原文写<b>「完成齿轮箱高速轴大盘和刹车安装」</b>,且 20#/22#/28# 三台的刹车片开关量断开窗与各自的<b>高速轴更换工单精确重合</b> ⇒ 制动盘位于<b>齿轮箱高速轴侧</b>,非低速主轴。</span></caption>
  659. <thead><tr><th>机组</th><th>部件</th><th>处理方案</th><th>好 vs 坏</th><th>等级</th></tr></thead>
  660. <tbody>
  661. <tr class="rank1"><td class="tid">18#<small>18B</small></td><td class="part">HS 制动蓄能器<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">图 pos.220 · 6 L / N₂ 预充 50 bar</span><br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10052306</span></td><td class="act">补做:泄压 <strong>+ 氮压检测 / 更换蓄能器</strong></td><td class="why">BrAccPrs 极差 <span class="hl">16 bar</span>,是全场唯一越出健康基线的台(风场整体基线 66 bar),<b>本侧最可能失效者</b>。</td><td><span class="pill p-swap">换件 P1</span></td></tr>
  662. <tr class="rank1"><td class="tid">24#<small>24C</small></td><td class="part">制动信号 CAN 链路 / IO2 模块<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">刹车片测厚只作顺带</span></td><td class="act"><b>先查 CAN 总线与 IO2 模块</b>(手册对 <span class="mono">9113</span> 的处置项就是 IO2);<br>塔底交换机一并查;刹车片测厚合批顺带做</td><td class="why"><span class="mono">9100「超出制动时间」</span>全场只有这一台(3 条 / 11.3 h),两次发作的秒级次序是:<br><b>2026-03-24</b> 23:00:06 <span class="mono">9113</span> CAN制动信号错 → 23:00:0<b>7</b> <span class="mono">63302/63303/63306/63307</span> <b>检测到 IO 模块 1/2/5/6 断电</b> → 23:00:30 <span class="mono">9100</span><br><b>2026-03-30</b> 16:50:27 <span class="mono">9113</span> → 16:50:2<b>8</b> <span class="mono">63302–63308</span> <b>IO 模块 1–7 全部断电</b> → 16:50:52 <span class="mono">9100</span><br><b>⇒ 不是推断,是机组自己报的:IO 模块断电 → 制动信号丢失 → 判定制动超时。</b><br><span style="color:var(--muted)">口径边界:机械制动侧未实测。IO 全断电时反馈本就读不回来,9100 必然触发;要彻底排除"制动确实变慢",需在下次登机时实测一次制动时间。</span><br>另 2026-05-21 22:24 该台 <span class="mono">9111</span> 与 <b>驱动通讯 / 塔振传感器 / 超声波风速计</b> 三个互不相干的部件<b>在 11 秒内齐发</b> —— 四个部件同时坏不可能,是采集侧共模。</td><td><span class="pill p-check">现场核 P1</span></td></tr>
  663. <tr><td class="tid">9#<small>09F</small></td><td class="part">HS 制动蓄能器<br><span class="mono" style="font-size:12px;color:var(--accent);font-weight:600">A9B10052306</span></td><td class="act">不派工 —— 转月度跟踪<br><span style="font-size:12.5px;color:var(--muted)">双条件闸触发即升候选并派工</span></td><td class="why">月<b>中位数(50 百分位)</b>现值 66 bar,但极差仅 <span class="hl">4 bar</span> 且从未越风场整体基线;同一时间窗内 10#/26#/24# 极差 6–7 bar 更大而无 9309 告警。<br><b>下次数据分析需注意 —— 按双条件闸复核该台是否已转为连续上行。</b></td><td><span class="pill p-done">跟踪</span></td></tr>
  664. <tr><td class="tid">26#</td><td class="part">CAN 总线集线器模块<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">刹车片测厚只作顺带</span></td><td class="act">随 24# 同批查 CAN 侧;刹车片测厚顺带</td><td class="why"><span class="mono">9111</span>×2(1.6 h),两条各有归属:<br><b>2026-04-12 13:14:55</b> 起 → <b>当日 13:50 工单「CAN总线集线器模块通信故障」</b>(该台 04-08 亦有同名工单,处置含更换滑环)。该台通讯类工单全窗只覆盖 <b>5 天 / 536 天</b>,同日命中概率约 1% ⇒ 巧合可排除。<br><b>2026-05-25 23:23</b> 起 → 落在<b>全场停断电事件</b>内(23:00–01:00 全场 <b>687 条 / 37 台</b>:变频器跳闸 74 条/36 台、<span class="mono">63003</span> 停断电 8 台、UPS 旁路错误 21 条)。<br><b>⇒ 两条都不是刹车片。</b>另有 <span class="mono">9303</span>×6。</td><td><span class="pill p-check">顺路 P2</span></td></tr>
  665. <tr class="rank1"><td class="tid">1# 11# 17#<br>24# 36#</td><td class="part">IO 模块供电 / CAN 主干<br><span style="font-size:11.5px;font-weight:400;color:var(--muted)">模块 1–7 + 集线器 + GS1</span></td><td class="act"><b>查 IO 机架供电与 CAN 主干</b>(不是换单个模块):端子紧固、24 V 供电、屏蔽接地、集线器;<br>1# 为首(单次 66.1 h),11# 次之(单次 145.7 h)</td><td class="why"><b>★ 本册新列 —— 此前按告警时长排序时被埋没。</b><br><span class="mono">63302–63308「检测到 IO 模块 1–7 断电」</span>全窗 <b>51 条 / 723 h / 5 台</b>:1#(18 条 / 462.4 h,2026-04-22 七模块全掉)· 11#(10 / 147.7)· 17#(9 / 66.6,2026-05-21 七模块全掉,同秒并发紧停开关故障、机舱紧急接触故障、CAN IO-1~7 全线通讯错误)· 24#(11 / 45.4)· 36#(3 / 1.0)。<br><b>判别力来自子集关系:</b><span class="mono">9113「CAN总线错误的制动信号」</span>的 4 台 {1, 11, 17, 24} <b>全部落在这 5 台里</b>。⇒ 9113 不是制动系统故障,是 IO 断电的下游;按制动侧派工会派错部件。<br>一次 IO 断电会同时点亮制动、紧停、传感器、通讯多个不相干的码 —— <b>这些码不可各自单独归因</b>。<br><b>若公共供电与总线排查无果:</b>对故障最集中的 1#(18 条 / 462.4 h)做模块级硬件排查或替换测试。<br><span style="color:var(--muted)">外推限定:秒级因果次序只在 24# 展示过;其余四台是"落在同一码集合"的交集证据 ⇒ <b>24# 成立,其余按同族先查、不预设同因</b>。</span></td><td><span class="pill p-swap">P0 现场核</span></td></tr>
  666. </tbody>
  667. </table>
  668. </div>
  669. <!-- 表 E -->
  670. <div class="tablewrap">
  671. <table>
  672. <caption>E 类 · 逻辑与管理 —— 零备件,杠杆最大<span class="csub">四条均为参数/流程改动,零备件。其中油位保护逻辑一条的现存暴露量 = <b>202.8 MWh</b>(2026H1 油位类工单损失),是本系统单项最大。</span></caption>
  673. <thead><tr><th>对象</th><th>部件 / 面</th><th>处理方案</th><th>好 vs 坏</th><th>等级</th></tr></thead>
  674. <tbody>
  675. <tr class="rank1"><td class="tid">全场<small>油位类</small></td><td class="part">液压油位问题</td><td class="act">间歇型加"连续 ≥2 个 10 min 窗才停机"判据,或开远程复位授权;持续型按漏点排查</td><td class="why">现状 <span class="hl">0.5 h 的故障换来 110 h 停机</span>(18# 型),停机时长 ÷ 开关断开时长 = <span class="hl">217 倍</span>。</td><td><span class="pill p-check">参数 P0</span></td></tr>
  676. <tr><td class="tid">全场<small>季节性</small></td><td class="part">液压油加注量标定</td><td class="act">换油/补油<strong>按液压油温工况加注</strong>,以冬季低油温为标定点定加注量并记录标定值;每年 10 月全场油位复核入例行</td><td class="why">冬季集中跳闸:<span class="hl">2025-12 十一台 / 2026-01 十台</span> —— 是季节性标定问题,不是随机故障。<strong>验收判据:</strong>下一冬季跳闸台数 ≤4。</td><td><span class="pill p-check">流程 P0</span></td></tr>
  677. <tr><td class="tid">25# 27#<small>+偏航侧 1 例</small></td><td class="part">泵组弹性联轴器缓冲垫</td><td class="act">4 年定检随换;全场备件</td><td class="why">两年两例(25# 2024-12 / 27# 2025-03)+ 偏航侧第三例。单价低、停机代价高;历史消耗 3 件次 / 5 年。</td><td><span class="pill p-swap">预防性换件 P1</span></td></tr>
  678. <tr><td class="tid">全场<small>监控面</small></td><td class="part">集控画面与列名</td><td class="act">① 把"齿轮箱刹车压力"列改名(<strong>实为齿轮箱侧刹车盘温度 ℃</strong>)② BrakPres / BrAccPrs 补进 1 min 转发层与集控画面 ③ din_* 极性(常闭)在画面上标注</td><td class="why">现在集控<strong>看不到刹车的两个压力</strong>,上面 D 类全部判据只能靠后台跑。列名错标会直接误导值班判断;din 按"1=报警"读会得出"全场 99.9% 时间在报警"的反向结论。</td><td><span class="pill p-check">监控 P2</span></td></tr>
  679. </tbody>
  680. </table>
  681. </div>
  682. </section>
  683. <div class="foot">
  684. <p><strong>数据时效:</strong>cnt 计数层止 2026-07-07 · 事件层止 2026-07-13 · 油样止 2025-08(约 12 个月前,只作历史回测不作现时判据)。</p>
  685. </div>
  686. </div>
  687. <div id="tip" role="status"></div><script>
  688. (function(){
  689. const NS='http://www.w3.org/2000/svg';
  690. const cs=getComputedStyle(document.documentElement);
  691. const c=n=>cs.getPropertyValue(n).trim();
  692. const COL={swap:c('--st-swap'),check:c('--st-check'),done:c('--st-done'),open:c('--st-open')};
  693. const el=(n,a)=>{const e=document.createElementNS(NS,n);for(const k in a)e.setAttribute(k,a[k]);return e;};
  694. const tip=document.getElementById('tip');
  695. const show=(e,h)=>{tip.innerHTML=h;tip.style.opacity=1;const r=tip.getBoundingClientRect();
  696. tip.style.left=Math.min(e.clientX+14,innerWidth-r.width-10)+'px';
  697. tip.style.top=Math.max(e.clientY-r.height-10,8)+'px';};
  698. const hide=()=>{tip.style.opacity=0;};
  699. function wire(g,html){
  700. g.addEventListener('mousemove',e=>show(e,html));
  701. g.addEventListener('mouseleave',hide);
  702. g.addEventListener('focus',()=>{const r=g.getBoundingClientRect();show({clientX:r.right,clientY:r.top+r.height},html);});
  703. g.addEventListener('blur',hide);
  704. }
  705. /* ───────── 通用横向点阵 ───────── */
  706. function dotplot(o){
  707. const svg=document.getElementById(o.id); if(!svg) return;
  708. const W=+svg.getAttribute('width'),H=+svg.getAttribute('height');
  709. const L=o.L,R=40,T=34,B=52, iw=W-L-R, ih=H-T-B;
  710. const x=v=>L+((v-o.min)/(o.max-o.min))*iw;
  711. if(o.band){
  712. svg.appendChild(el('rect',{x:x(o.band[0]),y:T-8,width:x(o.band[1])-x(o.band[0]),height:ih+14,fill:c('--band')}));
  713. }
  714. if(o.lock!==undefined){
  715. svg.appendChild(el('rect',{x:x(o.lock)-9,y:T-8,width:18,height:ih+14,fill:c('--band')}));
  716. svg.appendChild(el('line',{x1:x(o.lock),y1:T-8,x2:x(o.lock),y2:T+ih+6,stroke:c('--st-done'),'stroke-width':2}));
  717. }
  718. if(o.cap!==undefined){
  719. svg.appendChild(el('rect',{x:x(o.cap),y:T-8,width:Math.max(0,x(o.max)-x(o.cap)),height:ih+14,fill:c('--st-swap'),opacity:.07}));
  720. svg.appendChild(el('line',{x1:x(o.cap),y1:T-8,x2:x(o.cap),y2:T+ih+6,stroke:c('--st-swap'),'stroke-width':2}));
  721. const cl=el('text',{x:x(o.cap)-6,y:T+ih-4,'text-anchor':'end',fill:c('--st-swap'),'font-size':10.5,'font-weight':700});
  722. cl.textContent='70 号罐容 10 L · 物理上限'; svg.appendChild(cl);
  723. }
  724. if(o.med!==undefined){
  725. svg.appendChild(el('line',{x1:x(o.med),y1:T-8,x2:x(o.med),y2:T+ih+6,stroke:c('--rule-strong'),'stroke-width':1,'stroke-dasharray':'3 3'}));
  726. }
  727. const bl=el('text',{x:o.bandLabelX!==undefined?x(o.bandLabelX):x((o.band?(o.band[0]+o.band[1])/2:o.lock)),y:T-14,'text-anchor':'middle',fill:c('--muted'),'font-size':11.5,'font-family':'IBM Plex Mono, monospace'});
  728. bl.textContent=o.bandLabel; svg.appendChild(bl);
  729. for(let v=o.min;v<=o.max;v+=o.step){
  730. svg.appendChild(el('line',{x1:x(v),y1:T-8,x2:x(v),y2:T+ih+6,stroke:c('--rule'),'stroke-width':v===o.min?1.5:0.75}));
  731. const tk=el('text',{x:x(v),y:T+ih+26,'text-anchor':'middle',fill:c('--muted'),'font-size':11.5,'font-family':'IBM Plex Mono, monospace'});
  732. tk.textContent=v; svg.appendChild(tk);
  733. }
  734. const ax=el('text',{x:L+iw/2,y:T+ih+46,'text-anchor':'middle',fill:c('--muted'),'font-size':12});
  735. ax.textContent=o.axis; svg.appendChild(ax);
  736. const rh=ih/o.rows.length;
  737. o.rows.forEach((d,i)=>{
  738. const y=T+rh*i+rh/2, cc=COL[d.st];
  739. const lb=el('text',{x:L-14,y:y+4,'text-anchor':'end',fill:c('--ink'),'font-size':13,'font-weight':600,'font-family':'IBM Plex Mono, monospace'});
  740. lb.textContent=d.t; svg.appendChild(lb);
  741. const g=el('g',{tabindex:0,role:'img'}); let vt;
  742. if(d.lo!==undefined){
  743. g.appendChild(el('line',{x1:x(d.lo),y1:y,x2:x(d.hi),y2:y,stroke:cc,'stroke-width':7}));
  744. g.appendChild(el('line',{x1:x(d.lo),y1:y-9,x2:x(d.lo),y2:y+9,stroke:cc,'stroke-width':2}));
  745. g.appendChild(el('line',{x1:x(d.hi),y1:y-9,x2:x(d.hi),y2:y+9,stroke:cc,'stroke-width':2}));
  746. vt=d.lo+'–'+d.hi;
  747. }else{
  748. if(d.from!==undefined){
  749. const x1=x(d.from),x2=x(d.v),dir=d.v>d.from?1:-1;
  750. g.appendChild(el('line',{x1:x1,y1:y,x2:x2-dir*11,y2:y,stroke:cc,'stroke-width':1.5,opacity:.5}));
  751. g.appendChild(el('circle',{cx:x1,cy:y,r:4,fill:'none',stroke:cc,'stroke-width':1.5,opacity:.6}));
  752. g.appendChild(el('path',{d:'M '+(x2-dir*11)+' '+(y-4.5)+' L '+(x2-dir*3)+' '+y+' L '+(x2-dir*11)+' '+(y+4.5)+' Z',fill:cc,opacity:.65}));
  753. const ft=el('text',{x:x1,y:y+(o.fromDy||-11),'text-anchor':'middle',fill:c('--muted'),'font-size':10.5,'font-family':'IBM Plex Mono, monospace'});
  754. ft.textContent=d.from; g.appendChild(ft);
  755. }
  756. g.appendChild(el('circle',{cx:x(d.v),cy:y,r:7.5,fill:cc,stroke:c('--surface'),'stroke-width':2}));
  757. vt=String(d.v);
  758. }
  759. const vx=(d.lo!==undefined?x(d.hi):x(d.v))+15;
  760. const tx=el('text',{x:vx,y:y+4.5,fill:c('--ink'),'font-size':12.5,'font-weight':600,'font-family':'IBM Plex Mono, monospace'});
  761. tx.textContent=vt+(o.unit||''); g.appendChild(tx);
  762. const html='<b>'+d.t+'</b><br>'+o.qty+' = '+vt+' '+(o.unitFull||'')+'<br>'+d.note;
  763. wire(g,html);
  764. const ttl=el('title'); ttl.textContent=d.t+' · '+vt+' · '+d.note; g.appendChild(ttl);
  765. svg.appendChild(g);
  766. });
  767. }
  768. /* 图 1 · V_cyc */
  769. dotplot({id:'vcyc',L:152,min:0,max:11,step:1,band:[3.07,7.18],med:4.39,cap:10,
  770. bandLabel:'健康带 3.1–7.2 (中位 4.4 · 仿真标定 4.9)',bandLabelX:5.1,
  771. axis:'泵单次加载输出量 V_cyc (升 / 次) —— 上限 = 70 号罐容 10 L',qty:'V_cyc',unit:'',unitFull:'L/次',
  772. rows:[
  773. {t:'7#',v:1.80,from:9.61,st:'swap',note:'换前 9.61 L = 70 号罐容的 96%,全场最好之一;现单调衰减且未见底(原 15.67→2.93 秒)'},
  774. {t:'10#',v:0.47,from:2.90,st:'swap',note:'2026-06-29 单周阶跃下降,全场最新一起(原 4.73→0.76 秒)'},
  775. {t:'3# 20# 2# 35#',lo:0.47,hi:0.63,st:'swap',note:'四台已到底 · 档案只给组区间(原 0.76–1.02 秒),未逐台落值'},
  776. {t:'8#',v:0.50,from:1.45,st:'swap',note:'与仿真台 8# 实测 0.50 L 精确一致;2025-02 补过气已复发'},
  777. {t:'21#',v:0.98,st:'swap',note:'边界台 · Δp 仅宽 4 bar,先测 70 号预充定型'},
  778. {t:'28#',v:1.15,st:'swap',note:'边界台 · 同 21#'},
  779. {t:'19#',v:0.52,st:'check',note:'系统压力 240 bar 全场唯一越带 ⟹ 混合型,先查参数'},
  780. {t:'25#',v:4.33,st:'check',note:'蓄能器正常;泵输出量 1.46× ⟹ 真外漏,别换蓄能器'},
  781. {t:'4#',v:4.84,from:0.53,st:'done',note:'2026-06-09 换 70 号蓄能器后恢复 = 已验证正样本'}
  782. ]});
  783. /* 图 2 · 启停压差 Δp */
  784. dotplot({id:'band',L:152,min:0,max:150,step:25,lock:52,fromDy:17,
  785. bandLabel:'设计锁定值 52 bar (30 台恰好同值)',
  786. axis:'泵启停压差 Δp (bar) —— 压力要掉多深,泵才够打满一轮',qty:'启停压差 Δp',unit:'',unitFull:'bar',
  787. rows:[
  788. {t:'正常 30 台',v:52,st:'done',note:'恰好都是 52.0,这是设计锁定值,不是巧合'},
  789. {t:'8#',v:140,from:54,st:'swap',note:'涨 2.6 倍;V_cyc 同时塌到 0.82 ⟹ 两条独立证据同指蓄能器'},
  790. {t:'20#',lo:116,hi:141,st:'swap',note:'组区间;充氮已复发'},
  791. {t:'3#',v:116,from:52,st:'swap',note:'涨 2.2 倍;同时系统压力掉到 207、油温到 71℃ 保护阈'},
  792. {t:'2# 35#',lo:64,hi:132,st:'swap',note:'组区间;两台 V_cyc 均已到底'},
  793. {t:'14#',v:93,from:52,st:'check',note:'Δp 宽但 V_cyc 正常(5.5–7.1) ⟹ 回差参数,不是蓄能器'},
  794. {t:'25#',v:83,st:'check',note:'Δp 宽是外漏的结果(压力掉得深),不是参数问题'},
  795. {t:'32#',v:83,from:60,st:'check',note:'蓄能器 2025 已换好;这次是参数侧新问题'},
  796. {t:'19#',v:62,st:'check',note:'只轻微变宽,而系统压力 240 严重越带 ⟹ 混合型'},
  797. {t:'21# 28#',lo:56,hi:56,st:'swap',note:'仅宽 4 bar 却 V_cyc 塌 ⟹ 边界台,现场测预充定型'},
  798. {t:'31#',v:20,st:'done',note:'方向相反:比锁定值还窄 = Δp过窄。换主控板后 V_cyc 由 1.4 回到 6.58'}
  799. ]});
  800. /* 图 3 · 二维分型 */
  801. (function(){
  802. const svg=document.getElementById('quad'); if(!svg) return;
  803. const W=1000,H=470,L=86,R=200,T=30,B=56,iw=W-L-R,ih=H-T-B;
  804. const XMIN=0,XMAX=150,YMIN=0,YMAX=8;
  805. const x=v=>L+((v-XMIN)/(XMAX-XMIN))*iw, y=v=>T+ih-((v-YMIN)/(YMAX-YMIN))*ih;
  806. const XD=52, YD=3.07;
  807. // 象限底色: 只有右下角是"要换"
  808. svg.appendChild(el('rect',{x:x(XD),y:y(YD),width:x(XMAX)-x(XD),height:y(YMIN)-y(YD),fill:c('--st-swap-bg')}));
  809. svg.appendChild(el('rect',{x:x(XMIN),y:T,width:x(XD)-x(XMIN),height:y(YD)-T,fill:c('--st-done-bg')}));
  810. for(let v=0;v<=150;v+=25){
  811. svg.appendChild(el('line',{x1:x(v),y1:T,x2:x(v),y2:T+ih,stroke:c('--rule'),'stroke-width':.75}));
  812. const t=el('text',{x:x(v),y:T+ih+22,'text-anchor':'middle',fill:c('--muted'),'font-size':11.5,'font-family':'IBM Plex Mono, monospace'});t.textContent=v;svg.appendChild(t);
  813. }
  814. for(let v=0;v<=8;v+=2){
  815. svg.appendChild(el('line',{x1:L,y1:y(v),x2:L+iw,y2:y(v),stroke:c('--rule'),'stroke-width':.75}));
  816. const t=el('text',{x:L-10,y:y(v)+4,'text-anchor':'end',fill:c('--muted'),'font-size':11.5,'font-family':'IBM Plex Mono, monospace'});t.textContent=v;svg.appendChild(t);
  817. }
  818. // 分界线
  819. svg.appendChild(el('line',{x1:x(XD),y1:T,x2:x(XD),y2:T+ih,stroke:c('--ink'),'stroke-width':1.5,'stroke-dasharray':'5 4'}));
  820. svg.appendChild(el('line',{x1:L,y1:y(YD),x2:L+iw,y2:y(YD),stroke:c('--ink'),'stroke-width':1.5,'stroke-dasharray':'5 4'}));
  821. const ax=el('text',{x:L+iw/2,y:T+ih+44,'text-anchor':'middle',fill:c('--muted'),'font-size':12});
  822. ax.textContent='泵启停压差 Δp (bar) → 越往右,压力掉得越深'; svg.appendChild(ax);
  823. const ay=el('text',{x:18,y:T+ih/2,'text-anchor':'middle',fill:c('--muted'),'font-size':12,transform:'rotate(-90 18 '+(T+ih/2)+')'});
  824. ay.textContent='V_cyc (L/次) → 越往下,越存不进油'; svg.appendChild(ay);
  825. function qlab(px,py,txt,sub,col,anchor){
  826. const a=el('text',{x:px,y:py,'text-anchor':anchor||'start',fill:col,'font-size':13,'font-weight':700});
  827. a.textContent=txt; svg.appendChild(a);
  828. const b=el('text',{x:px,y:py+18,'text-anchor':anchor||'start',fill:c('--muted'),'font-size':11.5});
  829. b.textContent=sub; svg.appendChild(b);
  830. }
  831. qlab(x(XMAX)-8,y(2.3),'右下 = 换 70 号蓄能器','黄点为边界台,先测预充定型',COL.swap,'end');
  832. qlab(x(XMIN)+8,T+18,'左上 = 正常(30 台)','Δp 锁定 52,进油量满',COL.done);
  833. qlab(x(XMAX)-8,T+18,'右上 = 不换蓄能器','Δp 宽但油存得进 ⟹ 漏油或参数',COL.check,'end');
  834. qlab(x(XMIN)+8,y(2.3),'左下 = Δp 过窄','参数侧',COL.open);
  835. const pts=[
  836. {t:'正常 30 台',bx:52,vy:4.39,st:'done',note:'Δp 锁定 52,V_cyc 中位 4.4 L',big:true},
  837. {t:'8#',bx:140,vy:0.50,st:'swap',note:'Δp 140 · V_cyc 0.82 ⟹ 气容丧失'},
  838. {t:'20#',bx:128,vy:0.48,st:'swap',note:'Δp 116–141 · V_cyc 0.76–0.82(组区间中点)'},
  839. {t:'3#',bx:116,vy:0.55,st:'swap',note:'Δp 116 · 五项全偏'},
  840. {t:'2# 35#',bx:98,vy:0.55,st:'swap',note:'Δp 64–132 · V_cyc 0.76–1.02(组区间中点)'},
  841. {t:'19#',bx:62,vy:0.52,st:'check',note:'落在气容侧,但系统压力 240 严重越带 ⟹ 档案判混合型'},
  842. {t:'21# 28#',bx:56,vy:1.07,st:'check',note:'两台Δp 均 56(仅宽 4)· V_cyc 1.59 / 1.88 ⟹ 边界台,现场测预充定型'},
  843. {t:'14#',bx:93,vy:3.86,st:'check',note:'Δp 93 而 V_cyc 5.5–7.1 正常 ⟹ 参数,不换件'},
  844. {t:'32#',bx:83,vy:4.29,ldy:15,st:'check',note:'参数型:Δp 83,蓄能器 2025 已换好'},
  845. {t:'25#',bx:83,vy:4.33,ldy:-9,st:'check',note:'泄漏型:蓄能器好(V_cyc 7.06),Δp 宽是掉压深的结果'},
  846. {t:'31#',bx:20,vy:0.86,st:'open',note:'换主控板前:Δp过窄 ⟹ 参数型实物对照'},
  847. {t:'4#',bx:52,vy:4.84,st:'done',note:'换蓄能器后已回位 = 气容型实物对照'}
  848. ];
  849. /* ── 右侧专列:Δp 未落值的台也必须出现在决策图上 ── */
  850. const LX=858;
  851. svg.appendChild(el('line',{x1:818,y1:T,x2:818,y2:T+ih,stroke:c('--rule-strong'),'stroke-width':1,'stroke-dasharray':'2 5'}));
  852. svg.appendChild(el('rect',{x:826,y:T,width:66,height:ih,fill:c('--st-swap-bg'),opacity:.55}));
  853. const nl1=el('text',{x:LX,y:T+16,'text-anchor':'middle',fill:c('--st-swap'),'font-size':12,'font-weight':700});
  854. nl1.textContent='Δp 未落值'; svg.appendChild(nl1);
  855. const nl2=el('text',{x:LX,y:T+32,'text-anchor':'middle',fill:c('--muted'),'font-size':10.5});
  856. nl2.textContent='横坐标无处安放'; svg.appendChild(nl2);
  857. const nl3=el('text',{x:LX,y:T+ih+22,'text-anchor':'middle',fill:c('--muted'),'font-size':10.5});
  858. nl3.textContent='(未测≠正常)'; svg.appendChild(nl3);
  859. [{t:'7#',vy:1.80,note:'V_cyc 15.67→2.93,周斜率 −2.44 L/周全场最陡且未见底。档案未落Δp 值 ⟹ 它的换件依据是衰减速率(图 1),不是本图'},
  860. {t:'10#',vy:0.47,note:'2026-06-29 单周 4.73→0.76 断崖。档案未落Δp 值'}].forEach(d=>{
  861. const g=el('g',{tabindex:0,role:'img'});
  862. g.appendChild(el('circle',{cx:LX,cy:y(d.vy),r:7,fill:'none',stroke:COL.swap,'stroke-width':2.5,'stroke-dasharray':'3 2.5'}));
  863. const t=el('text',{x:LX,y:y(d.vy)+26,'text-anchor':'middle',fill:COL.swap,'font-size':12,'font-weight':700,'font-family':'IBM Plex Mono, monospace'});
  864. t.textContent=d.t; g.appendChild(t);
  865. wire(g,'<b>'+d.t+'</b><br>'+d.note);
  866. const ttl=el('title'); ttl.textContent=d.t+' · '+d.note; g.appendChild(ttl);
  867. svg.appendChild(g);
  868. });
  869. pts.forEach(d=>{
  870. const g=el('g',{tabindex:0,role:'img'}),cc=COL[d.st];
  871. g.appendChild(el('circle',{cx:x(d.bx),cy:y(d.vy),r:d.big?11:7,fill:cc,stroke:c('--surface'),'stroke-width':2,opacity:d.big?.55:1}));
  872. const t=el('text',{x:x(d.bx)+(d.big?15:11),y:y(d.vy)+4+(d.ldy||0),fill:c('--ink'),'font-size':12,'font-weight':600,'font-family':'IBM Plex Mono, monospace'});
  873. t.textContent=d.t; g.appendChild(t);
  874. wire(g,'<b>'+d.t+'</b><br>'+d.note);
  875. const ttl=el('title');ttl.textContent=d.t+' · '+d.note;g.appendChild(ttl);
  876. svg.appendChild(g);
  877. });
  878. })();
  879. /* 图 4 · 实物对照处置前后 (双轨: V_cyc + Δp, 共用时间轴) */
  880. (function(){
  881. const svg=document.getElementById('anchors'); if(!svg) return;
  882. const T1=76, H1=176, B1=T1+H1; // 轨1 V_cyc
  883. const T2=306, H2=112, B2=T2+H2; // 轨2 Δp
  884. const yV=v=>B1-(v/8)*H1;
  885. const yB=v=>B2-(v/150)*H2;
  886. const VBAND=[3.07,7.18], LOCK=52;
  887. const panels=[
  888. { x0:78, w:388, tid:'4#', kind:'气容型',
  889. order:'2026-06-09 工单「70蓄能器更换,电气滑环清洗」', act:'换了 70 号蓄能器 A9B10051506',
  890. markF:0.315, seq:true,
  891. v:[ {f:0.10,val:0.53,lab:'换件前一周',st:'swap'},
  892. {f:0.50,val:4.39,lab:'换后第 1 周',st:'done'},
  893. {f:0.70,val:6.22,lab:'第 2 周',st:'done'},
  894. {f:0.90,val:4.29,lab:'第 3 周',st:'done'} ],
  895. b:[ {f:0.10,val:81,st:'swap'} ],
  896. bGap:'换后 · 档案未落值',
  897. tail:'判定:气容丧失 → 已恢复,移出关注表' },
  898. { x0:556, w:368, tid:'31#', kind:'参数型',
  899. order:'2025-07-02 工单「更换主控板 + 重刷程序」', act:'一个零件没换',
  900. markF:0.50, seq:false,
  901. v:[ {f:0.18,val:0.86,lab:'换板前',st:'swap'},
  902. {f:0.82,val:4.04,lab:'换板后',st:'done'} ],
  903. b:[ {f:0.18,val:20,st:'swap',note:'比锁定值还窄'},
  904. {f:0.82,val:52,st:'done',sup:'推'} ],
  905. tail:'系统压力 HydPress 236 → 217 bar 推(档案记 −19 阶跃)' }
  906. ];
  907. panels.forEach(p=>{
  908. const px=f=>p.x0+f*p.w;
  909. // 抬头
  910. const h=el('text',{x:p.x0,y:24,fill:c('--ink'),'font-size':17,'font-weight':700,'font-family':'IBM Plex Mono, monospace'});
  911. h.textContent=p.tid; svg.appendChild(h);
  912. const h2=el('text',{x:p.x0+40,y:24,fill:c('--muted'),'font-size':13});
  913. h2.textContent='· '+p.kind+' 实物对照 · '+p.act; svg.appendChild(h2);
  914. const h3=el('text',{x:p.x0,y:44,fill:c('--muted'),'font-size':11.5,'font-family':'IBM Plex Mono, monospace'});
  915. h3.textContent=p.order; svg.appendChild(h3);
  916. // ── 轨1 底 ──
  917. const t1=el('text',{x:p.x0,y:T1-9,fill:c('--ink-2'),'font-size':12,'font-weight':600});
  918. t1.textContent='① 泵单次加载输出量 V_cyc (L/次) — 罐容上限 10 L'; svg.appendChild(t1);
  919. svg.appendChild(el('rect',{x:p.x0,y:T1,width:p.w,height:H1,fill:'none',stroke:c('--rule')}));
  920. svg.appendChild(el('rect',{x:p.x0+1,y:yV(VBAND[1]),width:p.w-2,height:yV(VBAND[0])-yV(VBAND[1]),fill:c('--band')}));
  921. [0,2,4,6,8].forEach(v=>{
  922. svg.appendChild(el('line',{x1:p.x0,y1:yV(v),x2:p.x0+p.w,y2:yV(v),stroke:c('--rule'),'stroke-width':.75}));
  923. const t=el('text',{x:p.x0-8,y:yV(v)+4,'text-anchor':'end',fill:c('--muted'),'font-size':11,'font-family':'IBM Plex Mono, monospace'});
  924. t.textContent=v; svg.appendChild(t);
  925. });
  926. const bl=el('text',{x:p.x0+p.w-6,y:yV(VBAND[1])+14,'text-anchor':'end',fill:c('--muted'),'font-size':10.5});
  927. bl.textContent='健康带 3.1–7.2'; svg.appendChild(bl);
  928. // ── 轨2 底 ──
  929. const t2=el('text',{x:p.x0,y:T2-9,fill:c('--ink-2'),'font-size':12,'font-weight':600});
  930. t2.textContent='② 泵启停压差 Δp (bar) — 越高说明压力掉得越深'; svg.appendChild(t2);
  931. svg.appendChild(el('rect',{x:p.x0,y:T2,width:p.w,height:H2,fill:'none',stroke:c('--rule')}));
  932. [0,50,100,150].forEach(v=>{
  933. svg.appendChild(el('line',{x1:p.x0,y1:yB(v),x2:p.x0+p.w,y2:yB(v),stroke:c('--rule'),'stroke-width':.75}));
  934. const t=el('text',{x:p.x0-8,y:yB(v)+4,'text-anchor':'end',fill:c('--muted'),'font-size':11,'font-family':'IBM Plex Mono, monospace'});
  935. t.textContent=v; svg.appendChild(t);
  936. });
  937. svg.appendChild(el('line',{x1:p.x0,y1:yB(LOCK),x2:p.x0+p.w,y2:yB(LOCK),stroke:COL.done,'stroke-width':2}));
  938. const lk=el('text',{x:p.x0+6,y:yB(LOCK)-7,fill:COL.done,'font-size':10.5,'font-weight':600});
  939. lk.textContent='设计锁定值 52'; svg.appendChild(lk);
  940. // ── 贯穿两轨的工单线 ──
  941. const mx=px(p.markF);
  942. svg.appendChild(el('line',{x1:mx,y1:T1,x2:mx,y2:B2,stroke:c('--st-open'),'stroke-width':2,'stroke-dasharray':'4 4'}));
  943. const ml=el('text',{x:mx,y:T1+16,'text-anchor':'middle',fill:c('--st-open'),'font-size':11.5,'font-weight':700});
  944. ml.textContent='▼ 处置'; svg.appendChild(ml);
  945. // ── 轨1 连线与点 ──
  946. if(p.seq){
  947. let d='M '+px(p.v[0].f)+' '+yV(p.v[0].val)+' L '+mx+' '+yV(p.v[0].val)+' L '+px(p.v[1].f)+' '+yV(p.v[1].val);
  948. for(let i=2;i<p.v.length;i++) d+=' L '+px(p.v[i].f)+' '+yV(p.v[i].val);
  949. svg.appendChild(el('path',{d:d,fill:'none',stroke:c('--rule-strong'),'stroke-width':2}));
  950. }else{
  951. const a=p.v[0],b=p.v[1];
  952. svg.appendChild(el('path',{d:'M '+px(a.f)+' '+yV(a.val)+' L '+mx+' '+yV(a.val)+' L '+mx+' '+yV(b.val)+' L '+px(b.f)+' '+yV(b.val),
  953. fill:'none',stroke:c('--rule-strong'),'stroke-width':2}));
  954. }
  955. p.v.forEach(d=>{
  956. const cc=COL[d.st],g=el('g',{tabindex:0,role:'img'});
  957. g.appendChild(el('circle',{cx:px(d.f),cy:yV(d.val),r:7,fill:cc,stroke:c('--surface'),'stroke-width':2}));
  958. const vt=el('text',{x:px(d.f),y:yV(d.val)-14,'text-anchor':'middle',fill:cc,'font-size':13,'font-weight':700,'font-family':'IBM Plex Mono, monospace'});
  959. vt.textContent=d.val.toFixed(2); g.appendChild(vt);
  960. const lt=el('text',{x:px(d.f),y:B2+22,'text-anchor':'middle',fill:c('--muted'),'font-size':11});
  961. lt.textContent=d.lab; svg.appendChild(lt);
  962. wire(g,'<b>'+p.tid+' '+d.lab+'</b><br>V_cyc = '+d.val.toFixed(2)+' L/次');
  963. const ttl=el('title');ttl.textContent=p.tid+' '+d.lab+' V_cyc '+d.val.toFixed(2);g.appendChild(ttl);
  964. svg.appendChild(g);
  965. });
  966. // ── 轨2 连线与点 ──
  967. if(p.b.length>1){
  968. const a=p.b[0],b=p.b[1];
  969. svg.appendChild(el('path',{d:'M '+px(a.f)+' '+yB(a.val)+' L '+mx+' '+yB(a.val)+' L '+mx+' '+yB(b.val)+' L '+px(b.f)+' '+yB(b.val),
  970. fill:'none',stroke:c('--rule-strong'),'stroke-width':2}));
  971. }else{
  972. // 只有处置前有值: 画到工单线为止, 之后是空白
  973. svg.appendChild(el('path',{d:'M '+px(p.b[0].f)+' '+yB(p.b[0].val)+' L '+mx+' '+yB(p.b[0].val),
  974. fill:'none',stroke:c('--rule-strong'),'stroke-width':2}));
  975. svg.appendChild(el('path',{d:'M '+mx+' '+yB(p.b[0].val)+' L '+(p.x0+p.w-10)+' '+yB(p.b[0].val),
  976. fill:'none',stroke:c('--faint'),'stroke-width':1.5,'stroke-dasharray':'3 5'}));
  977. const q=el('text',{x:(mx+p.x0+p.w)/2,y:yB(LOCK)+26,'text-anchor':'middle',fill:c('--faint'),'font-size':11.5});
  978. q.textContent=p.bGap; svg.appendChild(q);
  979. }
  980. p.b.forEach(d=>{
  981. const cc=COL[d.st],g=el('g',{tabindex:0,role:'img'});
  982. g.appendChild(el('circle',{cx:px(d.f),cy:yB(d.val),r:7,fill:cc,stroke:c('--surface'),'stroke-width':2}));
  983. const vt=el('text',{x:px(d.f),y:yB(d.val)-13,'text-anchor':'middle',fill:cc,'font-size':13,'font-weight':700,'font-family':'IBM Plex Mono, monospace'});
  984. vt.textContent=d.val+(d.sup?' 推':''); g.appendChild(vt);
  985. if(d.note){
  986. const nt=el('text',{x:px(d.f),y:yB(d.val)+20,'text-anchor':'middle',fill:cc,'font-size':10.5});
  987. nt.textContent=d.note; g.appendChild(nt);
  988. }
  989. wire(g,'<b>'+p.tid+'</b><br>启停压差 Δp = '+d.val+' bar'+(d.sup?'(推算)':''));
  990. const ttl=el('title');ttl.textContent=p.tid+' band '+d.val;g.appendChild(ttl);
  991. svg.appendChild(g);
  992. });
  993. // 尾注
  994. const tl=el('text',{x:p.x0,y:B2+52,fill:c('--ink-2'),'font-size':11.5});
  995. tl.textContent=p.tail; svg.appendChild(tl);
  996. });
  997. svg.appendChild(el('line',{x1:512,y1:8,x2:512,y2:B2+62,stroke:c('--rule'),'stroke-width':1}));
  998. })();
  999. })();
  1000. </script>
  1001. <style id="guanlan-booklet">html{color-scheme:light}:root{--ground:#eef6f8;--surface:#fff;--surface-2:#f4f9fa;--ink:#173647;--ink-2:#466777;--muted:#587786;--rule:#d0e2e8;--rule-strong:#aacbd6;--accent:#087e8c;--accent-soft:#e2f2f5}.titleblock{border-radius:18px;overflow:hidden}.tb-head{background:linear-gradient(115deg,#0b293a,#125264);color:white}.tb-head .tb-eyebrow,.tb-head .tb-sub{color:#c1dee5}.scope,.card{border-radius:12px}.book-nav{position:sticky;top:0;z-index:20;display:flex;gap:10px;flex-wrap:wrap;padding:12px 20px;background:#e6f2f6;border-bottom:1px solid #c9e0e8}.book-nav button{min-height:44px;padding:9px 16px;border:1px solid #adcdd8;border-radius:8px;background:white;color:#18566a;font:600 14px system-ui;cursor:pointer}.book-nav button:first-child{background:#087e8c;color:white;border-color:#087e8c}.idx-row{min-height:54px}.sheet{overflow-wrap:anywhere}table{max-width:100%}@media(max-width:650px){.sheet{padding:0 12px 48px}.tb-head{padding:24px 18px}.tb-head h1{font-size:27px}.idx-row{grid-template-columns:30px minmax(0,1fr);gap:8px}.idx-row>*{min-width:0}}
  1002. </style><script>const bookLinks={"00_总目录.html": "governance-0.html", "01_如东_液压系统治理清单_v1.0_2026-09-05.html": "governance-1.html", "02_如东_变桨执行治理清单_v1.0_2026-09-05.html": "governance-2.html", "03_如东_偏航系统治理清单_v1.0_2026-09-05.html": "governance-3.html", "04_如东_变流器治理清单_v1.0_2026-09-05.html": "governance-4.html", "05_如东_主控与传感网治理清单_v1.0_2026-09-05.html": "governance-5.html", "06_如东_电气并网治理清单_v1.0_2026-09-05.html": "governance-6.html", "07_如东_塔架与基础治理清单_v1.0_2026-09-05.html": "governance-7.html", "08_如东_润滑与冷却辅助治理清单_v1.0_2026-09-05.html": "governance-8.html", "09_如东_CMS-TCM监测面治理清单_v1.0_2026-09-05.html": "governance-9.html", "10_如东_参数与管理治理清单_v1.0_2026-09-05.html": "governance-10.html", "11_如东_故障负担榜_v1.0_2026-09-05.html": "governance-11.html"};function openBook(key){const a=parent.document.querySelector('a[data-open="'+key+'"]');if(a)a.click()}document.addEventListener('click',e=>{const a=e.target.closest('a[href]');if(!a)return;const file=decodeURIComponent(a.getAttribute('href').split('/').pop());if(bookLinks[file]){e.preventDefault();openBook(bookLinks[file])}});</script></body></html>