# 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) 생성 완료