Dust/SOURCE/kocom_Homenet_D10.4/Docs/20260828_1_MODBUS MariaDB 듀얼 수집 모드 구현 완료 보고서.txt
2026-09-04 10:15:33 +09:00

37 lines
2.0 KiB
Plaintext

# MODBUS / MariaDB 듀얼 수집 모드 구현 완료 보고서
## 1. 구현 완료 요약
프로그램 화면 상단에 **수집 방식 콤보박스(`cboCollectMode`)**를 추가하여, 사용자가 **MariaDB 연동 수집** 또는 **MODBUS TCP 직접 수집**을 자유롭게 선택·전환할 수 있도록 기능을 완성하였습니다.
---
## 2. 주요 기능 및 변경 사항
### ① UI 화면 구성
- 상단 패널(`Panel1`)에 **`수집 방식` 콤보박스** 추가:
- **`1. MariaDB (실시간 DB)`**: MariaDB에 연결하여 `real_time` 테이블에서 측정소 목록 및 센서 데이터 수집
- **`2. MODBUS TCP (포트 502)`**: INI `[SYSTEM]` 설정 측정소를 로컬 502번 포트에서 수집
- 모드 전환 시 즉시 반영되며, 선택 상태가 `Kocom_Homenet.INI`의 `[CollectMode] Mode`에 자동 저장됩니다.
### ② MariaDB 연동 수집 구현
- **컴포넌트:** FireDAC (`TFDConnection`, `TFDQuery`, `TFDPhysMySQLDriverLink`)
- **측정소 로딩 (`LoadStationFromDB`):** `real_time` 테이블에서 유효한 `BlinkerName` 목록을 조회하여 동적 배열 `StName` 구성
- **센서 데이터 파싱 (`readBtnClick`):** `SensorData` 필드의 슬래시(`/`) 문자열 분리 (`PM10 / PM2.5 / 온도 / 습도`) 및 구역 번호(`nArea`) 자동 매핑
### ③ MODBUS TCP 수집 유지
- 기존 `cs2: TIdTCPClient` (127.0.0.1:502) 통신 로직을 보존하여 MODBUS 장비 현장에서도 완벽 지원
### ④ 코콤 홈넷 통신 안정성 완벽 계승
- 최초 1회 BIND 패킷 전송 (Hex PW 자동 디코딩 지원)
- 30초 주기 ALIVE 생존 신호 전송
- 세션 유지 상태에서 주기적 `ENVIRONMENT_SENSOR_ADD` 패킷 송신
---
## 3. 검증 결과
- **Embarcadero Delphi 10.4 Sydney MSBuild 컴파일:**
- Release 빌드 성공 (오류 0개)
- 최신 실행 파일 [`Kocom_Homenet.exe`](file:///c:/Users/MyName/Desktop/antigravity/kocom/%EC%BD%94%EC%BD%A4%ED%99%88%EB%84%B7%EB%AF%B8%EC%84%B8%EB%A8%BC%EC%A7%80_D10.4/Kocom_Homenet.exe) 생성 완료