|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>( [2 {7 x% |! z% Z# s2 ?
一、概述<br>3 N3 f/ O( @. X' {* a- ~
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>) K; E( t$ j8 R$ w- J
控制的接口。本文描述该接口的控制协议。<br>& Q; Q& W6 s" z( ]* j: c/ I# _
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
8 {: ~1 I, q8 O$ V; |! O0 @0 E. _$ W过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>8 W$ u2 L9 _% b. D; s
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>& N! u. V- g; s Y0 W9 C
该协议可根据以后的功能需求进行扩展。<br># x' l1 o4 n' p- d( F. N- n/ x
二、指令的命名和格式<br>
( s0 D, j C( {2 a1 T指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>5 ~. Q+ T& [# _9 ?4 d$ X$ g2 g' P! T/ u: _
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
4 h" i/ C; f/ [' r: _其余字母是其功能的英文描述的简写。<br>
; w0 D5 E' c! L% p7 Q指令及其参数、指令的执行结果均用字符串表示。<br>
5 M- V8 I0 Q$ e* F/ h" B" Y每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>! \; I- z1 W1 s; @* b: `
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
$ w0 j2 Y4 ]- k+ y' f* w+ o0 r( p指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>! B% X, p2 _0 ~8 \3 R7 ^; m5 Z
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>* c- G c" n. @2 H1 B2 z
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
3 u g$ q0 s7 ~& g2 v执行结果代码为0 表示成功,其他值的含义与指令相关。<br>, P) R5 P; k% L& e7 _# ]- }
三、指令描述<br>
' i5 n1 y, ^; D1、 ePowerOn<br>
9 u* O4 N+ _5 r. {9 K- i功能:机芯开机<br>
2 O+ R" m) ?* x- F% s; ]格式:ePowerOn[_WallName][_ProjNo]↵<br>
( r! M5 W, O( L5 T, e# |2 {参数:<br>
/ H/ g2 g4 W9 L; }- g* \WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>; G- |$ u1 c9 v8 {' J: f
也必须省略。<br>1 z7 M7 E Z D7 o, c
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
2 a {9 ?+ [. o( B5 W* w芯。<br>
5 O" ?) w9 }) S# v* \执行结果:ePowerOn_nResult↵<br>
9 F9 g( k a: VnResult 可能取值:<br>
& ?3 v/ Z [+ G1 x0:成功;<br>6 ]4 o2 c% v3 N- H2 b6 B/ W0 ^. y* ~
1:串口控制功能被禁止;<br>3 S4 o3 v+ l/ L, s
2:非法的指令名称;<br>- J" d6 v; x+ F, p0 W$ \4 E4 ]0 p
3:非法的拼墙名称;<br>
, t/ \+ S* {% N( S3 ~2 q d2 T4:非法的机芯编号;<br>
( Y/ F- L3 j w; H$ I3 r2 F. f2 ]5:操作失败。<br>; b4 s4 k+ C- O- M, ?
2、 ePowerOff<br>
0 {' I; X/ `# c8 ]) y! I+ o功能:机芯关机<br>' L$ I) b# H. ?' }7 Y' G" L/ v- }
格式:ePowerOff[_WallName][_ProjNo]↵<br>) \$ p9 S: f# h t
参数:<br>4 K7 K ?; e. s
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
% i. j5 C2 R/ U: A, a/ z) v6 @; ^也必须省略。<br>
; z* w* I5 K! |' \0 n8 z, c' OProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
2 u. F2 ^% ?+ I0 V芯。<br>& E" O, O/ t- R4 \
执行结果:ePowerOff_nResult↵<br>
. e6 e2 `1 V/ u% I, jnResult 可能取值:<br>, \, ~! O# Y8 p* a- U7 ~/ H
0:成功;<br>
) {% ?3 x* s; h2 ^4 c1:串口控制功能被禁止;<br>
( Y) o* ^; h& S. Y$ q1 e; o5 X2:非法的指令名称;<br>1 J& M' S$ u, l* c# ]
3:非法的拼墙名称;<br>. h/ {$ @' N) Z* t
4:非法的机芯编号;<br>
0 c" E4 q N# U5 b' B5:操作失败。<br>& d) @) G6 K- c( i+ P' |7 Z! Y% _
3、 dPowerOn<br>% }+ n4 K3 A$ _- m
功能:多功能显示设备开机<br>
3 @; l* ?6 z% ~! S8 w格式:dPowerOn_DevName↵<br>( b* Q0 M) b. P- P3 H. p
参数:<br>0 V! ` \4 e4 @* Q; _0 v$ k) i' X. n
DevName:要进行该操作的多功能显示设备的名称。<br>
! j3 ^9 H; `( \3 X) w$ C执行结果:dPowerOn_nResult↵<br>/ o2 L: U: y% Z$ T# W0 b
nResult 可能取值:<br>4 D0 I. n- X- i( x9 b
0:成功;<br>
6 ?# H* T3 T$ J* V. L1 [- w1:串口控制功能被禁止;<br>$ [+ ^ {! w+ h; S9 [
2:非法的指令名称;<br>7 H7 s, J, b9 l. c4 P
3:非法的多功能显示设备名称;<br>" _- [5 F# o* _$ m
4:操作失败。<br>
& d+ m+ A/ f$ l, }4、 dPowerOff<br>
' U* F. z; r/ d' S/ @% p功能:多功能显示设备关机<br>
& z% g7 Z. |, N$ {! [格式:dPowerOff_DevName↵<br>( |1 Y- s& M/ c' I2 y
参数:<br>0 S. h7 c2 F5 e5 g+ p7 E2 b2 Q
DevName:要进行该操作的多功能显示设备的名称芯。<br>2 C: L( D! H, ^5 N! a/ l
执行结果:dPowerOff_nResult↵<br>* q& S- X" s+ l6 _7 o
nResult 可能取值:<br>( y( j1 Q5 N1 N s; ?. ^- S
0:成功;<br>
: z! J% b R/ _9 d1:串口控制功能被禁止;<br>* i( F- e; `& z1 ?* m
2:非法的指令名称;<br>' [4 X6 |" H* ]" j& z5 H
3:非法的多功能显示设备名称;<br>
6 K4 Q# _- R P' _9 k4:操作失败。<br>3 V1 f2 W4 m5 l& L- c' O. Z
5、 eCloseWin<br>) A( l; }- ^8 ~3 g9 L- ]
功能:关闭所有机芯直通窗口<br>/ p* l1 ]7 ^6 A
格式:eCloseWin[_WallName]↵<br>
/ v) h$ S" a) h( t- G. Y参数:<br>
1 P/ X6 ^4 F! c2 zWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
; l1 O5 J4 E+ m) U+ z执行结果:eCloseWin_nResult↵<br>" \+ J, ~1 l* ~& f! u7 ^
nResult 可能取值:<br>
* ~& @4 U3 h3 j0:成功;<br>$ n' T) X- R7 x, v; T
1:串口控制功能被禁止;<br>
5 |% V# S- U8 b' b0 g& r2:非法的指令名称;<br>
/ V7 r, H" K" o* G8 a1 @3:非法的拼墙名称;<br>; Z7 g& u5 i" u1 A
4:操作失败。<br>
; e# b6 ~; N( l. n1 e6、 pCloseApp<br>
' e+ o$ [- S0 o5 P1 m' K功能:关闭所有处理器应用实例<br>1 n l9 ~% v* `2 H
格式:pCloseApp[_WallName]↵<br> a% |0 J) N5 Z9 E; P2 O6 h
参数:<br>; {( }" E+ b/ s$ Z5 ]
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
% e$ t8 |: G: a执行结果:pCloseApp_nResult↵<br>, f: m1 u$ R) ]* k2 E8 c3 i d
nResult 可能取值:<br>1 r4 f, C8 {4 b1 N" e% I; a, ^
0:成功;<br># [3 U, ~3 L8 S9 Q- o& {" b
1:串口控制功能被禁止;<br>% R0 E4 @' U3 P4 I; {) }/ R
2:非法的指令名称;<br>
. }& D% r. @8 U0 d& w3:非法的拼墙名称;<br>0 z2 }7 U, u& l# q {
4:操作失败。<br>
0 L( c7 S7 j, i2 f7、 pCloseWin<br> x7 a' b2 E2 u0 N# s
功能:关闭所有处理器窗口<br>
* i# b; o& U9 m# A/ |格式:pCloseWin[_WallName]↵<br>
% w0 v7 J# y6 I. s参数:<br>( h. w: c7 f' p0 `- k
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>) p H" y" q* q5 u' X6 o& W
执行结果:pCloseWin_nResult↵<br>" a9 r g* H! U+ V
nResult 可能取值:<br>
; x* Y4 t( W* r; }5 e3 `0:成功;<br>; y: e# h% U" a# k( O! ^: Z
1:串口控制功能被禁止;<br>% N5 N) a9 J! W4 m& Y% R
2:非法的指令名称;<br>, N; V1 P/ L3 ~: S! [. _8 [
3:非法的拼墙名称;<br>
. [6 D# ]( }9 F6 r7 t4:操作失败。<br>
6 L- M8 ^, A8 H) P0 G+ k! B8、 mApply<br>% w% G9 b' @, @% M, C( G
功能:执行已经定义的模式<br>( J0 g2 B, m9 q, Q. |
格式:mApply_ModeName↵<br>, T6 H7 j; {9 N) C( ~) I
参数:<br>
6 F5 Q I* b& ?9 S5 o$ uModeName:要执行的模式的名称。<br>% U: R$ D' ] ?
执行结果:mApply_nResult↵<br>/ d- ?4 F2 w8 s6 Y y
nResult 可能取值:<br>) x" y! _1 B. c3 E1 `4 o$ M
0:成功;<br>" t" A: [4 {0 P) i
1:串口控制功能被禁止;<br>6 D7 \+ ?1 S# n9 A, B! P) X
2:非法的指令名称;<br>
9 U! g* F/ \2 b) K3 j( T3:非法的模式名称;<br>
0 O4 K- r* x7 a& N' S! B6 {4:操作失败。<br>
; F6 p& K8 o' H9、 sSelVideo<br>
$ n' E) M& Q& l% l/ a: c# S功能:将一个VIDEO 信号源选择切换到一个监视器<br>
( \) D7 F& [4 W1 b' l0 u$ p, ], s格式:sSelVideo_SouName_DevName↵<br>
0 w' m! D% L: ?! b参数:<br>
$ y! C9 u+ }3 mSouName:要切换的VIDEO 信号源的名称。<br>
0 B0 V6 q3 R" u& u9 ]: M* H! zDevName:要显示该信号源的监视器的名称。<br>; M5 p1 |: i5 R* l9 m
执行结果:sSelVideo_nResult↵<br>& E$ m* t z9 P5 c( ~% w0 p
nResult 可能取值:<br>
1 A% m) n$ q. ?2 B0:成功;<br> `* T3 Z1 B" \: m% I
1:串口控制功能被禁止;<br>7 c+ K+ S# |, P+ t$ h
2:非法的指令名称;<br>
' Z1 _. p' F* m1 ~$ H4 q& ?' f- {3:非法的信号源名称;<br>
7 B+ C. K- V( T) O4:非法的监视器名称;<br>
; ]* b3 `" C/ Q: g$ n5:操作失败。<br>
) G4 ?- x& S% F- J' p: u. ^10、 sSelCamera<br> }, H# P# c9 f9 z
功能:将一个摄像头信号源选择切换到一个监视器<br>' Y0 d" \5 S: |! Q
格式:sSelCamera_SouName_DevName↵<br>
* V9 s8 E& b2 T; E& Z参数:<br>1 l9 P D; ^2 F k
SouName:要切换的摄像头信号源的名称。<br>& Y2 {2 s- o" m ~: K
DevName:要显示该信号源的监视器的名称。<br>
( H |9 v- p# Z7 ^4 L9 A执行结果:sSelCamera_nResult↵<br>
* L, a6 p5 a8 T( a- R1 O; tnResult 可能取值:<br>
! X1 J0 q6 e( e5 Z0:成功;<br>
% I j0 I' j5 _/ h1:串口控制功能被禁止;<br>2 L/ a; t) e1 O+ I, I
2:非法的指令名称;<br>6 |7 {. E0 c" r: j* l
3:非法的信号源名称;<br>* y `0 v; y* U+ D! \
4:非法的监视器名称;<br>; U; I4 \5 k0 Q
5:操作失败。<br>* z: i4 ?; w7 F6 \7 v
11、 sSelRGB<br>
; [/ g F7 l8 v+ F( A$ Y# u) v' O功能:将一个RGB 信号源选择切换到一个显示器<br>
1 q0 Z& p2 A% t; L# T! F, D格式:sSelRGB_SouName_DevName↵<br>
A. a7 H1 V/ M; f! f6 Z参数:<br>
; O E1 O4 V0 m8 v8 a( [6 e) ISouName:要切换的RGB 信号源的名称。<br>
7 T. s7 g2 O* \, H* rDevName:要显示该信号源的显示器的名称。<br>
" m- v! V3 Z6 B/ a! m. X执行结果:sSelRGB_nResult↵<br>; }- @' S: [: X
nResult 可能取值:<br>/ R* b/ b, V5 s1 F" O! t; _$ Y
0:成功;<br>, W q' |; ~. ]* `9 z) W6 z0 J
1:串口控制功能被禁止;<br>4 j% O, y- {( `- F7 y
2:非法的指令名称;<br>8 x/ F2 R! H; L: v$ {- {
3:非法的信号源名称;<br>% h! ^6 q& P6 B" o G- A, W
4:非法的显示器名称;<br># ^% n8 p' W R D% K8 y
5:操作失败。<br>
, S: i& X( t$ F6 v6 k5 S W12、 sSelAudio<br>0 s) w4 }1 o" ?* o+ | ~5 m
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
; t' |( q: R; q$ }. b) O格式:sSelAudio_SouName_DevName↵<br>
% J( F/ l- c8 J1 g: O* a O0 x参数:<br>
! [% P& s. T' @/ z u9 `SouName:要切换的AUDIO 信号源的名称。<br>
7 |( d6 r' e, z6 l9 WDevName:要显示该信号源的监视器的名称。<br>6 [2 e5 O- F" k1 n
执行结果:sSelAudio_nResult↵<br>
1 M/ u5 j: D) JnResult 可能取值:<br>
* Y0 k% P5 V" ~0:成功;<br> c6 m3 n1 l4 `3 P2 J: t1 h
1:串口控制功能被禁止;<br>
$ P& n2 S$ ~4 J! `! H2:非法的指令名称;<br>
2 W/ r8 w/ ]. D- B! |" w1 T3:非法的信号源名称;<br>2 s4 L& B! T0 e! I3 j, z
4:非法的播放器名称;<br>
! T V/ R& l7 M5 W3 I7 W" _( b$ H" p5:操作失败。<br>
8 a4 s* b! |' K2 W# t3 R13、 sSelVideo2MFD<br>! z" E3 H+ G/ d: d7 D- y4 {
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>0 @$ m. H+ F1 D; P. D5 R4 r9 W
格式:sSelVideo2MFD_SouName_DevName↵<br>" E/ {4 [0 ?8 ^* U- A
参数:<br>& s2 V% p' u4 Q) s
SouName:要切换的VIDEO 信号源的名称。<br>
5 g. U% S' Z: Z, bDevName:要显示该信号源的多功能显示设备的名称。<br> W3 Z- ]7 k' Z$ {3 N1 Y
执行结果:sSelVideo2MFD_nResult↵<br>3 U) \; B; E+ {; E$ k& P
nResult 可能取值:<br>$ F& e" ?- @% O
0:成功;<br> N; l' O6 Q9 F
1:串口控制功能被禁止;<br>
4 `5 S0 l( n& n5 X: @* w2:非法的指令名称;<br>
' D3 o. V8 y6 {) Q3 x' b3:非法的信号源名称;<br>
0 _& M! R" k# u+ j& p5 ]4:非法的多功能显示设备名称;<br>
4 A, T5 e2 \$ C: I- U5 H5:操作失败。<br>
- N. p; T+ l. G2 ?; ~14、 sSelCamera2MFD<br>
% N9 \: R4 q% h功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
1 {+ B& |$ B" m7 L8 [, T& D* f格式:sSelCamera2MFD_SouName_DevName↵<br>
6 \+ S: d, G4 R参数:<br>6 y9 a2 }: m1 R+ Q
SouName:要切换的摄像头信号源的名称。<br>
, _4 j6 a a/ j( G) MDevName:要显示该信号源的多功能显示设备的名称。<br>- j2 g' ^1 j1 G% H$ b U: t+ ?" [
执行结果:sSelCamera2MFD_nResult↵<br>
. n$ a/ A B4 K3 o5 OnResult 可能取值:<br>
- {9 P( Y, ~# g2 b0:成功;<br>
1 W- |) Q: r. S) l2 l$ [; m1:串口控制功能被禁止;<br>
, g! I9 R& L( j: F+ z2:非法的指令名称;<br>
: ~# H! \) [6 A' F% x3:非法的信号源名称;<br>3 C! w/ O. C( b2 X
4:非法的多功能显示设备名称;<br>5 q9 O; M& i. H3 [! a
5:操作失败。<br>
& v- ? \. ^8 ^/ R8 t s% o, O15、 sSelRGB2MFD<br>- }2 L5 v( u+ i! H
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>0 r9 B( G% \; j: d5 P0 K
格式:sSelRGB2MFD_SouName_DevName↵<br>5 z' g4 }9 Z6 v* v! d
参数:<br>2 w/ u3 M( b8 S3 l$ Q0 D
SouName:要切换的RGB 信号源的名称。<br>
; C w0 q5 `* y( H. W6 k2 E" |: \DevName:要显示该信号源的多功能显示设备的名称。<br>9 X* o7 K( X- Z6 m; y
执行结果:sSelRGB2MFD_nResult↵<br>
0 c2 O ]4 T2 B8 DnResult 可能取值:<br>- r. v3 w. ^% z8 G; G t
0:成功;<br>9 m' P. n2 n7 ]% G: O/ ~
1:串口控制功能被禁止;<br>
: i* {$ o( m4 o% S6 \, z. i2:非法的指令名称;<br>
+ A" ?" U' S6 L# d5 h# M3:非法的信号源名称;<br>; N9 r) N" Y$ a$ u; y% l7 [
4:非法的多功能显示设备名称;<br>
9 z# ~3 A3 R% U, c9 j h5:操作失败。<br>+ W: O9 T/ q/ b9 U- M$ P* n
16、 sSelAudio2MFD<br>
$ x5 m }3 ?3 W( `- r3 B- o* b功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
7 k1 v# r1 w) _7 s7 A; }9 ^格式:sSelAudio2MFD_SouName_DevName↵<br>$ y" T: _( ~5 o& V. T5 e
参数:<br>5 w( V! T5 Z9 ^9 @8 }4 e
SouName:要切换的AUDIO 信号源的名称。<br>! _" e Y7 t* E5 P3 @' v
DevName:要显示该信号源的多功能显示设备的名称。<br>
( M, E. E6 i" q, r/ j8 |执行结果:sSelAudio2MFD_nResult↵<br>
9 |' o' S* g2 Y& hnResult 可能取值:<br>
0 f7 |9 I, Z+ v7 Q0:成功;<br>
$ W% y1 r/ a5 D( ~4 j9 s. j+ M1:串口控制功能被禁止;<br>3 N+ H4 _4 h4 E( c6 T
2:非法的指令名称;<br>. r' a7 M8 o0 P: ~
3:非法的信号源名称;<br>
' e* f* W4 B: h2 i4:非法的多功能显示设备名称;<br>
8 n9 }4 p; ^% s1 R2 `5:操作失败。<br>
a x; |% F6 w3 C$ m# V17、 cSendData<br>
* y) {9 ~+ }6 J# V& W" S; l- X功能:发送数据到指定串口<br>0 n {0 l1 N2 k* t
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
' n$ n, x% [9 M/ M4 x& _1 X: w U" a参数:<br>: w: Y$ B% i1 o3 D
PortNo:串口名称,譬如COM1<br>
( R# l) A% B# i B1 NPortSettings:串口设置,譬如9600,n,8,1<br>* B7 c0 e1 w7 r! ~, \# G, A# o
Length:发送的数据长度<br>
% Z2 a) o" T5 _# b$ pData:发送的数据。<br>3 O4 d3 q6 o9 N: x# i H0 A
执行结果:cSendData_nResult↵<br>, M$ \' k d+ s1 x) y5 K
nResult 可能取值:<br>' ]# `3 {5 m5 {* f) x
0:成功<br>
2 z# a& x+ i! u2 a7 P& ~; V1:串口控制功能被禁止<br>
- a e1 k2 g r7 v2:非法的指令名称<br>; V X* ~" E6 x# V
3:非法的端口名称<br>
/ [7 O* A0 ~1 |4 d- ]7 [4:非法的串口设置<br>
* D7 U- _: z9 A% x4 u5:操作失败。 |
|