# RJ2-232 Simulator 사양서 C# WPF (스타일: HoodSimulator 동일 — Tokyo Night 다크 테마) 최종 수정 : 2026.06.07 ## UI 기능 통신 설정 전원 ON / OFF (on 시 환기모드, 풍량 1단, off 시 풍량 0) 모드 환기 / 자동 / 공기청정 / 바이패스 (환기, 자동, 공기청정 0 ~ 4단, 바이패스 1단, 자동은 풍량 변경 안됨) 풍량 0 / 1 / 2 / 3 / 4 예약 0 ~ 8 시간 (0은 예약 취소, 1시간 단위, 모드 전환 시 예약 해제) id 설정 vsp 설정 로그 저장 / 지우기 --- ## 구현 내용 (2026.06.07) ### 역할 / 통신 - **룸콘(마스터) 시뮬레이터** — ERVSimulator(ERV, 응답측)와 RS-232로 연동. - 규격 : `Protocol/ROOMCON/힘펠_환기장치프로토콜V3.7` (펌웨어 My_RJ2.c / ERVSimulator RoomConProtocol.cs) - 포트 : **RS-232, 9600 8N1** - 프레임 : `AA | CMD | D[2..12] | XOR(byte0~12) | EE` (15바이트 고정) - COM 페어(가상 널모뎀 또는 어댑터 2개)로 RJ2 ↔ ERVSimulator RoomCon 포트(9600) 연결. ### CMD (룸콘 → ERV) | CMD | 이름 | 내용 | |---|---|---| | 0x00 | NORMAL | 상태 폴링(폴링 시작 시 주기 송신) → ERV가 0x07 응답 | | 0x01 | EVENT | 모드/풍량/예약 변경 → ERV가 0x01 응답(모드·풍량·에러·온도) | | 0x02 | RESTART1 | 환기 1~4단 preset 조회 → ERV가 0x02 응답 | | 0x12 | RESTART2 | 바이패스/공청 preset 조회 → ERV가 0x12 응답 | | 0x03 | VSP | 테스트모드 프리셋 설정(select/sa/ea) | | 0x04 | EXIT | 테스트모드 종료 | ### 모드 코드 (EVENT byte[2]) — ERVSimulator RunMode enum 일치 0 = 환기 / 1 = 자동 / 2 = 바이패스 / 3 = 공기청정 - 전원 OFF = EVENT 모드 0(환기) + 풍량 0 으로 표현(ERV가 Power OFF 처리) ### EVENT 패킷 데이터 | byte | 내용 | |---|---| | 2 | 운전모드 | | 3 | 풍량(0~4) | | 5 | Heater/UV (미사용 0) | | 10 | 예약 flag (항상 1로 전송) | | 11 | 예약 시간(시, 0=해제) | | 12 | 예약 분(0) | ### 예약 연동 (룸콘 → ERV → 대시보드) - 예약(시)을 EVENT `[10]=1, [11]=시`로 항상 전송 → **설정·해제(0) 모두 전달**. - ERVSimulator가 수신하여 `ReserveHours / ReserveRemainSec` 반영 → ERVSim UI 표시 + 1초 카운트다운(0 도달 시 전원 OFF). - ERVSim의 HOMENET STATUS(reserve_remain)에 실려 **PCDashBoard / WebDashBoard에도 그대로 반영**. - 모드 전환 시 예약 해제(`[11]=0`) 전송 → ERV·대시보드 함께 해제. ### VSP 설정 팝업 (테스트 모드) - select 코드(펌웨어 My_RJ2.c) : 1~4 환기1~4 / 5 바이패스 / 6~9 공청1~4 (공청은 EA 미사용) - 환기 조회(RESTART1) / 바이패스·공청 조회(RESTART2)로 현재 preset 읽어 표 갱신 - 행별 SA/EA 수정 후 '설정' → 해당 select VSP(0x03) 송신, '테스트 종료' → EXIT(0x04) ### ID 설정 - RS-232 점대점이라 프레임에 ID 필드 없음 → UI 입력값은 표시/로그용(전송 안 함). ### ERV 응답 표시 - 운전모드 / 풍량 / 에러코드 / 실내온도 / 외기온도 (0x01·0x07 응답 파싱), 수신 카운트. ### 알람 / 에러 표시 (ERV ErrorCode 비트 디코드) ERV 응답의 ErrorCode 바이트(응답 `[7]`)를 비트별로 칩 표시. NORMAL(0x07)/EVENT(0x01) 응답마다 갱신. - **알람**(노랑) : 필터청소(0x01) / 필터교환(0x02) - **에러**(빨강, COLD=시안) : E02 온도센서(0x08) / E09 급기팬(0x80) / E10 배기팬(0x20) / COLD 장비보호(0x10) / E07 내부통신(0x40) - 알람/에러 소스는 ERVSimulator(에러 카드 + 필터청소/교환 토글) → 같은 ErrorCode가 대시보드(STATUS)에도 반영됨. | 비트 | 항목 | 구분 | |---|---|---| | 0x01 | 필터청소 | 알람 | | 0x02 | 필터교환 | 알람 | | 0x08 | E02 온도센서 | 에러 | | 0x10 | COLD 장비보호 | 에러 | | 0x20 | E10 배기(EA)팬 | 에러 | | 0x40 | E07 내부통신 | 에러 | | 0x80 | E09 급기(SA)팬 | 에러 | ### 참고 - 본 시뮬레이터는 프로토콜대로 송신하며, ERVSimulator는 모드/풍량/예약/preset 조회를 처리(VSP 설정값 적용은 로그만).