PV-중앙값 근사 대신 유량 적산(.QV)으로 정확한 적분 메트릭 추가, 웹에서 바로 보기. - QV 메트릭 4종: production_total·yield_qv·energy_intensity_qv·mass_balance_closure. 적산 Δ 헬퍼(QvDeltaAsync)는 값 급감(reset/wrap)으로 구간분할 후 구간별 (마지막-처음) 합산 → gap·양자화 강건, DCS 일일적산과 동일 의미(노이즈 과대계상 없음). - 매핑은 appsettings SteamAdvisor:Columns 재사용(.QV 치환, 7컬럼). 폐합 스트림은 Report:Closure:C-6111(Feed + Outputs[제품·경비물·중비물]). - 웹 대시보드: GET /api/report/columns, /api/report/summary → 리포트 탭에서 컬럼·날짜 선택 시 물질수지 신뢰블록(IN/OUT/폐합%, 98~101% 색상) + 메트릭 표를 즉시 렌더. 엑셀 export와 병존. - 물리적 타당성 게이트: 수율>1.5·에너지원단위>5·≤0 → no_data+사유(garbage 차단). 검증(2026-05-15 C-6111): 생산 8455kg·수율 0.8739·에너지 0.7791·폐합 99.04% (feed 9675/out 9582), 17주 폐합 99.1~99.8%. C-9111 garbage 수율 → no_data 처리 확인. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
105 lines
3.8 KiB
JSON
105 lines
3.8 KiB
JSON
{
|
|
"Logging": {
|
|
"LogLevel": {
|
|
"Default": "Information",
|
|
"Microsoft.AspNetCore": "Warning",
|
|
"Microsoft.EntityFrameworkCore": "Warning",
|
|
"Microsoft.EntityFrameworkCore.Database.Command": "Warning",
|
|
"Hc900Crawler.Infrastructure.Hc900.Hc900HistoryService": "Warning",
|
|
"Hc900Crawler.Infrastructure.Control.FeedforwardSupervisor": "None",
|
|
"Hc900Crawler.Infrastructure.Control.FeedforwardConfigStore": "None",
|
|
"Hc900Crawler.Infrastructure.Kb.KbIngestWorker": "Warning",
|
|
"Hc900Crawler.Infrastructure.Kb.KbStartupService": "Warning"
|
|
},
|
|
"Console": {
|
|
"LogLevel": {
|
|
"Default": "Information",
|
|
"Microsoft.EntityFrameworkCore": "Warning",
|
|
"Hc900Crawler.Infrastructure.Control.FeedforwardSupervisor": "None"
|
|
},
|
|
"FormatterName": "simple",
|
|
"FormatterOptions": {
|
|
"TimestampFormat": "HH:mm:ss "
|
|
}
|
|
}
|
|
},
|
|
"AllowedHosts": "*",
|
|
"Cors": {
|
|
"AllowedOrigins": [ "*" ]
|
|
},
|
|
"ConnectionStrings": {
|
|
"DefaultConnection": "Host=localhost;Port=5432;Database=iiot_platform;Username=postgres;Password=postgres;Search Path=hc900"
|
|
},
|
|
"Hc900": {
|
|
"GatewayAddress": "http://localhost:50051",
|
|
"PollIntervalMs": 1000
|
|
},
|
|
"PidControllers": {
|
|
"Enabled": true
|
|
},
|
|
"Feedforward": {
|
|
"SimOverrideEnabled": true,
|
|
"FeedRampDryRun": false,
|
|
"FeedRampStepSec": 10
|
|
},
|
|
"McpServer": {
|
|
"WorkingDirectory": "../../mcp-server"
|
|
},
|
|
"Sinam": {
|
|
"ScriptPath": "scripts/build_register_map_from_sinam.py",
|
|
"WorkingDirectory": "/home/windpacer/projects/hc900_ax",
|
|
"UploadDir": "docs/uploads",
|
|
"OutputDir": "docs",
|
|
"ProcessTimeoutSeconds": 120
|
|
},
|
|
"DocBrowser": {
|
|
"Root": "/home/windpacer/projects/hc900_ax",
|
|
"MaxTextBytes": 2097152,
|
|
"MaxUploadBytes": 52428800
|
|
},
|
|
"Kb": {
|
|
"QdrantUrl": "http://localhost:6333",
|
|
"VectorSize": 768,
|
|
"StorageRoot": "../../storage/kb",
|
|
"AdminInitialPassword": "admin",
|
|
"AdminSessionMinutes": 60,
|
|
"WorkerPollIntervalSeconds": 2,
|
|
"MaxAttempts": 3,
|
|
"Throttle": {
|
|
"MaxFailAttempts": 5,
|
|
"FailWindowMinutes": 5,
|
|
"LockoutMinutes": 15
|
|
}
|
|
},
|
|
"SteamAdvisor": {
|
|
"ModelPath": "/home/windpacer/projects/hc900_ax/scripts/analysis/C-6PG-Dump-20260605111_model.json",
|
|
"PlotDataDir": "/home/windpacer/projects/hc900_ax/scripts/analysis",
|
|
"ModelDir": "/home/windpacer/projects/hc900_ax/scripts/analysis",
|
|
"DefaultColumn": "C-6111",
|
|
"Columns": {
|
|
"C-6111": { "Feed": "FICQ-6101.PV", "Product": "FICQ-6118.PV", "TC": "TI-6111C.PV", "SteamOp": "TICA-6111A.OP", "SteamFlow": "FIQ-6115" },
|
|
"C-6211": { "Feed": "FICQ-6201.PV", "Product": "FICQ-6218.PV", "TC": "TI-6211C.PV", "SteamOp": "TICA-6211A.OP", "SteamFlow": "FIQ-6215" },
|
|
"C-8111": { "Feed": "FICQ-8101.PV", "Product": "FICQ-8118.PV", "TC": "TI-8111C.PV", "SteamOp": "TICA-8111A.OP", "SteamFlow": "FIQ-8115" },
|
|
"C-9111": { "Feed": "FICQ-9101.PV", "Product": "FICQ-9118.PV", "TC": "TI-9111C.PV", "SteamOp": "TICA-9111A.OP", "SteamFlow": "FIQ-9115" },
|
|
"C-9211": { "Feed": "FICQ-9201.PV", "Product": "FICQ-9218.PV", "TC": "TI-9211C.PV", "SteamOp": "TICA-9211A.OP", "SteamFlow": "FIQ-9215" },
|
|
"C-10111": { "Feed": "FICQ-10101.PV", "Product": "FICQ-10118.PV", "TC": "TI-10111C.PV", "SteamOp": "TICA-10111A.OP", "SteamFlow": "FIQ-10115" },
|
|
"C-10211": { "Feed": "FICQ-10201.PV", "Product": "FICQ-10218.PV", "TC": "TI-10211C.PV", "SteamOp": "TICA-10211A.OP", "SteamFlow": "FIQ-10215" }
|
|
}
|
|
},
|
|
"Report": {
|
|
"Closure": {
|
|
"C-6111": { "Feed": "FICQ-6101", "Outputs": [ "FICQ-6118", "FICQ-6114", "FICQ-6116" ] }
|
|
}
|
|
},
|
|
"Kestrel": {
|
|
"Endpoints": {
|
|
"Http": {
|
|
"Url": "http://0.0.0.0:5000"
|
|
}
|
|
},
|
|
"Limits": {
|
|
"MaxRequestBodySize": 104857600
|
|
}
|
|
}
|
|
}
|