문서번호
통제구분	Controlled Copy

비밀 구분

Rev.1.0

인터페이스 정의서

공통

2014. 05.

포항시 광역교통체계

개선사업(UTIS)

포항시 광역교통체계 개선사업(UTIS)

인터페이스 정의서

(공통)

개정 현황
Rev.1.0	2014. 05.	최초작성	한호연
개정 번호	일자	변경사유	작성	검토	승인

- 목 차 -

제1장 센터 시스템 간 인터페이스 정의	1

1. 개요	1

2. 통신환경 설정	1

3. 기본 프레임 형식	1

4. 시스템 정의	1

5. 프로토콜 목록	2

1) 명령어 목록	2

6. 상세 프로토콜	3

1) 교통정보가공완료	3

제2장 CCTV 인터페이스 정의	4

1. 개요	4

2. 통신구성	4

3. 메시지 구조	6

1) 명령 메시지 구조	6

2) 응답 메시지 구조	6

3) 제어기 기본 상태 정보 (STATUS)	6

4) 명령 코드(OPCODE)	7

5) 제어기 상태정보 요청	8

6) 제어기 H/W Reset (Power Reset)	9

7)  제어기 S/W Reset	9

8) 환경 Parameter(Fan/Heater 동작온도) 설정	10

9) 환경 Parameter(Fan/Heater 동작온도) 요구	10

10) 촬상부 제어( P/T, Lens 제어)	11

11) Preset Value 이동	12

12)  Preset Value 입력	13

13) Preset Value 선택	13

14) Preset Value 삭제	14

15) Preset 조회	14

16) 고정문자 표출환경 설정	15

17) 가변문자 표출환경 설정	16

18) 설정 문자 지우기	17

제3장 VMS 인터페이스 정의	18

1. 개요	18

2. 가변정보표지판 제어흐름	18

3. VMS PROTOCOL 개요	19

1) Display Library Message	24

2) Display Schedule Message	25

3) Blank	25

4) Status Request	26

5) Sign board power control	27

6) 폼데이터 표출	27

7) VMS 상태제어	31

8) VMS Status 요구	34

9) Download Schedule Form	35

제1장 센터 시스템 간 인터페이스 정의

포항시 광역교통체계 개선사업(UTIS)

	인터페이스 정의서	문서번호 :
		개정번호 : Rev.1.0
	공통
		쪽 번 호 : 쪽

1. 개요

센터 내부의 프로세스 간 인터페이스는 Packet통신을 이용하며, 통신 방식 및 구성은 본 문서에 정의된 형식을 따른다.

2. 통신환경 설정

- Packet의 최대 사이즈는 1024byte로 제한하며 업무의 특성상 대용량(1024byte 이상) 데이터를 전송하여야 할 경우에는 Multi Packet 구조로 나눠서 전송하도록 한다.

- Byte Ordering은 Big Endian 방식(UNIX Byte order)을 사용한다.

- 기본 포트번호 : 4602

3. 기본 프레임 형식

항목		크기	내용
Header	송신 시스템	1 BYTE	송신 system ID
	수신 시스템	1 BYTE	수신 system ID
	전체 프레임 갯수	1 BYTE	멀티 패킷인 경우 사용. 아니면 1
	현재 프레임 번호	1 BYTE	멀티 패킷인 경우 사용. 아니면 1
	Reserved	1 BYTE	Reserved
	명령어	1 BYTE	opcode
	길이	4 BYTE	데이터의 길이
Body	데이터	N BYTE	내부 패킷

4. 시스템 정의

- 통신대상은 시스템 ID로 구분하고, 세부 프로세스는 PORT로 구분한다.

시스템 ID	명칭	PORT	통신방식	비고
0x01	가공서버	4602	UDP
0x02	신호제어서버
0x03	신호통신서버
0x04	VDS 서버
0x05	AVI 서버
0x06	DSRC 서버
0x07	VMS 서버
0x08	CCTV 서버
0x09	WEB 서버
0x0A	UTIS 서버
0x0B	기상청 연계 서버
0x0C~0x20	Reserved			서버시스템 ID 예비코드
0x21	통합운영단말
0x22	상황판운영단말
0x23	신호운영단말
0x24	VDS운영단말
0x25	AVI운영단말
0x26	DSRC운영단말
0x27	VMS운영단말
0x28	CCTV운영단말
0x29	시설물관리단말
0X2A	UTIS관리단말
0x2B~0x30	Reserved			운영단말시스템 ID 예비코드

5. 프로토콜 목록

1) 명령어 목록

순번	명령어	내용	송신	수신	비고
1	0x01	교통정보가공완료	가공서버	통합운영단말 상황판운영단말	UDP

6. 상세 프로토콜

1) 교통정보가공완료

구분	항목	크기	값/내용
Header	송신 시스템	1 BYTE	0x01
	수신 시스템	1 BYTE	0x21, 0x22
	전체 프레임 갯수	1 BYTE	1
	현재 프레임 번호	1 BYTE	1
	Reserved	1 BYTE	-
	명령어	1 BYTE	0x01
	길이	4 BYTE	0
Body	데이터	N BYTE	-

제2장 CCTV 인터페이스 정의

1. 개요

본 프로토콜은 센터 제어서버와 현장 CCTV 제어기(리시버)의 인터페이스 사양과 제어 운영방식 및 그 상세 프로토콜 규약을 정의한다. 센터 제어서버와 현장 제어기는 이더넷 기반의 TCP/IP 및 시리얼 통신을 동시에 지원한다. 즉 NVR 혹은 VIEWER 서버(시리얼 인터페이스) 및 제어 서버(이더넷 인터페이스)의 제어 명령 모두를 CCTV 제어기는 수용한다. 다만 각 인터페이스의 제어 우선순위는 센터 내부적으로 결정되어야 한다. 통신 프로토콜은 본선 및 터널 공용으로 적용되며 각 특성에 따라 적용되지 않는 내용은 센터 내부적으로 배제한다.

2. 통신구성

* 에러체크

에러체크를 위한 CRC-16은 DLE Stuffing하기 이전의 어드레스, 명령코드, 데이터 SIZE 및 데이터를 이용 계산한다. IEEE의 표준 CRC-16 생성은 다음과 같다.

X16+X15+X2+1

<CRC-16 Source Code>

unsigned int Crc16(unsigned char* rdata, unsigned int len)

{

int i,n;

unsigned int wCrc = 0xffff;

unsigned int wCh;

for(i=0; i<len; i++)

{

wCh = (uword) *(rdata+i);

for( n=0;n<8;n++)

{

if((wCh^wCrc) & 0x0001)  wCrc = (wCrc >> 1) ^ 0xa001;

else wCrc >>=1;

wCh >>=1;

}

}

return wCrc;

}

* BYTE ORDERING

구성된 통신 프레임의 왼쪽부터 먼저 전송하거나 WORD의 High Byte를 먼저 전송한다. 다시 말해, 어드레스, Multi-Byte Data 및 CRC-16 등은 먼저 High-Order Byte를 전송한다.

* DLE STUFFING

HEADER와 TAIL을 제외한 데이터 영역에 DLE와 같은 데이터가 존재하면 DLE를 추가하여 전송한다.

* 프로토콜 운영방식

모든 프로토콜 운영은 CCTV 제어기(리시버)가 서버가 되고 제어서버가 클라이언트가 된다.

제어 명령은 두 가지 유형으로 상태정보 등 주기적 요청과 촬상부 제어 등 사용자 개입제어 명령으로 구분 된다. 또한 제어기의 모든 응답 프레임은 기본 상태정보를 포함한다.

제어기는 서버가 되며 Multi Listen을 제공한다. 가장 마지막 접속 및 통신성공(프로토콜에 맞는 명령을 송신 한)한 클라이언트가 주 클라이언트가 되며, 이전 클라이언트는 통신을 끊는 방식으로 운영되어야 한다

3. 메시지 구조

1) 명령 메시지 구조

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	DATA	DLE	ETX	CRC
0	1	2~3	4	4+N	5+N	6+N	7&8+N

구분		내용	값	형식	크기
HEADER	DLE	Data Link Escape	0x10	Byte	1
	STX	Start Transmission	0x02	Byte	1
IDENTIFIER	ADDR	제어기 어드레스	가변	Byte	2
	CODE	명령 메시지 유형	가변	Byte	1
DATA	DATA	명령유형에 따른 데이터	가변	Byte	N
TAIL	DLE	Data Link Escape	0x10	Byte	1
	ETX	End Transmission	0x03	Byte	1
CRC	CRC	CRC-16 에러체크	가변	Byte	2

2) 응답 메시지 구조

HEADER		IDENTIFIER		STATUS	DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DATA	DLE	ETX	CRC
0	1	2~3	4	5~8	8+N	9+N	10+N	11&12+N

구분		내용	값	형식	크기
HEADER	DLE	Data Link Escape	0x10	Byte	1
	STX	Start Transmission	0x02	Byte	1
IDENTIFIER	ADDR	제어기 어드레스	가변	Byte	2
	CODE	명령 메시지 유형	가변	Byte	1
STATUS	STATUS	기본 제어기 상태 정보	가변	Byte	4
DATA	DATA	명령유형에 따른 데이터	가변	Byte	N
TAIL	DLE	Data Link Escape	0x10	Byte	1
	ETX	End Transmission	0x03	Byte	1
CRC	CRC	CRC-16 에러체크	가변	Byte	2

3) 제어기 기본 상태 정보 (STATUS)

구분		내용
BYTE1	Bit 0	Door 개폐상태(0:닫힘, 1:열림)
	Bit 1	Video Input(0:정상, 1:fail)
	Bit 2	Fan On(0:off, 1:on)
	Bit 3	Heater On(0:off, 1:on
	-	-
	-	-
	-	-
	-	-
BYTE2	-	Reserved 1
BYTE3	-	Reserved 2
BYTE4	-	Reserved 3

4) 명령 코드(OPCODE)

CODE	내용	구분	비고
0x20	제어기 상태정보 요청	Polling	상태정보요청, 상태정보전송 방식
0x21	제어기 H/W Reset(Power Reset)	개입제어
0x22	제어기 S/W Reset	개입제어
0x23	환경 Parameter 설정	개입제어	Fan/Heater 동작 설정
0x24	환경 Parameter 요구	개입제어	동작 설정값 요청
0x30	촬상부 제어(P/T, Lens제어)	개입제어	P/T/Z/F Go/Stop
0x31	Preset Value 이동	개입제어	P/T/Z/F Value로 이동
0x33	Preset Value 입력	개입제어	P/T/Z/F Value를 입력
0x34	Preset Value 선택	개입제어	P/T/Z/F Value를 선택
0x35	Preset Value 삭제	개입제어	P/T/Z/F Value를 삭제
0x36	Preset Value 조회	개입제어	P/T/Z/F Value를 조회
0x41	고정문자 표출 환경 설정	개입제어	-
0x42	가변문자 표출 환경 설정	개입제어	-
0x43	설정 문자 지우기	개입제어	-

O : 해당사항

△ : 해당사항에 대하여 대응 가능함

5) 제어기 상태정보 요청

이 메시지를 수신한 제어기는 현장 장비의 운영 상세정보를 전송한다. 상태정보는 제어서버(클라이언트)가 요청하는 경우 정보를 반환하는 방식(Sync)과 제어기에서 특정 이벤트 혹은 주기 시 상태정보를 반환하는 방식으로 운영된다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Status Sync	DLE	ETX	CRC
0	1	2~3	4	5~6	7	8	9&10

- ADDR : CCTV 제어기 어드레스

- CODE :  0x20

- Status Sync : 상태정보 반환 동작 설정

- TOTAL SIZE = 11 Byte

< Status Sync >

* Event 방식의 경우 On/Off만 설정함, 함체온도/도어개폐/PTZF 상태값 변화 및 변화치 등의 Event 목록은 제어기 단에서 설정해야함

Sync Freq	Event
0: 요청 시 현재 상태정보 반환 1~250: Second 단위 주기로 상태정보 반환 255: 주기 상태정보 반환 해지	0 : Event 동작 해지 1 : Event 상태정보 동작

* RESPONSE

HEADER		IDENTIFIER		DATA		TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	Information	DLE	ETX	CRC
0	1	2~3	4	5~8	9~20	21	22	23&24

- ADDR : CCTV제어기 어드레스

- CODE : 0x20

- STATUS : 제어기 정보(4Byte)

- Information : 각종 정보(8Byte)

- TOTAL SIZE = 25 Byte

BYTE	내용	범위	단위	비고
9~10	온도 값	-45~+127	℃	온/습도센서
11~12	전원값	-	-	-
13~14	Pan	0~1024	0점 대비 상대값	PTZF
15~16	Tilt	0~1024	0점 대비 상대값	PTZF
17~18	Zoom	0~1024	0점 대비 상대값	PTZF
19~20	Fucous	0~1024	0점 대비 상대값	PTZF

6) 제어기 H/W Reset (Power Reset)

이 메시지를 수신한 제어기는 전체 시스템 Power Reset를 수행한 후 응답 메시지를 보낸다.

HEADER		IDENTIFIER		TAIL		CRC
DLE	STX	ADDR	OPCODE	DLE	ETX	CRC
0	1	2~3	4	5	6	7&8

* COMMAND

- ADDR : CCTV 제어기 어드레스

- OPCODE :  0x21

- TOTAL SIZE = 9 Byte

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV제어기 어드레스

- CODE : 0x21

- STATUS : 상태 정보(4Byte)

- TOTAL SIZE = 13 Byte

7)  제어기 S/W Reset

이 메시지를 수신한 제어기는 S/W Reset를 수행한 후 응답 메시지를 보낸다.

HEADER		IDENTIFIER		TAIL		CRC
DLE	STX	ADDR	OPCODE	DLE	ETX	CRC
0	1	2~3	4	5	6	7&8

* COMMAND

- ADDR : CCTV 제어기 어드레스

- OPCODE :  0x22

- TOTAL SIZE = 9 Byte

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV제어기 어드레스

- CODE : 0x22

- STATUS : 상태 정보(4Byte)

- TOTAL SIZE = 13 Byte

8) 환경 Parameter(Fan/Heater 동작온도) 설정

제어기는 수신된 Parameter를 저장하고 Parameter값에 따라 현장장비의 환경을 조정한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Env Param	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x23

- TOTAL SIZE = 13 Byte

구분	내용
Byte 4	FAN On 온도(0~100) (Default : 30)
Byte 5	FAN Off 온도(0~100) (Default : 25)
Byte 6	Heater On 온도(0~100) (Default : 5)
Byte 7	Heater Off 온도(0~100) (Default : 10)

* RESPONSE

HEADER		IDENTIFIER		DATA		TAIL		CRC
DLE	STX	ADDR	OPCODE	Status	Env Param	DLE	ETX	CRC
0	1	2~3	4	5~8	9~12	13	14	15&16

- ADDR : CCTV제어기 어드레스

- CODE : 0x23

- STATUS : 제어기 정보(4Byte)

- TOTAL SIZE = 17 Byte

구분	내용
Byte 9	FAN On 설정 온도
Byte 10	FAN Off 설정 온도
Byte 11	Heater On 설정 온도
Byte 12	Heater Off 설정 온도

9) 환경 Parameter(Fan/Heater 동작온도) 요구

제어기는 수신된 Parameter를 저장하고 Parameter값에 따라 현장장비의 환경을 조정한다.

* COMMAND

HEADER		IDENTIFIER		TAIL		CRC
DLE	STX	ADDR	OPCODE	DLE	ETX	CRC
0	1	2~3	4	5	6	7&8

- ADDR : CCTV 제어기 어드레스

- CODE :  0x24

- TOTAL SIZE = 9 Byte

* RESPONSE

HEADER		IDENTIFIER		DATA		TAIL		CRC
DLE	STX	ADDR	OPCODE	Status	Env Param	DLE	ETX	CRC
0	1	2~3	4	5~8	9~12	13	14	15&16

- ADDR : CCTV제어기 어드레스

- CODE : 0x24

- STATUS : 제어기 정보(4Byte)

- TOTAL SIZE = 17 Byte

구분	내용
Byte 11	FAN On 설정 온도
Byte 12	FAN Off 설정 온도
Byte 13	Heater On 설정 온도
Byte 14	Heater Off 설정 온도

10) 촬상부 제어( P/T, Lens 제어)

이 메시지를 수신한 제어기는 촬상부를 요구명령에 따라 제어한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	제어 DATA	DLE	ETX	CRC
0	1	2~3	4	5~9	10	11	12&13

- ADDR : CCTV 제어기 어드레스

- CODE :  0x30

- TOTAL SIZE = 14

BYTE	내용	설정값
5	P/T, LENS CONTROL	각 항목별 2Bit 할당
6	PAN SPEED	SPEED : 0~64
7	TILT SPEED	SPEED : 0~64
8	ZOOM SPEED	SPEED : 0~64
9	FOCUS SPEED	SPEED : 0~64

- P/T, Lens Control(Byte 5)

구분	해당 Bit	내용
Pan	Bit0~Bit1	0: Stop 1 : Left 2 : Right
Tilt	Bit2~Bit3	0: Stop 1 : Up 2 : Down
Zoom	Bit4~Bit5	0: Stop 1 : In 2 : Out
Focus	Bit6~Bit7	0: Stop 1 : Near 2 : Far

- Byte 6 ~ Byte 9

각 해당 항목별로 제어 속도 값으로 0~64 범위 내에서 가변속도를 지원한다.

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x30

- TOTAL SIZE = 13 Byte

11) Preset Value 이동

이 메시지를 수신한 제어기는 해당되는 PRESET 값의 위치로 촬상부를 제어한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5-12	13	14	15&16

- ADDR : CCTV 제어기 어드레스

- CODE :  0x31

- TOTAL SIZE = 17 Byte

BYTE	내용	설정값
5-6	Pan Preset Value	0: Don't move, n: Preset Value
7-8	Tilt Preset	0: Don't move, n: Preset Value
9-10	Zoom Preset	0: Don't move, n: Preset Value
11-12	Focus Preset	0: Don't move, n: Preset Value

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x31

- TOTAL SIZE = 13 Byte

12)  Preset Value 입력

Preset 입력은 해당 CCTV의 영상을 통하여 위치를 입력하면 Preset 설정 번호와 함께 해당 CCTV제어기에 전송한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5~13	14	15	16&17

- ADDR : CCTV 제어기 어드레스

- CODE :  0x33

- TOTAL SIZE = 18 Byte

- Data:

BYTE	내용	설정값
5-6	Pan Preset Value	n: Preset Value
7-8	Tilt Preset	n: Preset Value
9-10	Zoom Preset	n: Preset Value
11-12	Focus Preset	n: Preset Value
13	Preset No	프리셋 번호(1~10)

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x33

- TOTAL SIZE = 13 Byte

13) Preset Value 선택

CCTV　영상부의 Preset 위치를 설정하여 Preset 명령 수행시 해당 위치로 이동한다. Preset 설정은 해당 CCTV의 영상을 통하여 위치를 선정하면 Preset 설정 번호와 함께 해당 CCTV제어기에 전송한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5	6	7	8&9

- ADDR : CCTV 제어기 어드레스

- CODE :  0x34

- TOTAL SIZE = 10 Byte

- DATA : Preset No(1~10)

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x34

- TOTAL SIZE = 13 Byte

14) Preset Value 삭제

CCTV　제어기에 해당되는 Preset 정보를 지운다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5	6	7	8&9

- ADDR : CCTV 제어기 어드레스

- CODE :  0x35

- TOTAL SIZE = 10 Byte

- DATA : Preset No(1~10)

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x35

- TOTAL SIZE = 13 Byte

15) Preset 조회

이 메시지를 수신한 CCTV 제어기는 요구 Preset 번호에 해당하는 값을 전송한다. Preset 번호가 0x00인 경우는 현재 값을 전송한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5	6	7	8&9

- ADDR : CCTV 제어기 어드레스

- CODE :  0x36

- TOTAL SIZE = 10 Byte

- DATA : Preset No(1~10)

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5~12	13	14	15&16

- ADDR : CCTV 제어기 어드레스

- CODE :  0x36

- TOTAL SIZE = 17 Byte

- Data:

BYTE	내용	설정값
5-6	Pan Preset Value	0: Don't move, n: Preset Value
7-8	Tilt Preset	0: Don't move, n: Preset Value
9-10	Zoom Preset	0: Don't move, n: Preset Value
11-12	Focus Preset	0: Don't move, n: Preset Value

16) 고정문자 표출환경 설정

이 메시지를 수신한 CCTV 제어기는 문자발생기에 고정문자 표출 환경을 설정하고 저장한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	n	5+n	6+n	7&8+n

- ADDR : CCTV 제어기 어드레스

- CODE :  0x41

- TOTAL SIZE = 9+n Byte

-DATA

문자초기화

구 분	내 용	범 위
Byte 5	Length	0x02
Byte 6	Command	0x01
Byte 7	Category	0x01

글자 표시

구 분	내 용	범 위
Byte 5	Length	5+N
Byte 6	Command	0x02(작은 글자) 0x03(중간 글자) 0x04(큰 글자)
Byte 7~8	X Position	0~1280
Byte 9~10	Y Position	0~720
Byte N	Character	N Byte

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x41

- TOTAL SIZE = 13 Byte

17) 가변문자 표출환경 설정

이 메시지를 수신한 CCTV 제어기는 문자발생기에 가변문자 표출 환경을 설정하고 저장한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	n	5+n	6+n	7&8+n

- ADDR : CCTV 제어기 어드레스

- CODE :  0x42

- TOTAL SIZE = 9+n Byte

-DATA

구 분	내 용	범 위
Byte 5	Sector No.	0~6
Byte 6	Start Pan High Value	0~1024
Byte 7	Start Pan Low Value
Byte 8	End Pan High Value	0~1024
Byte 9	End Pan Low Value
Byte 10	CH1 Character Size	Small: 0x02, Middle:0x03, Large:0x04
Byte 11~12	CH1 X Position Value	0~1280
Byte 13~14	CH1 Y Position Value	0~720
Byte 15	CH1 Character Length	N byte
Byte 16	CH2 Character Size	Small: 0x02, Middle:0x03, Large:0x04
Byte 17~18	CH2 X Position Value	0~1280
Byte 19~20	CH2 Y Position Value	0~720
Byte 21	CH2 Character Length	M byte
Byte N	CH1 Character	Max: 16char(kor),32char(eng)
Byte M	CH2 Character	Max: 16char(kor),32char(eng)

● Sector 0번은 Sector 1부터 Sector 6까지 지정 되어 있지 않은 영역에서 문자가 표출됩니다.

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x42

- TOTAL SIZE = 13 Byte

18) 설정 문자 지우기

이 메시지를 수신한 CCTV 제어기는 현재 화면상에 표출된 문자를 삭제한다.

* COMMAND

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	Data	DLE	ETX	CRC
0	1	2~3	4	5~7	8	9	10&11

- ADDR : CCTV 제어기 어드레스

- CODE :  0x43

- TOTAL SIZE = 12 Byte

-DATA

구 분	내 용	범 위
Byte 5	Length	0x02
Byte 6	Command	0x01
Byte 7	Category	Sector No.

* RESPONSE

HEADER		IDENTIFIER		DATA	TAIL		CRC
DLE	STX	ADDR	OPCODE	STATUS	DLE	ETX	CRC
0	1	2~3	4	5~8	9	10	11&12

- ADDR : CCTV 제어기 어드레스

- CODE :  0x43

- TOTAL SIZE = 13 Byte

제3장 VMS 인터페이스 정의

1. 개요

가변정보 표지판(VMS)는 다음과 같은 목적을 달성하기 위하여 고속도로와 주변도로에 설치한다.

- 비 일상적이고 불안정한 도로조건 및 교통상황을 운전자에게 사전에 알려 잠재적인 문제에 주의하게 하며

- 대체도로가 있을 경우 혼잡한 도로에서 혼잡하지 않은 다른 도로로 교통류를 우회시켜 고속도로상의 교통혼잡을 원활하게 하고

- 고속도로간 또는 고속도로-국도간 교통량의 균형을 이루게 하여 안전하고 쾌적한 고속주행의 실현에 목적이 있다. 따라서, VMS는 전방의 교통상황 및 대체도로의 교통상황, 교통사고 정보, 차선 이용 안내, 기상정보등을 간단명료한 형태로 표지판에 표시하여 고속도로 이용자에게 제공하여야 한다.

2. 가변정보표지판 제어흐름

3. VMS PROTOCOL 개요

- 문자식 / 도형식

DLE	STX	ADDR	OPCODE	DATA FIELD [N]	DLE	ETX	CRC-16
0	1	2-3	4	N	5+N	6+N	7+N & 8+N

예

데이터 필드 부분

송신 Frame No.	전체 Frame No.	Data Length	Data
5	6	7-10	n

OP Code에 따라서 송․수신되는 데이터의 내용으로 ACK, NAK 또는 요구데이터가 들어있다.

※ VMS서버에서 생성되는 폼은 32X32을 기준으로 작성되어 VMS제어기로 전송한다.

● DLE/STX    : [FRAME HEADER]

메시지의 시작 부분 (각 1 BYTE)

DLE = 10H

STX = 02H

● ADDRESS    : CONTROLLER STATION NUMBER (2 BYTE)

[BYTE 1]   GROUP NUMBER

[BYTE 2]   CONTROLLER NUMBER

● OPCODE     : COMMAND/REPLY MESSAGE TYPE

● DATA FIELD : OPCODE 의 종류별로 상이함

(DLE stuffing is conformed to BSC protocol rule.)

● DLE/ETX    : [FRAME TERMINATOR]

메시지의 끝부분 (각 1 BYTE)

DLE = 10H

ETX = 03H

● CRC-16 : IEEE'S STANDARD CYCLIC REDUNDANCY CHECK CODE(2BYTE)

Polynominal = X ^ 16 + X ^ 15 + X ^ 2 + 1

● DATA FIELD 의 크기는 OPCODE 별로  유동적임

●  OPCODE 종류

- 문자식 [ 1( 0x01) ~ 127( 0x7f ) ]

1)  Display Immediate Text               Opcode = 2  [0x02]  ⇔ Opcode = 72 [0x48]

2)  Display Immediate graphics            Opcode = 4  [0x04]  ⇔ Opcode = 72 [0x48]

3)  Display Library Message              Opcode = 6  [0x06]  ⇔ Opcode = 72 [0x48]

4)  Download  A Message Library        Opcode = 8  [0x08]  ⇔ Opcode = 72 [0x48]

5)  Download Graphics Library           Opcode = 10 [0x0A]  ⇔ Opcode = 72 [0x48]

6)  Download Graphic Symbol Library    Opcode = 12 [0x0C]  ⇔ Opcode = 72 [0x48]

7)  Display Schedule Message            Opcode = 14 [0x0E]  ⇔ Opcode = 72 [0x48]

8)  Initailize                              Opcode = 18 [0x12]  ⇔ Opcode = 72 [0x48]

9)  Display Test Pattern                  Opcode = 20 [0x14]  ⇔ Opcode = 72 [0x48]

10) Blank                                Opcode = 22 [0x16]  ⇔ Opcode = 72 [0x48]

11) Status Request                       Opcode = 24 [0x18]  ⇔ Opcode = 64 [0x40]

12) Failed Element Data Request         Opcode = 26 [0x1A]  ⇔ Opcode = 66 [0x42]

13) Download Parameter                  Opcode = 28 [0x1C]  ⇔ Opcode = 72 [0x48]

14) Display Default Message              Opcode = 30 [0x1E]  ⇔ Opcode = 72 [0x48]

15) Set Luminance Level                  Opcode = 32 [0x20]  ⇔ Opcode = 72 [0x48]

16) Upload A Message                    Opcode = 34 [0x22]  ⇔ Opcode = 68 [0x44]

('96. 12. 17 추가)

17) Upload Schedule Message             Opcode = 35 [0x23]  ⇔ Opcode = 69 [0x45]

('96. 12. 17 추가)

18) Signboard Power Control              Opcode = 36 [0x24]  ⇔ Opcode = 72 [0x48]

19) Message Echo Back                  Opcode = 38 [0x26]  ⇔ Opcode = 70 [0x46]

20) Upload Module Status                Opcode = 40 [0x28]  ⇔ Opcode = 74 [0x4A]

('98. 12.  추가)

21) Signboard Alarm Control             Opcode = 42 [0x2A]  ⇔ Opcode = 72 [0x48]

(‘01. 4. 터널관리용으로 추가)

22) Program Download                   Opcode = 77 [0x4D]

('98. 12.  추가)

23) 영상이미지 요청 Status               Opcode = 44 [0x2C]  ⇔ Opcode = 76 [0x4C]

(‘04.  8.  추가)

24) 동영상 파일 FTP 다운로드            Opcode = 44 [0x2C]  ⇔ Opcode = 72 [0x48]

25) 동영상 파일 FTP 다운로드 완료         Opcode = 46 [0x2E]

- 도형식 [ 128 ( 0x80 ) ~ (0xff) ]

OP CODE	명 칭	센터	설 명	방 향
0x80	폼 데이터 표출	송신	표출할 폼 데이터 송신	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0x82	데이터 다운로드	송신	INI, CFG , Bitmap , Data파일송신	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0x84	데이터 업로드	송신	INI, CFG , Bitmap , Data파일 업로드 요구	센터 → VMS
		수신	업로드 데이터 전송	센터 ← VMS
0x86	VMS 상태제어	송신	VMS 제어정보 송신	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0x88	VMS Status 요구	송신	VMS 상태정보 요구 송신	센터 → VMS
		수신	상태 데이터 응답	센터 ← VMS
0x8A	VMS 파라미터 요구	송신	VMS 로컬 상태 요구 송신	센터 → VMS
		수신	로컬 상태 데이터 응답	센터 ← VMS
0x8C	전원 모듈 상태 요구	송신	전원 모듈 상태를 검사 결과를 요청한다	센터 → VMS
		수신	전원 모듈 상태 데이터 응답	센터 ← VMS
0x8E	표출 모듈 상태 요구	송신	표출 모듈 상태를 검사 결과를 요청한다	센터 → VMS
		수신	표출 모듈 상태 데이터 응답	센터 ← VMS
0x92	VMS Pixel Image 요구	송신	VMS LED Pixel 상태요구 송신	센터 → VMS
		수신	현재표출중인 LED 상태 Pixel 송신	센터 ← VMS
0x94	현재표출폼 Upload	송신	Local에서 표출 중인 폼 Upload요구	센터 → VMS
		수신	현재표출중인 전체폼 송신	센터 ← VMS
0x96	Display Schedule Form	송신	계획된 Form 표출 요구	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0x98	Display Default Form	송신	디폴트 From표출 요구	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0x9A	Download Form	송신	Form download	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0x9C	Upload Schedule Form	송신	스케줄 메시지 업로드 요구	센터 → VMS
		수신	스케줄 메세지 전송	센터 ← VMS
0x9E	Blank	송신	schedule 표출	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS
0xA0	Display Form ID	송신	Form ID에 해당하는 Form 표출	센터 → VMS
		수신	수신 여부 응답( ACK/NAK )	센터 ← VMS

0xA1 : 동영상 파일 FTP 다운로드

0xA2 : 동영상 파일 FTP 다운로드 완료

나. 응답 메시지 구조

DLE	STX	ADDR	OPCODE	STATUS	DATA FIELD [N]	DLE	ETX	CRC-16
0	1	2-3	4	5 & 6	7	7+N	8+N	9+N & 10+N

● OPCODE 종류

(1) 제어기 상태 보고                    Opcode = 64 [0x40]

(2) 모듈별 고장상태 보고                Opcode = 66 [0x42]

(3) Upload A Message                    Opcode = 68 [0x44]

(4) Upload Schedule Message             Opcode = 69 [0x45]

(추가 : '96. 12. 17)

(5) Echo 메시지 Up-load                 Opcode = 70 [0x46]

(6) ACK/NAK 응답                        Opcode = 72 [0x48]

(7) Upload 영상이미지                   Opcode = 76 [0x4C]

- 도형식

ACK, NAK 송신

1) ACK 전송

ACK 전송시에는 Data Field에 ACK값(0x06)을 추가하여 결과를 전송한다.

2) NAK 전송

NAK전송시에는 DataField에 NAK값(0x15)를 추가하여 전송하고 추가로 오류사유를 아래와 같이 추가하여 전송한다. DATA Field : NAK( 0x15 + 오류사유 )

NAK(0x15) + 오류사유코드(1Byte).

오류코드	오류사유	비 고
0x30	Data Length가 2,047 Byte 보다 크면 보고되는 오류
0x31	Data Length 이후의 데이터가 Data Length + 5Byte가 되지 않는 오류
0x32	데이터 크기 불일치
0x33	작업이전 작업 진행중 작업요구
0x34	파라미터 범위 초과
0x35	저장되지 않은 폼데이터 요구
0x36	업무처리 해당사항 없음	알수없는 OpCode
0x37	STN Address 틀림
0x38~9F	예비	특성에 맞게 정의함

STX 수신 후 데이터 오류 검사

OP Code가 0이면 오류로 판단하여 데이터를 버리고 다시 STX를 기다린다.

송신 Frame No > 전체 Frame No 이면  오류로 판단하여 데이터를 버리고 다시 STX를 기다린다.

ACK/NAK 또는 데이터 응답 시 OPCODE, FRAME NO는 수신 받은 데이터로 응답한다. 단, 서버에서 송신한 STN address는 로컬에서 자신의 고유 STN adress로 응답한다.

1) Display Library Message

Library message의 표시를 요구한다. Message number는 요구시 함께 보낸다.  Dynamic 정보(Text message)는 message에 덧붙여 완벽하게 표시되어야 한다.  만약 library message가 Non fill-in message이면 download 된대로 표시한다.

만약 library message가 Fill-in message이고 escape sequence가 Fill-in data 크기만큼 제공되지 않는다면 이 명령은 거절한다. Display Time은 Forever이다.

● COMMAND

- OPCODE (MESSAGE TYPE) =    6  [0x06]

- TOTAL MESSAGE SIZE    =  431  BYTES

- DATA BYTE

[BYTE 1 - 2]    =   라이브러리 메시지 번호

[BYTE 3 - 422]  =   fill-in 데이타

(Escape Sequence/KSC5601(2byte code))

※ Fill-In을  구분하기 위해서  각 Fill-In 사이에는  0x1b/0x50

(개행문자)으로 구분한다.

0x06       :  OPCODE 6번 (라이브러리 메시지 출력 명령)

0x03 0x29  :  라이브러리 메시지 번호 #1001

양재 0x1b 0x50 서초 0x1b 0x50 0x00 ... 0x00  0x00  0x00

개행문자       개행문자

└────→  Byte 3 - 422  Fill-In 데이타  ←────┘

※ VMS 제어기는 Fill-In 지정자 @를 만나면  @ + 번호를 전송된 Fill-In 데이타로 치환한 후 Centering이 지정되어 있으면 치환된 Data를 Centering 하여 표출한다

<< Down 되어 있는 데이타 >>

0x03 0x29  :  라이브러리 메시지 번호 #1001

0x1B 0x61  :  Centering 기능

0x1B 0x40  :  검정색 배경

0x1B 0x33  :  호박색 (Amber) 문자 표시

0x03 0x00  :  한글, 영문 16 X 16 명조체

<< Library 표출 메시지 (예) >>

0x06       :  OPCODE 6번 (라이브러리 메시지 출력 명령)

0x03 0x29  :  라이브러리 메시지 번호 #1001

● RESPONSE (ACK/NAK 정보)

2) Display Schedule Message

이미 메세지 또는 그래픽에 정의되어진 속성, 표시방법을 정해진 요구메세지의 순서대로  교대하여 표출토록 하는 명령이다. 순서화된 메시지들은 일반 메시지(임의/라이브러리 메시지)가 BLANK 명령에 의해 지워질 때 마다 표출되어야 한다. 이 명령을 이용하여 최대 10개의 Library 메세지들을 정의할 수 있다.

일반 메시지가  BLANK 명령에 의해  지워지고  기본 메시지가 따로 정의되지 않은 상태에서, 라이브러리 메시지 번호가 제공되지 않는다면 표지판은 공백(BLANK) 상태에 있게 된다.

● COMMAND

- OPCODE (MESSAGE TYPE) =  14  [0x0E]

- TOTAL MESSAGE SIZE    =  39 BYTES (최대 10개 메시지 정의)

- DATA BYTE

[BYTE 1 - 2]        =   #1 라이브러리 메시지 번호

[BYTE 3]            =   출력 시간 (초)

[BYTE 4 - 5]        =   #2 라이브러리 메시지 번호

[BYTE 6]            =   출력 시간 (초)

.

[BYTE 28 - 29]      =   #10 라이브러리 메시지 번호

[BYTE 30]           =   출력 시간 (초)

● RESPONSE (ACK/NAK 정보

3) Blank

임시 문안 및 라이브러리 문안, 그래픽 문안을 지우라는 명령이다. 임시 문자열 메시지 출력, 임시 그래픽 메시시 출력 및 라이브러리 메시지가 표출되고 있는 상태에서 이 명령을 보내면 현재 표출중인 내용을 지우고 스케쥴 문안(Scheldule)을 표출하고, 만약 Scheldule 메시지가 없다면 표지판은 공백상태(즉, 모든 LED가 꺼진 상태)로 되어야 한다.

만약, Schedule Message가 표출중일때 이 명령을 수신하면 현 상태를 유지함

(즉, 스케쥴 메시지를 계속 표출함)

● COMMAND

- OPCODE (MESSAGE TYPE) =   22  [0x16]

- TOTAL MESSAGE SIZE    =    9  BYTES

● RESPONSE (ACK/NAK 정보)

4) Status Request

VMS 제어기 자신의 동작상태를 보고하라는 명령.

이 명령은 Host와 VMS 제어기간의 통신 상태에 이상이 없는한 규칙적인 간격으로 계속 상태정보를 보고한다.

※ Host Computer는 각 VMS 제어기에 대해 30초 간격으로 Polling한다.

Host Computer가 폴링할 때 보내는 명령은  Report Status이며, VMS

제어기는 이 명령을 받으면  제어기 상태를 보고한다

● COMMAND

- OPCODE (MESSAGE TYPE) =   24  [0x18]

- TOTAL MESSAGE SIZE    =    9  BYTES

● RESPONSE

- OPCODE (MESSAGE TYPE) =   64  [0x40]

- DATA BYTE

[BYTE 1 -2] Bit  0 : Local mode Active

Bit  1 : Default Parameter

Bit  2 : Reset Occurred

Bit  3 : Long Power Failure

Bit  4 : Short Power Failure

Bit  5 : Door Ajar

Bit  6 : Module Failure Rate Exceded

Bit  7 : RAM/ROM Error

Bit  8 : Message Library Checksum Error

Bit  9 : VMS Fan on/off (off=0, on=1)

Bit 10 : VMS heater on/off (off=0, on=1)

Bit 11 : Sign board power on/off command status

(off=0, on=1)

Bit 12 : Sign board power failure

Bit 13 : 공백문안이 표출될 경우 Set

Bit 14 : 함체 Fan on/off (off=0, on=1)

Bit 15 : 함체 heater on/off (off=0, on=1)

- 제어기가 HOST로 응답하고 다시  HOST로 부터 ACK를 받았을때 CLEAR 시켜야 BIT는 2, 3, 4, 7 (Reset Occurred, Long power failure, Short power fail, RAM/ROM Error) 등  4개 이다.

5) Sign board power control

Power Off 명령을 받으면 표지판은 꺼질 것이다. Power On 명령을 받기 전에는 어떤 표출 명령도 무시된다.

● COMMAND

- OPCODE (MESSAGE TYPE) =   36 [0x24]

- TOTAL MESSAGE SIZE    =   10  BYTES

- DATA BYTE

[BYTE 1 : 구분]          0  :  전원 차단

1  :  전원 재개

● RESPONSE (ACK/NAK 정보)

6) 폼데이터 표출

해당 VMS에 표출할 폼데이터를 전송한다.

<Send>

구 분	내 용
OP-Code	0x80
Total Message Size	N Bytes
Data Byte
	<아래 표 참조>

Data Byte내용

내 용		설 명	길이	비 고
폼 ID		폼 ID	2 Byte	'FID0000'과 'FID9999'를 제외한 일련번호
전체 폼 수		전체 폼의 수	2 Byte	2Byte
폼 데이터 헤더	폼 번호	폼 표출 일련번호	6 Byte	2Byte
	표출시간	폼의 표출시간을 지정		1Byte( 0x00 이면 계속 표출 )
	표출유형	폼의 표출유형을 지정		1Byte(별표 참조)
	배경색상	폼의 배경색을 지정		1Byte(별표 참조)
	오브젝트 수	표출할 오브젝트 전체 수		1Byte
오브젝트 1	오브젝트 데이터 헤더	오브젝트 종류	9 Byte	1Byte(별표 참조)
		오브젝트 데이터 크기		2Byte
		점멸여부		1Byte(0x00 : 고정, 0x01 : 점멸)
		좌표 X		2Byte
		좌표 Y		2Byte
		문자열 배경색을 지정		1Byte(별표 참조)
	오브젝트 데이터	오브젝트 데이터	n	오브젝트 종류별 형식은 아래표 참조
‥‥‥		‥‥‥
n	위와 같음

Form ID(표출할 Form ID)

표시하고자 하는 Form 데이터의 ID로서 다음과 같이파일명을 구성한다.

예) FID0001, FID0002, FID0003, FID0004...

ID 부여시 임시 표출은 "FID9999", default 표출은 "FID0000", 나머지는 일련번호로 부여

※ 오브젝트 종류

구 분	목 록	코드	비 고
오브젝트	문자열	0x00
	Bitmap	0x01
	Bitmap ID	0x02
	동영상	0x03	동영상 *.AVI (XVID)
	스트리밍 영상	0x04

문자열 오브젝트 형식 : 문자를 표출하는 오브젝트

내 용	설 명	길이	비 고
헤더 (5 Byte)	사용 폰트 색상	1 Byte	0x03(별표 참조)
	사용 폰트 크기	1 Byte	0x11(별표 참조)
	사용 폰트 종류 Code	1 Byte	0x20(별표 참조)
	사용 폰트 굵기	1 Byte	0x00(별표 참조)
	기타	1 Byte
문자열 Data (n Byte)	표출할 문자열	n Bytes	문자열 데이터

문자열 데이터는 표시하여야할 문자열로서 문자열은 끝이 Null로 끝나지 않는다.

비트맵 오브젝트 형식 : 비트맵을 표출하는 오브젝트

내 용	설 명	길이	비 고
헤더 (6Byte)	비트맵 표시 Width	2 Byte	0 ~ 1023 : 표출 비트맵 Width
	비트맵 표시 Height	2 Byte	0 ~ 1023 : 표출 비트맵 Heitht
	그림파일 타입	1 Byte	별표 참조
	기타	1 Byte
비트맵 Data (n Byte)	표출할 비트맵 데이터	n Bytes	비트맵 데이터

비트맵 데이터 (표출할 비트맵 데이터)

표시하고자 하는 비트맵 데이터로서 파일형식은□BMP"를 기준으로 하고 색상은 16Color를 기본으로 하며 16Color 이상도 사용할 수 있다.

비트맵 ID 오브젝트 형식 : 미리 정의된 비트맵을 표출하는 오브젝트

내 용	설 명	길이	비 고
헤더 (5Byte)	비트맵 표시 Width	2 Byte	0 ~ 1023 : 표출 비트맵 Width
	비트맵 표시 Height	2 Byte	0 ~ 1023 : 표출 비트맵 Height
	그림파일 타입	1 Byte	별표 참조
비트맵 ID Data (2 Byte)	표출할 비트맵 ID	2 Byte	0～ 9999 : 표출할 비트맵 ID

비트맵 ID (표출할 비트맵  ID)

표시하고자 하는 비트맵 데이터의 ID로서 다음과 같이파일명을 구성한다.

예) BID0001, BID0002, BID0003, BID0004...

동영상 오브젝트 형식 : 미리 다운로드된 동영상을 표출하는 오브젝트

내 용	설 명	길이	비 고
헤더 (5Byte)	동영상 표시 Width	2 Byte	0 ~ 1023 : 표출 비트맵 Width
	동영상 표시 Height	2 Byte	0 ~ 1023 : 표출 비트맵 Height
	기타	1 Byte
동영상 파일 이름	파일 이름	50 Byte	확장자(*.avi) 포함

동영상 오브젝트는 폼데이터에서 오직 한번만 존재하여야 함.

두 개 이상의 동영상 오브젝트는 표출하지 않음

스트리밍 오브젝트 형식 : 스트리밍 서버의 영상을 표출하는 오브젝트

내 용	설 명	길이	비 고
헤더 (5Byte)	동영상 표시 Width	2 Byte	0 ~ 1023 : 표출 비트맵 Width
	동영상 표시 Height	2 Byte	0 ~ 1023 : 표출 비트맵 Height
	기타	1 Byte
스트리밍 서버 정보 (52Byte)	서버 IP 주소	30 Byte
	서버 포트 값	2 Byte	0 ~ 9999
	Username	10 Byte
	Password	10 Byte

스트리밍 영상 오브젝트는 폼데이터에서 오직 한번만 존재하여야 함.

두 개 이상의 스트리밍 영상 오브젝트는 표출하지 않음

포트번호(2222), Username(admin), Password(1234) 고정

<Response>

폼데이터 전송에 따른 ACK/NAK 데이터 전송함

구 분	내 용
OP-Code	0x80
Data Byte	ACK 경우	- Total 1 Byte - Data 값: 0x06
	NAK 경우	- Total 2 Bytes - Data 값: [Byte 1] : 0x15 [Byte 2] : 에러 상황에 따른 코드전송 자세한 코드는 “ NAK 전송참조”

7) VMS 상태제어

현장 VMS에 대한 제어를 요청한다. 각 제어에 대한 Op Code가 별도로 존재하는것이 아니라, OP Code는 동일하나, 제어코드에 따라 제어형태가 구분된다.

<Send>

구 분	내 용
OP-Code	0x86
Total Message Size	N Bytes (제어 데이터에 따라 가변)
Data Byte
	<아래 표 참조>

제어에 대한 Data Byte (센터 → VMS)

내 용	설 명	길이	비 고
제어 코드	제어할 명령 Code	1	제어코드 참조
제어 데이터	제어방법 설정	n

제어 코드 및 코드에 대한 데이터

제어코드	제어데이터		제어데이터 크기 및 설명
	내 용	설 명
0x01	전광판 전원제어	0x00:꺼짐, 0x01:켜짐,	1Byte
0x02	제어기 리셋트	-	1Byte
0x03	통신 재시도 횟수	0x01 ~ 0x09	1Byte(초기값 0x03:3회)
0x04	제어기 시간설정	"YYYYMMDDHHNNSS"	14Bytes(String)
0x05	점멸시간 주기	1/10초 단위	1Byte
0x06	밝기제어	0x00:주간, 0x01:야간, 0x02:Auto	2Byte(제어값+밝기) (밝기:수동 0~100,자동 0)
0x07	Fan 제어	0x00:꺼짐, 0x01:켜짐, 0x02:자동 고정값 0xFF	2Byte(제어값+온도) (온도:자동 0~100,그외 0) 고정값 0xFF
0x08	Heater 제어	0x00:꺼짐, 0x01:켜짐, 0x02:자동 고정값 0xFF	2Byte(제어값+온도) (온도:자동 0~100,그외 0) 고정값 0xFF
0x09	화면 배색 제어	0x01:Red, 0x02:Green, 0x03:Amber	1Byte(제어값)
0x0A	장애모듈비율	-	에러난 픽셀의 백분율 : 0～100
0x0B	디폴트 시나리오 동작시간	초 단위	2Byte, default value : 300초

※ 제어코드(0x01 ~ 0x0A)의 Default 제어값은 기존시스템 초기설정값을 기준으로 한다

전광판 전원 제어 명령 중 꺼짐 명령을 받으면 표지판은 꺼짐. 이후 켜짐 명령이 있을 때까지는 어떤 명령도 무시한다.

숫자 0은 0x00 이며, 문자 ‘0‘은 0x30이다.

제어기 시간 셋트에서 데이터는 문자열로 구성 (예) : 2004년 3월 25일 15시 30분 45초 일때□20040325153045□

밝기 제어

주간, 야간, 자동으로 구분하여 운영 모드를 지정할 수 있으며, 동시에 밝기를 지정할 수 있다. 주간 조도 default value(90), 야간 모드 default value(65)

장애모듈비율 : 한개의 모듈을 장애로 처리하기 위한 장애 PIXEL 백분율 값.

Default 값은 10%

Fan 제어

VMS의 Fan을 제어하며 자동일 때 데이터에 Fan이 작동을 개시하는 온도를 전송하며 VMS는 전송된 데이터 보다 온도가 상승할 경우 Fan을 작동 시켜야 한다.

Heater 제어

VMS의 Heater를 제어하며 자동일 때는 데이터에 Heater가 작동을 개시하는 온도를 전송하며 VMS는 전송된 데이터 보다 온도가 하강할 경우 Heater를 작동시켜야 한다.

<Response>

제어데이터 전송에 따른 수신결과를 ACK/NAK 데이터 전송함

구 분	내 용
OP-Code	0x86
Data Byte	ACK 경우	- Total 1 Byte - Data 값: 0x06
	NAK 경우	- Total 2 Bytes - Data 값: [Byte 1] : 0x15 [Byte 2] : 에러 상황에 따른 코드전송 자세한 코드는 “p.4의 NAK 전송참조”

8) VMS Status 요구

상태 정보를 요청한다.

<Send>

구 분	내 용
OP-Code	0x88
Total Message Size	13 Bytes
Data Byte

<Response>

로컬 제어기는 센터의 상태요구에 따른 상태정보를 센터로 전송한다.

구 분	내 용
OP-Code	0x88
Total Message Size	25 Bytes
Data Byte
	<아래 표 참조>

상태 요구 응답 (센터 ← VMS)

내 용	설 명	길이	비 고
상태 데이터 ( 14 Byte )	Door Open/Close 상태	1 Byte	0x00 : Open, 0x01 : Close, 0x09 : Unknown
	전원의 ON/OFF 상태	1 Byte	0x00 : On, 0x01 : Off (Sign Board)
	VMS Fan 동작상태 함체 Fan 동작상태	1 Byte	0x00 : On, 0x01 : Off, 0x09: Unknown 0x00 : On, 0x10 : Off, 0x90: Unknown
	VMS Heater 동작상태 함체 Heater 동작상태	1 Byte	0x00 : On, 0x01 : Off, 0x09: Unknown 0x00 : On, 0x10 : Off, 0x90: Unknown
	표출 폼 번호	2 Byte	0x00 : 통신 폼, 0x01 : 디폴트 폼
	재실행 여부	1 Byte	0x00 : 정상, 0x01 : 재실행
	함체온도	1 Byte	127 ~ -127 -128 : Unknown
	화면의 밝기	4 Byte	최대를 100으로 했을 때의 백분율 값 및 기준휘도

센터 서버가 전원 모듈 또는 모듈의 이상을 수신 시

센터 서버는 이상 상태 요구를 현장 제어기로 송신 한다.

현장 제어기는 모듈의 이상여부가 변경되는 이벤트가 발생 시 이상여부를 셋팅하여 보내야한다.

현장 제어기는 Reset 또는 프로그램 다운으로 인한 프로그램 재실행 시 재실행 여부를 1로 셋팅하여야 하며, 이는 센터 서버가 모듈 상태를 요구하기 위함이다.

9) Download Schedule Form

계획된 Form들은 일반 Form이 BLANK 명령에 의해 지워질 때 마다 표출되어야 한다. 이 명령을 이용하여 최대 10개의 폼들을 정의할 수 있음.

일반 메시지가  BLANK 명령에 의해  지워진 게획된 Form이 따로 정의되지 않은 상태에서, 표지판은 공백(BLANK) 상태에 있게 된다.

<Send>

구 분	내 용
OP-Code	0x96
Total Message Size	43 Bytes
Data Byte
	<아래 표 참조>

Data Byte내용

설 명	길이	비 고
1번 폼 ID	3 Byte	2 Byte
1번 폼 표출시간		1 Byte = default value = 0 폼 표출 시간이 0인 경우 자체 폼 표출 시간을 따른다.
2번 폼 ID	3 Byte	2 Byte
2번 폼 표출시간		1 Byte = default value = 0
	․ ․ ․
10번 폼 ID	3 Byte	2 Byte
10번 폼 표출시간		1 Byte = default value = 0

<Response>

전송에 따른  ACK/NAK 데이터 전송함

구 분	내 용
OP-Code	0x96
Data Byte	ACK 경우	- Total 1 Byte - Data 값: 0x06
	NAK 경우	- Total 2 Bytes - Data 값: [Byte 1] : 0x15 [Byte 2] : 에러 상황에 따른 코드전송 자세한 코드는 “p.4의 NAK 전송참조”