|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
- {* U. ~( Y" y# `+ q4 h- Z一、概述<br>
' k* q. Z3 M I: Z* B" O为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
% t4 l1 Z" m. R( \: n4 a, F控制的接口。本文描述该接口的控制协议。<br>
# e4 l6 O# f6 T& j% f: rVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
& K4 T! j! S6 @* i0 ?4 N- Y% r9 c7 z过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>8 Z" t: h6 W. Q3 e
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>3 {' O- D" ]6 d" q* Q. |- n
该协议可根据以后的功能需求进行扩展。<br>
* R$ u! B L8 u$ m) Y二、指令的命名和格式<br>
/ P" u# I* V( `4 l" s指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
/ T' X" i' h' d7 i, m& _" v1 }处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br> o0 x. k) L( K4 E" F- R
其余字母是其功能的英文描述的简写。<br>
) C( K- `4 ~3 ?: a5 n" B指令及其参数、指令的执行结果均用字符串表示。<br>0 d- P* P- {2 l* w7 v
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>! A5 Y4 i$ U* H V* n( Y2 J
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
. U$ A) j1 K& f( n7 T/ r指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
( V: ~4 f$ H* F指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
! u4 R0 Y9 x( F/ v指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>" J) A+ }6 H* ?
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
B, \% y }% u三、指令描述<br>
1 U# o8 @* j! P0 u6 L1、 ePowerOn<br>
& R6 _- c, A8 b0 z功能:机芯开机<br>
2 v1 Y+ C3 f2 C格式:ePowerOn[_WallName][_ProjNo]↵<br>6 K |8 M% D5 _0 Z3 u. |3 g9 t' N/ B9 n
参数:<br>
& t8 ?% R& M& K- {! C. D. V$ CWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
2 u$ R7 C; l- P8 K也必须省略。<br>+ p( v7 z/ v% U/ g2 P8 i
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>' O/ n* e; H( T% e/ M G8 ^. Q
芯。<br>
( D- e7 T3 q [- [执行结果:ePowerOn_nResult↵<br>$ w: q, d. d, `; {9 s7 D
nResult 可能取值:<br>' o( S _9 J; P
0:成功;<br>
/ v" a! l3 q) s8 o1:串口控制功能被禁止;<br>
- L% R% \" }+ T% S: Z# h2:非法的指令名称;<br>
6 L" }' C% o, i2 x3 d) o5 f/ Y) w3:非法的拼墙名称;<br>3 A: J c. C& J: q
4:非法的机芯编号;<br>
# m0 f0 `$ O8 {1 q+ q0 A3 }5:操作失败。<br>4 n3 A* O0 c% I1 d: C& l% f$ b
2、 ePowerOff<br>
9 i. @7 T! \$ J4 D* A功能:机芯关机<br>
5 J4 \1 A8 |" L% l+ a3 s/ v1 i4 L格式:ePowerOff[_WallName][_ProjNo]↵<br>4 }) F& L' Z. ]* `: u
参数:<br>
8 W( H. i8 V1 f+ C1 JWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
4 S' N! w) E; e9 w也必须省略。<br>
7 p: M" p8 O# G' y! M t& [ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
" M" X% _1 m y; R' ]( v$ \芯。<br>1 _9 g7 x P- Z3 z7 t7 L3 G) h+ T- ]
执行结果:ePowerOff_nResult↵<br>
3 L: R' p8 O: c' \7 B; G: j0 AnResult 可能取值:<br>
G" A2 V0 e) I0 u8 B' E0:成功;<br>) z) o9 L& b& z
1:串口控制功能被禁止;<br>; K/ w9 T3 J8 p, _
2:非法的指令名称;<br>
^& w6 e8 J4 g* Y! r7 V3:非法的拼墙名称;<br>) R* j% t6 C3 n* ?! x; M
4:非法的机芯编号;<br>9 D" `7 j$ ^6 G3 w }6 C
5:操作失败。<br>
8 `' Q! K ^6 t# c3、 dPowerOn<br>
5 D6 k7 }# G3 Z$ ?% @功能:多功能显示设备开机<br>4 G+ T5 p; u! \, a
格式:dPowerOn_DevName↵<br>
3 x; [2 `+ u' `3 k0 p0 ~0 U% W8 V参数:<br>
. \; b C/ P+ [- j! Q2 nDevName:要进行该操作的多功能显示设备的名称。<br>' o3 l) G0 ]% t% f! `" h- b
执行结果:dPowerOn_nResult↵<br>/ G/ p; ~; e' r( n- |4 k
nResult 可能取值:<br>
" F8 z- u# ^) m k/ U0:成功;<br>( U/ q$ h) k3 e' f( X7 O, A& A- t) |
1:串口控制功能被禁止;<br>! R$ n& S: X4 u" Y* N
2:非法的指令名称;<br>" q0 _( ^$ U* P0 E
3:非法的多功能显示设备名称;<br>5 |* q+ g; K Z1 ~1 A
4:操作失败。<br>/ G% Z1 [% r+ ^& U' E
4、 dPowerOff<br>; S0 y e0 x1 X. X: h$ h# f2 t
功能:多功能显示设备关机<br>
0 P8 F8 T$ \# ~+ \+ U. M' g格式:dPowerOff_DevName↵<br>
1 v3 s; x" [0 q/ c参数:<br>% h; z1 Y @/ K7 [$ `: Q
DevName:要进行该操作的多功能显示设备的名称芯。<br>) a) \8 j5 d# t4 G2 {7 U
执行结果:dPowerOff_nResult↵<br> Q- r, u7 H+ Z# R$ I, R% F
nResult 可能取值:<br>/ {$ Q8 m4 @6 ]
0:成功;<br>
; V: ~. d6 {/ _. c* Y9 z1:串口控制功能被禁止;<br>
8 u+ ]9 V2 R, X7 ^6 X2 z2:非法的指令名称;<br>
0 }; J: n! I& p+ |& E8 l L3:非法的多功能显示设备名称;<br>
2 `# z' ^+ M! p9 i& m6 Z9 y4:操作失败。<br>2 F, T6 F- ]" h/ T$ E0 g4 ~
5、 eCloseWin<br>
! Z( N7 ?6 {; e ?功能:关闭所有机芯直通窗口<br>7 k, R! s( l( s* E
格式:eCloseWin[_WallName]↵<br>& \" u( p1 w. X* A/ M6 i3 { Q
参数:<br>- u3 q7 C+ U2 b6 S
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>2 j- W8 @0 A( G. K3 h; H: g
执行结果:eCloseWin_nResult↵<br>
0 F: l. m5 s, a8 H8 Q& P: snResult 可能取值:<br>1 G2 @: j4 R0 y, W4 y1 T! }
0:成功;<br>
# a4 m. C1 M7 \8 W6 ?. z! n2 s1:串口控制功能被禁止;<br>
8 f2 r% ^: p0 X% J2:非法的指令名称;<br>1 G- K+ z9 t5 g# U& g9 B
3:非法的拼墙名称;<br>
( H2 P6 n9 C: Z: J$ k& Q4:操作失败。<br>
@, O& `/ v2 V8 B2 c; ?6、 pCloseApp<br>
# z+ n3 t U$ X% \8 h7 X0 z3 `1 o功能:关闭所有处理器应用实例<br>' f0 M; G7 g& m4 W
格式:pCloseApp[_WallName]↵<br>( H' ~& S4 d& i# g: n: g
参数:<br> |8 k& [8 `7 e ]/ K/ c
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
' U# G* Y% v& Q( a3 W/ K5 F% j( d执行结果:pCloseApp_nResult↵<br>& Y0 J7 b& \# V3 T* \( {: u
nResult 可能取值:<br>
" \6 y, v, d5 s2 ^0:成功;<br>3 C% Q% ]& F3 S2 `3 j- u
1:串口控制功能被禁止;<br>
) R0 g7 g$ c" w" h! k2 n3 F2:非法的指令名称;<br>. f: ?3 `3 ]8 j; n
3:非法的拼墙名称;<br> p0 [- g1 m) b! |6 p4 r) P- l8 ~2 w" j+ U
4:操作失败。<br> A$ y7 ^ B* @* g. v9 z1 P
7、 pCloseWin<br>
3 d" j, L" t$ T7 M9 T) P6 ^7 V( Q功能:关闭所有处理器窗口<br>
6 p/ p, M6 ~) q$ q: t格式:pCloseWin[_WallName]↵<br>
! C( g4 ]. G8 N5 E! g参数:<br>
% {# R U% V) c! [" c5 h2 {WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
1 Z3 A: q/ k1 Z) x% z. c5 r7 a7 K执行结果:pCloseWin_nResult↵<br>
" _8 R* n% ?7 ?' M7 FnResult 可能取值:<br>" b; j3 p- w, H& j. N
0:成功;<br>8 t5 E& ]. @* T2 V; w
1:串口控制功能被禁止;<br>
7 x9 {/ b' N0 R7 L1 T2:非法的指令名称;<br>
+ D/ b$ J; J0 ] r3:非法的拼墙名称;<br>
' g8 Y9 s5 h: R3 y- [) J4:操作失败。<br>( R: d8 z0 _9 f, G; r7 B" m
8、 mApply<br>; q! `9 B9 A: ~8 F. {& T
功能:执行已经定义的模式<br>
9 G) J. p4 g2 x% n( v( @4 x2 K3 v6 Q格式:mApply_ModeName↵<br>
3 D" i" m* Q5 ]' b参数:<br>& n+ B: c, z+ c" K
ModeName:要执行的模式的名称。<br>+ z2 P/ X3 n% ~1 r8 ~' R
执行结果:mApply_nResult↵<br>
$ @- H7 q5 \# r8 {/ cnResult 可能取值:<br>
0 ~- |+ E2 q) M9 F, B6 a5 u0 P6 T0:成功;<br>5 a3 q% I* M1 i5 w& |5 s' g! Y8 \' K
1:串口控制功能被禁止;<br>0 \+ f3 t$ _: j
2:非法的指令名称;<br>
- Y# H4 ^- K1 H, D( }% @. {: F3:非法的模式名称;<br>6 ~5 c3 z: Y4 z) |* U& I `' E& |
4:操作失败。<br>
. G3 f; L+ t' L9、 sSelVideo<br>$ x+ `. H1 T" x$ P4 S/ \
功能:将一个VIDEO 信号源选择切换到一个监视器<br>7 }: ?1 L( k9 U) S* z' |( x
格式:sSelVideo_SouName_DevName↵<br>
- l `( |5 W( a参数:<br>
& W; B2 X! j' p* E; u7 h1 `: OSouName:要切换的VIDEO 信号源的名称。<br>
" p# P% X! j# ?* N# oDevName:要显示该信号源的监视器的名称。<br>, U5 R2 |2 \- X
执行结果:sSelVideo_nResult↵<br>
" l% F7 F5 N! ^! LnResult 可能取值:<br>- H8 \# `/ U2 Q- e' l+ X/ c
0:成功;<br>3 W/ I6 J4 U& Z8 y3 K# ~
1:串口控制功能被禁止;<br>, W' K: v7 E2 u/ A! @+ I
2:非法的指令名称;<br>
+ @3 n9 r3 w/ i+ H9 d! o3:非法的信号源名称;<br>- ]1 W l" j- Z- k5 z+ g, [9 s
4:非法的监视器名称;<br>
' c: x( C% Z0 }, z5:操作失败。<br>
$ O9 Q+ ], `3 O$ O4 w10、 sSelCamera<br>* X2 p& M. ^# k5 C- n
功能:将一个摄像头信号源选择切换到一个监视器<br>& [& |; F3 z9 L+ I, p
格式:sSelCamera_SouName_DevName↵<br>
$ r4 |; K; T+ ?' u& P; n, m% R参数:<br>1 F; Z' e- Y5 _$ e& y+ y
SouName:要切换的摄像头信号源的名称。<br>
& h, W9 m, Y; ]2 y$ @- CDevName:要显示该信号源的监视器的名称。<br>
. @9 i! Q C- g, t执行结果:sSelCamera_nResult↵<br>
: I% V) X z6 f9 n6 pnResult 可能取值:<br>' @4 ` s& [* P$ R; M% N/ R
0:成功;<br>5 O4 o8 m3 T0 W) B, N% _ V& ~
1:串口控制功能被禁止;<br>
; k% k# F) @ w2:非法的指令名称;<br>/ F% N! H4 v* j% k
3:非法的信号源名称;<br>4 h& v) p% j5 H) p8 ?
4:非法的监视器名称;<br>2 Y, @' Z8 V+ u7 X% b2 D
5:操作失败。<br>
/ _- D" D) M- K" h2 G+ T, M11、 sSelRGB<br># Q+ ~: e+ y& C
功能:将一个RGB 信号源选择切换到一个显示器<br>; s, ]' ?2 i! q2 b$ G" _5 r
格式:sSelRGB_SouName_DevName↵<br>1 D2 u" c( t$ r3 O* \( N d
参数:<br>: N0 C# K# Y# {4 Z2 h
SouName:要切换的RGB 信号源的名称。<br>
# T. ^, n2 B- B$ Q- s0 l. }DevName:要显示该信号源的显示器的名称。<br>5 S6 M3 W& v5 [6 f' f E
执行结果:sSelRGB_nResult↵<br>3 O- F; l* ~: P+ {: W0 @, z& h$ N
nResult 可能取值:<br>& T- ^* q( t' A7 b
0:成功;<br>
/ m5 N9 g' k1 i0 E' C: j1:串口控制功能被禁止;<br>1 n" n" \8 N1 \. o/ X8 }1 e- q
2:非法的指令名称;<br>, e8 o1 K2 q+ v: o
3:非法的信号源名称;<br>
- b, p z! g& ]4 t: ^6 ~$ l4:非法的显示器名称;<br>
& Z' X/ ?- v& r/ i3 U9 }5:操作失败。<br> C) r6 p- O* a" S/ Y- D
12、 sSelAudio<br>' r0 C6 w' y" g i/ x, _$ }
功能:将一个AUDIO 信号源选择切换到一个播放器<br>, c$ L/ q3 a- F- w
格式:sSelAudio_SouName_DevName↵<br>' E, M+ _+ j- p9 K
参数:<br>' z; m' q! y {3 F. e
SouName:要切换的AUDIO 信号源的名称。<br>
1 _2 P# b# ?0 W3 W9 K0 [9 SDevName:要显示该信号源的监视器的名称。<br>' f1 Y8 z0 c3 M$ j( K8 \
执行结果:sSelAudio_nResult↵<br>
9 }. ]" Y. |% j8 @& f- H/ QnResult 可能取值:<br>+ \3 H1 |$ A4 m) S
0:成功;<br>1 d* L& z; O0 H( v! z
1:串口控制功能被禁止;<br>
' D+ X" w3 Q; }/ I5 @! @' d2:非法的指令名称;<br>" H: y4 { j4 w) j2 K/ f
3:非法的信号源名称;<br>
4 t& J! C+ s8 p v2 ^5 Z% T9 Q4:非法的播放器名称;<br>
2 L# w( N6 @+ ^5:操作失败。<br>
3 d; c# P* P& n13、 sSelVideo2MFD<br>
; a. g5 o) b# Z2 ^, D3 T功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>2 P. d* [7 a, h- e7 b
格式:sSelVideo2MFD_SouName_DevName↵<br>
0 }& `) t2 R% t6 t9 s参数:<br>6 a0 t1 X5 J$ t8 w* M
SouName:要切换的VIDEO 信号源的名称。<br>
' g- {# g- ^. x1 JDevName:要显示该信号源的多功能显示设备的名称。<br>
* s) D- B/ {8 K执行结果:sSelVideo2MFD_nResult↵<br>
9 c' Q3 M2 t. G, T, wnResult 可能取值:<br>
, p' l9 J# c1 B( k: w0:成功;<br>$ X, W3 r9 D$ S) Y5 g+ ~) _8 l. h
1:串口控制功能被禁止;<br>4 D6 J o/ H& `( O. |& F2 @
2:非法的指令名称;<br>" f' c0 T. C6 ?9 [$ ^/ B5 N
3:非法的信号源名称;<br>$ V: f3 ~ u* }4 e1 u0 S
4:非法的多功能显示设备名称;<br>& ~2 M G6 i8 G1 \0 t& k/ `( D
5:操作失败。<br>3 Z0 A1 m0 Y* f2 X
14、 sSelCamera2MFD<br>
& X1 Y- |+ @( X5 D; O7 j- e功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>3 s% U+ t3 Q! G# e9 ?# K
格式:sSelCamera2MFD_SouName_DevName↵<br>
* V; ~) K" R" q. c参数:<br>
2 h! g- o5 D n9 Y; L/ r- \SouName:要切换的摄像头信号源的名称。<br>, W" y* M8 Y- V1 [" `; z- K2 X
DevName:要显示该信号源的多功能显示设备的名称。<br>
& k+ w/ ?$ l2 P& \* w执行结果:sSelCamera2MFD_nResult↵<br>1 |' R- P. J; E! Y. o
nResult 可能取值:<br>
& p& E; v( T/ d/ @& G4 \9 d0:成功;<br># ^$ N8 A- i5 Q0 A6 n, n G* O6 P) L
1:串口控制功能被禁止;<br>% S* ^' B: f0 O+ N- l
2:非法的指令名称;<br>
7 }- Z) \7 ^, M" W3:非法的信号源名称;<br>
3 v+ }/ t- `/ @- k3 v4:非法的多功能显示设备名称;<br>
$ D, W* j7 n! [2 n( d5:操作失败。<br>
. z8 ^: o8 Y$ b" Z+ Z {" o7 f15、 sSelRGB2MFD<br>
, a1 D; r- r( j4 j- }! |功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
" ]% q. [0 Z2 f8 L- T3 u" X格式:sSelRGB2MFD_SouName_DevName↵<br>( }* z" h( e" Q- r5 k3 g
参数:<br>1 g+ P9 R$ p0 ?4 ]* R
SouName:要切换的RGB 信号源的名称。<br>
1 j% j6 l. J2 f O' n% vDevName:要显示该信号源的多功能显示设备的名称。<br>& O3 ?" |4 \7 |
执行结果:sSelRGB2MFD_nResult↵<br>: s$ b# [) H7 C. Q* ]/ P, S) b7 A
nResult 可能取值:<br>3 K/ r2 W0 X: p1 m7 L" ]
0:成功;<br>- J+ U5 p) g& [8 N
1:串口控制功能被禁止;<br>
& K6 i4 K* a, ~, C9 F) P2:非法的指令名称;<br>% O3 ~+ T b& }
3:非法的信号源名称;<br>" ]/ Z. v( A! w; I" N8 v- d/ V
4:非法的多功能显示设备名称;<br>$ c5 ~; _' I" o4 \8 a
5:操作失败。<br>
w5 U* |& [" s. G7 V* S16、 sSelAudio2MFD<br>$ W' W) t e* b; O6 G
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
/ k, T2 D9 e/ E+ r格式:sSelAudio2MFD_SouName_DevName↵<br>6 b' W$ }( a1 a' h) ]* q2 {4 Y
参数:<br>7 O7 {& }1 L3 K5 ^* O- o3 }
SouName:要切换的AUDIO 信号源的名称。<br>
5 w: K5 B$ F8 j# I F' t5 LDevName:要显示该信号源的多功能显示设备的名称。<br>0 w) z- g- P* Z9 R6 l& d+ f' A! K
执行结果:sSelAudio2MFD_nResult↵<br>
* i( h, ~; A9 h: C( l/ p5 z8 ?2 d8 CnResult 可能取值:<br>
4 s1 {7 ^% |; G k0 C, D- M( [0:成功;<br>7 h7 m8 E$ E6 }3 D- V
1:串口控制功能被禁止;<br>
/ \& A8 \, h, S, Y! V- | o5 |2:非法的指令名称;<br>
+ b: i+ x& g- P8 G9 O3:非法的信号源名称;<br>
. f! _" h0 \, D; o1 r4:非法的多功能显示设备名称;<br>
5 a4 j$ Q4 A3 M; O5 |5:操作失败。<br>
4 a4 P5 L' q: X17、 cSendData<br>
" a0 a- t, n; N7 i( v _功能:发送数据到指定串口<br>
0 O' w& o& r$ O/ u& |- a. h格式:cSendData_PortNo_PortSettings_Length↵Data<br>; y; @7 D+ T: R: v2 h! j' c
参数:<br>8 E7 c9 ~' n& S f, j+ c# J
PortNo:串口名称,譬如COM1<br>/ F( X8 @1 q( |' a2 k- ]
PortSettings:串口设置,譬如9600,n,8,1<br>: I. n; t8 B4 F( x3 X; P
Length:发送的数据长度<br>1 e# ?4 U4 X) i( g$ @* e
Data:发送的数据。<br>
+ C( T+ E; u2 I$ p! b- j执行结果:cSendData_nResult↵<br> D1 v3 I/ N& \; _3 S
nResult 可能取值:<br>- \# k1 f: Y* d/ ~( f
0:成功<br>) D. z) }2 N; U, V
1:串口控制功能被禁止<br>
3 b5 U2 m* ?8 O7 W' Q2:非法的指令名称<br>4 j7 x! a5 Q. [* S# y3 n0 u3 t
3:非法的端口名称<br>
/ f1 e+ v; B5 R2 r3 A$ E4:非法的串口设置<br>
, S& T/ E+ P6 W0 c5:操作失败。 |
|