|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
) w5 ?5 h0 P7 o% Q. {% @( Q; ^, V- R一、概述<br>" q# _# ?0 ]3 g
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
7 L z) R+ C2 b1 M; A控制的接口。本文描述该接口的控制协议。<br>, X) T) }8 [, t2 j6 I, g+ l0 m
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
, m. C4 H) \3 A ~1 C6 M过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>; j. a2 j' z5 {" E" l4 i$ ~: o1 l
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>& M- V3 `; P8 U( |3 L1 o
该协议可根据以后的功能需求进行扩展。<br>
% Z4 x0 J8 ]. K8 i( o) b二、指令的命名和格式<br>
# N7 Y, m- W4 |* ?: Y指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>; v; M/ Q$ i8 r( v+ c4 Y
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>; F4 B, m- h: z: o- t4 P
其余字母是其功能的英文描述的简写。<br>7 f2 P4 Q) d; D, i9 ^
指令及其参数、指令的执行结果均用字符串表示。<br>
; g1 @# ]3 F9 w7 P, i( {5 d3 s每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>, W" b+ x: f9 B z1 O7 S$ h! _
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br># q7 b/ l8 O$ o% k3 s
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>/ }/ ^' L; ?4 n: ~- q1 { m
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>, G" P8 Y8 U$ r4 F
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>" @% a$ l/ q0 ^" P1 a! l! r
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
& K& N1 Y0 q6 i三、指令描述<br>
8 _- |1 u8 E$ L/ d# l5 i0 u1、 ePowerOn<br>5 w( V9 m# L1 D7 j5 w8 p) r
功能:机芯开机<br>" |1 r/ t( T" k7 C# I
格式:ePowerOn[_WallName][_ProjNo]↵<br>
' S+ l, K8 t* Q2 R7 h6 F9 r. l参数:<br>
" \; E6 q" j. aWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>. K4 [/ a& x1 Z
也必须省略。<br>
! I, m( T! }% P( r3 P MProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
5 [0 z6 s0 K: X; V( d8 v0 R& _芯。<br>! q1 z( h+ r1 q7 }) r" ~) x) A1 z$ Z
执行结果:ePowerOn_nResult↵<br>
* X9 ?) S9 D# R# \( z- unResult 可能取值:<br>
/ N7 j1 }6 v: M9 ?- K0:成功;<br>1 n* `3 p' c! a: ]1 Z4 J% r& U9 S/ f8 C
1:串口控制功能被禁止;<br>, ]8 g& Q7 V Z% ~- m& ]
2:非法的指令名称;<br>, K6 b. y: B. m4 M( X
3:非法的拼墙名称;<br>+ F- \) @& ~- }
4:非法的机芯编号;<br>' k% t& b( V6 y W% T
5:操作失败。<br>! i7 o. a# R3 U, X s/ N* @
2、 ePowerOff<br>
6 Z0 m. h4 h* ^, d- j1 `: E功能:机芯关机<br>
6 b& j% n& s9 c6 G R格式:ePowerOff[_WallName][_ProjNo]↵<br>
% c5 @8 w6 j! x0 D4 P5 D; |参数:<br>
5 ]- g8 ?5 [' s7 ZWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br># T4 w9 ?$ H5 J7 t/ h$ \% @# r j
也必须省略。<br>& [9 Z2 W7 S# L# L9 j
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
$ O0 q3 J1 ?, s1 A芯。<br>4 t1 ^, I9 k) w( s6 D# a1 m2 ~
执行结果:ePowerOff_nResult↵<br>! P0 ~/ U8 D; w/ E/ u' L
nResult 可能取值:<br>1 l2 |" m, J$ l- N" y. G: x
0:成功;<br>. ]: S3 w/ e1 M5 _
1:串口控制功能被禁止;<br>
4 Z3 c! o( Q& ^5 ^2:非法的指令名称;<br>! T( G+ ~; p, i2 c
3:非法的拼墙名称;<br>! f& h P, o' I, ?
4:非法的机芯编号;<br>3 F- R L: ~* }2 i4 m
5:操作失败。<br>
% P' C, ]5 ^% I9 E" ~: F3、 dPowerOn<br>
6 N( U0 H Z! L功能:多功能显示设备开机<br>
* n% ]+ O9 k7 T格式:dPowerOn_DevName↵<br>
1 r! _$ Z" a+ W( b& d/ o% ]* Q参数:<br>
$ \4 o( s( O2 M, z$ mDevName:要进行该操作的多功能显示设备的名称。<br>3 Q8 [4 B2 N! m
执行结果:dPowerOn_nResult↵<br>
! h: b5 e! S' F* {- y. VnResult 可能取值:<br>
; B! L8 O( q2 _) S/ W0:成功;<br>% H9 m$ a# A9 A% E, Z" x* V& @
1:串口控制功能被禁止;<br>
1 {$ N" u" _7 B2 C% ^5 v6 f2:非法的指令名称;<br>6 V6 g4 m, {( ~; e5 I* [
3:非法的多功能显示设备名称;<br>
9 C: ~" h: Z, \; A- a- @7 x* _$ F4:操作失败。<br>
# ?& ~/ h4 D6 E# z6 Z: C: k+ g4、 dPowerOff<br>& D1 ~! j a2 F
功能:多功能显示设备关机<br>- q0 {1 A0 E+ A2 Z) b- G
格式:dPowerOff_DevName↵<br>$ l8 Q) @- j1 Z) M& D! d
参数:<br>+ a( r: M* \( m3 {+ ^) f
DevName:要进行该操作的多功能显示设备的名称芯。<br>
( k, E8 v& g: q2 R- e+ r+ C: H' W执行结果:dPowerOff_nResult↵<br>
3 o. Z, U1 u7 \2 D$ AnResult 可能取值:<br>3 p4 O0 z* f. ^
0:成功;<br>8 E7 J$ A7 v3 H/ C
1:串口控制功能被禁止;<br>6 s" T) f+ P3 A9 {' y X/ {. h
2:非法的指令名称;<br>
, o$ c0 q& q5 x& ~. ?" h! g" s3:非法的多功能显示设备名称;<br>* L+ R G" `. G7 O3 Y1 Z& h$ R8 t
4:操作失败。<br>
. d0 g# A! X3 `9 Z4 F" l$ C5、 eCloseWin<br>
3 [8 t/ P; ^3 i0 A7 [3 k! r功能:关闭所有机芯直通窗口<br>
7 U! G5 I+ _8 b! G, [格式:eCloseWin[_WallName]↵<br>' d! q; [: \* Z2 l5 f- C1 M0 y: a
参数:<br> d g# U& m% D# T
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>0 {5 p" u$ V2 b5 I' f5 c- t" D) O
执行结果:eCloseWin_nResult↵<br>/ a! h+ t5 b, E( S# H
nResult 可能取值:<br>8 T: ~2 b& q) q
0:成功;<br>6 j9 }2 T; x- ^" b
1:串口控制功能被禁止;<br>% J4 T; `8 o% j" H* y) r6 s E
2:非法的指令名称;<br>2 |$ m$ w3 x9 @5 J2 p$ T
3:非法的拼墙名称;<br>
6 R- Y6 O. G# g" q* W) l4 `4:操作失败。<br>4 P: E4 W: k4 L
6、 pCloseApp<br>6 {$ w* j( `- e; C) K0 a
功能:关闭所有处理器应用实例<br>
! n$ r; o, t$ b- k. |4 l格式:pCloseApp[_WallName]↵<br>
; D! d; C+ g. S6 T U参数:<br>
# z$ m' p' J; I7 ^7 M) A0 [; ]WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>+ _. }+ t5 B4 U# b% \$ a7 ?
执行结果:pCloseApp_nResult↵<br>* h' e$ x" X' ]1 ]) ^3 J
nResult 可能取值:<br>
: V2 H* f, q6 h" n7 Z5 i0:成功;<br>
- R4 t' ?5 s$ O8 Z1:串口控制功能被禁止;<br># F8 {# }$ j2 Z; p) y
2:非法的指令名称;<br>
$ I/ @; A! R9 C( M6 f2 a4 a# ~3:非法的拼墙名称;<br>
% a9 X- d! s1 r7 O' W+ k4:操作失败。<br>
" B* d0 p0 U; j" t5 ]( m. k7、 pCloseWin<br>) ?; d: c* Z) x: _
功能:关闭所有处理器窗口<br>
0 R1 Y5 l1 O7 V格式:pCloseWin[_WallName]↵<br>
- o# @' k4 e6 r* w9 B/ S, ^参数:<br>2 h, B% a5 q* v! f7 T
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>2 k) {0 c/ ^& k. b; y) w- B
执行结果:pCloseWin_nResult↵<br>
/ J c) j1 c2 V3 P9 dnResult 可能取值:<br>( K2 n. r7 O; J1 w* L2 d. P
0:成功;<br>2 i. l' x3 E$ ]) c% o' p% z( y
1:串口控制功能被禁止;<br>% j- `0 G- f8 d& b3 K4 b
2:非法的指令名称;<br>! n& ]- Z! ~. j y" A
3:非法的拼墙名称;<br>
; p2 a4 v& _5 d& Y" E9 ^( L- g0 t" V1 W4:操作失败。<br>* X) d; A q5 Y- [6 d$ \2 q" Z$ L
8、 mApply<br>
, C4 T; ?& Y& }7 f. M功能:执行已经定义的模式<br>0 c. |2 P% g, t1 z
格式:mApply_ModeName↵<br>
% L0 r% T# y: @, v9 r参数:<br>& t3 @% ] z. w }6 W( W
ModeName:要执行的模式的名称。<br>7 ]4 G/ G: n3 z
执行结果:mApply_nResult↵<br>6 g. {8 e. C/ {
nResult 可能取值:<br>
: p6 H7 }5 b4 h+ M5 z0:成功;<br>! }' b! `: W: @' w
1:串口控制功能被禁止;<br>
9 u) L/ e% u5 h7 A% k% s# \4 }2:非法的指令名称;<br>
- w: y7 d6 U! k2 T7 A, q3:非法的模式名称;<br>* T* R+ i2 X7 T
4:操作失败。<br>, d3 z" G& N1 j* O4 N( ?
9、 sSelVideo<br>- y+ q/ j: c. s
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
# q' Z4 N/ M2 f' M |格式:sSelVideo_SouName_DevName↵<br>
8 I$ b8 J9 h0 y7 v参数:<br>/ t+ A* x8 i" x T7 @, N
SouName:要切换的VIDEO 信号源的名称。<br>
) Q1 L/ G- T" T% ]5 v* z* K0 ADevName:要显示该信号源的监视器的名称。<br>2 l+ M' @8 H j" H* ~8 v3 d# ?
执行结果:sSelVideo_nResult↵<br># b Z6 [4 k6 [/ P1 K- K
nResult 可能取值:<br> P4 I3 e& O# q/ j( k
0:成功;<br>
6 F: P9 r6 ^1 s8 k1:串口控制功能被禁止;<br>
/ D& c$ ^. c+ R: m$ [2:非法的指令名称;<br>$ m7 C6 a0 v/ R
3:非法的信号源名称;<br>
/ ]$ ~. Q+ z* @$ F4:非法的监视器名称;<br> Z& q, O- p5 @- _% f+ \7 X
5:操作失败。<br>$ g2 R$ b, @; C9 h
10、 sSelCamera<br>
. E$ ^" [1 |- w5 `1 q7 C功能:将一个摄像头信号源选择切换到一个监视器<br>6 D. H0 R! d$ |5 Z+ t2 ^1 g
格式:sSelCamera_SouName_DevName↵<br>
5 k" X3 q! E1 |' H* o3 ~参数:<br># @/ L% h& Y$ F1 @/ {+ A# p
SouName:要切换的摄像头信号源的名称。<br>* x$ M1 M h* p; \# { B; c
DevName:要显示该信号源的监视器的名称。<br>
+ }% N3 X& d$ V) K \* c) B3 X执行结果:sSelCamera_nResult↵<br>! l! C7 ]. f0 M- t( O% _& x& P
nResult 可能取值:<br>& K% I( q+ C$ u2 q0 E
0:成功;<br>
2 [; [9 y9 b* F0 ^* H9 ~: W H1:串口控制功能被禁止;<br>
0 [) ~4 ?& B) t1 z2:非法的指令名称;<br>
* }9 w* L: ^9 z2 F! a K3:非法的信号源名称;<br>
; p4 D* k3 Y, q4:非法的监视器名称;<br>! s: O& Q T q' E* ^
5:操作失败。<br>
- P5 C) X3 T; O11、 sSelRGB<br>" Z* j$ f* H! `
功能:将一个RGB 信号源选择切换到一个显示器<br>
3 J5 n0 E) P) d0 t/ s A2 v1 ?! k# `格式:sSelRGB_SouName_DevName↵<br>% U& W0 P8 Q7 x2 l, _. D
参数:<br>6 Z6 g, W3 _( N R; l1 O0 H+ S. h
SouName:要切换的RGB 信号源的名称。<br>8 }- K, ^# `7 C" g7 d
DevName:要显示该信号源的显示器的名称。<br>
; E) R8 r+ `4 F1 \; W. J执行结果:sSelRGB_nResult↵<br>$ t9 E: A' A! p; }0 @# G! a! t T* B
nResult 可能取值:<br> P* y( r, ~$ e# b. C% j+ ?
0:成功;<br>
8 k3 G2 S$ {+ a3 D; k) x' Z1:串口控制功能被禁止;<br>' p2 G. ?7 y! Q
2:非法的指令名称;<br>
- C! [; K6 h. k3:非法的信号源名称;<br>7 y8 T; y4 e0 ^4 {, s/ j
4:非法的显示器名称;<br>
( w" f/ b$ ^2 g$ w- `5:操作失败。<br>
: o: s$ D1 t6 z! j0 @$ y12、 sSelAudio<br>
+ ] W# r s6 ?8 f) Z功能:将一个AUDIO 信号源选择切换到一个播放器<br>& e7 D* G! H9 r* o
格式:sSelAudio_SouName_DevName↵<br>
- Z* s# d/ }. ^参数:<br>
$ J b5 e: k3 x9 ?9 d" C7 GSouName:要切换的AUDIO 信号源的名称。<br># T+ o8 e7 B3 q' u$ G, \% I
DevName:要显示该信号源的监视器的名称。<br>- h5 ^4 O( X, D% I3 g
执行结果:sSelAudio_nResult↵<br>
) R8 q$ e. h `" k) Q% A- RnResult 可能取值:<br>* p) v6 m @4 V6 V1 v
0:成功;<br>! h$ A4 f: ]) P- R. c" q
1:串口控制功能被禁止;<br>
/ L: m, e5 x. _% p/ |& B9 n3 D; C2:非法的指令名称;<br>
* T0 A) O! r9 P0 Z$ O& S3:非法的信号源名称;<br>6 G; K: c4 P( m/ k1 I x% ^
4:非法的播放器名称;<br>
/ G# f5 e! D8 q" U4 t) l5:操作失败。<br>3 {. Q5 h+ i$ U+ D: c! Z$ v: N
13、 sSelVideo2MFD<br>0 c, x1 N/ }1 }
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>( f. m5 @' c+ y9 o( h& t
格式:sSelVideo2MFD_SouName_DevName↵<br>/ O) _ ~5 o. F; b f
参数:<br>) g/ q7 ], f5 @7 f1 V4 h8 B
SouName:要切换的VIDEO 信号源的名称。<br>! y* L/ Q2 x( u
DevName:要显示该信号源的多功能显示设备的名称。<br># \4 ?/ A& G: X
执行结果:sSelVideo2MFD_nResult↵<br>
, C1 ~. R5 m& _/ ?nResult 可能取值:<br>6 V1 P+ L( `* n& q6 Z: L
0:成功;<br>7 y" J! ?" F) O; S8 w5 S
1:串口控制功能被禁止;<br>1 M5 t. F% @5 B& s1 r3 |4 W% t
2:非法的指令名称;<br>
|2 h$ M) p5 M) w+ u. V+ ]3:非法的信号源名称;<br>$ C3 w z Z6 ]! K- {) D
4:非法的多功能显示设备名称;<br>
4 B6 g3 w- y: N8 y, f+ N6 Q5:操作失败。<br>, P9 ^% o7 b* K$ h7 h+ h
14、 sSelCamera2MFD<br>% @( @/ a8 w, |/ Z/ E! J
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>7 \) f6 Y2 f$ W# F8 W
格式:sSelCamera2MFD_SouName_DevName↵<br>
v' k) Q7 U7 U; ~. W4 K4 H9 a0 r参数:<br>% z( r) b' J; O
SouName:要切换的摄像头信号源的名称。<br>2 u1 o& K) Y* R; Y/ B8 U
DevName:要显示该信号源的多功能显示设备的名称。<br>
6 I' K u7 t) @* W5 ~9 e执行结果:sSelCamera2MFD_nResult↵<br>
# u/ [0 [1 ^5 F2 @nResult 可能取值:<br>7 b L% J5 A! V$ A
0:成功;<br>
" N7 F5 S) l3 c1:串口控制功能被禁止;<br>
0 r5 n/ d$ I& C: r2:非法的指令名称;<br>; v$ K7 Y R7 m* o* u, p7 u6 t
3:非法的信号源名称;<br>
) H7 o6 R; }: I4 u4:非法的多功能显示设备名称;<br>1 D3 {' B, {; c2 ~, h4 f* P; t
5:操作失败。<br>2 n- U# P' P( e- C
15、 sSelRGB2MFD<br>
% S/ E# G7 E, O功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>( h. L$ \7 B8 B0 r/ n: R) w
格式:sSelRGB2MFD_SouName_DevName↵<br>
6 N+ X8 t1 z6 G: v2 O/ e$ L参数:<br>5 k8 p5 t; G4 K# @
SouName:要切换的RGB 信号源的名称。<br>4 X+ S1 k1 Q0 I
DevName:要显示该信号源的多功能显示设备的名称。<br>9 |7 p* I X4 s2 C4 z
执行结果:sSelRGB2MFD_nResult↵<br>3 \% D1 I) o# o* ~8 j+ L
nResult 可能取值:<br>, b) Q: R, J" N. L y$ i+ P
0:成功;<br>
: |! H5 D8 W1 V1:串口控制功能被禁止;<br>4 g) R- v. M: ]
2:非法的指令名称;<br>
% {6 ^$ j, g9 t }- Y3:非法的信号源名称;<br>
$ c6 f) G6 B* X- l+ w; N) [1 x6 g4:非法的多功能显示设备名称;<br>
$ m# Y$ j, ~( l' m5:操作失败。<br>
+ J: p: t4 W+ H% [$ B! [) C16、 sSelAudio2MFD<br>
7 ~* r. e6 _4 e) l8 q功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
; T7 r4 t0 r6 z- I- W格式:sSelAudio2MFD_SouName_DevName↵<br>
5 I6 u4 T' h4 E参数:<br>
- e% S" a% S0 }! C0 ~SouName:要切换的AUDIO 信号源的名称。<br>
& H7 B: C7 r+ ^! t# j9 T& m) |DevName:要显示该信号源的多功能显示设备的名称。<br>
2 Y* ]3 c6 v' s4 h. U& d执行结果:sSelAudio2MFD_nResult↵<br>
) ^3 M2 _: }/ v AnResult 可能取值:<br>- q, d- r) b# Q1 p6 J- [
0:成功;<br>
. p0 u' j/ v* B( g' h' @1:串口控制功能被禁止;<br>' C' v3 s0 `+ d6 u
2:非法的指令名称;<br>
- D0 U, l) c% |+ I" [6 R3:非法的信号源名称;<br>( T# Y Y) V* i; ]5 @% j! {+ u1 k/ Y; ?
4:非法的多功能显示设备名称;<br>8 D f/ D# N+ d0 D9 h
5:操作失败。<br>; \* c: f( j9 B$ U: @
17、 cSendData<br>
R/ d4 Q! m3 X/ H8 _. `功能:发送数据到指定串口<br>$ t. h: e, w* X3 a' Z
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
5 U( t$ z. x) C参数:<br>3 o+ G* i& j; g# p3 j! V: b; H7 p
PortNo:串口名称,譬如COM1<br>
6 ?9 v6 ] R+ P2 A$ S CPortSettings:串口设置,譬如9600,n,8,1<br>
" x( B1 ~2 K2 w7 b9 eLength:发送的数据长度<br>1 e- E- r* n/ |& f
Data:发送的数据。<br>7 ]* w* i9 J5 b* @: z# v. ?$ D
执行结果:cSendData_nResult↵<br>
& ], m" L8 ~+ g7 N4 `0 NnResult 可能取值:<br>
. O, q; |& e/ p( L0:成功<br>
1 X2 x! I/ b; Y; O# E9 ^1:串口控制功能被禁止<br>! j' B5 e/ W) n4 }
2:非法的指令名称<br>
+ k' g8 P- w0 L/ M |7 I, X3:非法的端口名称<br>" E/ W9 X) R% O- C- K+ ?
4:非法的串口设置<br>
9 h& C& s5 V; C5 E i( {5:操作失败。 |
|