|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
4 |3 M$ L( U, h! q3 w2 J" V9 y7 J一、概述<br>. L! H# C8 n6 s$ x- ]! R! a
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>7 [) |6 g2 E: M/ i& d
控制的接口。本文描述该接口的控制协议。<br>0 Y* G" v$ K0 A: o; `* P2 d( b
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
" L0 ]: |8 c. ?6 Y* W* \* H0 s' p1 Y5 \过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>$ Q& X" q5 H4 ?* y9 j3 d
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>& {' x/ \) v* v
该协议可根据以后的功能需求进行扩展。<br>
" h# m+ D1 Q* H& @' k O二、指令的命名和格式<br>
) c/ z, O( `3 f. i& V指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
4 _' W! D/ R0 D' t- j8 p- o# b处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
1 j3 U9 p, Y( c8 p- |其余字母是其功能的英文描述的简写。<br>+ x% _( ?2 c4 S) R, b- a
指令及其参数、指令的执行结果均用字符串表示。<br>- z) W) I1 F6 S$ g: r1 i
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
" U, L- Z* L- N. M的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
) v( C% m( V$ V7 J指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
3 r; }- i( } ?( d6 f- }指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>9 o0 X6 O% L" `& Y. Z
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>0 l7 f4 u# e" i4 h5 o
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
% C3 [7 M/ y4 `( O2 h) \三、指令描述<br>( B/ f7 b, ^. |+ N4 v0 [
1、 ePowerOn<br>
5 n4 w( {% A2 { R3 \7 H功能:机芯开机<br>
1 Q" n! e* [0 B1 j: C- L0 M格式:ePowerOn[_WallName][_ProjNo]↵<br>! _9 o8 ^* q2 [) b
参数:<br>
9 S8 F7 J7 M; d' f c+ ^; Y! TWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>+ [/ c: J, d+ U8 n2 E& ?( E
也必须省略。<br>) ?+ ?1 | j# e2 ~; x/ _- J
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>5 Y) i6 ]# M- @" C5 D% K( ]
芯。<br>
~# Y* c$ i8 r0 W; ?执行结果:ePowerOn_nResult↵<br>
' K- n/ h3 H+ j9 Z4 DnResult 可能取值:<br>
0 y/ `/ D' o- ^" b8 f! l0:成功;<br>
& c+ \% L: e( g$ A1:串口控制功能被禁止;<br>5 L* c, X3 R0 T; D7 F
2:非法的指令名称;<br>$ Z: y$ r, J3 A' O
3:非法的拼墙名称;<br>
' b& M1 R% r- S$ o4:非法的机芯编号;<br>/ U& a' \1 Z: m
5:操作失败。<br>
% [; u7 S9 a; s% ^' [2、 ePowerOff<br>2 R; Z- s2 G: M8 i7 w
功能:机芯关机<br>8 j: `/ q* J+ z+ Y" E# j/ o1 Y: |
格式:ePowerOff[_WallName][_ProjNo]↵<br>
! K9 r' H+ p6 ~" _# |# _" u参数:<br>
) j+ Q! ~$ ^$ @4 Z9 xWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>8 ~# q4 q* s! O; {- H
也必须省略。<br>. W4 @ ?1 p. t. i
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
v6 w- M8 f, ?6 |4 h芯。<br>9 m1 Z7 O, a7 j1 v3 W
执行结果:ePowerOff_nResult↵<br>
1 b* L* U( v& u0 e' T" z$ L+ D6 qnResult 可能取值:<br>
; o$ X$ j+ E$ p& o3 i0:成功;<br>+ Z1 q* g$ B0 \0 M' Q' I
1:串口控制功能被禁止;<br>6 }7 n7 [9 N3 f$ F
2:非法的指令名称;<br>) ?- U6 |5 W4 G( G' i
3:非法的拼墙名称;<br>
- L4 ~* E0 j5 k8 z+ |% m4:非法的机芯编号;<br>9 C' `( {" x5 k2 X
5:操作失败。<br>
9 r( Y+ ^* {. m8 N6 O6 U; d& F3、 dPowerOn<br>+ r4 ?, W( s. ]3 p
功能:多功能显示设备开机<br>+ I1 i& O% \6 S& Y+ Y9 B: A0 z
格式:dPowerOn_DevName↵<br>
, R) k$ V% W1 P0 w0 |, I$ ]; h1 v# J参数:<br>
) r! G/ }3 m5 K7 F* y( fDevName:要进行该操作的多功能显示设备的名称。<br>
1 J2 m, F" |- q执行结果:dPowerOn_nResult↵<br>3 p) h: Z4 `' W2 q$ |0 n3 L' y! ]
nResult 可能取值:<br>
) A6 K8 T- V0 r6 |* z0:成功;<br>
+ \/ [& r5 f/ _' ^! ]0 e. g0 L1:串口控制功能被禁止;<br>
( K6 l9 m; P2 a* C- w7 T6 g" H2:非法的指令名称;<br>
! E$ o0 t) R0 }4 I; e3:非法的多功能显示设备名称;<br> r: g6 k7 ~4 ^7 _ u
4:操作失败。<br>$ n" y$ L( U& f: `' i) v0 I5 R
4、 dPowerOff<br>
& Q! i( M7 S6 q1 g- x/ X s功能:多功能显示设备关机<br># n+ e" l, F6 h% O( q" R
格式:dPowerOff_DevName↵<br>
) r( g& r3 ] F" ]6 D4 C参数:<br>
% E, Y* X6 t: H$ b/ ~DevName:要进行该操作的多功能显示设备的名称芯。<br>
# F- W0 }. _0 e- G+ d3 ~, ~' k( N执行结果:dPowerOff_nResult↵<br>
9 Z) m- L: I) i5 T( s; h1 VnResult 可能取值:<br>
* i& e+ K3 j2 r0:成功;<br>3 h: @3 S( w- D$ \7 a
1:串口控制功能被禁止;<br>! m3 j$ c- |8 t x# K, O* N
2:非法的指令名称;<br>) r( ~8 |* @& ~2 g
3:非法的多功能显示设备名称;<br>
8 X, q( @! M, S. X) p' I4:操作失败。<br>
# J7 t, \6 ~2 K+ {+ M5、 eCloseWin<br>
6 H* q! P8 ^) m; C4 R7 _" ^功能:关闭所有机芯直通窗口<br>
, a/ }! `, Y9 k3 G6 {$ x8 f8 r0 G格式:eCloseWin[_WallName]↵<br>+ R, _& t: s. p! f
参数:<br>: Z# U+ }9 A4 S/ J- f
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>% u: _! O/ C5 Q( {: C$ L) H4 H
执行结果:eCloseWin_nResult↵<br>
4 W: l2 I2 N# r! \) i% ~nResult 可能取值:<br>
2 R: e0 P5 s, |* J0 l% j0:成功;<br>
' o8 k" G* Z3 X9 z2 x& Q1:串口控制功能被禁止;<br>% m) R8 P! n e0 [: q. [/ ]/ i: C0 D
2:非法的指令名称;<br>% y: Q- C8 m! @. E+ d5 D
3:非法的拼墙名称;<br>1 `$ |: C) z/ j# u3 k; o
4:操作失败。<br>
; w0 y( }7 n1 M( S/ C- T4 T+ I7 R6、 pCloseApp<br>
2 F" ?. W/ V" m! f9 X5 {功能:关闭所有处理器应用实例<br>% B! f3 s6 u1 l& }. ]
格式:pCloseApp[_WallName]↵<br>( y; p2 }: P1 @/ D( T" f3 K# o
参数:<br>
: m; e2 i3 |5 P* k' a; _4 n8 KWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>7 x6 {8 s O6 o9 A2 m+ v4 I! @; _; b- L
执行结果:pCloseApp_nResult↵<br>3 ]) J- A6 [' p5 P
nResult 可能取值:<br>
$ i# E! T5 v7 R! b6 u3 V/ u0:成功;<br>6 K @2 i! X. G
1:串口控制功能被禁止;<br>0 ?0 r1 \- `* \8 n" J% e
2:非法的指令名称;<br>. y7 g$ F5 A( y2 R
3:非法的拼墙名称;<br>/ ?/ t# `+ R( ~9 A& J
4:操作失败。<br>! A+ c6 J, m6 A# T6 E* R
7、 pCloseWin<br>
( L; h; j, Z$ G5 l, u功能:关闭所有处理器窗口<br>
4 \: p. u" a* e5 \, _, z1 C格式:pCloseWin[_WallName]↵<br>- a O8 h9 V3 P8 b+ a) d4 C
参数:<br>
$ w7 H2 {5 c' U4 d) [& aWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
! T1 Z; V, ]/ n0 C9 c1 Z. t执行结果:pCloseWin_nResult↵<br>
' r- E# a z; b" HnResult 可能取值:<br>
+ ~5 n5 h- L! M) I( m; z- U1 u! D0:成功;<br>2 Y0 F# _/ C% X
1:串口控制功能被禁止;<br>
0 _. ?- D% I, M/ h }* Q2:非法的指令名称;<br>" Z. s, H1 h% m; c' o( M7 U
3:非法的拼墙名称;<br>- z% n2 j: q0 V( T2 r5 f5 h
4:操作失败。<br>
, |; K. l# h! w' U8、 mApply<br>3 u- ^6 U3 b4 @4 A
功能:执行已经定义的模式<br>
- B/ S4 N0 S! Q$ S( H! L格式:mApply_ModeName↵<br>
7 i8 x& |8 _/ x4 h参数:<br>
2 q3 ?- I9 W: H1 H& _' M7 }ModeName:要执行的模式的名称。<br>
/ @& d! T |; B) M执行结果:mApply_nResult↵<br>" I1 E3 x7 g! T( Y
nResult 可能取值:<br>$ J* I! U1 g5 I1 `/ G/ n5 n* e! G$ a
0:成功;<br>
9 C7 y( R: l4 B- s1:串口控制功能被禁止;<br>
8 C' q h5 H3 ~+ q% ~- d2 ^2:非法的指令名称;<br>
6 m$ d: A* I5 B% ^+ @3:非法的模式名称;<br>: ^5 e* h% g) @
4:操作失败。<br>. g/ Q2 ]/ l5 ~- f
9、 sSelVideo<br>
: G, U- X* p7 U9 d功能:将一个VIDEO 信号源选择切换到一个监视器<br>& c; R, b- e- q5 `% v
格式:sSelVideo_SouName_DevName↵<br>) t3 n$ F: V% F; m
参数:<br>" ^ L6 P3 J' ?0 q
SouName:要切换的VIDEO 信号源的名称。<br>
! D5 S, O+ M3 j* VDevName:要显示该信号源的监视器的名称。<br>9 n) _$ }. S) l5 U2 t. @
执行结果:sSelVideo_nResult↵<br>6 l. w6 R( E4 j! L. r
nResult 可能取值:<br>" a2 a) p4 j: `5 X ?
0:成功;<br>
" O; R* u- d( ~1 ?/ r- ?! Z! v- m1:串口控制功能被禁止;<br>
* D8 P! _/ E2 W8 ]7 G0 l* U2:非法的指令名称;<br>
7 X X( l; F; m- Z9 f- V6 q7 B% ~# l3:非法的信号源名称;<br>
8 ~* A; e3 h" d1 x0 O& i7 N4:非法的监视器名称;<br>
3 H) ~; F" R8 N4 c5 `7 {, J5:操作失败。<br>
! E; [$ V* g# U% X3 ?/ ]10、 sSelCamera<br>9 Y8 ?* W) H# ?/ V) Y' K
功能:将一个摄像头信号源选择切换到一个监视器<br>
. y( Q% S, D5 y0 K8 u$ j- l1 f格式:sSelCamera_SouName_DevName↵<br>. N0 v* l9 j! {" D
参数:<br>* W0 c: H2 L4 `/ p h& g! j) _
SouName:要切换的摄像头信号源的名称。<br>+ c6 u: E F) N9 Z
DevName:要显示该信号源的监视器的名称。<br>
) u& Q7 U) {; I [5 O执行结果:sSelCamera_nResult↵<br>
* d8 h: H( y. u5 m: fnResult 可能取值:<br>) j2 _/ B' p5 K% z, `- Z
0:成功;<br>
: `! v' J3 Y' T; R1:串口控制功能被禁止;<br>
9 ^% |# w; j3 e9 C3 A2 K9 P2:非法的指令名称;<br>3 l7 x7 V* | d$ N0 J& v
3:非法的信号源名称;<br>! E6 k4 l& E* C# G8 j
4:非法的监视器名称;<br>
2 N9 R( M/ t( O& K5:操作失败。<br>* Z9 I2 l& J: W, F6 p1 {% n
11、 sSelRGB<br>% C4 W1 e9 F1 t) q8 X+ D, R
功能:将一个RGB 信号源选择切换到一个显示器<br>
, C4 C' N- u$ ?# h3 p n格式:sSelRGB_SouName_DevName↵<br>
, G T% l b$ k8 i: X参数:<br>
6 k- Y2 [( c, q7 ESouName:要切换的RGB 信号源的名称。<br>
) ^6 h0 x% C* T# rDevName:要显示该信号源的显示器的名称。<br>8 R9 U) f0 R( f5 v
执行结果:sSelRGB_nResult↵<br>
4 f8 |' h9 h+ p9 p7 lnResult 可能取值:<br>
9 j) M* P; b7 e8 h# W0:成功;<br>
" B) x, b7 u! g5 S5 u1:串口控制功能被禁止;<br>3 Q( K7 W$ @$ W3 A1 W! ?7 E$ s5 Z; i
2:非法的指令名称;<br>/ b- h( j+ {' x1 L' y: N) z: ]
3:非法的信号源名称;<br>. a1 W: _- f# ?* L. K
4:非法的显示器名称;<br> k% J8 y1 J# e" o+ i
5:操作失败。<br>' G6 e" |9 d- y
12、 sSelAudio<br>7 B, q e+ c4 a Q: u5 b" s. o, r
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
9 d) Z$ b) z2 S: K5 n格式:sSelAudio_SouName_DevName↵<br>
, j3 G$ C9 O, ]! N& `参数:<br>9 ?9 [ A) z+ |9 e `3 A
SouName:要切换的AUDIO 信号源的名称。<br>( P: C- e" E( d8 g
DevName:要显示该信号源的监视器的名称。<br>- z) t9 o8 K2 N
执行结果:sSelAudio_nResult↵<br>: D. Y) D2 {6 y; T0 g8 D
nResult 可能取值:<br>
4 b' M8 W7 Q& G2 E8 O4 K4 S0:成功;<br>& y) P% p/ e/ l! m3 ^2 u b
1:串口控制功能被禁止;<br>3 B I7 n- e8 _
2:非法的指令名称;<br>
, [ i9 s& P& Z `! _5 J2 ]3:非法的信号源名称;<br>
- U6 l( I4 Q+ s' O' `. [ ~7 y4:非法的播放器名称;<br>1 h0 f* g* p1 q7 U# U c- j
5:操作失败。<br>
4 |* \ s9 x! ]4 N13、 sSelVideo2MFD<br>7 A5 ]: ~7 f2 Q# o; ?4 ?- V9 w
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>& F/ ^5 L! u5 C; Y( K: d
格式:sSelVideo2MFD_SouName_DevName↵<br>
6 u/ b' O! ?8 e3 ^' ]2 e1 Q参数:<br>8 `) G: n3 [8 |; h2 g0 P' J0 h7 ]
SouName:要切换的VIDEO 信号源的名称。<br>
R# d( m. G9 S/ |) k3 cDevName:要显示该信号源的多功能显示设备的名称。<br>% C9 {. F; f6 f$ g3 c) c! u
执行结果:sSelVideo2MFD_nResult↵<br>+ v& p7 q9 W9 I2 N. m* j9 N( ~
nResult 可能取值:<br>
/ F+ L: [% v7 ~: s! b0:成功;<br>
7 N2 H2 I$ _- k1:串口控制功能被禁止;<br>
& @7 C- _' i1 v4 ~0 r& `2:非法的指令名称;<br>" f$ `7 R& c! ?! v, k
3:非法的信号源名称;<br>1 ~" p4 R3 d2 u7 o( p/ H
4:非法的多功能显示设备名称;<br>* j: U. l! h' U) T8 p/ o
5:操作失败。<br>
* V9 d& M$ a( u8 k. {- l14、 sSelCamera2MFD<br>1 F( }( {8 b u' V3 v' k* q
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
$ g0 z- L0 Y9 [# t2 f- W格式:sSelCamera2MFD_SouName_DevName↵<br>& F( s( l: A3 Z6 Q' x0 K$ I& n- }
参数:<br>
. G* p B* v1 }$ |SouName:要切换的摄像头信号源的名称。<br>
) Q& `; O! w9 X( [DevName:要显示该信号源的多功能显示设备的名称。<br>
5 ~* J+ e1 y% E& M执行结果:sSelCamera2MFD_nResult↵<br>7 X* R$ \7 i/ ~, |
nResult 可能取值:<br>3 c( @& x- i2 F0 S7 z% u
0:成功;<br>8 R. k$ _1 q& R+ C! a2 R
1:串口控制功能被禁止;<br>1 q+ a2 L, |/ m8 Y
2:非法的指令名称;<br>
7 o# i9 A% ]3 W5 h" m9 x- @3:非法的信号源名称;<br>
( g1 N# {# }0 `* p \/ O$ k4:非法的多功能显示设备名称;<br>
/ C, m/ e) u5 k8 B. I d5:操作失败。<br>
2 j; g- v" p7 ?% K, v15、 sSelRGB2MFD<br>4 Z6 U# {- J& G/ ^
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>5 Z0 j& ]& T$ @$ A, O) u
格式:sSelRGB2MFD_SouName_DevName↵<br>
) }' |1 Z$ i5 j% F$ D% n: g/ Z7 V参数:<br>
$ c% _1 X/ P8 R1 x( @0 kSouName:要切换的RGB 信号源的名称。<br>
4 G5 d, k! R& C- T7 V4 g: U- rDevName:要显示该信号源的多功能显示设备的名称。<br>, O' d9 G; c. u$ c8 X. H" T7 Z
执行结果:sSelRGB2MFD_nResult↵<br>" V( P+ z0 _ P# O$ f- r% i0 J
nResult 可能取值:<br>
: e+ x; A* [9 j7 I3 a( N' D0:成功;<br>! [; @: `. [# M# C* \6 \, D. g
1:串口控制功能被禁止;<br>
' w! N" r8 P. v. {! Z2:非法的指令名称;<br>
1 Y: }0 k: U" X( I, g3:非法的信号源名称;<br>7 _( ^; y* v$ O' |$ ?4 o @* h% H
4:非法的多功能显示设备名称;<br>1 k8 x9 U- \4 y+ ]# o) ]& E( X( W& e; P
5:操作失败。<br> B+ d9 a# P. d! `: A
16、 sSelAudio2MFD<br>$ c8 i0 k4 t; P A1 {8 Q
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>+ H0 |9 e' B1 q, b' }" b
格式:sSelAudio2MFD_SouName_DevName↵<br>: X. f- P7 u- u3 p' w) B
参数:<br>- y& B1 e/ a9 f, O2 T
SouName:要切换的AUDIO 信号源的名称。<br>' j' j8 H3 L$ n) A4 X
DevName:要显示该信号源的多功能显示设备的名称。<br>9 c0 p5 L0 E+ z- Q. l/ X" O
执行结果:sSelAudio2MFD_nResult↵<br>
3 O9 C! Q4 Y4 g) j: I# t' H5 cnResult 可能取值:<br>. L0 P0 v1 n" d& i' a
0:成功;<br>
$ D# N2 a( @( I. R H: c1:串口控制功能被禁止;<br>
: A4 e( N' F8 B1 S2:非法的指令名称;<br>/ s3 l, j' w. F& K
3:非法的信号源名称;<br>( ^& w' |8 v, L" J
4:非法的多功能显示设备名称;<br>7 n/ Z% k6 [- b. h3 X
5:操作失败。<br>
7 O# X( d* F4 B+ P7 x! p( |17、 cSendData<br>
& E- J, O6 N8 A! b S功能:发送数据到指定串口<br>% y: y$ Y; _$ a/ k( |
格式:cSendData_PortNo_PortSettings_Length↵Data<br>9 c" t. A/ }' i% C! \
参数:<br>
3 c+ h' H! K( ZPortNo:串口名称,譬如COM1<br>
# d- N4 Q* M. Q4 ]6 qPortSettings:串口设置,譬如9600,n,8,1<br>
- _/ a( t7 }. L/ N. a: p% HLength:发送的数据长度<br>
/ j$ h ~/ p0 b* ~% b1 jData:发送的数据。<br>% i+ O/ j1 e5 ~1 v
执行结果:cSendData_nResult↵<br>
$ r) M6 `: @8 C) {nResult 可能取值:<br>
9 b' |! J& G. L) d* Y: i$ \ E, i0:成功<br>
7 o; |+ E/ l( `2 d4 a1:串口控制功能被禁止<br>
, l* `# s4 {% D' p, w2:非法的指令名称<br>
9 ^8 U; Y: A" h3:非法的端口名称<br>) s1 O( K9 D9 A! {
4:非法的串口设置<br># }/ J$ D3 X' ]6 a
5:操作失败。 |
|