|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
: b4 g' d7 }0 Q一、概述<br>4 s% _6 m5 l: H4 l% N. J* S
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
0 j4 u' x8 c/ [: T2 g) E! E控制的接口。本文描述该接口的控制协议。<br>/ T9 U. {+ v& C
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
9 D6 y$ r: B5 G' g7 b过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
! Y- c6 J8 s B机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
8 Z$ k& W# C# q. B! r) |该协议可根据以后的功能需求进行扩展。<br>, E: q! B* f/ x
二、指令的命名和格式<br>
7 d' b; c& O! B5 ~% d: K2 r* `指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
5 U- R. ?$ A* G' }: z! |处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>6 R3 Z3 r% ^5 u8 Q0 J1 @8 m
其余字母是其功能的英文描述的简写。<br>
$ d2 q1 W& ]. e& F指令及其参数、指令的执行结果均用字符串表示。<br>
" f) o0 K3 s, I- c _# R: m每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>3 f! x1 Z& F, w0 C" I2 j1 e# C) R
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
7 R, H1 v+ n% h/ Q5 W指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
8 f& E3 o3 p: o7 E2 W指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>) L$ ~5 W3 ?3 E1 z! v' R3 [
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>* {( f( }8 A- Y# C! F
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>2 Q# p/ T9 {. t1 L3 _0 C) P
三、指令描述<br>
! p! O& W' P! E! x% I! Q3 d1、 ePowerOn<br>) Q) A$ b- \1 ^4 s! \
功能:机芯开机<br>9 M3 F- p( \# x4 R9 o
格式:ePowerOn[_WallName][_ProjNo]↵<br>
, k* @9 ]. c, w8 c参数:<br>' e& {" B8 b6 k) z
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>* J2 l4 R+ R5 x+ n Z3 _. [
也必须省略。<br>
0 m2 n6 w& h) v7 M$ e. WProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>5 y# Q1 j3 g0 G! P6 Y3 L
芯。<br>5 n5 Y& C; {. q3 s- n8 o; \! h* e5 r0 W
执行结果:ePowerOn_nResult↵<br>
' Q, b6 o3 R% b$ NnResult 可能取值:<br>
* e0 m1 h/ d. b2 F/ d0:成功;<br>
1 y8 O7 u7 J3 }' C( }) x, S# B1:串口控制功能被禁止;<br>
- G! q- ^) K F: @" y3 k# b" O2:非法的指令名称;<br>, R1 n3 @( N- X" B! F8 v, X9 C, K
3:非法的拼墙名称;<br>
' H( N' N% G& j9 Q/ _: ~8 m4:非法的机芯编号;<br>
, ?$ D/ B% N( }3 s$ o2 K, L5:操作失败。<br>: u1 x1 P5 s: f# x
2、 ePowerOff<br>" l) {) T5 k$ z
功能:机芯关机<br>
/ r! y! u& l- F+ o2 a' g! o6 `7 o格式:ePowerOff[_WallName][_ProjNo]↵<br>2 p* p) J/ m" r2 U
参数:<br>4 v; j, p. W7 T% o3 x$ a/ N
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>" C3 J1 M) m* G# o1 O% o9 r
也必须省略。<br>- N9 o2 I' y4 e& h
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
3 q# i) ] N6 V# |+ f0 @芯。<br>" b1 \7 r) l9 v c
执行结果:ePowerOff_nResult↵<br>: {6 {" [: g5 b9 G
nResult 可能取值:<br>
4 l8 z( P6 i3 z( j5 d& c$ R0 u0:成功;<br>
0 z2 B( H4 m/ b$ k& o% _) V1:串口控制功能被禁止;<br> M, p5 X. c8 R! H7 B5 p
2:非法的指令名称;<br>
8 I; Q( r$ Q2 H3 L1 h/ x( \* c5 s3:非法的拼墙名称;<br>
8 C2 S" b" @0 a3 Y/ A! R: @4:非法的机芯编号;<br>8 W; L! A0 }1 |. n
5:操作失败。<br># a6 h6 ]% t* L+ t/ D# t4 N
3、 dPowerOn<br>8 [* O" M/ T/ t, Y: D: j3 ^1 b2 S1 ]
功能:多功能显示设备开机<br>% b6 W/ P$ e- w/ L; R. X0 S( e
格式:dPowerOn_DevName↵<br>) v/ v: ]6 O0 l+ r G$ s* J! P3 }# m
参数:<br>0 ^* h" n+ W: a- r
DevName:要进行该操作的多功能显示设备的名称。<br>
, l1 j: t6 R# |& U: n5 x# H执行结果:dPowerOn_nResult↵<br>8 C; Z) h3 p! y; l9 R& e) |
nResult 可能取值:<br>8 r. c; f! t3 m" o
0:成功;<br>7 H! A. _' A2 r2 B% k* G% b
1:串口控制功能被禁止;<br>
4 T7 A/ L+ |5 @1 T# ^* w2:非法的指令名称;<br>
7 \1 r6 g$ j9 ~9 M: \3:非法的多功能显示设备名称;<br>
( P+ s* ?7 f' K7 J; Z4:操作失败。<br>
9 H: ^3 p; d! k' n& d4、 dPowerOff<br>9 ] y& M9 m- Z( V0 W% h& J
功能:多功能显示设备关机<br>; M% [8 n$ N R
格式:dPowerOff_DevName↵<br>
7 ^9 n' G7 l' M( L2 O- u参数:<br>- L7 M7 }" U# P: g6 O0 o) N" c7 }
DevName:要进行该操作的多功能显示设备的名称芯。<br>& Q% W& R: e9 b5 X- K: u3 Y
执行结果:dPowerOff_nResult↵<br>) `* n8 Z) o8 t7 \, S1 |
nResult 可能取值:<br>
9 m8 O# v& t9 Y8 | D0 J% L+ h0:成功;<br>
* P. Y8 W# } A1:串口控制功能被禁止;<br>; l1 Z- U4 a5 e+ ~7 R
2:非法的指令名称;<br>5 I5 ~' r/ }3 x% W8 Y/ `
3:非法的多功能显示设备名称;<br>& a* V" P- i0 ^0 ]
4:操作失败。<br>
/ i& S1 ^8 l) ^: t) r$ Z6 r1 r5、 eCloseWin<br>
0 F4 _" T) }0 Y o功能:关闭所有机芯直通窗口<br>
% S( w- |' t( D+ ^4 V# @: ?格式:eCloseWin[_WallName]↵<br>
" O m& R& T+ t0 b& t% s& G参数:<br>
! B+ i9 n7 H) ?7 U& w c$ nWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
% u% u) E o+ _1 J执行结果:eCloseWin_nResult↵<br>
0 x- f g7 Y# |( W2 }nResult 可能取值:<br>
6 i$ V& U F% X; u3 m, q9 O* L8 ?0:成功;<br>( J0 P; n* ?1 `8 s
1:串口控制功能被禁止;<br>" S% j0 e" C7 X6 p
2:非法的指令名称;<br>, ^3 a4 T+ b: @, M! c) G/ E# C5 J
3:非法的拼墙名称;<br>
8 _% z! c0 K$ @$ u' `0 p4:操作失败。<br>
- E, @9 }" @; b: N6、 pCloseApp<br>
9 s8 p& Q# }# J- F* i( F功能:关闭所有处理器应用实例<br>
5 C9 V8 O' B+ o _* q# X+ a1 a格式:pCloseApp[_WallName]↵<br>- v h& b: d0 r* H
参数:<br>6 Q% G, u" i& A5 ?9 B$ ^
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
# y6 ]- E" H5 {1 n0 M* q; U执行结果:pCloseApp_nResult↵<br>5 @3 F/ d: y6 q3 v
nResult 可能取值:<br>2 O: Y$ G7 h( Q% N+ W2 V/ H7 E" H
0:成功;<br>* w9 W, ^% t, R9 `7 W
1:串口控制功能被禁止;<br>& j/ J' A/ n0 T( E+ b
2:非法的指令名称;<br>: G3 E* A9 c; r- X* X( y
3:非法的拼墙名称;<br>
# Q1 w1 U$ j! M2 D4 \4:操作失败。<br>
2 ^3 j$ f& ^+ F& s7、 pCloseWin<br>1 a: `9 W B; U1 s: o6 d
功能:关闭所有处理器窗口<br>
8 C: m& N0 f% U+ J格式:pCloseWin[_WallName]↵<br>
/ T7 M, x8 F7 r0 z( t2 G+ g参数:<br>% u; |: w8 l# i' n- z
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>% `; Q3 {0 j6 y3 C8 u' I$ @
执行结果:pCloseWin_nResult↵<br>1 S! }3 n( u- W
nResult 可能取值:<br>5 ]' Q7 N# D: i6 [0 h
0:成功;<br>+ x: `( U H/ N! W. u
1:串口控制功能被禁止;<br>
. N Z" o: d; M |2:非法的指令名称;<br>
% P9 {" D' n+ W3:非法的拼墙名称;<br>
% S+ o5 |4 P2 g: c. q4:操作失败。<br>
: \" U, p; }0 `$ \1 H% P8、 mApply<br>
& G1 R( K% n. O0 G8 @功能:执行已经定义的模式<br>
% w/ d+ ]8 I3 `- g% I) m$ y格式:mApply_ModeName↵<br>9 V8 m( I: n+ w6 X# a/ S! O
参数:<br>$ |$ V# h8 x/ _$ x2 T+ w
ModeName:要执行的模式的名称。<br>% N t, V/ F! G5 ]2 j
执行结果:mApply_nResult↵<br>
- V- [: x. W0 b% A& KnResult 可能取值:<br>
' s4 Z3 _. k( q3 i8 y0:成功;<br>. L- f! k" b* h( w$ z
1:串口控制功能被禁止;<br>
4 z7 c) d- r: }1 |2:非法的指令名称;<br>
3 N q; s/ |9 l( G8 h3:非法的模式名称;<br>
& J! X- W# u A4:操作失败。<br>) x) ^% z U9 R' O2 C
9、 sSelVideo<br>8 I* f$ t5 V$ c/ z, t* g. D1 K
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
' N% _3 a0 S8 F! O& o+ h格式:sSelVideo_SouName_DevName↵<br>& [7 b8 g! s2 m4 S# X9 j
参数:<br>
- @( k9 Z' v1 H! w& `! l& \5 bSouName:要切换的VIDEO 信号源的名称。<br>9 h/ G/ G) c! I
DevName:要显示该信号源的监视器的名称。<br>
% K, q! X" Q7 s2 A+ W3 c执行结果:sSelVideo_nResult↵<br>
5 d1 Z: |$ E, V) w& c: V8 VnResult 可能取值:<br>
5 g% ]3 Q" |: q5 G0:成功;<br>9 E0 y+ Q. F* D* Z; A m* b( m
1:串口控制功能被禁止;<br>( m9 j% N* z5 l8 L7 X
2:非法的指令名称;<br>' e3 S0 W5 F: q( n
3:非法的信号源名称;<br>
$ l$ p) W2 p7 a7 U$ R4 F1 n4:非法的监视器名称;<br>
! o% R/ Q+ N! q0 |' ] e: M5:操作失败。<br>
' h& K3 Q2 z- r10、 sSelCamera<br>
3 t2 r+ g7 l, s8 O0 C8 ^功能:将一个摄像头信号源选择切换到一个监视器<br>
) z! y4 R6 L) q6 L5 [格式:sSelCamera_SouName_DevName↵<br>
5 W5 C8 r$ N. m/ z# g参数:<br>
# {! Y4 I- V: [4 H+ o7 j4 A* e; M) _SouName:要切换的摄像头信号源的名称。<br>. x: D+ g& O @4 H/ [5 m
DevName:要显示该信号源的监视器的名称。<br>
v; i9 w$ _; m: L执行结果:sSelCamera_nResult↵<br>
% I, `' A% o1 @+ o. A4 y$ r7 U) {nResult 可能取值:<br>
6 P9 A8 Z8 V2 [$ \) V0:成功;<br>
# P( h( ?; Q# l5 O& j1:串口控制功能被禁止;<br>$ D- t4 }/ [# j0 m; d
2:非法的指令名称;<br>: m# b$ a) s5 `6 J6 ?7 P. s( o
3:非法的信号源名称;<br>
3 W# {# M; Q) L( J: Z I4:非法的监视器名称;<br>
) n) N( @4 J! F4 z: ?) g9 t: b5:操作失败。<br>) a7 t$ M1 L5 {# U
11、 sSelRGB<br> [' ^) C, A ]1 [5 R' }1 O
功能:将一个RGB 信号源选择切换到一个显示器<br>
( t, I" V% n' B5 a. | j4 I) _1 f格式:sSelRGB_SouName_DevName↵<br>/ y% n ?; R8 z. F) o
参数:<br>; N7 ~# _( T- r9 ?/ S" ?& e
SouName:要切换的RGB 信号源的名称。<br>3 k, g h8 u* T/ S& J: [
DevName:要显示该信号源的显示器的名称。<br>" ]( A$ }: g( x3 k+ d
执行结果:sSelRGB_nResult↵<br>9 w1 @8 v+ G2 ?; v6 M: u& o
nResult 可能取值:<br>
% A% A' E' [0 {1 C, A* p5 \0:成功;<br>
( J+ P8 r0 `. [. I5 M1:串口控制功能被禁止;<br>+ S7 y6 [+ v5 }5 j
2:非法的指令名称;<br> G7 c- R9 |! c1 N, ]% W
3:非法的信号源名称;<br>
$ y: b, t+ g" s* u" ?$ Y. V4:非法的显示器名称;<br>; q+ u% a; v. w, y" {+ n' Y
5:操作失败。<br>: m2 n0 }6 ?* j
12、 sSelAudio<br>
4 T0 C5 h4 ` r. V2 D& Y* X4 Q功能:将一个AUDIO 信号源选择切换到一个播放器<br>3 t2 x/ _6 C& ]
格式:sSelAudio_SouName_DevName↵<br>; d" v5 l7 n5 z; @7 _
参数:<br>
' k' _7 f) z( |; ^+ N* ?SouName:要切换的AUDIO 信号源的名称。<br>
& ~& i/ R' d7 R: r2 FDevName:要显示该信号源的监视器的名称。<br>6 T: ]0 e5 C6 G* z
执行结果:sSelAudio_nResult↵<br>3 X' u; N y" P8 b: ?% T
nResult 可能取值:<br>2 V, J8 \: Y- C+ V$ u) d( k
0:成功;<br>
, a0 I1 `- d. a6 ]+ A7 A1:串口控制功能被禁止;<br>
' A; v9 x0 ?" T, m6 D4 |& `5 [3 y# {2:非法的指令名称;<br>
2 h* I/ `* A" e2 h1 ]- V3:非法的信号源名称;<br>) W( y! ]9 Q- n
4:非法的播放器名称;<br>0 q4 A- M! W3 D: k& a
5:操作失败。<br>
) U2 k: i9 l8 e1 U1 o9 P13、 sSelVideo2MFD<br>& E- b9 \' o0 o3 X9 Y: Y2 c4 t
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
8 d+ y" i# g( P# u3 |格式:sSelVideo2MFD_SouName_DevName↵<br>4 @0 H$ G! n" h" C2 Z( j3 i3 a! h$ l2 X
参数:<br>
5 a2 D) K8 W" b0 `SouName:要切换的VIDEO 信号源的名称。<br>
7 ^1 u u+ r, T- K5 ], v2 `- KDevName:要显示该信号源的多功能显示设备的名称。<br>
. ~0 `2 U6 V# e, S0 d! [. A! q执行结果:sSelVideo2MFD_nResult↵<br>
' X: D. l8 M/ f' V. V/ @$ c, InResult 可能取值:<br>) ^& \6 \% ~! O9 Y" M3 ?
0:成功;<br>
% w5 k2 a. K, V" j& n, Z( l* i" b1:串口控制功能被禁止;<br>' Z7 }7 ~. S2 X& P L5 e" R" D
2:非法的指令名称;<br>$ G# |) [: C% }" `6 @: D
3:非法的信号源名称;<br>7 u) T( T# \$ K; X* N5 K
4:非法的多功能显示设备名称;<br>
, G2 J' P& _$ `+ V/ n% C5:操作失败。<br>
& J3 p6 y' ], p3 R14、 sSelCamera2MFD<br>
. |) I+ \, ?. E" d' p- q功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
& n1 _7 B, Q: v+ V7 Z9 E' M3 t格式:sSelCamera2MFD_SouName_DevName↵<br>
' b& V( ]4 B/ W0 V+ n5 a- |2 L参数:<br>2 H, N' c, e& f: _: @
SouName:要切换的摄像头信号源的名称。<br>' n: T8 _$ N4 g& X- o
DevName:要显示该信号源的多功能显示设备的名称。<br># O6 I2 Q: D8 X
执行结果:sSelCamera2MFD_nResult↵<br>
/ {4 \" g/ h) FnResult 可能取值:<br>% `# p0 ^9 J, p! C6 x0 V
0:成功;<br>
& Q! X) b& i. i+ |, M. _" U. y1:串口控制功能被禁止;<br>0 E) g* O! ] d9 I# b6 h7 X
2:非法的指令名称;<br>6 z& R" g$ G) @' b' F
3:非法的信号源名称;<br>- z; c) m( ~# e# X- j) g) P
4:非法的多功能显示设备名称;<br>& b2 h/ \9 j2 n @; E) ~
5:操作失败。<br>, t4 j7 I) }. d& ]! x2 f1 J }. r) n
15、 sSelRGB2MFD<br>
- Q) E5 O; F1 R7 D6 f+ W0 D功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
; t% S/ G% D; v' x5 \格式:sSelRGB2MFD_SouName_DevName↵<br>! Q& ]# ], r8 E# n
参数:<br>
6 }- V: ?- \4 |+ a% c j- G2 d$ _# QSouName:要切换的RGB 信号源的名称。<br>
/ O8 a( b+ P" X# |, W: XDevName:要显示该信号源的多功能显示设备的名称。<br>
& I: }, @3 ~& x% ?执行结果:sSelRGB2MFD_nResult↵<br>
) h z5 N/ X( t* p2 n8 UnResult 可能取值:<br>: e b9 Y9 \1 Z, D+ p
0:成功;<br>. R! }5 U T: s+ m
1:串口控制功能被禁止;<br>7 e+ w5 x/ A8 H+ u! H- Z& C
2:非法的指令名称;<br>
7 N4 G% a4 T, Q- E) u2 r3:非法的信号源名称;<br>% G! q+ X, A F, e5 V5 i
4:非法的多功能显示设备名称;<br>1 _ D5 Z7 U. i: b% o
5:操作失败。<br>
# E$ b/ F! D4 I% n' z0 r4 S, ?16、 sSelAudio2MFD<br>
1 D) j' ?8 `$ W1 [( @( `+ c功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
, Q* M0 i; _2 `$ x6 [5 @格式:sSelAudio2MFD_SouName_DevName↵<br>
- t4 X' A2 [, [7 Q5 q3 Z7 A参数:<br>
- M! h$ }& }$ G/ F5 }SouName:要切换的AUDIO 信号源的名称。<br>
* }1 p' q8 z& T8 Z2 B" mDevName:要显示该信号源的多功能显示设备的名称。<br>& d* K T+ U5 H2 m* @% Y/ ]) K
执行结果:sSelAudio2MFD_nResult↵<br>
, t; k# z/ g: y8 t; r- wnResult 可能取值:<br>0 y7 u: A6 K8 w. V: {
0:成功;<br>
6 R, v4 i5 u0 b9 Q1:串口控制功能被禁止;<br>8 ?" r/ ]4 Y9 `- w8 B' n
2:非法的指令名称;<br>
0 h' T. o: ^3 h0 ?3:非法的信号源名称;<br>
5 ?6 M* f1 ?# w; \, `4:非法的多功能显示设备名称;<br>
1 U! Y4 t. f- q2 v/ l3 b- A8 a5:操作失败。<br>
/ `8 V; l/ j" j, e. P17、 cSendData<br>) _2 H6 P/ `# J& `' d) t
功能:发送数据到指定串口<br>& m. D8 V, S* G4 Z" R2 }4 j% t
格式:cSendData_PortNo_PortSettings_Length↵Data<br>; b. A& }) |% C0 f! B/ I
参数:<br>. C) J6 ^- m: P( d+ X! \* |" A
PortNo:串口名称,譬如COM1<br>6 {, O* X% H- g: i2 \
PortSettings:串口设置,譬如9600,n,8,1<br>
7 Q, R8 S' e" ILength:发送的数据长度<br>
( g/ t; D3 @1 c. T% q" @, D# O3 IData:发送的数据。<br>9 U6 E5 B) q9 C" r
执行结果:cSendData_nResult↵<br>& v* q! B. K. A# Q
nResult 可能取值:<br>7 e* h( D0 |/ W+ ?( X1 c
0:成功<br>
4 X+ S6 M" {' E1:串口控制功能被禁止<br>
; y0 R! M* k4 F# G/ k3 i6 F# ~2:非法的指令名称<br>4 x, c( b, a2 g: l) O1 l. B
3:非法的端口名称<br>; U' [8 w; d. t2 k- E1 g( R7 G
4:非法的串口设置<br>
" l, w' m, E4 M5:操作失败。 |
|