|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
. \3 j+ o7 V* a" e9 F8 j一、概述<br>- M8 G8 C; M6 z8 t, N$ [) J
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>! b1 v" C Y6 b% ]: R
控制的接口。本文描述该接口的控制协议。<br>& V; ^! A& G+ V2 o; p: s
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>3 I5 s$ C; ?& E$ L4 N9 r, ~
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
6 H* ^ [0 t' {$ O2 A4 @8 D/ {& W* H机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
; T, `" B X) @% O! u5 I该协议可根据以后的功能需求进行扩展。<br>
H5 u0 {! Q4 c% p, u二、指令的命名和格式<br>4 |/ x6 X Y; e( E; K
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>3 \, l! s' X/ L: N4 s0 K6 R
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>! V/ \0 R, ~4 K. Y8 ?. X, n( y$ n
其余字母是其功能的英文描述的简写。<br>
. ~5 t" K/ k& J1 Q6 w指令及其参数、指令的执行结果均用字符串表示。<br>: k5 P0 i! j' E$ I+ T: v, A, z6 a
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>3 A: h. @/ O: J/ N
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>, G2 I: Q* k9 _
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
9 {' A |! {. U" w' ^! O+ c8 V指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
; b1 ~! o$ |2 m, K指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
" ~: m, X: C1 Q9 |; _, R1 K执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
' d6 Q$ E" o- v) @& `9 v三、指令描述<br>6 z0 @: p# ^$ {( h
1、 ePowerOn<br>- T: ?6 I" b" o$ ]3 d! `7 V
功能:机芯开机<br>7 y# B" ?. t1 g5 ?+ h" G
格式:ePowerOn[_WallName][_ProjNo]↵<br>1 p7 C$ g$ O% D( M( ^
参数:<br>
4 U+ O2 e* }- R* e4 o5 B( ^! o/ EWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
7 P( V5 h- N B; R也必须省略。<br>
3 J2 W8 M' C, m. d9 G+ a& K7 r4 ]ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
' I' z e @) r2 [芯。<br>5 Y& H& P4 c7 S" A+ W
执行结果:ePowerOn_nResult↵<br>
! Y8 \5 G$ i9 y- n% B/ u4 S _, LnResult 可能取值:<br>
/ ~. a% e1 U; v" X; j, a* `* e" T0:成功;<br>, ~( H0 f4 x2 t" ^: K l
1:串口控制功能被禁止;<br>
1 b% p" u- p* E$ l1 o5 B+ g2:非法的指令名称;<br>
# H+ V3 \) N( ~; R3:非法的拼墙名称;<br>7 L9 d( J) D) j+ ?8 b
4:非法的机芯编号;<br>
1 |" S3 Y5 a% w5:操作失败。<br>" U! N3 p0 Z% ]
2、 ePowerOff<br>2 Q- o+ U4 s( ?+ `$ E$ h
功能:机芯关机<br>
' B7 S) [( G- T格式:ePowerOff[_WallName][_ProjNo]↵<br>' P( A% c2 F- @/ J+ j" E
参数:<br>9 Z, M1 e5 X0 t2 b N
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
' R. A8 x/ N. t$ v也必须省略。<br>; g, \4 D0 Q+ q& [
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>% o" e$ z2 Y4 p6 w0 u( P
芯。<br>
8 ]- U; P) v t! w/ p执行结果:ePowerOff_nResult↵<br>4 C4 @; k7 o3 m8 N1 D w
nResult 可能取值:<br>+ M2 L# j1 e3 g0 d
0:成功;<br>; H" R. ^1 Z7 u) J& i& t
1:串口控制功能被禁止;<br>
3 j3 x8 W0 s, L5 V/ R: _: u; l2:非法的指令名称;<br> K7 p" c& ?, P, j5 r
3:非法的拼墙名称;<br>1 H9 k( {" x; w% ]( U8 g
4:非法的机芯编号;<br>0 E3 j# w( x i6 f( l
5:操作失败。<br>
5 r; T& j- t( c# c( ] @7 s3、 dPowerOn<br>
, o' u/ ^3 g- m功能:多功能显示设备开机<br>
8 `& ~- e2 E! [. `2 E% t格式:dPowerOn_DevName↵<br>! D# }) R: ?2 v5 r
参数:<br>
, p) q* y; n6 x, U" a+ pDevName:要进行该操作的多功能显示设备的名称。<br>2 L( i* X# B4 I) q
执行结果:dPowerOn_nResult↵<br>& l+ G2 }& a6 A2 e& K7 z! y7 _2 {
nResult 可能取值:<br>
g. q* Q, u) y) P0:成功;<br>3 H1 x, t# D- m! X* p- i6 M' N; |. s
1:串口控制功能被禁止;<br>
- p# c1 H6 e' b6 |2:非法的指令名称;<br>, [2 l+ `) B. I3 g& V2 M$ x
3:非法的多功能显示设备名称;<br>
3 q; C( G, R2 _& o. I4:操作失败。<br>
; b u+ G: i$ l) E C" C7 w& V- H* y1 |4、 dPowerOff<br>
7 h" U+ P7 y- P# r- } K功能:多功能显示设备关机<br>
- K# G0 ^/ f6 q5 t格式:dPowerOff_DevName↵<br>
- k' l6 U+ S5 I( L7 \* r% y4 P参数:<br>
# X$ S! b% X) B+ U% p# QDevName:要进行该操作的多功能显示设备的名称芯。<br>
' \1 v" H4 P* h, G* I% r5 G7 |执行结果:dPowerOff_nResult↵<br>
: X; `: I% y( W) d4 V# {9 X: \nResult 可能取值:<br>
5 ^8 R& G6 U$ H/ R+ v; ^0:成功;<br>, I5 A4 J! H, A
1:串口控制功能被禁止;<br>
- [0 s* E3 r! n7 V5 S$ ]9 I2:非法的指令名称;<br>" ]7 y; C, Z% ]& `
3:非法的多功能显示设备名称;<br>
" M( q1 a* e* I4:操作失败。<br>, h2 [2 G8 I- M& X4 }
5、 eCloseWin<br>
1 R+ [# Z) F/ S5 [8 ~# H功能:关闭所有机芯直通窗口<br>
; Y& H# [0 Z/ Q8 C, d格式:eCloseWin[_WallName]↵<br>8 X. b$ x! k8 y2 w% B2 a
参数:<br>, {8 ]$ S8 S$ B* g1 d3 \) d0 T9 {
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>, U7 `' U! R0 f- L" R. d6 N6 g; W. O
执行结果:eCloseWin_nResult↵<br>
# D% }/ N$ f- A2 QnResult 可能取值:<br>3 A% ?- w1 P: z* x
0:成功;<br>
' [ P1 U. P A1 Q5 q' C2 r M8 L1:串口控制功能被禁止;<br>) R/ l- Z b2 U2 p6 w" F8 t
2:非法的指令名称;<br>
: R/ d: W2 F4 i' B3:非法的拼墙名称;<br># S1 \; q( S8 C+ f8 T& S
4:操作失败。<br>$ k& n5 [. \$ Q% X
6、 pCloseApp<br>
& ~6 o9 D* g. r6 [) V5 S. ?4 o8 X功能:关闭所有处理器应用实例<br>
1 f( V0 P9 [8 X( _4 _3 \* r) I' H格式:pCloseApp[_WallName]↵<br>
$ a" \7 ?# X$ }! x& W4 Y9 W参数:<br>
& O( F$ H" [" u, n8 H$ }WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
8 D2 y) z$ ^+ ?5 }: H: Q4 K执行结果:pCloseApp_nResult↵<br>
( ~) J5 M* s) B+ S& u' XnResult 可能取值:<br>
( s8 t4 i1 ^9 Y8 Q0:成功;<br>
8 k& E. {' j$ [6 r- b! i% h/ b* I1:串口控制功能被禁止;<br>
& W/ h Z1 w4 u& G8 G6 }# o2:非法的指令名称;<br>: [, c) g& U0 i
3:非法的拼墙名称;<br># c9 `0 \( b! z0 r
4:操作失败。<br>
5 v7 D5 \' ^) B7 S7、 pCloseWin<br>- ^2 ]4 ]6 [( i# y( M
功能:关闭所有处理器窗口<br>
& L8 k( i3 W) n# y2 t7 ~" L格式:pCloseWin[_WallName]↵<br>/ K% z! E( @' x0 D
参数:<br>- l4 p3 ^9 C4 `' a0 ?! K
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
: u* Q! N, `) ~- q执行结果:pCloseWin_nResult↵<br>
" k, r: N, C0 a5 }8 M' d% Y# gnResult 可能取值:<br>/ }& u5 e9 u I4 ?) o! u
0:成功;<br>8 h- A+ E2 e8 r
1:串口控制功能被禁止;<br>
" _5 ?6 A1 M1 ]! N* I g& S2:非法的指令名称;<br>
! Z; I/ t. ?, o- t: t/ j* S3:非法的拼墙名称;<br>/ f1 `* k8 K5 p3 P; p) N
4:操作失败。<br>
' b- r) P2 i3 f' }9 c4 D2 r( _8、 mApply<br>" x, \6 M5 ?$ @' J- s1 A7 Z
功能:执行已经定义的模式<br>* {% D1 z( O+ m3 B! }/ H
格式:mApply_ModeName↵<br>
x( [3 k" Z$ D- Y参数:<br>+ B. B2 H; P9 M/ r" A" w
ModeName:要执行的模式的名称。<br>
+ B# K6 u/ U3 K$ Y% ^, ^6 O4 D* T执行结果:mApply_nResult↵<br> O( r: m* U8 u9 M' e, h2 F
nResult 可能取值:<br>; _: D( U7 ~" l
0:成功;<br>0 w6 T, v P, c( T
1:串口控制功能被禁止;<br>
+ m4 n4 H3 T6 K' Q2:非法的指令名称;<br> K5 P* c8 ^2 y+ g
3:非法的模式名称;<br>0 @. J$ O7 \6 F+ |5 w4 c) t
4:操作失败。<br>3 o, x& i. M' V5 J
9、 sSelVideo<br>/ t7 g7 Y3 z3 x8 \$ L3 M. }
功能:将一个VIDEO 信号源选择切换到一个监视器<br> Y. d$ V8 Y% a' L* n
格式:sSelVideo_SouName_DevName↵<br># _9 { v" x+ `! \
参数:<br>
5 b, S: a7 D t& E. k" o/ qSouName:要切换的VIDEO 信号源的名称。<br>
, U. [- ~+ n" S! {! Z/ K1 T9 T8 Q0 ZDevName:要显示该信号源的监视器的名称。<br>
! @# d1 E+ U# V( e* P& r执行结果:sSelVideo_nResult↵<br>& a& ~4 p/ K& `! _
nResult 可能取值:<br>
. q% T4 n) t5 A- ^2 @1 ~* F w0:成功;<br>
4 `8 q$ h7 [) v6 t- {( u) N1:串口控制功能被禁止;<br>6 s4 c, T3 D# H V* u7 d4 n6 k
2:非法的指令名称;<br>
9 ~- x7 O( i7 I! Z3:非法的信号源名称;<br>7 d, _/ Z% Y( T) Z& \
4:非法的监视器名称;<br>
. D5 }- r. B9 E% G. d5:操作失败。<br>
2 t* N7 x$ L" h+ |5 K( J8 Z5 _10、 sSelCamera<br>: n: q5 }! o5 z
功能:将一个摄像头信号源选择切换到一个监视器<br>: ?! C9 b2 A0 g1 V
格式:sSelCamera_SouName_DevName↵<br>
% u( M9 g2 c; K# V6 w( L参数:<br>5 ?+ s6 W5 o9 k, H2 o' F2 r% f
SouName:要切换的摄像头信号源的名称。<br>
8 w7 \* M( U6 x/ uDevName:要显示该信号源的监视器的名称。<br>
) F% T$ S# V- [ X执行结果:sSelCamera_nResult↵<br>" d( w5 B5 c- v, z' D
nResult 可能取值:<br>$ r7 M" Q- T# {: w3 D/ G8 V
0:成功;<br>
9 {+ f' Y' A' ]% C. L' Z' g9 b: z1:串口控制功能被禁止;<br>6 p" P( {# Z/ ^. j0 y% Y. x- q1 ?/ y
2:非法的指令名称;<br>. ?; q* P( g! g0 I W
3:非法的信号源名称;<br>/ `" f. I: I3 Z9 g( b( D2 o# [
4:非法的监视器名称;<br>
& ?: j* R6 j! s8 M% y5:操作失败。<br>. F* Q" M& d8 K2 c+ B) F N" n
11、 sSelRGB<br>% t- g( y0 \1 }0 i" I* Y! p# N
功能:将一个RGB 信号源选择切换到一个显示器<br>9 ^3 H% U% ]6 |% x$ a. v' X
格式:sSelRGB_SouName_DevName↵<br>
' z* _- f1 I6 |* H. ~# w参数:<br>8 g$ e( T& i6 w% p* d: w7 `. V
SouName:要切换的RGB 信号源的名称。<br>
( K" P; S/ y3 F3 dDevName:要显示该信号源的显示器的名称。<br>
$ u( x* Q/ }5 D- P B5 ]8 ]执行结果:sSelRGB_nResult↵<br>0 F1 w9 ~) m% r/ N" f
nResult 可能取值:<br>' W, Y! H! }( m+ D8 n p; u# m
0:成功;<br>
" k3 P: v) [- A. U0 C3 \1:串口控制功能被禁止;<br>
1 t' p) J/ }5 k8 M2:非法的指令名称;<br>- a& a! r5 k/ Q/ L) _: E( b( q
3:非法的信号源名称;<br>5 k, w/ G7 o) y1 y% ~
4:非法的显示器名称;<br>0 |$ F5 H1 l5 D0 M2 T' @% ^$ p
5:操作失败。<br>4 }. n, H0 i6 m% R5 q
12、 sSelAudio<br>
: T w' p% \" T% [7 H. h功能:将一个AUDIO 信号源选择切换到一个播放器<br>% x* N. t- r; P" e5 J
格式:sSelAudio_SouName_DevName↵<br>
% S' [2 b9 W+ x) E' G# w b参数:<br>; q) }4 w3 r8 i: k) B3 j
SouName:要切换的AUDIO 信号源的名称。<br>
' b6 t% b3 G \/ c9 HDevName:要显示该信号源的监视器的名称。<br>
5 |3 `4 y f! K- v. Y+ M执行结果:sSelAudio_nResult↵<br>
) `+ D3 L( q8 J1 W6 XnResult 可能取值:<br>
/ @+ `5 C" w, s% \8 L; J1 O/ M0:成功;<br>
: P% Z. }9 M# T* i& x; E1:串口控制功能被禁止;<br>- f7 D6 H! p0 I% S3 g* L2 X
2:非法的指令名称;<br>
# L- ^& I! o8 e. n `5 L6 C/ m3:非法的信号源名称;<br>' R; p$ I! _4 }) A
4:非法的播放器名称;<br>
$ F p8 k; M4 ^# Z8 n7 D! [5:操作失败。<br>9 b6 d: G6 W& I2 ~: @8 F/ s. I
13、 sSelVideo2MFD<br>* \6 w {; S) W/ a: [$ Z& `
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
3 g! M' |% F* ~; _5 I g/ S. M格式:sSelVideo2MFD_SouName_DevName↵<br>' N1 f P! B& c2 ?2 a* T& C. a' n
参数:<br>
2 l8 o7 V# [8 B0 b' U' B' MSouName:要切换的VIDEO 信号源的名称。<br>1 a o6 m/ i9 R* X+ j6 _. `# t
DevName:要显示该信号源的多功能显示设备的名称。<br>
/ z5 [$ q2 l( y' T5 v执行结果:sSelVideo2MFD_nResult↵<br>/ O* B3 G; x/ e8 F6 C
nResult 可能取值:<br>
L# r; ]& K( k0:成功;<br>
. U# u' s, [( v; J) O/ Y7 u1:串口控制功能被禁止;<br>
2 L2 @7 V+ S& s# M" x# B/ L2:非法的指令名称;<br>; T/ Q# [! n( P8 Y' I# I) ^9 t5 y
3:非法的信号源名称;<br>
, S8 A; _8 c- g1 T4:非法的多功能显示设备名称;<br>
4 m& a, O3 k4 m5:操作失败。<br>
2 r5 d4 L. h. l+ L5 g6 H14、 sSelCamera2MFD<br>* n, @5 u/ V$ B) c1 f& g
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>: |6 w l1 C Z- i3 t) ]5 c: s
格式:sSelCamera2MFD_SouName_DevName↵<br>
, O, B6 G9 a; O* ?2 V3 H6 _) R5 \7 K* e参数:<br>
7 w/ l* H; e4 Z! E) Q! kSouName:要切换的摄像头信号源的名称。<br>: T' p0 f! u' u/ ~- _( a' O2 o
DevName:要显示该信号源的多功能显示设备的名称。<br>
9 _, ~5 @6 I5 r4 P执行结果:sSelCamera2MFD_nResult↵<br>: q, g& D' |2 K0 n% D3 O5 {
nResult 可能取值:<br>9 V7 f2 }/ z3 K' ]9 }
0:成功;<br>
1 }" ^ D" x' y9 |2 G1:串口控制功能被禁止;<br>
- G& s3 {5 b. A4 U% U2:非法的指令名称;<br>
. U; P5 n8 o9 } \* d" L3:非法的信号源名称;<br>
, S- Q, {% F D$ ?( k4:非法的多功能显示设备名称;<br>
. F, M5 o1 j5 C. w- L& n/ v9 J5:操作失败。<br>
; o' S- f" w: E3 r8 s15、 sSelRGB2MFD<br>- E& F6 t& K# ]+ M
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
! \3 d: x/ }3 H1 U/ H* j, ~8 T3 ^格式:sSelRGB2MFD_SouName_DevName↵<br>
; ]# A) ]5 y5 w$ o) j& G参数:<br>) ?8 f8 c# ~. r2 G
SouName:要切换的RGB 信号源的名称。<br>
6 g) {& T0 j/ GDevName:要显示该信号源的多功能显示设备的名称。<br>
# R+ e1 c. s- g# ^; H$ H) j2 F执行结果:sSelRGB2MFD_nResult↵<br>/ B" N( k) h# V& H
nResult 可能取值:<br>" D* `8 v; Q5 P: v/ x+ B
0:成功;<br>
9 p( k( G b, u1:串口控制功能被禁止;<br>: Z4 C" F a5 s/ l+ q: z+ y" s
2:非法的指令名称;<br>6 N) D e) m' M% i2 l
3:非法的信号源名称;<br>
, P& @0 G3 Y& l) {4:非法的多功能显示设备名称;<br>
! a6 l' I8 d. y1 Z8 x) a4 K2 h5:操作失败。<br>
/ L9 q' g! o3 F5 d. A16、 sSelAudio2MFD<br>
% z$ U# ~+ }% k" c4 x+ T' H功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>" k4 R1 ?: z5 ~( j4 D6 _2 d
格式:sSelAudio2MFD_SouName_DevName↵<br>* \6 K* L% v+ l
参数:<br>
; p1 }4 T2 y1 M9 J* ~% ^SouName:要切换的AUDIO 信号源的名称。<br>$ L) \! E2 ?6 Z
DevName:要显示该信号源的多功能显示设备的名称。<br>
; x( P9 B) O, N. J! S执行结果:sSelAudio2MFD_nResult↵<br>0 e; u- T J3 U$ v/ l
nResult 可能取值:<br> h9 M* `. i& g
0:成功;<br>
& t/ ]; |& }3 o& C2 @& T1:串口控制功能被禁止;<br>3 b: f) d1 T* {) J8 ^' u/ [
2:非法的指令名称;<br>. R3 G$ ^6 j' G; A- i
3:非法的信号源名称;<br>6 U# a5 L* l4 ~# {/ `
4:非法的多功能显示设备名称;<br>, t6 u I* i% G1 f) R6 O$ _
5:操作失败。<br> R9 s, h8 a7 W" E! j
17、 cSendData<br>
0 |6 z( r d: |1 }/ N* ], B功能:发送数据到指定串口<br>% Z+ x) T5 v3 S* s+ r
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
/ J6 w# L. |! n; q/ ?参数:<br>
% q# ~- V9 D# L: v6 zPortNo:串口名称,譬如COM1<br>1 Y5 V: z% L1 s4 _$ _3 i& ]2 o
PortSettings:串口设置,譬如9600,n,8,1<br>: Z3 Q0 `1 _% ~
Length:发送的数据长度<br>8 H9 l' C* l6 L, s
Data:发送的数据。<br>
* v. s1 L0 W& ?执行结果:cSendData_nResult↵<br>! D0 V2 ]7 E7 X2 K5 _1 ]
nResult 可能取值:<br>
" ]& k1 @2 `; e$ m3 J0:成功<br>
/ O9 r& Z. T+ f3 H8 P ]1:串口控制功能被禁止<br>
! f" Q8 q7 ~5 Z2:非法的指令名称<br>
8 ?0 }% `# P* P. d/ k! g3:非法的端口名称<br>
* e0 c. [. e$ N) y$ y8 O4:非法的串口设置<br>
4 D$ D' N @5 N' b! p: }/ I2 O5:操作失败。 |
|