This commit is contained in:
chi
2025-04-24 11:52:06 +09:00
parent 9d2467d50a
commit 32cf669509
2 changed files with 53 additions and 6 deletions

View File

@@ -9,6 +9,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleProject", "sample\Sam
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ENIGProtocol.Tests", "ENIGProtocol.Tests\ENIGProtocol.Tests.csproj", "{3A677629-1F08-49B2-BC75-58282E439FD4}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ENIGProtocol.Tests", "ENIGProtocol.Tests\ENIGProtocol.Tests.csproj", "{3A677629-1F08-49B2-BC75-58282E439FD4}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "솔루션 항목", "솔루션 항목", "{0A11874A-E5C6-4170-9787-1FFF7AF0D289}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
ReadMe.MD = ReadMe.MD
EndProjectSection
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU

View File

@@ -55,20 +55,61 @@ This README provides a comprehensive overview of the `ENIGProtocol` library, mak
### 명령어 목록 ### 명령어 목록
1. **ACS (AGV Control System)** 1. **ACS (AGV Control System)**
- cmd(1): 출입문 열기
- cmd(2): 출입문 닫기
- cmd(3): 출입문 상태 확인 (응답: 1=열림, 0=닫힘)
2. **Buffer** 2. **Buffer**
- 버퍼 관리 관련 명령어 - E -> H | cmd(3): 상태 (data len=1 : 0=카트없음, 1=카트있음, 2=바쁨, 3=알수없음, 255=오류)
3. **AGV** 3. **AGV**
- AGV 제어 관련 명령어 - H -> E | Move : cmd(100) : 대상태그까지 이동(자동이동)
- TagID[6] = 000000
- H -> E | Stop : cmd(101) : 멈춤
- H -> E | Reset : cmd(102) : 오류 소거
- H -> E | Charge : cmd(103) : 충전실행(충전기 이동 후 자동 충전 진행)
- Action[1] : 0=Charge Off, 1=Charge On
- H -> E | MoveManual : cmd(104) : 메뉴얼이동
- Direction[1] : 0=Backward, 1=Forward, 2=TurnLeft, 3=TurnRight
- Speed[1] : 0=Slow, 1=Normal, 2=Fast
- Runtime[1] : 0 second
- H -> E | MarkStop : cmd(105) : 마크센서스톱
- H -> E | Lift Control : cmd(106) : 리프트제어
- Action[1] : 0=STOP, 1=UP, 2=DOWN
- H -> E | ClearPath : cmd(107) : 설정된 경로를 삭제(기동중에 수신되는 경우 강제 정지)
- H <-> E | Send Path : cmd(108) : 경로정보를 반환 (태그목록이 콤마로 분리되어 ASCII로 전송)
- PathID[1] : 1 : 명령어 식별번호, AGV상태값에 Path ID가 출력됨
- PathCount[1] : 전체 태그 갯수
- PageNo[1] : 1 : 데이터 총길이가 255를 넘어서면 페이지 분리하여 전달
- PageCount[1] : 1
- TagID[6]....[n]
- E <-> H | Request Path : cmd(1)
- PathID[1] : 식별용 Path ID, 데이터전송대상은 동일 ID로 값을 반환해야한다
- PathPage[1] : 요청페이지 (최초 1번 요청 후 수신데이터에서 다음페이지 존재한다면 페이지번호를 변경하여 요청해야 함)
- E -> H | Move Complete : cmd(2) : 목적지이동완료 후 전송
- E -> H | TagID Received : cmd(3) : 태그값 인식시 전송
- TagID[6] : "000000"
- E -> H | Status : cmd(9)
- Mode[1] : 0=manual, 1=auto
- RunSt[1] : 0=stop, 1=run, 2=error
- Diection[1] : 0=straight, 1=left, 2=right, 3=markstop
- Inposition[1] : 0=off, 1=on : 목적위치에 도달완료 시 설정 이동 이동시 OFF됨
- ChargeSt[1] : 0=off, 1=on
- CartSt[1] : 0=off, 1=on, 2=unknown
- LiftSt[1] : 0=down , 1=up, 2=unknown
- LastTag[6] : "000000"
- CurrentPath[1] : Path ID , 0=미설정, 1~255(순차증가)
4. **Door** 4. **Door**
- H -> E | cmd(1): 출입문 열기 - H -> E | cmd(1): 출입문 열기
- H -> E | cmd(2): 출입문 닫기 - H -> E | cmd(2): 출입문 닫기
- E -> H | cmd(3): 출입문 상태 (data len=1 : 1=열림, 0=닫힘) - E -> H | cmd(3): 출입문 상태 (data len=1 : 0=닫힘, 1=열림, 2=바쁨, 3=알수없음, 255=오류)
### CRC16 계산 ### CRC16 계산
- CRC16 다항식 사용 - CRC16 다항식 사용