|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>5 K* n- ?! l& ? p# u
一、概述<br>7 w, Z- b0 N- U: ]
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
) a. z9 u! [" T. q控制的接口。本文描述该接口的控制协议。<br>
* r# y3 |: \3 U3 jVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
/ F0 b1 v& N- M+ l$ X4 V/ G过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
9 u$ @. b: a/ t6 U机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>' g% h1 h+ Y+ Z& C2 g2 t( F& @
该协议可根据以后的功能需求进行扩展。<br>
6 J+ U3 l7 k- V+ M1 U二、指令的命名和格式<br>3 b1 a5 i1 k9 D+ e" p9 p6 [
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
\3 Y% E& j. t5 R处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
6 U. b& d* V& J; u其余字母是其功能的英文描述的简写。<br>% @0 j) {% Z1 q# Q; B+ q5 k. m9 r
指令及其参数、指令的执行结果均用字符串表示。<br>, U4 m; ]. T: [, A
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>& r5 ?: ~; ?$ O) o. ^- S6 w* o" q. j# L
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
) W# v! m# d" i6 L: c @1 i' J1 f! s2 i指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>' Q, O# E. f K7 K! t/ B5 m
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
. P' |; n M2 K9 o7 v指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
6 [' r6 W" V. M& i) g( O( D执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
0 z- E; n4 ], `" L, @9 j G) v三、指令描述<br>
' _" B; F' F: R$ O4 b2 o- G1、 ePowerOn<br>+ f/ J% P3 K5 A1 W+ W
功能:机芯开机<br>
3 f1 t$ @7 ?' z! Z8 n9 F格式:ePowerOn[_WallName][_ProjNo]↵<br>
3 T7 D6 V# e7 j参数:<br>
0 P# k6 X2 P: @6 }) }9 j; q! LWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>* ]0 s9 L% A* f0 K' y: n. f
也必须省略。<br>
. I; g" d+ ` w. a8 c: BProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
$ P; a& b! E, R( ` G8 O/ m0 [ N芯。<br>7 r; U& K2 y& j: k/ _* z) \
执行结果:ePowerOn_nResult↵<br>+ D( q8 V/ E0 i0 V) ?
nResult 可能取值:<br>
+ ~& x+ ^; J1 D% C6 A- l/ s0:成功;<br>
8 M! V4 z, \6 ?; T8 g! W1:串口控制功能被禁止;<br>& U( ?5 W% X! n
2:非法的指令名称;<br>
/ E+ t# ]' @# S2 K" x3:非法的拼墙名称;<br>$ v7 O5 D# L) r) M: a+ {
4:非法的机芯编号;<br>
; Q+ P% @( F. p) z5:操作失败。<br>* x: \9 M0 G1 N- ~" Z: L' R' f* a
2、 ePowerOff<br>
: ~: f5 [7 c& S- [( h/ {4 v) n功能:机芯关机<br>/ g8 b1 ^9 n1 _( ?0 j6 }# V- Y
格式:ePowerOff[_WallName][_ProjNo]↵<br>
1 d* i a* k9 Q: w1 s; h& j5 C/ B3 A参数:<br>% O; S+ `+ y- W
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>* r# S; O' R, F# [/ C
也必须省略。<br>
1 R) s* P! R. ~ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
' N$ U) c8 h p* [芯。<br>
. m2 C$ `" A0 e$ Q( f, a执行结果:ePowerOff_nResult↵<br>
; K5 G* k1 g( U$ Y$ pnResult 可能取值:<br>0 h" y g' N6 N! w f7 H
0:成功;<br>
% A( M1 @7 C+ O) p) U8 C1:串口控制功能被禁止;<br>) L5 ~) Z w% L& a# G3 O# e
2:非法的指令名称;<br>
$ i- F$ c0 }5 E3:非法的拼墙名称;<br> n0 ~ `; V! H2 J# Q
4:非法的机芯编号;<br>
, a+ b) Y8 M+ L5:操作失败。<br>1 |4 h/ n/ |8 }1 M, H
3、 dPowerOn<br>$ {1 A/ I4 y7 X3 T% K/ ]5 X8 S
功能:多功能显示设备开机<br>8 |' ~& V$ U2 v( c8 p
格式:dPowerOn_DevName↵<br>
3 `; _9 ~) ?+ Y$ A A参数:<br>
3 K9 L! O# F+ b. g$ E5 ZDevName:要进行该操作的多功能显示设备的名称。<br>+ S9 o, `0 I# n3 I1 }
执行结果:dPowerOn_nResult↵<br>
( n+ @: I; k. _0 r% H4 C( n( D* OnResult 可能取值:<br>8 }# `; C/ y4 s+ v
0:成功;<br>
9 x3 B- ?" w% X2 r# X. ^) X1:串口控制功能被禁止;<br>
" m& {- }: ^+ y, P; C( y _2:非法的指令名称;<br>
& E- |& Z. v: s$ ?3:非法的多功能显示设备名称;<br>
# ~2 Y6 t7 `# {; l! V4 A) b4:操作失败。<br>
& ~* v' b% T$ G) l# |4、 dPowerOff<br>6 @6 `# w p, }* y
功能:多功能显示设备关机<br>7 o; s: W& ~5 F
格式:dPowerOff_DevName↵<br>
: Y7 h1 K4 o$ f; w参数:<br>
* v, L; z0 X7 w% KDevName:要进行该操作的多功能显示设备的名称芯。<br>
2 h' Z/ i& v+ Q8 p执行结果:dPowerOff_nResult↵<br>
4 z* `. K' d( ~% ?nResult 可能取值:<br>, U$ {0 a! @1 N! ?
0:成功;<br>
' \! M0 I- s5 c2 z# X. F7 X1:串口控制功能被禁止;<br>
+ C! P$ e5 Z+ m0 |; b- T4 b$ ^6 g2:非法的指令名称;<br>
0 | N/ x- y, q7 e3:非法的多功能显示设备名称;<br>
' t H+ l# F$ P$ r' r4:操作失败。<br>
0 y. S6 i2 m r/ z2 [5、 eCloseWin<br>
1 I; Q; u! D6 A @; ]功能:关闭所有机芯直通窗口<br>
" U9 z$ t! Q3 [% D( Y格式:eCloseWin[_WallName]↵<br>. N2 I. J2 L9 Z! o; W8 \1 | C
参数:<br>* A5 D! ^- A7 c0 p) [" ?# s/ Q
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>3 E4 d" ~; C: h1 e2 u$ ?
执行结果:eCloseWin_nResult↵<br>4 r' c: H, t9 o: x$ a
nResult 可能取值:<br>
+ H% K# x8 m7 V2 N; l5 ~! T0:成功;<br>3 y* T9 M5 o) p1 a7 F( U8 l; z
1:串口控制功能被禁止;<br>. n& d7 a: z6 [9 ~9 Y
2:非法的指令名称;<br>
+ W3 |; M9 i- E/ ?( [* T3:非法的拼墙名称;<br>
" U4 _8 |& a6 M4 N4:操作失败。<br>- i6 S2 f2 f, }4 C) }
6、 pCloseApp<br>/ b1 ]9 n& N- o$ O$ |* N2 r( q
功能:关闭所有处理器应用实例<br>! |1 I4 b" x! k
格式:pCloseApp[_WallName]↵<br>, z5 _8 V6 z% D8 k
参数:<br>
9 S: ^$ [3 o1 S0 ~. X* d. L! OWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>7 K+ q3 I+ v4 `+ Z
执行结果:pCloseApp_nResult↵<br>
4 D8 }) t( Q: m6 ]& rnResult 可能取值:<br>% A5 J* `9 s2 n+ w, K; i
0:成功;<br>
3 e$ e2 O& f& C8 R, R% d b6 p$ f1:串口控制功能被禁止;<br>
6 f t* Y) A9 J; B7 I, r7 h2:非法的指令名称;<br>- a- `, m5 i6 }2 ]# z
3:非法的拼墙名称;<br> M5 w3 Y) t* I1 `( b+ c! B. N
4:操作失败。<br>- J P; b, }, _# X
7、 pCloseWin<br>4 C+ u$ }6 B; o$ n! g" U
功能:关闭所有处理器窗口<br>5 T* z7 k$ r8 @
格式:pCloseWin[_WallName]↵<br>
1 w0 c9 ]0 ~/ K* z参数:<br>5 }" f1 r- k6 y
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>7 U) @0 q% r( ] j3 \ c
执行结果:pCloseWin_nResult↵<br>
+ x5 m$ |+ J* hnResult 可能取值:<br>6 T) ]/ d" }% Q0 D, a. X
0:成功;<br>
% ~3 I+ H" K5 }5 {# b1 H1:串口控制功能被禁止;<br>
3 P* D I; O2 l3 p3 Z5 d2:非法的指令名称;<br>. C! d8 O- s" a. L( ~
3:非法的拼墙名称;<br>( ?; l* i3 d4 J; ^
4:操作失败。<br>
4 s7 ^$ O: }" N: u8、 mApply<br>0 v2 M2 |; t) A; H4 w
功能:执行已经定义的模式<br>! y" i; j$ ]) k: J
格式:mApply_ModeName↵<br>, [2 j8 d" e8 }& z* N/ j
参数:<br>
/ j7 U6 K( q4 T' X4 MModeName:要执行的模式的名称。<br>6 T9 V* }3 a. p! c' B% v: o
执行结果:mApply_nResult↵<br>
( _9 X: ^ r+ \1 s _nResult 可能取值:<br>8 `& Y, t( I2 _2 {. B
0:成功;<br>$ l0 Q7 {* o) _6 \4 g
1:串口控制功能被禁止;<br>
: i- T' s# x4 m" r0 D4 @6 p2:非法的指令名称;<br>
" N: `( |6 |4 L4 m1 F3:非法的模式名称;<br>! }4 t5 N$ Z/ V6 t) z9 U" g1 x
4:操作失败。<br>0 C7 h, t7 {0 T' K
9、 sSelVideo<br>
( g- D/ e1 e* t8 w0 i功能:将一个VIDEO 信号源选择切换到一个监视器<br>
& E8 Z4 ]/ M5 L格式:sSelVideo_SouName_DevName↵<br>2 U! e$ {4 v8 s+ I4 c* W$ e" w
参数:<br>1 C. D6 s4 `, Z) {) s4 P
SouName:要切换的VIDEO 信号源的名称。<br>
5 d# n0 m+ X& ?4 U, GDevName:要显示该信号源的监视器的名称。<br>
+ a% P. e' Z: J/ c: F' N& e: j- h执行结果:sSelVideo_nResult↵<br>
) h* s" K* ~0 C% E% _7 tnResult 可能取值:<br>9 J; {- T8 E# a+ Q7 u
0:成功;<br>
( Z- W$ o" P' ~: i/ n: w. h1:串口控制功能被禁止;<br>
; l/ i* { ?% L( \+ D2:非法的指令名称;<br>! }& t) _$ v8 |. L* ?+ b2 B
3:非法的信号源名称;<br>
`. _, N$ R$ C' D' V7 A L4:非法的监视器名称;<br>
# f( T$ p- ]5 D" F' a7 P# l' H5:操作失败。<br>
& G# p0 ]& k. h/ d8 O6 G4 D/ L10、 sSelCamera<br>% @3 c* ?7 W" k8 H0 X
功能:将一个摄像头信号源选择切换到一个监视器<br>9 Y; e$ _( g/ [4 ^/ a
格式:sSelCamera_SouName_DevName↵<br>( x# o: _7 o _+ t: d5 N0 ]
参数:<br>' S; q. {% E% M6 I/ {
SouName:要切换的摄像头信号源的名称。<br>
! M4 N) Z! h& V' w& Q$ P: K/ ?DevName:要显示该信号源的监视器的名称。<br>2 H) K3 g# s g5 H3 A
执行结果:sSelCamera_nResult↵<br>3 o$ F; l. X% A/ v9 r8 \, ^1 s
nResult 可能取值:<br>* i+ u' ^ N( G( { E$ B
0:成功;<br>1 Z# D9 `4 S: M" ^2 g7 o
1:串口控制功能被禁止;<br>. x9 u# N& m6 R# K
2:非法的指令名称;<br>
9 T, |3 p% a7 _8 e3 Q! b3:非法的信号源名称;<br>
" i6 A* ?2 {+ F( D' C, E) p1 w* Q4:非法的监视器名称;<br>
% k) T: F4 M. @8 t5:操作失败。<br>6 {# t& `2 P+ r
11、 sSelRGB<br>
2 i$ N4 Q. p v4 V% H; |功能:将一个RGB 信号源选择切换到一个显示器<br>8 o' @) A0 }- U1 m: F8 q; h
格式:sSelRGB_SouName_DevName↵<br>
+ d# f- W+ f! p: N: U0 `参数:<br>( I$ m' e- e3 e2 x; Q, ]; j
SouName:要切换的RGB 信号源的名称。<br>( t9 P% H# ^9 r) r0 S
DevName:要显示该信号源的显示器的名称。<br>2 y/ ? |0 m6 f
执行结果:sSelRGB_nResult↵<br>% p. f9 t3 D% n* j
nResult 可能取值:<br>" |$ q) E) b1 F) r1 p
0:成功;<br>! u6 i. e6 b; B
1:串口控制功能被禁止;<br>, o; ~; i- q+ V" F
2:非法的指令名称;<br>
/ a: I, [4 X3 x3:非法的信号源名称;<br>
% t6 |/ [; I' H; w2 c4:非法的显示器名称;<br>% |- O- Q9 r$ m9 D) m" u! K6 h8 s
5:操作失败。<br>& L4 U2 k* ]2 W% w1 G
12、 sSelAudio<br>' O" {& c8 k8 n. } `% F) t2 r G
功能:将一个AUDIO 信号源选择切换到一个播放器<br>( W+ [' F- Y" ~3 q" r* u; }4 d
格式:sSelAudio_SouName_DevName↵<br>! Z3 C- }' d/ [$ g0 B
参数:<br>
* D; O3 o5 S! a6 ~: uSouName:要切换的AUDIO 信号源的名称。<br>5 K, C4 r- ~8 V, n5 I& E( k
DevName:要显示该信号源的监视器的名称。<br>
# t3 R% D) j( l1 o6 N7 p. h$ s# h. A执行结果:sSelAudio_nResult↵<br>
$ ~1 H* E' L, ~6 r" E4 CnResult 可能取值:<br>
8 c' R% Y! p: D# d' K3 @0:成功;<br>3 J: J. T, d- \) J% V2 A
1:串口控制功能被禁止;<br>
- V3 b; H7 y1 {$ u4 g% N+ b2:非法的指令名称;<br>
9 y& b$ S u# k2 j& R! C3:非法的信号源名称;<br>
d' q6 F9 s- V& V; _0 @5 }4:非法的播放器名称;<br>
4 O& u; V0 q! S Y& t/ y2 \1 w/ a$ {( u# T5:操作失败。<br>
: g: r9 q0 j* ]) c4 n( s3 T; s13、 sSelVideo2MFD<br>
5 V8 E; e7 g ^. q7 x& N# o8 G. G功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br> l e0 q; C5 ~3 r+ J
格式:sSelVideo2MFD_SouName_DevName↵<br>: Q8 u0 e) F, ^1 ^# H
参数:<br>
" k: L) t) |& x. z4 i8 x% I! GSouName:要切换的VIDEO 信号源的名称。<br>3 K! [9 Z4 H3 [- H. P
DevName:要显示该信号源的多功能显示设备的名称。<br>4 m* d# G0 ?* }1 q! E
执行结果:sSelVideo2MFD_nResult↵<br>
/ h3 k' @$ g7 ~2 AnResult 可能取值:<br>
; {# i! F+ i z/ d/ K0:成功;<br>4 T S: R- E, K+ u4 E% i
1:串口控制功能被禁止;<br>/ N5 L' h4 z1 P# [9 B; X1 k
2:非法的指令名称;<br>
$ e" ?6 k% u' ^. O' n3:非法的信号源名称;<br> M O$ S9 s5 [9 z
4:非法的多功能显示设备名称;<br>& Q" i5 _. M: l3 y
5:操作失败。<br># L2 p! M5 t( u# y# {& w/ b; f5 L
14、 sSelCamera2MFD<br>
. [5 ]/ c( y3 `8 X' d5 {$ N功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
0 P4 V, Z/ _4 j+ e6 X+ b/ L格式:sSelCamera2MFD_SouName_DevName↵<br>( p5 e; z" ]& m0 [
参数:<br>
$ u6 I- Q+ W" ^: aSouName:要切换的摄像头信号源的名称。<br>0 \) f- k3 O# K6 y6 Z
DevName:要显示该信号源的多功能显示设备的名称。<br>. u0 t) |; ~) s2 L
执行结果:sSelCamera2MFD_nResult↵<br>
" K7 A ?! f: r/ } \nResult 可能取值:<br>8 b- }) M* P* N7 r u: t3 n
0:成功;<br>
& W; G( r' g2 U: N/ b- f1:串口控制功能被禁止;<br>
4 m' l- }: w6 p* S" K5 |2:非法的指令名称;<br> B+ u- N$ J6 B3 p$ p$ p1 s
3:非法的信号源名称;<br>8 e+ e" T: h! t \
4:非法的多功能显示设备名称;<br>
/ N+ ^2 y/ `7 \2 n# S9 \5:操作失败。<br>* K& p: u# _, V+ l
15、 sSelRGB2MFD<br>
. @& a7 N. ], P4 m& p `! u功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
# q/ z. R1 T7 E- m0 P E格式:sSelRGB2MFD_SouName_DevName↵<br># B9 ^! @ g* `5 L, m# _
参数:<br> Y. ~" A6 k$ u, F6 J8 Q
SouName:要切换的RGB 信号源的名称。<br>
X6 }! w" y7 O2 r% t: T+ WDevName:要显示该信号源的多功能显示设备的名称。<br>
* m+ a% n$ d# G* r0 e执行结果:sSelRGB2MFD_nResult↵<br>
% d+ N& B \; V* O2 G- w3 tnResult 可能取值:<br>" S6 _% \5 ~/ N8 g- X- ^: @
0:成功;<br>
& [9 O+ u) O8 Y- g( v7 ?$ ] h1:串口控制功能被禁止;<br>5 D( L. g3 s5 S9 @8 t1 p
2:非法的指令名称;<br>
0 P9 p* K( k u4 @3:非法的信号源名称;<br>0 {. h) ?% J$ h* v3 D
4:非法的多功能显示设备名称;<br>7 w7 v# i8 M' T9 M
5:操作失败。<br>
0 _) \6 v- _% C8 [16、 sSelAudio2MFD<br>
' e) p/ o" g) a/ \" p+ f功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
3 d9 W% q' [# D8 N8 u1 |格式:sSelAudio2MFD_SouName_DevName↵<br>
& h4 U2 h2 \8 U$ u) J2 q2 d; c参数:<br>
( Y; a9 z% I3 q5 _4 J5 ^SouName:要切换的AUDIO 信号源的名称。<br>
: O0 f6 [. y' e& e' HDevName:要显示该信号源的多功能显示设备的名称。<br>
0 c: }6 K6 n2 X2 h2 B1 O8 d; O执行结果:sSelAudio2MFD_nResult↵<br>! ]/ B5 ^# N- }" j
nResult 可能取值:<br>
+ H7 J: D5 V; k& d0:成功;<br>; k" _3 _+ \+ a* E, f7 ^
1:串口控制功能被禁止;<br>
% G: n" p7 ]5 f- o3 e4 N2:非法的指令名称;<br>
o' K3 E% L5 D) V1 G6 H) o3:非法的信号源名称;<br># y/ F5 q9 s* z9 F4 n
4:非法的多功能显示设备名称;<br>. r& C- D6 i" u7 K# N# c* u
5:操作失败。<br>
! s8 P u" N9 b2 R17、 cSendData<br>/ f4 s( ^% z& `! W
功能:发送数据到指定串口<br>& g, y7 R) Z" _5 T
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
/ L! j9 J6 u& g( d, Q0 [4 [参数:<br>: b( x( U9 t% `3 O) d
PortNo:串口名称,譬如COM1<br>3 R8 m+ K- B1 h. |# S. d
PortSettings:串口设置,譬如9600,n,8,1<br>; O- c5 Q: d7 p" T3 ]+ S
Length:发送的数据长度<br>& W; X+ F6 M- [
Data:发送的数据。<br>
+ C2 V, X( {8 p- w! Z" e) l执行结果:cSendData_nResult↵<br>5 t9 K1 V% }9 B& A
nResult 可能取值:<br>
9 z& n) ?# N5 U3 U7 `; A; Q$ H0:成功<br># ^2 u+ a9 _6 e; N
1:串口控制功能被禁止<br>
T S# D* G1 R0 ], m, s3 P2:非法的指令名称<br>
" S+ F% l# e! q0 a! A3:非法的端口名称<br>9 m2 E3 R0 ^9 f ~6 A. U
4:非法的串口设置<br>* ]+ o0 M/ J" r2 |
5:操作失败。 |
|