|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
0 D( S5 t' N, I& [一、概述<br>
2 d Q8 H) S8 x. D) {0 }为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
: ^, ~3 N7 V" @7 B控制的接口。本文描述该接口的控制协议。<br>
1 Q6 [2 K0 d4 P n8 `9 z) e, MVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>0 n s, |$ y5 |% K- ^9 k
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>1 Y0 a3 V# e; J6 b+ t8 F
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
! X! a( D# e B# d# e; a该协议可根据以后的功能需求进行扩展。<br>
$ n5 Q' m! r6 o& i4 P4 _" L二、指令的命名和格式<br>
5 _$ E F1 {% n* g8 J指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
4 H1 o5 g# g/ a1 S5 C处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>3 f2 ^) }, V! q& E. G( q
其余字母是其功能的英文描述的简写。<br>
' ]8 P/ j" c% @ F0 ~指令及其参数、指令的执行结果均用字符串表示。<br>
4 c: B0 a6 T2 x每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>" C9 S4 G+ S& v+ L* _) Z8 W0 f0 {
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>9 d. X* o' C& O. F$ m! L6 n
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>: P5 a$ \) R! B$ w% F% ]1 ~
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
) E3 r: E$ t/ ^ H指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>3 r4 a z+ E8 @2 j# q' B5 w% F
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
; ]6 c7 w' L9 s- _7 ?8 a0 |三、指令描述<br>
* c, {0 G y7 C* C1、 ePowerOn<br>( G( z. P2 h- O1 t
功能:机芯开机<br>3 j* w- n4 D# \$ J" L9 }
格式:ePowerOn[_WallName][_ProjNo]↵<br>
: Z( p) q& q% @/ N# m7 q# ]参数:<br>4 r* W* Y$ I3 q! c+ V* q
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
- c+ d" ~. |" W也必须省略。<br>
# x- Y) m, C: GProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>, h1 d5 @. L6 O, ?, d5 z
芯。<br>
7 d& c! c. t! o. P执行结果:ePowerOn_nResult↵<br>
8 [8 R8 g6 e+ h2 }' Y( ?nResult 可能取值:<br> s6 V# }' w9 T1 F% O" |$ L) i! X, L
0:成功;<br>
" M9 L+ @* Y9 \/ X2 j- `' `1:串口控制功能被禁止;<br>+ T2 I2 D' E8 s; P m1 ?
2:非法的指令名称;<br>
! y1 b/ e1 N+ G7 q/ l3:非法的拼墙名称;<br>
5 r1 {$ ]8 k8 ?. G$ Z' M4:非法的机芯编号;<br>
% n% _8 K3 Z: Q3 t T% ^5:操作失败。<br>5 S& N! d% L" ?( A
2、 ePowerOff<br>9 V$ j/ \ S, I, Q
功能:机芯关机<br>5 P/ O V0 P% }
格式:ePowerOff[_WallName][_ProjNo]↵<br>
6 {7 k: X7 O7 I% o7 \9 b# T( |' T: r" ?参数:<br>
% i* @% F3 |6 T4 m- W1 o! rWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>( ~( {) g+ p* A7 {* u: R0 e
也必须省略。<br>
" `; G% p. e1 o$ B. A* n& C+ m( [ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br># F1 M+ x V8 ]& v' R+ ]$ h
芯。<br>
8 N2 X1 p1 W2 D) w执行结果:ePowerOff_nResult↵<br>6 ^! L6 M! ]0 w. q' W
nResult 可能取值:<br>
( H: F4 b( J; Q! O( o0:成功;<br>
* d4 z* B* V. e$ Z; H$ z1:串口控制功能被禁止;<br>
; `* i& y, V5 b! X1 n/ d. h2:非法的指令名称;<br>9 E: h, G9 b8 Z p; Y% F
3:非法的拼墙名称;<br>: q* e0 A P8 g! V, t1 h9 _
4:非法的机芯编号;<br>8 t+ C `8 [. B2 T4 ? w4 ^- J) k
5:操作失败。<br>
: ?- A9 v) ]: ]2 }( Q3、 dPowerOn<br>
. \: ^) C1 N$ f9 T! A# r功能:多功能显示设备开机<br>
6 j" U! I1 V- B5 s格式:dPowerOn_DevName↵<br>
" s$ ~3 u; F) @+ }! [参数:<br>- K0 N1 ?, A0 T7 l: w
DevName:要进行该操作的多功能显示设备的名称。<br>! |6 ~* ]) ]: K6 F
执行结果:dPowerOn_nResult↵<br>% Q0 W* _8 \3 V5 Q4 j* l, B6 I
nResult 可能取值:<br>% v, i7 x7 r% U! W
0:成功;<br>
4 [% @0 S5 \ G# @1:串口控制功能被禁止;<br>7 b# |( J9 p( Y( h
2:非法的指令名称;<br>
5 d& ^7 d) [! H9 }9 C+ `' z/ U3 Y4 D3:非法的多功能显示设备名称;<br>! j+ E3 I5 ?3 @' t8 f6 `
4:操作失败。<br>- Q5 N9 ]( B7 m' E2 L1 K5 n
4、 dPowerOff<br>
7 h1 v/ w, A2 J. q+ n2 V功能:多功能显示设备关机<br>8 C l% c6 O* F- e
格式:dPowerOff_DevName↵<br>( w. @1 _ {- r! c) K
参数:<br>
- v3 A5 c1 S D' ^" J) G6 HDevName:要进行该操作的多功能显示设备的名称芯。<br>
2 N5 a5 d6 J' {9 t" X执行结果:dPowerOff_nResult↵<br>, J. e- ^" j5 n& N; [
nResult 可能取值:<br>
$ ]# l8 u7 `0 Y8 h7 [( |- w0:成功;<br>. r) W) h/ ~; G9 s: W
1:串口控制功能被禁止;<br>, R: Z4 K" O- ?! r% |
2:非法的指令名称;<br>
5 P1 m4 W0 W7 o( u' e$ x7 S2 P. T) v& N9 T3:非法的多功能显示设备名称;<br>3 R0 h) K) M5 p8 r$ N! H
4:操作失败。<br>$ C7 j; P2 @$ c5 L
5、 eCloseWin<br>! F3 j+ |, g0 ^* y( t
功能:关闭所有机芯直通窗口<br>
1 U0 o; s% U# u2 {1 R' j- s格式:eCloseWin[_WallName]↵<br>! R% S: t% ~$ O: ~
参数:<br>/ h6 Z8 s- j! y7 g+ Z) R
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>* o+ n% c* l$ l4 E% f2 ` s
执行结果:eCloseWin_nResult↵<br>0 U2 L# s N1 }8 k. v) g
nResult 可能取值:<br>% M, c* R) R; O! z z& c1 Q
0:成功;<br>
: }$ d- `! p; Y# q2 `! K5 K1:串口控制功能被禁止;<br>
. G5 x7 J8 }1 u7 M* @2:非法的指令名称;<br>
5 j5 z$ K9 f2 C$ S, S3:非法的拼墙名称;<br>% w7 u8 C8 U8 y. j! Y
4:操作失败。<br>
* `" o. C5 {+ ]& w; T; G6、 pCloseApp<br>
) o& Q$ i+ s+ t" V功能:关闭所有处理器应用实例<br>8 i6 A0 L: E( r$ {0 E7 g
格式:pCloseApp[_WallName]↵<br>
6 z* D& P* {# M9 B9 X参数:<br>4 u! l: x) p+ A J* Q& ?
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
6 }8 ?" |% m- p- q( a执行结果:pCloseApp_nResult↵<br>" U5 [2 A9 E6 ~: F3 n
nResult 可能取值:<br>
; b# p$ k* W8 H0 ]% K2 c6 g0:成功;<br>
7 K, Y! J: i$ u3 \9 E1 P4 T% b( Q1:串口控制功能被禁止;<br>4 [6 \! {& m: j; R" @1 |+ E* T5 _9 R
2:非法的指令名称;<br>
- K. g6 P9 v7 P! G3:非法的拼墙名称;<br>
4 D% I) \ s ?4:操作失败。<br>' t8 S# a; q4 e- |, c
7、 pCloseWin<br>
7 }" {) ~9 A4 a7 t; e H# v5 l功能:关闭所有处理器窗口<br>5 ~ [# z& b) n, Q* Q
格式:pCloseWin[_WallName]↵<br>
( F* w8 Q( O* X- D4 o' p参数:<br>
, E+ r0 L) o1 X0 O# O4 I1 i: WWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>4 M7 S( y# l* r& R
执行结果:pCloseWin_nResult↵<br> p E/ v. z8 q, _3 X! m
nResult 可能取值:<br>
$ e S/ J% n2 |$ e! p' f; Q% U0:成功;<br>
: a* h( Z9 i( c' O, U5 Z3 r( [! w1:串口控制功能被禁止;<br>
9 k3 `$ [; t( ~; O" j" S2:非法的指令名称;<br>
9 Y) z; l0 l1 k3 h3:非法的拼墙名称;<br> {7 _6 D# j A7 J4 D L' B
4:操作失败。<br>
% J; x4 Y3 Q* ~% w! g8、 mApply<br># h1 `/ V) Y/ }
功能:执行已经定义的模式<br>6 K" l0 ?/ A/ Z3 H* H
格式:mApply_ModeName↵<br>
8 R. D8 [, R/ a# ~$ O参数:<br>. |: s/ B; N4 C; m" t6 N
ModeName:要执行的模式的名称。<br>
# i% [' j y+ Y" S执行结果:mApply_nResult↵<br>/ r8 Y1 U! T* J0 d9 w$ l
nResult 可能取值:<br>. C9 y8 u! m. `5 X
0:成功;<br>
+ n! s- x7 [" v" K6 _1:串口控制功能被禁止;<br>1 F1 W3 O) g, z4 r1 n" j" o
2:非法的指令名称;<br>
' U6 h. ~6 T7 P+ ^3:非法的模式名称;<br>
- W! o% c* E; h6 n* m4:操作失败。<br>
( C# O( U& M1 A2 ~6 w0 W9、 sSelVideo<br> J$ L3 z1 f* _. X- a
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
; d( w& A" X! A格式:sSelVideo_SouName_DevName↵<br>: E9 @' _6 { F; u9 K0 T. O* d
参数:<br>
! n* V; W4 e* L" d& v( t3 F& W1 t1 e$ M1 hSouName:要切换的VIDEO 信号源的名称。<br>
! t3 X3 z0 I$ V! q* j4 o% ODevName:要显示该信号源的监视器的名称。<br> j) ]- d' E5 `4 P9 e
执行结果:sSelVideo_nResult↵<br>) `) j- h' e( A( M2 E* [; D
nResult 可能取值:<br>9 ?* Q6 j8 m8 x* L. x
0:成功;<br>6 v3 |( N7 h5 G) B
1:串口控制功能被禁止;<br>
7 D# q6 a; ^% E# I/ i: I7 }+ V! {1 V5 `2:非法的指令名称;<br>8 s' [/ Y" D8 V3 }; k* G! W9 Y/ F
3:非法的信号源名称;<br>
) t' Y: n) k0 E7 {. l; z z: P4:非法的监视器名称;<br>
$ N. g: Q: c- O( V5:操作失败。<br>
3 i" J0 A- N2 k# a# a7 r10、 sSelCamera<br>/ s& J' k# L# `+ D
功能:将一个摄像头信号源选择切换到一个监视器<br>
* T3 A t( Z& f; b% u" x/ V) W格式:sSelCamera_SouName_DevName↵<br>4 d" G3 v' o$ \
参数:<br>
( A9 ]) _7 L8 D1 X* VSouName:要切换的摄像头信号源的名称。<br>
* l; Q1 p9 U8 g6 l6 I! {( I7 cDevName:要显示该信号源的监视器的名称。<br>& T0 E* i: Z" F( Q! z
执行结果:sSelCamera_nResult↵<br>
& t$ p9 I& C5 B. Q# l; e7 j i2 t* OnResult 可能取值:<br>
$ G% B: z+ z- E8 k& N0:成功;<br>. q3 }5 \5 e( }5 a
1:串口控制功能被禁止;<br>
7 q5 [" O, z* m# n2:非法的指令名称;<br>
( p A4 i4 P `; D. M3:非法的信号源名称;<br>- q" v1 O, m) w! b& q0 g5 n7 O
4:非法的监视器名称;<br>
; b* N" u c& e+ r1 _5:操作失败。<br>
8 V- C$ J" f5 d1 {11、 sSelRGB<br>
4 O: \$ n/ ^8 W+ h( c$ u( ~+ o4 X功能:将一个RGB 信号源选择切换到一个显示器<br>
5 }1 d; S1 j* @; s格式:sSelRGB_SouName_DevName↵<br>
7 j% V) Z- C, P4 |3 t# B5 \参数:<br>
" ^" a! f- t: |/ U/ CSouName:要切换的RGB 信号源的名称。<br>
! f5 _' F& t+ eDevName:要显示该信号源的显示器的名称。<br>
0 q* ~; t* v$ H执行结果:sSelRGB_nResult↵<br>
+ W; Y6 B i7 a. w$ w Y; jnResult 可能取值:<br>
1 o5 {* ]# \0 t7 u, P9 k j0:成功;<br>% W8 p8 P! i3 I
1:串口控制功能被禁止;<br>
2 ^9 M, i6 \3 I: P2:非法的指令名称;<br>
* v% m1 k# {' {' E5 ]- H3:非法的信号源名称;<br>
& g. Z8 [* V6 ~+ Q# h. Y* O+ O4:非法的显示器名称;<br>( `7 {3 a( b2 Z8 z: _
5:操作失败。<br>
. ^5 Z% A7 b- G4 |$ P3 s! y( I12、 sSelAudio<br>1 d. T3 t: T) _- W1 X7 q
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
& @8 @3 H( H. y; z# T) V+ u格式:sSelAudio_SouName_DevName↵<br>
7 `! t/ o# i+ s' K参数:<br># B: V+ H( y x$ v; q: G
SouName:要切换的AUDIO 信号源的名称。<br>4 F$ V! m& ^0 L i$ }! g3 ^
DevName:要显示该信号源的监视器的名称。<br>
, }! G7 F9 S5 x4 V% }% p7 {执行结果:sSelAudio_nResult↵<br>
2 R, }3 s8 |5 Z- ]# i: \nResult 可能取值:<br>
# [, L2 ^% E8 H' a: m& O1 z0:成功;<br>
+ S9 X- t3 @3 q: K" `: c) D1:串口控制功能被禁止;<br>7 Z$ | t) M! P- Q2 s6 l+ V5 }
2:非法的指令名称;<br>
( {/ P8 W# {2 }0 e3:非法的信号源名称;<br>( n; Z( _1 f) L. r7 k( k
4:非法的播放器名称;<br>5 J% P2 ~" V3 C7 M
5:操作失败。<br>
$ J7 g0 X) n4 h5 A% b' Z13、 sSelVideo2MFD<br>4 P, f' \0 Q4 K9 Z
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
3 P* G/ V, W4 T( a, N格式:sSelVideo2MFD_SouName_DevName↵<br>
- b$ X( B# y1 A( Y参数:<br>7 C" l) n5 @- W- }" a+ h
SouName:要切换的VIDEO 信号源的名称。<br>3 j" m7 J: k( J# @, M
DevName:要显示该信号源的多功能显示设备的名称。<br>
8 M2 F/ ^; D, |+ T6 r执行结果:sSelVideo2MFD_nResult↵<br>2 m' J( N( K- W, Q; n! B5 l6 d
nResult 可能取值:<br>
/ K/ l1 d2 { Q( D ^+ _0:成功;<br>+ D2 T* ?9 L8 r' p
1:串口控制功能被禁止;<br>! ~4 s9 Y, ?' t- |
2:非法的指令名称;<br>' V3 @& L7 H$ e b. H
3:非法的信号源名称;<br>0 S; I6 M( Y ?% V4 L
4:非法的多功能显示设备名称;<br>' {5 L1 t+ f( a4 G3 z7 o8 K
5:操作失败。<br>% a( @) a# t9 t+ {5 c
14、 sSelCamera2MFD<br>
& Q6 {; N+ g) b7 u; }6 [功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
: Y3 |9 E% y& L+ D格式:sSelCamera2MFD_SouName_DevName↵<br>
& v) z: K7 ~1 R3 g4 L) X" z, Z参数:<br>
$ h# o/ t# B% c7 ]! e [' _SouName:要切换的摄像头信号源的名称。<br>
6 `( P3 `$ K& F* T5 ^6 J' kDevName:要显示该信号源的多功能显示设备的名称。<br>
; s4 A: E( N* @& Z! T- p执行结果:sSelCamera2MFD_nResult↵<br># ~) C4 G9 i _2 d& S/ A
nResult 可能取值:<br>
3 b% M1 s) N6 x3 j; o; T% p- @) U0:成功;<br>
0 D: P3 u6 {, ?5 c! T+ n1:串口控制功能被禁止;<br>
# P* c, z6 `) ^2:非法的指令名称;<br>
5 W; b3 d# i1 Q6 S. {4 ^+ q, z3:非法的信号源名称;<br>, P, s f, K& \2 z! f0 }7 N
4:非法的多功能显示设备名称;<br>+ {: m, W0 G6 b6 N! |+ Z8 p
5:操作失败。<br>
+ `( f0 y! q/ m9 [) J15、 sSelRGB2MFD<br>! i' X3 M3 i% \: Q$ R! W' {* O$ Q
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
# y: c/ H6 h3 I4 T6 I% n+ l格式:sSelRGB2MFD_SouName_DevName↵<br>/ ~/ i2 S+ \; Z+ d V8 M! f7 b" E- r
参数:<br>
! O& A& ^+ H: r1 \( o3 J7 {' mSouName:要切换的RGB 信号源的名称。<br># K$ g, [- s* J7 Z
DevName:要显示该信号源的多功能显示设备的名称。<br>3 L* G+ w- o- E2 p. D7 P
执行结果:sSelRGB2MFD_nResult↵<br>
) _) K4 \/ Z. jnResult 可能取值:<br>0 }9 {- n, D* g1 v2 s0 w
0:成功;<br>8 m, B# W$ S" J2 u! C
1:串口控制功能被禁止;<br>
1 r* @1 ^. w: t( L9 h2:非法的指令名称;<br>
, W. L0 {, s9 X) X% Y3:非法的信号源名称;<br>/ Q$ p! V$ b7 q6 e8 _
4:非法的多功能显示设备名称;<br>( k+ h% V) _3 f" ~
5:操作失败。<br>! o* q. b. C( N& F
16、 sSelAudio2MFD<br>
$ ]( Z+ c/ N$ L# N4 ~/ t, y功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>" a! T" x5 \: H6 O b, X) J0 G# `
格式:sSelAudio2MFD_SouName_DevName↵<br>
0 r! {5 _( a* t参数:<br>- C! ]( Y' g, ]& n
SouName:要切换的AUDIO 信号源的名称。<br>' @( ?! ~) |3 S, J+ _& y( `* |& p
DevName:要显示该信号源的多功能显示设备的名称。<br>6 \6 i, d- X# ^. w- T
执行结果:sSelAudio2MFD_nResult↵<br>+ |! |5 n5 |; A" k% W
nResult 可能取值:<br>3 j" a# f0 Z, N$ G4 y6 h
0:成功;<br>) k% R* B. ]# j% W0 l( b# d
1:串口控制功能被禁止;<br>
. l& h' F( @' w& p% ?2:非法的指令名称;<br>
- [, q: K) Y) C7 t* m/ j4 z) i3:非法的信号源名称;<br>3 h: C, N) B6 g' Q% h
4:非法的多功能显示设备名称;<br>8 `- R3 n* H/ ?9 D# F# g5 m6 |
5:操作失败。<br># ~. x H% G% X# W
17、 cSendData<br>
3 k. F \( D5 @+ `8 f0 Y功能:发送数据到指定串口<br>4 F( Y7 j( z5 d8 \: X/ N- G; j
格式:cSendData_PortNo_PortSettings_Length↵Data<br>1 k' I' T: e R8 a7 y% R& g
参数:<br>) r6 t/ D# L ]# X; H6 {
PortNo:串口名称,譬如COM1<br>
$ m4 h6 l* H3 D) o7 C$ tPortSettings:串口设置,譬如9600,n,8,1<br>
G! a+ _2 Z9 b3 G3 l& K4 eLength:发送的数据长度<br>. V: {% O% O& j% f2 O
Data:发送的数据。<br>" [9 ~, g7 l' h. w
执行结果:cSendData_nResult↵<br>
; l' _1 c ?0 PnResult 可能取值:<br>
" u) J! s5 O! L* e: s0:成功<br>
* ~' c# a3 M: i0 ]: ^# M8 w$ d, `1:串口控制功能被禁止<br>
1 y3 I+ A4 i' K X2:非法的指令名称<br>9 p( p) s+ C+ S: U! E
3:非法的端口名称<br>+ I) a% B3 ~ m
4:非法的串口设置<br>
8 P; w# J) G- b5 E5:操作失败。 |
|