4.5 KiB
4.5 KiB
BMS_D1000 프로젝트 검토 보고서
작성일시: 2026-08-11
프로젝트명: BMS_D1000H (Battery Management System)
대상 솔루션: BMS_D1000.sln
1. 프로젝트 개요
본 프로젝트는 KT / 산업용 ESS 및 배터리 랙(Rack) 및 트레이(Tray) 상태 모니터링 시스템을 위한 임베디드 GUI 애플리케이션입니다.
SmartX 터치패널(Windows CE 기반) 디바이스에서 실시간 배터리 상태(전압, 전류, 온도, SOC, SOH, 알람 등)를 모니터링하고, 파라미터 설정 및 알람 이력을 관리하는 역할을 수행합니다.
2. 기술 스택 및 개발 환경
- 타겟 OS: Windows CE 5.0 (Windows Embedded)
- 프레임워크: .NET Compact Framework v3.5 (C# / Windows Forms)
- 개발 환경 (IDE): Visual Studio 2008 / .NET Compact Framework 개발 툴킷
- 주요 외산/하드웨어 전용 라이브러리:
SmartXCommon.dll,SmartXCommonExt.dll,SmartX_IEC1000.dll(SmartX 임베디드 디바이스제어/GUI 터치 컴포넌트)Microsoft.WindowsCE.FormsSystem.Data.SqlServerCe(임베디드 로컬 DB)
3. 디렉터리 및 파일 구조
BMS_D1000_V1009_AG/
├── BMS_D1000.sln # Visual Studio 솔루션 파일
└── BMS_D1000/ # 메인 C# 프로젝트 디렉터리
├── BMS_D1000.csproj # 프로젝트 빌드 및 어셈블리 참조 설정
├── Program.cs # 애플리케이션 진입점 (Main)
├── Revision history.txt # 버전 수정 이력 (V1.0.0.1 ~ V1.0.0.7)
├── DataStructure/ # BMS 데이터 모델 및 상수 정의
│ ├── BMSData.cs
│ └── BMSConstData.cs
├── Functions/ # 통신 및 데이터 처리 모듈
│ └── csModbusDataProcess.cs
├── Utils/ # 유틸리티 기능
│ └── Function/
│ ├── AlarmFile.cs # 알람 로그 CSV 파일 생성 및 관리
│ └── ConvertTo.cs # 데이터 변환 유틸리티
├── Form/ # Windows Forms 화면 구성 요소
│ ├── fmBMSMain.cs # 메인 BMS 모니터링 화면
│ ├── fmTrayInfo.cs # 모듈/트레이 상세 정보 화면
│ ├── fmHistory.cs # 알람 이력 조회 화면
│ ├── fmNetConfig.cs # 네트워크 설정 화면
│ ├── fmParamSet.cs # BMS 파라미터 설정 화면
│ ├── fmSystemSet.cs # 시스템 설정 화면
│ ├── fmPassword.cs # 비밀번호 인증 화면
│ └── fmScreenSaver.cs # 화면 보존(Screen Saver) 화면
└── Service/ # 확장 서비스 모듈 디렉터리
4. 주요 기능 모듈 분석
4.1 데이터 구조 (DataStructure/)
BMSData.cs: 랙(Rack) 및 트레이(Tray) 단위의 배터리 상태 전압, 전류, Cell 별 온도, SOC, SOH, 경고/보호(Trip) 비트 플래그 정보 데이터 구조체 포함.BMSConstData.cs: BMS 장비 통신에 사용되는 상수, 알람 코드 및 시스템 파라미터 정의.
4.2 통신 및 데이터 처리 (Functions/csModbusDataProcess.cs)
- Modbus RTU/TCP 프로토콜을 통해 BMS 하드웨어 제어기와의 시리얼/Ethernet 통신 수행.
- 수신 데이터 바이트를 파싱하여
BMSData구조체로 바인딩하고 UI 업데이트 이벤트 전달.
4.3 알람 이력 관리 (Utils/Function/AlarmFile.cs)
- 알람 발생 시
Flash Disk\Run\Alarm\경로 등에 CSV 형태의 알람 기록 파일 자동 생성 및 저장. - 최신 버전(V1.0.0.7) 기준 Debug GUI에서 이력 삭제 기능 지원.
4.4 사용자 인터페이스 (Form/)
- 터치패널 환경에 최적화된 사용자 인터페이스 구성.
- 랙 전체 모니터링(
fmBMSMain), 셀/트레이 상세 상태(fmTrayInfo), 네트워크 및 IP 설정(fmNetConfig), 경보 내역 조회(fmHistory) 화면 제공.
5. 특이사항 및 고려사항
- 임베디드 종속성 주의:
SmartX_IEC1000등 특정 하드웨어 전용 벤더 라이브러리에 의존하고 있으므로, 빌드 환경에C:\Program Files\HNS\Embedded SmartX Component\IEC1000_DNCF35\디렉터리의 라이브러리가 필요합니다.
- .NET Compact Framework 3.5 지원 종료 이슈:
- .NET CF 3.5는 구형 Windows CE 전용이므로 최신 윈도우 OS 개발 환경에서 Visual Studio 이전 버전 설치 및 전용 엠베디드 SDK 구성 필요.