|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
/ }1 O4 q; ~. E) I一、概述<br>8 N+ \/ Q0 k( u- \* z
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
% |) @" f' ]/ g' w% M+ b控制的接口。本文描述该接口的控制协议。<br>
& o- g9 }) T+ A" p* ?8 s E/ bVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
% e1 z! r j! m" K. D过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>/ ~' v+ |3 L( `4 f, e+ V0 ]$ [7 D
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>7 c) b% @2 g/ o6 f
该协议可根据以后的功能需求进行扩展。<br>; u% {9 [7 n- ]
二、指令的命名和格式<br>: E4 k6 m% h/ t, T
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
) n; V( s0 D/ w9 ~; e处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>; S$ Y n. n+ t4 W, S
其余字母是其功能的英文描述的简写。<br>8 ? e& S/ y+ Z- q+ J
指令及其参数、指令的执行结果均用字符串表示。<br>7 t+ i1 ?5 `- N% q9 Q
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>* M3 m2 K$ O# |4 J" j' I8 |
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>- n% p; j- q2 G1 H3 p4 t+ W5 k3 m0 o
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
) d% \3 Q3 m& j; r3 H+ P- s指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
( Y& L3 t" X9 \. I- N% [指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>6 R7 s( U. g6 p6 o/ X
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>! F4 d9 o z3 Z; |5 T [
三、指令描述<br>
9 g% J# o R$ a" T% ^" D0 s1、 ePowerOn<br>* ]% w1 e% E I0 a4 r
功能:机芯开机<br>
) Y1 \8 M0 ^$ i* n格式:ePowerOn[_WallName][_ProjNo]↵<br>
; l) r3 _0 q4 a+ N5 B+ T/ k参数:<br>" ~- G! `" b; u( R
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
' }8 c. ~% L' G) ~也必须省略。<br>, Q) g' u- j0 C2 x- n
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
. n; a H9 V. I' b; Q( h2 g芯。<br>
6 z3 O6 }, C( G9 x; F( y. h+ u执行结果:ePowerOn_nResult↵<br>; h% k' ^; P2 C1 c+ b4 l$ ?
nResult 可能取值:<br>* _/ Y$ |5 J# D
0:成功;<br>
2 { \* c/ D, Z" i1:串口控制功能被禁止;<br>
% h* a& S. s+ h, ~2:非法的指令名称;<br>* t* D- M3 B" p0 q x1 ]
3:非法的拼墙名称;<br>9 V; A0 ~! d; Z! f- [! E
4:非法的机芯编号;<br># o! g v$ O3 G( `6 `4 i
5:操作失败。<br># q# Y9 }3 B$ O m3 ]; M# U
2、 ePowerOff<br># E1 |$ z9 x" Z; b0 {
功能:机芯关机<br>
7 Q1 t! x* G8 s/ j, \/ |5 o格式:ePowerOff[_WallName][_ProjNo]↵<br>
5 [- h# j, F+ s. u7 l3 [/ Q: u参数:<br>, h, [) I' O. \' \: s) e. G
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>4 T. w' g) n+ i( w4 |' _1 t
也必须省略。<br>3 |! E7 N& L* K# s" j" j
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
7 I7 P" O% c4 o6 L芯。<br>0 K6 W: T2 a8 P2 F0 L# k
执行结果:ePowerOff_nResult↵<br>- u2 I# |" y8 D& F7 [8 D
nResult 可能取值:<br>5 N5 W. V3 ?" g @7 h
0:成功;<br>
$ J* ?# k9 V3 P$ t7 W) ^7 o) Z1:串口控制功能被禁止;<br>
% @ e8 N0 ^0 m: \; Z1 S2:非法的指令名称;<br>
8 D+ \ f$ v i3 E4 W) Q4 \; i# W1 A3:非法的拼墙名称;<br>
: i7 K8 W: W' A3 g8 ?4:非法的机芯编号;<br>/ r3 p0 X0 u* Y8 Q
5:操作失败。<br>+ N$ L! x- n1 g; }# A
3、 dPowerOn<br>
7 a) U6 d, t' M* l) m) C功能:多功能显示设备开机<br>
) [! J1 V4 H( E4 m格式:dPowerOn_DevName↵<br>; y1 v6 Z: [3 ?# V
参数:<br>
B5 E; N ^ Y7 q/ W+ @DevName:要进行该操作的多功能显示设备的名称。<br>
. n* L. v) b1 z: R+ s' I, X5 j! Z执行结果:dPowerOn_nResult↵<br>
. y5 Y/ o( @) a" X9 xnResult 可能取值:<br>
. _9 J; ^/ N Z/ V6 M8 k* u0:成功;<br>& u& D# o/ s% C" c
1:串口控制功能被禁止;<br>5 T/ _+ b) A% X: } ?
2:非法的指令名称;<br>3 s6 E; o) N1 Y! Z9 C. d! C
3:非法的多功能显示设备名称;<br>
* p% E& C9 W4 t1 S) G5 C) p" P d4:操作失败。<br>
+ H. p' w; \0 n. u3 B- I4、 dPowerOff<br>0 H. @7 {# d3 [3 t E2 R8 |6 V6 L
功能:多功能显示设备关机<br>0 {- [9 Z1 Y! g P, [
格式:dPowerOff_DevName↵<br>+ c* \7 x4 U. \. z3 U! j1 k
参数:<br>
' a; i3 C3 e- y; _& r, cDevName:要进行该操作的多功能显示设备的名称芯。<br>
9 W' H3 x- r0 G0 y. Y/ }6 F1 Y; v执行结果:dPowerOff_nResult↵<br>! c; m) n+ H# y' p: e" j- I% c1 y, ?
nResult 可能取值:<br>
9 b# w( K( b& i2 K' k0:成功;<br>& K3 }" x2 e: r
1:串口控制功能被禁止;<br>0 Q, r% y& M7 z; t
2:非法的指令名称;<br>
$ L: ~1 O1 ]6 }; i% Z8 A6 E3:非法的多功能显示设备名称;<br>" J* j: L+ r' z+ p- s6 r7 j! |( M0 w. F
4:操作失败。<br>0 k" }) ]2 ?( \4 X9 _
5、 eCloseWin<br>
/ b3 a* S, H5 W; P# p功能:关闭所有机芯直通窗口<br>
& n9 d" B; ?3 N格式:eCloseWin[_WallName]↵<br>3 i9 g4 n( ? j2 L- I- y! v
参数:<br>
) l) @% }# [7 nWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br> x) |# Q8 v. \2 I$ x4 ?5 ?# a. Q
执行结果:eCloseWin_nResult↵<br>4 w7 i9 n& ^6 o; k% Z
nResult 可能取值:<br>
5 v7 x: E/ j8 x; t, @& M: ^: e3 F0:成功;<br>, T* ?/ S# Y0 x# W9 S
1:串口控制功能被禁止;<br>, y# G8 L7 u9 E5 x* \1 v
2:非法的指令名称;<br>
* H* t+ K2 k n' A$ q) `3:非法的拼墙名称;<br>) [. @/ g, r& m# m+ d3 x2 P
4:操作失败。<br>& H. X5 `' M2 K" @3 y8 s9 h+ ^
6、 pCloseApp<br>
4 P t; @8 G" x4 x" |功能:关闭所有处理器应用实例<br>' i8 a3 Z; S$ l+ V7 b
格式:pCloseApp[_WallName]↵<br>
* ]# ?6 Q% C9 W7 Y/ K参数:<br>6 Z8 M" J* i/ W
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
/ ~" u8 X$ W3 w执行结果:pCloseApp_nResult↵<br>
& g5 |' o; {' a: L" s0 @* tnResult 可能取值:<br> ^. y$ X) z2 K$ E1 ~3 B' p
0:成功;<br>+ z, `$ H# |7 G! i7 P1 b7 t) P) a# v- n
1:串口控制功能被禁止;<br>9 {: X& }* o' q4 a4 j0 R: |
2:非法的指令名称;<br>
. m P+ g8 @1 ^/ z( o U1 D* f6 m3:非法的拼墙名称;<br>
& O6 o! m3 C+ n) W" A2 ~% t4:操作失败。<br>
% T8 p9 _% Y" G; P9 a+ E; n9 E5 g7、 pCloseWin<br>2 f) j/ J1 o6 U# c) x) @
功能:关闭所有处理器窗口<br>; V0 ]( B$ t2 D0 K% b
格式:pCloseWin[_WallName]↵<br>' W" {4 W" V5 k" R$ D8 x3 z
参数:<br>
+ Q+ U9 Y4 \6 Q" q! M+ VWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
4 o9 P3 J3 `2 g; d! `% l% c: h执行结果:pCloseWin_nResult↵<br>/ q1 O" g4 e# O8 }; a* @
nResult 可能取值:<br>
& i2 I' C" k$ |+ C) X9 M- j9 ?0:成功;<br>! F! `( m- H8 L( U
1:串口控制功能被禁止;<br>
3 L! f$ E$ D) c4 y9 W! v( O2:非法的指令名称;<br>- J- h V9 f# G5 m+ k* f" j6 b4 {% }
3:非法的拼墙名称;<br>0 e2 L; x8 T& v) Y
4:操作失败。<br>* K5 h' R* n. `
8、 mApply<br>
* y- L# h* @9 {! q5 O功能:执行已经定义的模式<br>
. r. G p% D+ z, F. A格式:mApply_ModeName↵<br>
7 J3 p5 f$ H, p) W参数:<br># R' H- w$ `- U' k4 N
ModeName:要执行的模式的名称。<br>
3 b. G7 \! X; [+ m% l! j! q0 f执行结果:mApply_nResult↵<br>
/ B9 B! O# @* JnResult 可能取值:<br>5 b5 M3 l% c9 o% D0 d. Z9 _
0:成功;<br>) j" L" T* H& T
1:串口控制功能被禁止;<br>
: t/ `6 L) {1 h$ B2 H0 V2:非法的指令名称;<br>' P2 p/ M$ R f
3:非法的模式名称;<br>0 T; Y+ h z6 a3 F3 W
4:操作失败。<br>
3 E# W- S. _) t# _5 F! @9、 sSelVideo<br>: b+ |( a5 }+ k& F. |
功能:将一个VIDEO 信号源选择切换到一个监视器<br>, R, I) B& T$ s+ \- R4 \
格式:sSelVideo_SouName_DevName↵<br>/ {3 S& k, r8 a- {3 ^- o
参数:<br>
/ D9 S3 w4 ?4 |+ o: kSouName:要切换的VIDEO 信号源的名称。<br>
1 @7 h, P, F- G1 l3 C( x( IDevName:要显示该信号源的监视器的名称。<br>& F( l# Q2 @! [1 k
执行结果:sSelVideo_nResult↵<br>
) b% X8 F2 e0 C, t0 u1 TnResult 可能取值:<br>' V' ^& X3 c% |
0:成功;<br># O; c0 x3 J/ I# v1 b
1:串口控制功能被禁止;<br>
% v# x* e& J7 n2 D7 [2:非法的指令名称;<br>
% e: R D. F7 O! Z3:非法的信号源名称;<br>' @& J M4 Z4 \3 V
4:非法的监视器名称;<br>6 z7 U R2 ?" V c0 l& |# ?' W
5:操作失败。<br>' G+ A+ l `2 k7 E
10、 sSelCamera<br>
; n9 k5 k, B) B- V0 O' B& q功能:将一个摄像头信号源选择切换到一个监视器<br>
3 T0 U2 H1 G7 ^/ W; l" _7 C3 C5 Z格式:sSelCamera_SouName_DevName↵<br>! o) Q6 a, f- ?" ^# U
参数:<br>
1 k- n! N/ t! B7 `3 s9 f9 v, G9 x! C% LSouName:要切换的摄像头信号源的名称。<br>
; v# r8 H+ [3 HDevName:要显示该信号源的监视器的名称。<br>
- p: ]4 ~& T; j7 F执行结果:sSelCamera_nResult↵<br>
! h. O' h2 J+ |8 W# {( C- ]& AnResult 可能取值:<br># S' s; Q% y0 L5 {
0:成功;<br>5 S9 h1 v$ R* x& @0 C% [6 ~
1:串口控制功能被禁止;<br>
, C) n& B9 ^8 F5 {2:非法的指令名称;<br>
; {/ i4 Y5 L9 y4 ]/ C) W) H3:非法的信号源名称;<br>
% @) s& ^, w1 y4:非法的监视器名称;<br>; r3 w; s5 C4 {) g1 {% ?+ W$ r
5:操作失败。<br>
2 Z2 y9 w5 N) r% m2 z11、 sSelRGB<br>0 l4 [6 |% Z9 v
功能:将一个RGB 信号源选择切换到一个显示器<br>* U! _# G- [+ ^4 i" n$ E
格式:sSelRGB_SouName_DevName↵<br>
1 _: R. K" V4 |9 X/ i0 W5 R' d- t% H" b参数:<br>
/ O' P) X5 |+ n: c8 L$ ZSouName:要切换的RGB 信号源的名称。<br>: |/ ]+ O; o/ t$ n& e
DevName:要显示该信号源的显示器的名称。<br>( X# a- H" W @
执行结果:sSelRGB_nResult↵<br>! h+ x$ ^. W( }9 F! T# \3 M' Z
nResult 可能取值:<br>0 `; Y( G' Y' v1 f5 v. K# q
0:成功;<br>! C" \- l8 T8 {
1:串口控制功能被禁止;<br>
8 `* w! k; a$ K2:非法的指令名称;<br>
2 }6 \. y% Q" Q3 o3:非法的信号源名称;<br>
; R/ u4 Z8 M: T$ a- S2 g4:非法的显示器名称;<br>
a7 [: _+ ?- ^$ {( u9 r5 P3 x5:操作失败。<br>
U2 Q/ k- V' Q' i0 |& ~1 j+ g6 U12、 sSelAudio<br># A5 k' \% p5 F2 y# u/ k
功能:将一个AUDIO 信号源选择切换到一个播放器<br>$ G1 b0 N! b5 k: E0 V. M! e
格式:sSelAudio_SouName_DevName↵<br>
$ M4 p* ~- M6 ~2 o, m参数:<br> r. ?+ g' y( | ?& \
SouName:要切换的AUDIO 信号源的名称。<br>& u3 c* g8 [1 N' l0 n" M+ k$ \
DevName:要显示该信号源的监视器的名称。<br>
8 | r1 r- D7 X2 J9 C' J- ]8 A执行结果:sSelAudio_nResult↵<br>* }8 n: w. E% [1 R5 X; u3 t6 G* n
nResult 可能取值:<br>. ?4 t4 A) S ~: q( J7 l/ v$ `
0:成功;<br>
/ i8 Z2 x4 e1 Z9 c) z1:串口控制功能被禁止;<br>
% I* n. k0 O8 l* e# B& g5 y9 X' _8 [2:非法的指令名称;<br>
% A0 q3 i7 K7 {9 d3:非法的信号源名称;<br>
6 S2 B0 i0 V* ^ z% K. R5 O4:非法的播放器名称;<br>" ~9 {8 d8 u; j f. H) D4 G1 j Z
5:操作失败。<br>
: }! y9 d+ k9 G5 ]5 D, `13、 sSelVideo2MFD<br>
7 Y! ^. }2 f% P3 ~6 P7 @功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
( E( h# j' L" p' {格式:sSelVideo2MFD_SouName_DevName↵<br>4 ^! y1 ]% J0 g1 q8 f. e8 S& Q/ Z C X: V
参数:<br>
, @% N: d9 I5 ~5 e' e! KSouName:要切换的VIDEO 信号源的名称。<br>
( D S7 C) [1 z3 O# @DevName:要显示该信号源的多功能显示设备的名称。<br>/ d4 O: o+ c* Q- j4 o2 m1 v) ]
执行结果:sSelVideo2MFD_nResult↵<br>
7 y9 ?$ E# `6 {, K2 KnResult 可能取值:<br>9 t Q+ ?; `* u8 @4 Z9 ]: ]
0:成功;<br>4 ^( r3 `+ B/ n# t2 _$ G
1:串口控制功能被禁止;<br>
9 D$ [$ K0 {1 d2 p: u" w2:非法的指令名称;<br>
?) k5 ^0 ]9 D) f3:非法的信号源名称;<br>
0 N3 a2 _) X/ p) s" L$ u4:非法的多功能显示设备名称;<br>, Z W% U: _4 j: @$ o
5:操作失败。<br>
; {. X8 |: S0 i2 V$ f* z( n9 ?: f14、 sSelCamera2MFD<br>
/ H: d- m" Z2 [- r功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>6 g: F- [- I, Y J6 A( y
格式:sSelCamera2MFD_SouName_DevName↵<br>
8 y6 n) [, S" x7 i0 i参数:<br>
% v; U' D* m# D8 t0 \) ySouName:要切换的摄像头信号源的名称。<br>
/ p$ z7 m& S( u9 Q) ?7 s/ R( v6 S7 GDevName:要显示该信号源的多功能显示设备的名称。<br>
8 J k6 f; \+ J- r执行结果:sSelCamera2MFD_nResult↵<br> X/ p; ~9 L/ y, G) ?
nResult 可能取值:<br>
R/ a9 l) Z- C8 W) w, k- h' V0:成功;<br>6 i6 v( p6 Y8 l- j5 v' Z- e
1:串口控制功能被禁止;<br>* T) x/ h; ~- o% p0 C8 e
2:非法的指令名称;<br>; j$ i. A! ^1 m8 M) g5 b0 a
3:非法的信号源名称;<br>5 s' R8 T' c- k7 t7 M
4:非法的多功能显示设备名称;<br>
7 V( \/ j! e$ N: G5:操作失败。<br>4 F9 N6 d. o. F5 V
15、 sSelRGB2MFD<br>
* T! Z% q( l5 W0 ?功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>1 a. d6 z% }& o! Y! P
格式:sSelRGB2MFD_SouName_DevName↵<br>5 L5 `6 c6 b8 {! c9 e" O$ X
参数:<br>
D+ d9 P/ C# ^SouName:要切换的RGB 信号源的名称。<br>% {% s* f# J3 `3 _8 `
DevName:要显示该信号源的多功能显示设备的名称。<br>
; C8 Z. E p! }" h执行结果:sSelRGB2MFD_nResult↵<br>
3 n6 s+ {7 [5 o& A. [1 w0 r8 jnResult 可能取值:<br>
+ ]0 p# t( f9 M0 ]0:成功;<br>
( E( r- H* u2 P+ f2 }( h1:串口控制功能被禁止;<br>
# _" c% ~+ F+ {$ ^( G2:非法的指令名称;<br>
9 A# C' Z; q% U& d: h5 g' S, d3:非法的信号源名称;<br>
% Z7 x9 N# ^/ U* j9 h) N) S2 ]4:非法的多功能显示设备名称;<br>
- x4 j/ _1 e! g$ N' E+ y# D1 R5:操作失败。<br>
6 S: d: E. a) \4 W, ?1 S16、 sSelAudio2MFD<br>8 q, l5 j- ~7 O' ]8 V
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
) g, s( ~ O9 _5 h格式:sSelAudio2MFD_SouName_DevName↵<br>
, h/ v7 @, m* r2 Y6 R8 f" M4 a' e参数:<br>! S" D" M2 x. h3 {1 K
SouName:要切换的AUDIO 信号源的名称。<br>" ?, V0 X0 B8 L; Y* f8 ~' x0 S
DevName:要显示该信号源的多功能显示设备的名称。<br>
* x+ _' k: b2 {$ M. N! @# \" q4 y. O执行结果:sSelAudio2MFD_nResult↵<br>
7 T. M7 d- l/ ]8 d7 s- inResult 可能取值:<br>8 l* W) |; @& b* h$ {
0:成功;<br>
% z" l8 |. w4 ]; H1:串口控制功能被禁止;<br>
{& E: ?4 Y( n9 S7 O2:非法的指令名称;<br>
+ S( `' v- N O# B: R% ?3:非法的信号源名称;<br>: W$ _* W2 Q3 }3 p l
4:非法的多功能显示设备名称;<br>
$ M* B# `. R i0 e5:操作失败。<br>
8 j0 B* _# t1 A6 m17、 cSendData<br>" {0 {4 ~' F" `0 w8 v; ^% r. p
功能:发送数据到指定串口<br>! ~& ~1 x2 C& C9 U
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
6 Q& U+ P5 { [+ |- H6 @参数:<br>6 T- M6 i% N) R2 s" x" @5 o. ?
PortNo:串口名称,譬如COM1<br>4 E) p7 t6 j" l6 g" v- r
PortSettings:串口设置,譬如9600,n,8,1<br>
: L5 P) G. k+ R6 [% R) s8 xLength:发送的数据长度<br>6 ^3 r" v" l& P+ G( L: T) x) R& y
Data:发送的数据。<br># h1 F* l. K0 f: y
执行结果:cSendData_nResult↵<br>
3 a& S# W1 q# ~0 w& znResult 可能取值:<br>
! O/ S3 a. L0 E0:成功<br>
# s0 B" g- T ?7 S. t m1:串口控制功能被禁止<br># c4 y7 p* @7 J' `; w& u% z* P) L
2:非法的指令名称<br>
, @8 ]. n% U' |' d3 P1 M4 W3:非法的端口名称<br>6 R+ ]; g) S3 o
4:非法的串口设置<br>
' d5 v( q# F2 x5 w m. q5:操作失败。 |
|