## 신규 기능 - 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>
4.8 KiB
4.8 KiB
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 포트 관리 (연결/해제/새로고침)