|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
% h& e- m: J: [- d7 C- m/ n0 ]一、概述<br>
% ?' r" N: x/ Z' F/ R% |# C* h为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>/ _8 T2 X. e, f
控制的接口。本文描述该接口的控制协议。<br>
/ V$ S- [/ E+ x' [- Z iVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
! U; a* k0 S8 W `0 a0 \7 V v过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
( o( ` r& {. Z0 J机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
. `/ _( E2 r/ ?- Y& Q该协议可根据以后的功能需求进行扩展。<br>8 h X* t7 o9 C1 B* c" j0 O
二、指令的命名和格式<br>% Z, H+ F8 Y2 s" I5 v* k3 N
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>1 r1 a" Y- j* H& X" s
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>2 d* d x9 p" p5 T' w, D
其余字母是其功能的英文描述的简写。<br>/ I$ E* V4 L' D( l/ A" T
指令及其参数、指令的执行结果均用字符串表示。<br>
+ G$ i9 b: c: ~9 J! N6 Z% B/ F每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
" t( j6 ?8 s' K/ y. s# \" w的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
h$ c: m5 ~ N. O' z3 R5 x% u指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
0 [$ Y( e- l' m4 u, P/ P# P0 F指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
8 i9 C, X. n0 R8 x) Y2 [3 Q6 z" X指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
! Y7 i1 ?/ z4 w9 I3 |执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
+ }* b! k. L3 Z, ^三、指令描述<br>1 P. s" T. {: K% m: Y
1、 ePowerOn<br>0 \2 Q5 p$ B0 ~" F3 O( C3 _) O
功能:机芯开机<br>
& d! m8 F0 i1 n) b格式:ePowerOn[_WallName][_ProjNo]↵<br>; Y. G- ]* ^. |- n( ]
参数:<br>' S+ r# W' c' W* r+ @7 L3 T
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>' g3 B3 F( \, L) q3 q- J" x" i# h
也必须省略。<br>( B. ?% F% k: ~/ P1 w) _+ L4 K4 ]
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>$ u! P. @& E" J8 k* Q, j U W7 o
芯。<br>
m7 ^% [, W4 t# ~" X% i# g3 b执行结果:ePowerOn_nResult↵<br>
8 p, i& ?7 R& s$ {- l& P tnResult 可能取值:<br>
: B' G1 C8 w4 w1 L0:成功;<br>5 x P; T' y q3 a3 W
1:串口控制功能被禁止;<br>
; V/ ~+ K7 o# \2 P/ b7 j: i2:非法的指令名称;<br>
, O* g8 h7 w% Q, l# {( R3:非法的拼墙名称;<br>, w1 b/ q8 g" a5 H- S
4:非法的机芯编号;<br>0 N" ^ K- |& ~) Z, T
5:操作失败。<br>$ i- g# Z \3 I
2、 ePowerOff<br>
0 z! M% s: R" T- h% e+ V功能:机芯关机<br>
0 @' b8 ?7 p; V) ^% Y5 d0 ^4 e格式:ePowerOff[_WallName][_ProjNo]↵<br>
\5 ?! V( W. U0 R# w参数:<br>- s6 ~1 \. p+ {- m4 Y
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>8 L3 r; C5 S" X( U4 h, a3 ?, J; |
也必须省略。<br>
" _6 ^9 Q- v+ i) W. Q7 p: ZProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>* ?0 s3 `* q8 _9 N/ ?
芯。<br>8 n7 a3 v, [- A* l9 F }8 n f
执行结果:ePowerOff_nResult↵<br>) V$ @) R- W2 Y) Z" T% N
nResult 可能取值:<br> y7 h0 \$ O2 |$ r, H: O* n
0:成功;<br>
w/ _4 B+ f6 x- Z) c1:串口控制功能被禁止;<br>( Y2 v/ }7 h9 r0 d5 R: G) \
2:非法的指令名称;<br>; b: E1 O8 l p9 w1 I5 D9 H) }
3:非法的拼墙名称;<br>/ d) D+ S; K" E3 S2 f7 m1 Y: }
4:非法的机芯编号;<br>
9 V2 e s9 W, \3 ?( M5:操作失败。<br>4 x b8 @$ d+ b5 [; S5 M0 M0 b/ n
3、 dPowerOn<br>( }& U, m8 u2 `5 p; d4 K+ T
功能:多功能显示设备开机<br>4 A2 S1 i4 F+ _" s8 C
格式:dPowerOn_DevName↵<br>* ~* V- I1 I2 h5 n2 Q' x9 M( {: t) c
参数:<br>1 l: K0 w$ y/ H
DevName:要进行该操作的多功能显示设备的名称。<br>
7 v8 c+ \6 \' l: S2 {执行结果:dPowerOn_nResult↵<br>
* Q4 b1 ?* x1 [% v6 E/ z/ X8 ZnResult 可能取值:<br>
- m2 b1 z! J# B0:成功;<br>3 y. n' M! c( E, G
1:串口控制功能被禁止;<br>
0 Q2 }' n- k' W2:非法的指令名称;<br>
6 y" V7 V B) V5 X) y3:非法的多功能显示设备名称;<br>
* J/ s6 g4 e. }# y; I8 j5 Z% H4:操作失败。<br>1 R3 a1 F" {$ R* }
4、 dPowerOff<br>$ v; Z5 Q! }: j5 k
功能:多功能显示设备关机<br>
# \& z" ?! V! P1 }/ m- x" c: A7 Q& x格式:dPowerOff_DevName↵<br>
% c% d* h/ Q' w8 L1 G( l- d$ h参数:<br>
3 ]" d! c2 n0 a% p' Q7 YDevName:要进行该操作的多功能显示设备的名称芯。<br>7 t3 m/ E' \ I1 `
执行结果:dPowerOff_nResult↵<br>1 b2 ]3 N+ p- O( d; G1 f
nResult 可能取值:<br>: j- j. k2 M& m# m
0:成功;<br>
7 Y; ]8 D" |/ w1 _1:串口控制功能被禁止;<br>) M. f2 J! Y8 ?6 g& |' F" k D' o
2:非法的指令名称;<br>
. @; X) t8 o; b( c9 c3:非法的多功能显示设备名称;<br>
) E2 h4 b8 U( g2 o3 U4:操作失败。<br>
: k" `2 G( z5 C( e3 E" c5、 eCloseWin<br>! [. q( Z$ v3 s% z" N) s
功能:关闭所有机芯直通窗口<br>
7 G( s% U0 q1 o1 m. L# w8 M* }3 j" j格式:eCloseWin[_WallName]↵<br>
% {/ @: g! b: R- S1 K参数:<br>5 y8 {& n# A0 m1 ?
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>; o1 e. M( [ l& K! M
执行结果:eCloseWin_nResult↵<br>
" S7 V3 @1 q" |8 n' q+ t/ _: [; ?nResult 可能取值:<br>
, k/ ?( d+ t O6 j4 P0:成功;<br>- S: ~" v- R# Z$ V* }: ]! `
1:串口控制功能被禁止;<br>
9 n( _: _) x7 W, P6 o8 @2:非法的指令名称;<br>
o4 t& F/ I Q3:非法的拼墙名称;<br>
' t1 b3 _. O" f4:操作失败。<br>/ n4 I5 P7 z6 j( d
6、 pCloseApp<br>
& g. c( g% z5 {$ |$ Q7 D: n2 Q功能:关闭所有处理器应用实例<br>1 `, d7 o8 H3 u4 ]# v/ J
格式:pCloseApp[_WallName]↵<br>1 v8 t- p0 T7 L$ V s
参数:<br>
1 n9 I; {8 Y2 K/ yWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>. f8 G9 i2 z' t, V' k5 i: w
执行结果:pCloseApp_nResult↵<br>
3 e+ n. ?9 Z' u. \& cnResult 可能取值:<br>% F7 }: U' B) d# j5 m: A
0:成功;<br>- u! e# L( N9 y1 A
1:串口控制功能被禁止;<br>
, M9 c# c- N( z7 D2:非法的指令名称;<br>
# x( p5 L3 m' X* V2 U, j3:非法的拼墙名称;<br> Z% Q" g) C3 | N5 B# s9 ]$ Z
4:操作失败。<br># G4 c$ K3 x1 E( [. D# v( ?
7、 pCloseWin<br>/ g7 J) }9 ]: B+ o0 |: T; G
功能:关闭所有处理器窗口<br>
, G3 C- B r0 _# W格式:pCloseWin[_WallName]↵<br>
K; |, z1 b0 t8 C' O5 H参数:<br>
+ T: k: k7 r9 y5 J$ YWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>( y5 `, ]( d0 M9 _7 r$ [) i" d9 ~
执行结果:pCloseWin_nResult↵<br>% }: e7 |) F( r S: W7 f/ _
nResult 可能取值:<br>6 W$ z. U: [! M. s
0:成功;<br>
/ W6 a- f/ |! w1 [1:串口控制功能被禁止;<br>
! d+ e5 B2 a1 F; J1 F; y2:非法的指令名称;<br>
) {: ?, A8 P/ M3 m) ?3:非法的拼墙名称;<br>1 v) v) T- m. Q3 g
4:操作失败。<br>
$ _* X- R/ ]: P( W) k) }8、 mApply<br>
! O7 _& E" j9 k4 ?4 |4 ^6 H' o8 e功能:执行已经定义的模式<br>- e0 {! G- W1 A/ Z+ `8 f4 S
格式:mApply_ModeName↵<br>
5 e* \7 D9 m6 R) I( a# v2 E2 c! P参数:<br>
n# k' @3 Q7 o' P) w; kModeName:要执行的模式的名称。<br>
4 t% k* l+ F- m \* F) a执行结果:mApply_nResult↵<br>1 u) {( A5 O' a/ N* v s6 Y" J; E
nResult 可能取值:<br>
% G7 I# ~0 M, m K! K0:成功;<br>
0 l$ D' z; Q4 v0 b+ M: W1:串口控制功能被禁止;<br>( j8 y9 k4 u w& z2 z8 {; Z+ L
2:非法的指令名称;<br>" ]: a: {$ Z8 K( l9 r+ B, o% J
3:非法的模式名称;<br>2 P; J$ g( [- M
4:操作失败。<br># k/ o1 L4 \: }
9、 sSelVideo<br>
+ R5 R6 [2 {8 A) T) N v功能:将一个VIDEO 信号源选择切换到一个监视器<br>
7 r+ h% K, c+ o' ?) J格式:sSelVideo_SouName_DevName↵<br>
6 `, R7 Y3 M! v# @7 k5 i! @6 }参数:<br>: F8 K% w' O- v3 o$ l- @4 }
SouName:要切换的VIDEO 信号源的名称。<br>
3 v- v+ Y* P5 z9 H# y5 B' WDevName:要显示该信号源的监视器的名称。<br>8 _% z9 d7 s# T" ?, b* X
执行结果:sSelVideo_nResult↵<br>
8 m' V* i0 G& x8 BnResult 可能取值:<br>
* b+ W5 Z P. b% r! b4 G$ O0:成功;<br>
& _; T. {& |) Q1:串口控制功能被禁止;<br>( _; A5 b' X8 V- s+ z% v
2:非法的指令名称;<br>$ w$ E( Z( \4 s6 L$ O
3:非法的信号源名称;<br>' y1 f1 S4 r5 `( e% w+ B
4:非法的监视器名称;<br>
% r5 B9 @* @/ s- G- L$ M2 |% g) A5:操作失败。<br>% O% o+ `1 X% G& w
10、 sSelCamera<br>1 R0 u; t* S6 W. _% n3 b- [ |
功能:将一个摄像头信号源选择切换到一个监视器<br>
$ T% \) g' b5 }; U2 t) r! y U格式:sSelCamera_SouName_DevName↵<br>
7 |5 T* w6 h% T4 w/ p参数:<br>
0 ]& o2 p7 q, `1 M) W6 ySouName:要切换的摄像头信号源的名称。<br>2 F8 d7 l( V& n+ V( O- N' q
DevName:要显示该信号源的监视器的名称。<br>
) u+ i o( \8 ]执行结果:sSelCamera_nResult↵<br>2 C- c4 z! K5 V4 Y/ T
nResult 可能取值:<br>, G* Z, J; Z) ^
0:成功;<br>
* h7 X5 f+ ]0 V/ `0 @1:串口控制功能被禁止;<br>
- M! ` M/ ~( C5 t2:非法的指令名称;<br>
3 r. x& r6 c+ H. m( K# `$ D3:非法的信号源名称;<br>
" m% e Y8 v) M/ d- ^6 j+ {4 }4:非法的监视器名称;<br>& M& d+ _9 ~. P( U9 ` X
5:操作失败。<br>, s5 M3 w4 s5 L4 u, T/ _6 p* V
11、 sSelRGB<br>4 C( ~. r% |. H0 f; v& w
功能:将一个RGB 信号源选择切换到一个显示器<br>
$ S2 X% z4 R. t# n- Z+ `$ @格式:sSelRGB_SouName_DevName↵<br>
8 p! `) x' K s3 y9 g参数:<br>+ D1 n( z' v7 ]! E% o* V. f
SouName:要切换的RGB 信号源的名称。<br>/ V+ ~" c+ l2 V |7 H6 v6 a
DevName:要显示该信号源的显示器的名称。<br>, A9 J7 m) b' [9 E) l) |5 d
执行结果:sSelRGB_nResult↵<br>
+ d/ j- {9 B* K9 {9 MnResult 可能取值:<br>+ N% z( [# l) w. z9 `7 Y- Q
0:成功;<br>1 o2 t; {" e$ m7 W. r' G
1:串口控制功能被禁止;<br>
( @/ R- U' ^, i; H2:非法的指令名称;<br>! o& s, O! R9 l
3:非法的信号源名称;<br>' {" x% l! e& s1 s0 U7 y
4:非法的显示器名称;<br>" r% M0 ]$ W0 b$ }* i, v" k4 c
5:操作失败。<br>
: @( ~& R2 k+ o7 M; v% ]3 I12、 sSelAudio<br>
; l; n- ~1 i- p. H4 E3 n功能:将一个AUDIO 信号源选择切换到一个播放器<br>6 M. j( J3 {& Z: `/ t0 b' G7 c
格式:sSelAudio_SouName_DevName↵<br>6 O3 e' f* G, [9 O- O' \0 T* ^
参数:<br>
% r/ W9 Y4 q& H6 _3 k3 kSouName:要切换的AUDIO 信号源的名称。<br>6 Y# ], V9 ~5 p' F" V0 l
DevName:要显示该信号源的监视器的名称。<br>
, r; |: h3 M x1 L; r8 \$ Y执行结果:sSelAudio_nResult↵<br>6 N4 R* F# h9 R5 @( a
nResult 可能取值:<br>
+ M6 i! f3 E, m+ Z) R0:成功;<br>+ a, H# ?) _6 a7 t4 o D
1:串口控制功能被禁止;<br>
' M- O* b/ `+ E p! [2:非法的指令名称;<br>, R8 s# m* v: i1 h b7 s. O
3:非法的信号源名称;<br>
9 K7 J7 H) T7 ^% B5 p: |5 h4:非法的播放器名称;<br># O+ E2 `) X8 ^5 S: _
5:操作失败。<br># y5 D* H5 r8 q0 l
13、 sSelVideo2MFD<br>: S! \5 n( H9 ^ G: H
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>1 z c( `3 R r8 C
格式:sSelVideo2MFD_SouName_DevName↵<br>3 Z# v" F7 L. p( O9 D- d9 E' k9 }
参数:<br>4 N1 t$ P( R2 V2 b' H$ @
SouName:要切换的VIDEO 信号源的名称。<br>
" D5 |' p8 a# [9 s7 ~+ \2 l1 \5 VDevName:要显示该信号源的多功能显示设备的名称。<br>
9 i& k/ q1 N. s/ X/ A: `% o, N执行结果:sSelVideo2MFD_nResult↵<br>
; V1 s" `7 g8 u/ `6 ]nResult 可能取值:<br>
# k/ E. i5 U: H' T5 \0:成功;<br>4 D+ d+ j, y1 Y; U t8 l0 c
1:串口控制功能被禁止;<br>
: S7 C# ~, N6 I! j+ B ?1 g2:非法的指令名称;<br>
1 D( |+ [$ f0 ?9 e9 _! ?3:非法的信号源名称;<br>3 e9 Q6 v0 e) y, p' E0 l0 w% y
4:非法的多功能显示设备名称;<br>9 L: K3 R( |0 k( q0 E
5:操作失败。<br>
7 T+ J, W) I$ u14、 sSelCamera2MFD<br>
; e0 S# I9 l4 Q, ~& E$ o功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
% L# u- L3 ^4 Y3 N- s格式:sSelCamera2MFD_SouName_DevName↵<br>
, C# P! i1 n _$ L' }7 o8 I参数:<br>
( y( q) K9 _0 WSouName:要切换的摄像头信号源的名称。<br>
1 W f0 R4 l x* L+ g) [& gDevName:要显示该信号源的多功能显示设备的名称。<br>: T% V/ }* {- p6 w$ V5 m
执行结果:sSelCamera2MFD_nResult↵<br>
- o; _" G! O. X9 j( O1 b/ M- `! TnResult 可能取值:<br>
7 k* z- V) b8 M2 H4 U0:成功;<br> B9 q% |, H, u d. z
1:串口控制功能被禁止;<br>- w$ L0 e0 B( e" z3 Z( ~4 o
2:非法的指令名称;<br>
% m2 I/ d: T' R3:非法的信号源名称;<br>. x: {# {. r4 k! {
4:非法的多功能显示设备名称;<br>" y1 k0 ?" @7 B$ O
5:操作失败。<br>: s. F$ M" m. p
15、 sSelRGB2MFD<br>
" `; i0 A; @" C4 ?+ @7 T% I* l功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>5 d4 k2 v5 i2 G: x. v" l
格式:sSelRGB2MFD_SouName_DevName↵<br>1 v, m% Z+ E8 Z6 |
参数:<br>
3 W8 g" h1 h, R5 Q" b$ c3 RSouName:要切换的RGB 信号源的名称。<br>9 Y8 U3 M, p; [- i$ Z/ Q6 @( d2 N
DevName:要显示该信号源的多功能显示设备的名称。<br>( V' @8 f, q) H) J9 S# |
执行结果:sSelRGB2MFD_nResult↵<br>
8 O+ n8 W! r, unResult 可能取值:<br>
7 ~4 a/ ]' W! X4 b2 g1 g0:成功;<br>/ l3 @* {8 h- b7 w- h3 v6 F" N2 h o
1:串口控制功能被禁止;<br>( ~: l1 G, S- r( s' s' [% \
2:非法的指令名称;<br>9 D1 H- v$ K9 D
3:非法的信号源名称;<br>$ z: n) E, p9 B
4:非法的多功能显示设备名称;<br>
4 z3 S& r( _7 r5 E# O5:操作失败。<br> @$ I" E- K, [% E0 d- l# ~+ L
16、 sSelAudio2MFD<br>
D$ f. v$ ~2 t功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>! [/ c/ r; ]$ o2 U! t- x4 M; R- j
格式:sSelAudio2MFD_SouName_DevName↵<br>
2 r# ~. W# T1 b9 u1 ?5 V, V' _# c参数:<br>
/ ^" Y+ e8 R. ]% T9 fSouName:要切换的AUDIO 信号源的名称。<br>* q8 _9 r1 O5 a$ l0 t3 `' A
DevName:要显示该信号源的多功能显示设备的名称。<br>
2 X1 d" Q5 f+ A- ?执行结果:sSelAudio2MFD_nResult↵<br>
_2 u! e9 ~' }( d+ Q. W; QnResult 可能取值:<br>- P4 W5 b5 Z: |2 ` L! e- t
0:成功;<br>8 I* A1 A* a: N% B
1:串口控制功能被禁止;<br>
7 Y7 E3 Q& _) p; e4 H+ t0 ?# q2:非法的指令名称;<br>, a" z1 @+ j+ u% f! W
3:非法的信号源名称;<br>
: a" J' X& ~8 o0 k4:非法的多功能显示设备名称;<br>! I- o% L5 m* c) a2 p1 F( r: D# O
5:操作失败。<br>
' k+ M% }: u( n" C. s6 g17、 cSendData<br>1 L' N u1 ^6 x' j
功能:发送数据到指定串口<br>2 h2 k. M& I" {, x
格式:cSendData_PortNo_PortSettings_Length↵Data<br>; V+ ?: h+ r% R' s* j. K
参数:<br>$ e+ M' W0 N. {2 O8 ?
PortNo:串口名称,譬如COM1<br>
2 X- q/ j9 M. W5 a6 J% qPortSettings:串口设置,譬如9600,n,8,1<br>
, {8 J7 y; ^& V' | nLength:发送的数据长度<br>
' O' \9 z* r1 W) ZData:发送的数据。<br>6 x5 H1 K6 a7 _
执行结果:cSendData_nResult↵<br>
/ A$ C, _( C7 unResult 可能取值:<br>
& B1 O( o: Y: g, K! f& R% T& E0:成功<br>
" f2 C% M7 c/ n. k8 b; ~2 Y* u2 ~1:串口控制功能被禁止<br>
, y Y4 p1 d8 D, a9 Y4 O2:非法的指令名称<br>
6 Q6 `& q4 R! z( t. Q8 I3:非法的端口名称<br>
7 n% n0 W) t% d8 j, F: K$ L- x6 v9 U4:非法的串口设置<br>
8 I* {( i, l# Q7 B; J5:操作失败。 |
|