Test_ACS 프로젝트 추가 - ACS 시뮬레이터 (v1.4.0)
## 신규 기능 - ACS(중앙제어시스템) 시뮬레이터 프로젝트 생성 - 8가지 AGV 제어 명령어 지원: * SetCurrent: 현재 위치 설정 * Goto: RFID 이동 * GotoAlias: 별칭 이동 (v1.1.0) * Stop: 정지 * Reset: 에러 리셋 * Manual: 수동 제어 * MarkStop: 마크센서 정지 * LiftControl: 리프트 제어 ## AGV 상태 실시간 표시 (v1.3.0) - AGV 상태 그룹박스 추가 (8가지 상태 정보) - Status 메시지(cmd=3) 자동 수신 및 UI 업데이트 - 상태별 색상 표시로 직관적 모니터링 ## 설정 관리 - 실행 폴더에 JSON 형식 설정 파일 저장 (v1.4.0) - COM 포트, 보레이트, RFID, 별칭, AGV 선택 자동 저장 - 설정 파일 직접 편집 가능 ## 기술 스택 - .NET Framework 4.8 - ENIGProtocol 프로젝트 참조 - RS232/Xbee 통신 - Newtonsoft.Json 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
162
Cs_HMI/TestProject/Test_ACS/CHANGELOG.md
Normal file
162
Cs_HMI/TestProject/Test_ACS/CHANGELOG.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# Test_ACS 변경 이력
|
||||
|
||||
## v1.4.0 (2025-01-12)
|
||||
|
||||
### 설정 파일 저장 방식 변경
|
||||
- **실행 폴더에 설정 파일 저장**
|
||||
- 이전: 사용자 프로파일 폴더 (`%LOCALAPPDATA%`)
|
||||
- 변경: 실행 파일과 같은 폴더에 `Test_ACS.config` 저장
|
||||
- 형식: JSON 형식으로 저장 (가독성 향상)
|
||||
|
||||
### 코드 개선
|
||||
- `AppSettings` 클래스 신규 생성
|
||||
- JSON 직렬화/역직렬화 지원
|
||||
- 실행 파일 경로 자동 감지
|
||||
- 설정 파일 자동 생성 및 로드
|
||||
- Newtonsoft.Json 패키지 참조 추가
|
||||
|
||||
### 사용성 개선
|
||||
- 설정 파일을 직접 편집 가능 (JSON 형식)
|
||||
- 프로그램 이동 시에도 설정 파일 함께 이동
|
||||
- 여러 버전 동시 사용 가능 (각 폴더별 독립 설정)
|
||||
|
||||
---
|
||||
|
||||
## v1.3.0 (2025-01-12)
|
||||
|
||||
### 신규 기능
|
||||
- **AGV 상태 실시간 표시**
|
||||
- AGV 상태 그룹박스 추가
|
||||
- 8가지 AGV 상태 정보 표시:
|
||||
- 모드 (수동/자동)
|
||||
- 실행상태 (정지/실행/에러)
|
||||
- 방향 (직진/좌회전/우회전/마크정지)
|
||||
- 도달완료 (OFF/ON)
|
||||
- 충전 상태 (OFF/ON)
|
||||
- 카트 감지 (없음/있음/알 수 없음)
|
||||
- 리프트 위치 (하강/상승/알 수 없음)
|
||||
- 현재 RFID 태그 번호 (6자리)
|
||||
- 상태별 색상 표시로 직관적 모니터링
|
||||
- AGV Status 메시지(cmd=3) 자동 수신 및 업데이트
|
||||
|
||||
### UI 개선
|
||||
- AGV 상태 그룹박스 추가 (2열 x 4행 레이아웃)
|
||||
- 메인 폼 크기 확장 (539 → 588 픽셀)
|
||||
- 상태별 색상 구분:
|
||||
- 수동(파란색) / 자동(녹색)
|
||||
- 정지(회색) / 실행(녹색) / 에러(빨간색)
|
||||
- 충전중(주황색)
|
||||
|
||||
### 프로토콜 업데이트
|
||||
- ENIGProtocol ReadMe.MD 수정
|
||||
- AGV Status 프로토콜 정의 명확화 (총 13바이트)
|
||||
- LastTag 필드 크기 수정 (4바이트 → 6바이트)
|
||||
- CurrentPath 필드 제거 (실제 구현과 일치)
|
||||
|
||||
### 코드 개선
|
||||
- `UpdateAGVStatus()` 메서드 구현
|
||||
- Status 메시지 수신 처리 로직 추가
|
||||
- 스레드 안전성 보장 (InvokeRequired 체크)
|
||||
- 데이터 유효성 검사 추가
|
||||
|
||||
---
|
||||
|
||||
## v1.2.0 (2025-01-12)
|
||||
|
||||
### 신규 기능
|
||||
- **설정 자동 저장/불러오기 기능**
|
||||
- 마지막 사용 COM 포트 자동 저장
|
||||
- 마지막 사용 보레이트 자동 저장
|
||||
- 마지막 입력 RFID 번호 자동 저장
|
||||
- 마지막 입력 별칭 자동 저장
|
||||
- 마지막 선택 AGV (11/12) 자동 저장
|
||||
- 프로그램 종료 시 자동 저장
|
||||
- 프로그램 시작 시 자동 불러오기
|
||||
|
||||
### 구현 상세
|
||||
- **Settings.settings 파일 확장**
|
||||
- LastPort (string)
|
||||
- LastBaudRate (string)
|
||||
- LastRFID (string)
|
||||
- LastAlias (string)
|
||||
- LastAGV (int)
|
||||
|
||||
- **자동 저장 이벤트**
|
||||
- COM 포트 선택 변경 시
|
||||
- 보레이트 텍스트 변경 시
|
||||
- RFID 번호 텍스트 변경 시
|
||||
- 별칭 텍스트 변경 시
|
||||
- AGV 선택 변경 시
|
||||
- 프로그램 종료 시 (OnFormClosing)
|
||||
|
||||
- **자동 불러오기**
|
||||
- 프로그램 시작 시 LoadSettings() 호출
|
||||
- 포트 목록 로드 후 마지막 설정 적용
|
||||
|
||||
### 사용자 경험 개선
|
||||
- 프로그램 재실행 시 이전 설정 자동 복원
|
||||
- 설정 저장/불러오기 상태 로그 표시
|
||||
- 에러 발생 시 로그에 에러 메시지 표시
|
||||
|
||||
---
|
||||
|
||||
## v1.1.0 (2025-01-12)
|
||||
|
||||
### 신규 기능
|
||||
- **GotoAlias 명령어 추가**
|
||||
- 별칭(Alias)을 사용한 AGV 이동 명령 지원
|
||||
- RFID 번호 대신 의미 있는 이름으로 목적지 지정 가능
|
||||
- 예: "CHARGER1", "BUFFER2", "STATION_A" 등
|
||||
|
||||
### UI 개선
|
||||
- **별칭 입력 필드 추가**
|
||||
- 위치: RFID 입력 필드 아래
|
||||
- 기본값: "CHARGER1"
|
||||
|
||||
- **GotoAlias 버튼 추가**
|
||||
- 위치: Goto 버튼 우측
|
||||
- 버튼명: "별칭 이동 (GotoAlias)"
|
||||
|
||||
- **레이아웃 최적화**
|
||||
- RFID 번호 입력: 라인 1
|
||||
- 별칭 입력: 라인 2
|
||||
- SetCurrent / GotoAlias 버튼: 라인 3
|
||||
- Goto / GotoAlias 버튼: 라인 4
|
||||
- Stop / Reset 버튼: 라인 5
|
||||
- MarkStop 버튼 및 체크박스: 라인 6
|
||||
- 수동 제어 / 리프트 제어: 하단 그룹
|
||||
|
||||
### 프로토콜 변경
|
||||
- **AGVCommandHE Enum 확장**
|
||||
- GotoAlias = 107 추가
|
||||
- 데이터 형식: TargetID(2 hex) + Alias(ASCII string)
|
||||
|
||||
### 코드 개선
|
||||
- `btnGotoAlias_Click` 이벤트 핸들러 구현
|
||||
- 별칭 유효성 검사 (빈 문자열 체크)
|
||||
- ASCII → HEX 변환 로직 추가
|
||||
|
||||
### 문서 업데이트
|
||||
- README.md에 GotoAlias 사용법 추가
|
||||
- 프로토콜 명령어 표에 GotoAlias 추가
|
||||
- 버전 이력 업데이트
|
||||
|
||||
---
|
||||
|
||||
## v1.0.0 (2025-01-11)
|
||||
|
||||
### 초기 릴리즈
|
||||
- ACS 시뮬레이터 기본 구현
|
||||
- ENIGProtocol 프로젝트 참조
|
||||
- RS232 통신 지원
|
||||
- 7가지 기본 ACS 명령어:
|
||||
- SetCurrent (현재 위치 설정)
|
||||
- Goto (RFID 이동)
|
||||
- Stop (정지)
|
||||
- Reset (에러 리셋)
|
||||
- Manual (수동 제어)
|
||||
- MarkStop (마크센서 정지)
|
||||
- LiftControl (리프트 제어)
|
||||
- AGV 선택 기능 (AGV1/AGV2)
|
||||
- 로그 시스템 (TX/RX/Info 탭)
|
||||
- COM 포트 관리 (연결/해제/새로고침)
|
||||
Reference in New Issue
Block a user