..
This commit is contained in:
44
ReadMe.MD
44
ReadMe.MD
@@ -38,7 +38,7 @@ This README provides a comprehensive overview of the `ENIGProtocol` library, mak
|
||||
|
||||
## 장비 목록
|
||||
```
|
||||
public enum DeviceType
|
||||
public enum DeviceType : byte
|
||||
{
|
||||
ACS = 0,
|
||||
AGV1 = 10,
|
||||
@@ -53,9 +53,10 @@ public enum DeviceType
|
||||
```
|
||||
### 기본 패킷 구조
|
||||
```
|
||||
[STX][LEN][CMD][DATA][CRC16][ETX]
|
||||
[STX][LEN][ID][CMD][DATA][CRC16][ETX]
|
||||
```
|
||||
- **STX (Start of Text)**: 0x02
|
||||
- **ID (Client ID)**: 데이터 길이 (1바이트) : 디바이스식별코드(=DeviceType)
|
||||
- **LEN (Length)**: 데이터 길이 (1바이트) = {CMD+DATA}
|
||||
- **CMD (Command)**: 명령어 코드 (1바이트)
|
||||
- **DATA**: 명령어에 따른 데이터 (가변 길이)
|
||||
@@ -71,44 +72,39 @@ public enum DeviceType
|
||||
|
||||
|
||||
2. **Buffer**
|
||||
- E -> H | cmd(3): 상태 (data len=1 : 0=카트없음, 1=카트있음, 2=바쁨, 3=알수없음, 255=오류)
|
||||
- E -> H | cmd(3): 상태 (data len=1 : 0=카트없음, 1=카트있음, 2=바쁨, 3=알수없음, 255=오류)
|
||||
- H -> E | cmd(1): Lock
|
||||
- Target[1] = {DeviceType}
|
||||
- H -> E | cmd(2): UnLock
|
||||
- Target[1] = {DeviceType}
|
||||
|
||||
3. **AGV**
|
||||
- H -> E | Move : cmd(100) : 대상태그까지 이동(자동이동)
|
||||
- TagID[6] = 000000
|
||||
- Target[1] = {DeviceType}
|
||||
- TagID[4] = 0000
|
||||
- H -> E | Stop : cmd(101) : 멈춤
|
||||
- H -> E | Reset : cmd(102) : 오류 소거
|
||||
- H -> E | Charge On: cmd(103) : 충전실행(충전기 이동 후 자동 충전 진행)
|
||||
- Target[1] = {DeviceType}
|
||||
- Action[1] : 0=Charge Off, 1=Charge On
|
||||
- H -> E | MoveManual : cmd(104) : 메뉴얼이동
|
||||
- Target[1] = {DeviceType}
|
||||
- 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) : 마크센서스톱
|
||||
- Target[1] = {DeviceType}
|
||||
|
||||
- H -> E | Lift Control : cmd(106) : 리프트제어
|
||||
- Target[1] = {DeviceType}
|
||||
- Action[1] : 0=STOP, 1=UP, 2=DOWN
|
||||
|
||||
- H -> E | ClearPath : cmd(107) : 설정된 경로를 삭제(기동중에 수신되는 경우 강제 정지)
|
||||
|
||||
- E -> H | Move Complete : cmd(1) : 목적지이동완료 후 전송
|
||||
- TagID[4] : "0000"
|
||||
- E -> H | TagID Received : cmd(2) : 태그값 인식시 전송
|
||||
- TagID[4] : "0000"
|
||||
|
||||
- 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) : 목적지이동완료 후 전송
|
||||
- TagID[6] : "000000"
|
||||
- E -> H | TagID Received : cmd(3) : 태그값 인식시 전송
|
||||
- TagID[6] : "000000"
|
||||
|
||||
- E -> H | Status : cmd(9)
|
||||
- E -> H | Status : cmd(3)
|
||||
- Mode[1] : 0=manual, 1=auto
|
||||
- RunSt[1] : 0=stop, 1=run, 2=error
|
||||
- Diection[1] : 0=straight, 1=left, 2=right, 3=markstop
|
||||
@@ -116,7 +112,7 @@ public enum DeviceType
|
||||
- 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"
|
||||
- LastTag[4] : "0000"
|
||||
- CurrentPath[1] : Path ID , 0=미설정, 1~255(순차증가)
|
||||
|
||||
4. **Door**
|
||||
|
||||
Reference in New Issue
Block a user