50705ab0e83541ca6f66de0c8341e4f7e1b549ab
- ExportToExcelAsync: 17번째 컬럼 id(pid_equipment.id) 추가 (col1~16 위치 불변)
- ImportFromExcelAsync: id 우선 매칭 — id 있으면 그 행만 in-place UPDATE
(다중경로 보존), 빈 id면 INSERT, col17 헤더가 'id'가 아닌 옛 파일은 tag_no 폴백
- PidImportResult.RowsInserted 추가 + import 로그 신규건수 포함
- 구조설명-6-2차플랜트-byPBK.xlsx 문서규칙: upsert_pid_connection(9bcba0a) 연동
규칙으로 슬림화 (콤마=병렬 병합, 카테고리 매핑, 멱등/잠금/변경금지는 도구가 처리)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ExperionCrawler
Honeywell Experion OPC UA 서버를 위한 웹 기반 데이터 수집 도구.
아키텍처
ExperionCrawler/
└── src/
├── Core/
│ ├── Domain/Entities/ # ExperionTag, ExperionRecord, ExperionServerConfig ...
│ ├── Application/
│ │ ├── Interfaces/ # IExperionCertificateService, IExperionOpcClient ...
│ │ ├── Services/ # ExperionCrawlService
│ │ └── DTOs/ # ExperionServerConfigDto, ExperionCrawlRequestDto ...
│ └── (Domain 은 Infrastructure 에 의존하지 않음)
│
├── Infrastructure/
│ ├── Certificates/ # ExperionCertificateService (pki/ 폴더 관리)
│ ├── OpcUa/ # ExperionOpcClient, ExperionStatusCodeService
│ ├── Csv/ # ExperionCsvService (CsvHelper)
│ └── Database/ # ExperionDbContext + ExperionDbService (EF Core / SQLite)
│
└── Web/
├── Controllers/ # ExperionC
Description
Languages
C#
43.4%
Python
31.1%
JavaScript
16.2%
HTML
4.6%
CSS
4%
Other
0.7%