|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>( z4 p7 ]) g/ G( p/ [8 M2 f
一、概述<br>
$ Q8 W1 [. z1 k4 c |& e为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>! u: P& Z. p% v; n( R' Z* \
控制的接口。本文描述该接口的控制协议。<br>
6 }4 F& R9 ^% ~* F0 d% jVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>3 C2 c& R+ c" E+ t
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
: ]+ ]( p6 {! ~: _. ^' f机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
7 L, O+ j; N u. ^; S- J- q该协议可根据以后的功能需求进行扩展。<br>: L; n% w4 ?, f, @& x' g7 h
二、指令的命名和格式<br>/ F0 c9 F0 m. a+ @9 ]
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>3 a1 D. d6 _: z' g4 I" K5 n
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
7 e# A$ b$ f6 Q9 n8 n其余字母是其功能的英文描述的简写。<br>; E9 Q" p0 Z: }( R4 ]
指令及其参数、指令的执行结果均用字符串表示。<br>
3 [ R) x; g* B3 H4 m! ?& ?每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>8 {3 p7 K& o+ Q1 v; G" o$ h+ I
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>9 A$ `* |8 @- V$ |; c6 l
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
' {% A- ~& v( v9 O指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
! u- U) w9 t; Z" D2 ^指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
+ m6 R: B6 Z2 U( L c# d执行结果代码为0 表示成功,其他值的含义与指令相关。<br>/ r( u% V9 v: G7 Z' O9 k/ @+ N
三、指令描述<br>2 X3 @. i! \& a, P" w. E
1、 ePowerOn<br>; M; H* F& U1 V# i+ _* i S4 a8 R
功能:机芯开机<br>% b. a! I+ y; R* J+ A' K
格式:ePowerOn[_WallName][_ProjNo]↵<br>
6 y7 C9 R+ W& d& S+ x: v3 J参数:<br>; i0 L( k! q' Q0 }
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>" T/ s! e1 J& d* J4 f% z9 M, |
也必须省略。<br> x% ?( K" j6 X/ Z5 |. [3 t9 r
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>/ \ g- L0 x, S4 N2 ^& E1 J
芯。<br>
7 \% l6 ?; D& Y6 p执行结果:ePowerOn_nResult↵<br>5 N$ D2 M% u$ O$ N5 I- [; \
nResult 可能取值:<br>
5 H- E- Z \+ E! `" F0:成功;<br>$ F$ g1 S- p; c
1:串口控制功能被禁止;<br>* H6 Q! q; {& N! R
2:非法的指令名称;<br>
7 }. I& A: U& R7 W3:非法的拼墙名称;<br>/ {" P' K" X$ x
4:非法的机芯编号;<br>+ v( O. x3 l! b; ?2 x( n7 N
5:操作失败。<br>
' T$ n5 a7 U/ I; v2、 ePowerOff<br>
# p1 a, I, b1 ]; P8 `功能:机芯关机<br>
5 P3 @4 d! ^# Y( j+ g0 B6 \格式:ePowerOff[_WallName][_ProjNo]↵<br>
' \- b5 d' ?7 C v1 E参数:<br>
9 \( ^. w5 I1 b% j( Q& c+ n2 z" P# wWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br># I4 ~( F7 O& R* `9 _! P1 `% n
也必须省略。<br>% A( x m& {6 z' ~
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>' g0 K# b, B9 C! q. r0 W# V7 w
芯。<br>' b; X6 a9 g1 S w6 ]! k
执行结果:ePowerOff_nResult↵<br># d# m9 v$ T( Y3 m. {9 F0 h8 n
nResult 可能取值:<br>
/ N9 |# F& B+ f0:成功;<br>" x4 n, U6 \ k: e
1:串口控制功能被禁止;<br>. N# \3 u; Y: m, O( R, |5 e) Z4 H
2:非法的指令名称;<br>3 Y* e7 t% [( a$ b6 u7 ?
3:非法的拼墙名称;<br> \0 X! ~, x4 i( ~8 S3 ]; s
4:非法的机芯编号;<br>5 p& S5 a5 b1 D) {
5:操作失败。<br>: N1 w) Z/ o4 A/ v
3、 dPowerOn<br>
! g+ ?; k6 I9 T2 Z/ c& S功能:多功能显示设备开机<br>
H7 @$ g& a3 h3 ` Q格式:dPowerOn_DevName↵<br>* @1 C; b& _7 D
参数:<br>
2 b d. u) r! t+ E+ h A/ `- w2 }DevName:要进行该操作的多功能显示设备的名称。<br>
$ y2 t. ]" l. h K6 ^; ]5 ?) W执行结果:dPowerOn_nResult↵<br>% j! N& Y) D1 \ \
nResult 可能取值:<br>. p) Z% t4 R- f+ ^
0:成功;<br>
6 ~" g& E2 n" b; v; n1:串口控制功能被禁止;<br>
% [+ u# W$ _: ^2:非法的指令名称;<br>
9 t; h/ T$ Q- x( n0 U3:非法的多功能显示设备名称;<br>
/ U4 V; f& J- e$ O) f* ]8 g4:操作失败。<br>
0 Z0 }, [" j4 S4、 dPowerOff<br>
5 z' }3 W$ E& Q* h+ G功能:多功能显示设备关机<br>8 l: R- v' w& b4 G! }, s/ d) x
格式:dPowerOff_DevName↵<br>: f' L* }0 l! _" f
参数:<br>. ?/ y0 J2 {* _, h/ N) A
DevName:要进行该操作的多功能显示设备的名称芯。<br>
+ Z9 r& q7 N: N3 m执行结果:dPowerOff_nResult↵<br>- ^8 Z _8 O; _. \5 P5 J k# v& u
nResult 可能取值:<br>
) N4 N N# m' L; m1 H9 D0 s0:成功;<br>7 _6 [0 f# \8 g6 C
1:串口控制功能被禁止;<br>
! C2 H& M$ W4 x/ A Z2:非法的指令名称;<br>
8 Z. A& C% r+ D8 ^0 V+ y; ]( b# ]3:非法的多功能显示设备名称;<br>
) F" ^' Z# \, r! h4:操作失败。<br>( x% B/ {2 E6 C+ b
5、 eCloseWin<br>+ | r6 U7 R& }
功能:关闭所有机芯直通窗口<br>
+ F2 c$ s8 i) \1 i& j格式:eCloseWin[_WallName]↵<br>3 Y+ @( H& T8 l3 x6 B, x2 p8 ?
参数:<br>, \ z6 F3 W" \% a: T
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br> I& P9 ^5 O: z7 N7 V! R: V1 l/ O& O
执行结果:eCloseWin_nResult↵<br>
" p7 Y0 U: V- q7 U* C* snResult 可能取值:<br>& x' ~' d- V6 ~' V0 ^% x) I a
0:成功;<br>, ?% o$ G" e/ `8 b n
1:串口控制功能被禁止;<br>
3 P3 _3 E3 b5 q7 P. V+ D$ y2:非法的指令名称;<br>3 o8 w2 p, {8 l; i
3:非法的拼墙名称;<br>
7 _3 k2 {0 T9 X6 e& q4:操作失败。<br>
: U3 a d' v2 O4 _& `6、 pCloseApp<br>4 z q* Y: Q5 G5 O, N) Y! Z8 z% g
功能:关闭所有处理器应用实例<br>+ {5 }$ i1 | J7 ?) Z
格式:pCloseApp[_WallName]↵<br>5 X9 e/ _0 j. l' ^ @
参数:<br>. s. |2 z% @6 h! \
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
, J U) S7 u, q: H7 L执行结果:pCloseApp_nResult↵<br>) W& u$ V1 Z$ d/ k& y1 `: P$ h$ h
nResult 可能取值:<br>
! f: n: u5 T) u2 j0:成功;<br>
q! H& Q: a4 B7 ~" Y! F1:串口控制功能被禁止;<br>0 F8 [. T* _% `* s, s1 ?- ^7 I# v
2:非法的指令名称;<br>9 A$ o7 b3 O$ v, P% t6 f
3:非法的拼墙名称;<br>. }/ H6 i9 `% F- @/ `) j7 \9 ]
4:操作失败。<br>+ L- P- ?, i z6 J3 x7 u
7、 pCloseWin<br>+ C# l- s$ \& a) m' j
功能:关闭所有处理器窗口<br>8 C# p$ n/ E) ^( s, b7 w# x
格式:pCloseWin[_WallName]↵<br>
& X3 @' t4 a, a参数:<br># Q# q8 v1 i" W5 U# a
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>- n6 i5 R* ^1 I5 b. D: n: B- x% ?
执行结果:pCloseWin_nResult↵<br>
' z" Y# a# e% v! }; i R! Y* ]; qnResult 可能取值:<br>: i6 ~3 R, ?0 h5 c) A5 I% `& E0 }) q- }
0:成功;<br>: k, w) q O: B5 G
1:串口控制功能被禁止;<br>2 M! ` S2 F1 `( W9 J2 u9 U
2:非法的指令名称;<br>
8 b' y8 s3 U" x5 h( m+ k6 U3:非法的拼墙名称;<br>
* S. Q' ~( ` e* q$ u) d/ g) [' K4:操作失败。<br>
" P v. l- x9 }6 U' N. y: M8、 mApply<br>8 V9 u6 n/ x% E9 u6 F" w
功能:执行已经定义的模式<br>
! Z$ g ~- j p' _& G格式:mApply_ModeName↵<br>
6 E8 r" n) E. g参数:<br>
! H7 Q) l9 b5 l& p8 }ModeName:要执行的模式的名称。<br>
9 b/ p0 ?3 R9 o1 x- J执行结果:mApply_nResult↵<br>5 v) V( q/ J. a6 w
nResult 可能取值:<br>% }/ d- n2 E9 m, c
0:成功;<br>
& Q- `7 C r( w, z& J. T: a: W1:串口控制功能被禁止;<br>
8 o! E# n( {& } F2 G2:非法的指令名称;<br>
U, k" d7 ]4 f* ^3:非法的模式名称;<br>' T# a z$ s7 T+ _9 I
4:操作失败。<br>
! t$ f8 {+ @4 I9、 sSelVideo<br>
' |9 F. P) o: v; `功能:将一个VIDEO 信号源选择切换到一个监视器<br>
- Z0 D9 A, B) \0 g- z9 h- D格式:sSelVideo_SouName_DevName↵<br>
- g) t, R1 k- K9 H, h参数:<br>3 O! o) [* `! f J- [- ~+ l
SouName:要切换的VIDEO 信号源的名称。<br>! k! W1 _: |9 T
DevName:要显示该信号源的监视器的名称。<br>
4 u! A6 p- w# @/ P! e执行结果:sSelVideo_nResult↵<br>
C) t& N! B& X; s2 Y2 AnResult 可能取值:<br>
" Z# v5 c5 i$ e+ l Q" Z% f0:成功;<br>
/ B7 I7 V! f* s$ W% |1:串口控制功能被禁止;<br>
" j3 j7 q1 r# |2:非法的指令名称;<br>
. G& {2 t$ ~( ]3 v3:非法的信号源名称;<br>
# F' b. r. f$ v3 d0 q4:非法的监视器名称;<br># M& B9 U% r' X, ^2 L" g4 ^* S
5:操作失败。<br>
/ k ]% |4 j5 K6 D7 |10、 sSelCamera<br>
7 F7 S3 y, A7 M& I% P功能:将一个摄像头信号源选择切换到一个监视器<br>. Z9 n5 a4 [5 d' T: u% n) o0 x
格式:sSelCamera_SouName_DevName↵<br>& I- x1 B) O- N
参数:<br>
$ s. V; n- L4 x. c, K4 ]SouName:要切换的摄像头信号源的名称。<br>
; o& i0 W: j+ LDevName:要显示该信号源的监视器的名称。<br>
0 ]3 ]! Z- p) q4 T1 a执行结果:sSelCamera_nResult↵<br>" G r. W' l2 I* l" E
nResult 可能取值:<br>
8 T4 ?' V* J8 S9 v* K9 z" l) X0:成功;<br>0 J) L) A8 {+ I: I& l# c, E, ~# j
1:串口控制功能被禁止;<br>2 l0 k8 [! F* E" z7 I
2:非法的指令名称;<br>
/ o& ~+ {# A$ M2 Q9 m$ a: v3:非法的信号源名称;<br>
+ o1 J; X& x2 E8 w! J4:非法的监视器名称;<br>
) S7 Y* M" ~, ]' J# g5 \5:操作失败。<br>! c) a S) N; z+ a' w! T& ?; a
11、 sSelRGB<br>
/ v/ I: A# `8 x0 n* S功能:将一个RGB 信号源选择切换到一个显示器<br>
3 E4 ^; @- \# B& f! U& t' ?格式:sSelRGB_SouName_DevName↵<br>
3 m( _/ O5 a9 c0 T5 y参数:<br>
# X" z7 n9 e5 ^+ fSouName:要切换的RGB 信号源的名称。<br>
2 M3 C+ i) z. g( NDevName:要显示该信号源的显示器的名称。<br>
! X9 O, ~9 U4 P5 Q0 q7 H! h0 h执行结果:sSelRGB_nResult↵<br>/ z ^1 L& Y/ O3 Y
nResult 可能取值:<br>
N* X! ^# L% g& P9 S) w; C; d0:成功;<br>
; f2 b/ L) M3 @& D$ m8 }" s0 N/ a1:串口控制功能被禁止;<br>
3 ], j& P3 m: R2:非法的指令名称;<br>
1 k0 |+ O6 r3 n7 x6 x: B. Z8 P3:非法的信号源名称;<br> ?6 T8 z8 B0 ~: `
4:非法的显示器名称;<br>. t/ B1 m7 w/ J* x8 S. _
5:操作失败。<br>
) P/ \ N4 Y' \" J0 [; _2 n3 R12、 sSelAudio<br>1 x U2 C1 O9 L p
功能:将一个AUDIO 信号源选择切换到一个播放器<br> ?3 M1 u) l0 @
格式:sSelAudio_SouName_DevName↵<br>
% z' I# A2 t) [5 K) M2 J' l参数:<br>$ {+ V' j) _$ S1 k" \5 r
SouName:要切换的AUDIO 信号源的名称。<br>4 Y, D7 z F2 _1 U( a- ?
DevName:要显示该信号源的监视器的名称。<br>( d+ s; A- b) U( ?( B
执行结果:sSelAudio_nResult↵<br>5 X; L$ x o: g
nResult 可能取值:<br>
/ u# K; x, p! ^) `4 Y0:成功;<br>+ M4 x5 T8 G; F# T1 s
1:串口控制功能被禁止;<br>, y( p5 X7 @4 N1 Q j( U
2:非法的指令名称;<br>, @4 f6 X8 |- r+ d/ K
3:非法的信号源名称;<br>. U* m+ j3 v+ x( I" M, Y" L9 v! M6 l
4:非法的播放器名称;<br>2 H+ ?% `' f" e3 m2 S$ v4 G, F$ @
5:操作失败。<br>/ g/ D% d( F9 B( [
13、 sSelVideo2MFD<br>! w5 E( u! [/ G1 g- r, B9 i5 Z% c7 |
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>- W7 @5 a( Y. M/ d" L! ^4 E# X
格式:sSelVideo2MFD_SouName_DevName↵<br>0 h/ f \4 R- I* _+ J4 [
参数:<br>, f+ y$ u' ^0 S
SouName:要切换的VIDEO 信号源的名称。<br>
$ L L4 s1 x* L! uDevName:要显示该信号源的多功能显示设备的名称。<br>5 O+ K1 O7 r1 H( E# _/ X
执行结果:sSelVideo2MFD_nResult↵<br> ?3 r8 h; N* T* ]$ P, Y1 s5 y
nResult 可能取值:<br>
4 q I" J! p% f6 F9 a0:成功;<br>2 {! }& i7 U' W* N& K
1:串口控制功能被禁止;<br>
4 R, T' `8 n, k6 m ? U2:非法的指令名称;<br>
' M; L4 u' k1 g/ V* y) X% ~3:非法的信号源名称;<br>
9 ]3 _' ~0 E! o4 l4:非法的多功能显示设备名称;<br>0 o# y0 R, V1 k6 X" R+ p* e
5:操作失败。<br>
0 ]: g/ s# {) m14、 sSelCamera2MFD<br>
9 t% q: f* A) L h# u功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
0 A% r/ y7 A1 \ i格式:sSelCamera2MFD_SouName_DevName↵<br>
6 W; k( }( [# M( E: ^* _参数:<br>7 F; E; W& S6 W
SouName:要切换的摄像头信号源的名称。<br>
( D5 w$ y8 K# e! {2 ]% Y) M/ s4 IDevName:要显示该信号源的多功能显示设备的名称。<br>' S$ _# k+ p+ B) l! c, H
执行结果:sSelCamera2MFD_nResult↵<br>, Y# S" s; d& b/ x
nResult 可能取值:<br>0 } i; a |6 p9 }
0:成功;<br>! b0 A* \7 Y" q6 X B1 c2 {6 v
1:串口控制功能被禁止;<br>
! @! z7 K( R6 ]8 |: G2:非法的指令名称;<br>; M* R1 m6 x: x# k
3:非法的信号源名称;<br>
; r7 H r$ K! a7 V4:非法的多功能显示设备名称;<br>
/ L4 t, F) B9 C6 T! H3 O8 w5:操作失败。<br>6 H2 I4 [* C2 F4 L' n0 ~, X7 k J
15、 sSelRGB2MFD<br>: N0 p% \5 z* }/ ]( P
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>' X3 b \' ~2 O0 O8 u6 E' k5 P
格式:sSelRGB2MFD_SouName_DevName↵<br>. X: B! E. U) U9 P1 x( R
参数:<br>8 Q& H/ o9 {; F. J
SouName:要切换的RGB 信号源的名称。<br>! m7 H6 }6 P- n. Y' z
DevName:要显示该信号源的多功能显示设备的名称。<br>( S A; a" l& O" A6 @3 x
执行结果:sSelRGB2MFD_nResult↵<br>
( q1 d( i1 H# j# g2 A9 z- p/ q& WnResult 可能取值:<br>
0 c. r% X# x `2 l1 E0:成功;<br>
V4 F' ?( H( U1:串口控制功能被禁止;<br>
# f( P( K$ I3 `) \$ q; L: [; D2:非法的指令名称;<br>
- A2 |% b9 W, [2 H# @* e' g! q3:非法的信号源名称;<br>
2 z9 J; `; P1 v* ~! i3 r- z4:非法的多功能显示设备名称;<br>
1 `# L, Q6 W3 x* C; A, M5:操作失败。<br>
. E3 T% r% ], L m1 N16、 sSelAudio2MFD<br>1 d$ q5 X: |- Z) m' Y; a* l/ {
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>' [% [- y- y1 L) k
格式:sSelAudio2MFD_SouName_DevName↵<br>
9 c# w9 f" ?3 R# U ]( n2 p参数:<br>
( Y/ |" K1 B OSouName:要切换的AUDIO 信号源的名称。<br>
* _; o, I) o* E" ZDevName:要显示该信号源的多功能显示设备的名称。<br>4 e7 X6 W% m/ z& y
执行结果:sSelAudio2MFD_nResult↵<br>- w3 _1 H7 a( A* N) t/ C
nResult 可能取值:<br>5 X. A" n: P2 Q t6 O7 \: A. Y
0:成功;<br>. b* y' b* M! \9 N& v+ z
1:串口控制功能被禁止;<br>
' m+ |' F9 g( n) m7 ]. t2:非法的指令名称;<br>) N( R- p8 U& d8 Y O
3:非法的信号源名称;<br>. d! i: i" o; @4 s6 J
4:非法的多功能显示设备名称;<br> J8 v' g( ] W
5:操作失败。<br>
: _4 U5 N3 B/ P. @5 z17、 cSendData<br>
+ w! ?5 A( \6 w' C. \7 |功能:发送数据到指定串口<br>8 F' U. H9 P7 j0 q9 a6 V" L
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
! D$ M4 l6 ]3 J0 ^5 _2 `: P8 r参数:<br>, L7 q' ~7 f6 \, n+ \- q6 [2 x
PortNo:串口名称,譬如COM1<br>
% ~( |" L5 _3 R# \/ LPortSettings:串口设置,譬如9600,n,8,1<br>9 Y/ q- A1 [7 Y* x" c9 @
Length:发送的数据长度<br>
, N8 p) }, Y8 B' p: i" dData:发送的数据。<br>
: e8 h% T: ^1 |0 V( L2 v9 @; M执行结果:cSendData_nResult↵<br>: v4 _% y' K f
nResult 可能取值:<br>
' w9 y [! c# p9 H' h0:成功<br>
" m: N! G( t( o3 \8 V! H1 N1:串口控制功能被禁止<br>
4 i& V5 W$ c8 G% q2:非法的指令名称<br>' M. [; b7 ], c7 w' s& [
3:非法的端口名称<br>: j5 F7 J+ u' |: W+ K+ ~
4:非法的串口设置<br>! O/ x$ n3 z1 I; g
5:操作失败。 |
|