5a96a696b1
- 펌웨어(program), C# 대시보드(TestProgram), 시뮬레이터(Simulator), 프로토콜/문서(Protocol, doc) 전체를 단일 저장소로 통합 - program 폴더의 별도 git 저장소를 제거하고 통합 저장소에 흡수 - 빌드 산출물(program/build, bin/obj, *.o/.elf/.bin/.hex 등) .gitignore 처리 - 사내 Synology NAS Git 원격 연결 예정 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# HoodSimulator 사양서
|
|
|
|
후드메인(Hood) 장치를 모사하는 C# WPF 시뮬레이터. ERVSimulator(전열교환기, Master)와 RS485로
|
|
통신하여 후드 상태를 응답한다. 스타일은 DiffuserSimulator와 동일(Tokyo Night 다크 테마).
|
|
|
|
## 1. 통신
|
|
- 프로토콜 : Protocol/HOOD/주신전자_protocol_hood_전열교환기_Rev1.3_20241125.xlsx
|
|
- 역할 : Slave (마스터 폴 수신 → 현재 후드 상태로 응답)
|
|
- 포트 : 115200 8N1, 9바이트 고정, 폴링주기 100~500ms, 응답 50ms 이내
|
|
- 체크섬(CS) : Preamble~CS직전(byte0~7) 전체 XOR
|
|
|
|
### 프레임 구조
|
|
- Master(전열교환기) → Slave(후드) : `AA 21 ID MODE FAN 연동EN 연동운전중 ERROR CS`
|
|
- Slave(후드) → Master(전열교환기) : `AA 11 ID FANSTATUS LIGHTSTATUS 00 연동CMD ERROR CS`
|
|
- Preamble 0xAA / M·S 0x21(Master)·0x11(Slave) / ID 0x01 고정
|
|
|
|
## 2. UI 기능
|
|
|
|
### 통신포트 설정
|
|
- COM 포트 선택 + 새로고침(⟳)
|
|
- 연결 / 연결 해제, 통신 시작(시작) / 통신 중지(중지)
|
|
- 연결 상태 LED(녹색 연결됨 / 빨강 미연결)
|
|
|
|
### 전원 on / off
|
|
- 전원 ON → 풍량 자동 1단
|
|
- 전원 OFF → 풍량 0
|
|
|
|
### 풍량 0(꺼짐) / 1 / 2 / 3 / 4 / 5
|
|
- 버튼 선택, 선택 단수 강조
|
|
|
|
### 조명 on / off
|
|
|
|
### 에러코드 (체크 선택하여 발생)
|
|
- FAN 에러(ERROR=1) / 기타 에러(ERROR=2) 토글 카드 (LED 표시)
|
|
- 둘 다 선택 시 FAN 에러(1) 우선 송신
|
|
- **에러 발생 시 전원 OFF / 풍량 0 / 조명 OFF로 강제 전환** 후 상태값 전송
|
|
|
|
### 통신 상태 표시
|
|
- 마스터 수신 명령 : MODE, 전열교환기 FAN, 연동 Enable, 연동 운전중
|
|
- 후드 응답 송신 : 후드 FAN STATUS, LIGHT STATUS, 연동 CMD, ERROR
|
|
- 수신 카운트
|
|
|
|
### 통신 로그
|
|
- 송수신 패킷 hex 로그, 저장 / 지우기
|
|
|
|
## 3. 응답 상태값 산출 규칙
|
|
| 응답 필드 | 값 |
|
|
|---|---|
|
|
| FAN STATUS (byte3) | 전원 ON 시 풍량 단수(0~5), OFF면 0 |
|
|
| LIGHT STATUS (byte4) | 전원 ON & 조명 ON → 1, 아니면 0 |
|
|
| 연동 CMD (byte6) | 전원 ON → 1(켜짐), OFF → 0(꺼짐) |
|
|
| ERROR (byte7) | 0 정상 / 1 FAN 에러 / 2 기타 에러 |
|
|
|
|
## 4. ERVSimulator 연동
|
|
- ERVSimulator는 Master로서 후드를 200ms 주기 폴 → 응답 수신
|
|
- ERV 측 "후드연동" 버튼 : 미연결(기본색) / 통신중 정상(녹색) / 통신중 에러(빨강 + 에러명)
|