|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>4 u9 a1 M( w3 X
一、概述<br>
# o( m. j' I C% {& W为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br> l; E; A% X: _- y. Z/ o+ p
控制的接口。本文描述该接口的控制协议。<br>7 D7 [: Y) y& w- R
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
8 h4 I. _9 m+ E' q' @, C过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
$ H' }+ s2 E# v6 K* o机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
4 Q O, u. r6 W7 C8 r该协议可根据以后的功能需求进行扩展。<br>
5 B" c$ m l" [7 o2 l3 F二、指令的命名和格式<br>! A7 F. Z5 |( L" W
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
0 j7 n8 `' A6 z9 {/ n" {2 }处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>4 T; X! L6 k# a9 @# m
其余字母是其功能的英文描述的简写。<br>
' Y" r# O0 V9 P指令及其参数、指令的执行结果均用字符串表示。<br>* Z3 u& a0 _ d5 b, B3 ^
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>( O/ z9 x3 f& W Q b) M
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
' d3 ^0 ^; E$ n5 e6 p7 l s指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
5 ]7 C& g, [+ S6 l5 `指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>& l9 d, \# f3 ?" z
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
. ~9 z |: @6 q3 N# E4 [, B执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
2 a; M+ P' e4 O3 \% l三、指令描述<br>
$ H% ^6 p9 b! s$ X1、 ePowerOn<br>
' B5 p0 C8 L' p8 I Y( x功能:机芯开机<br>, ~1 l$ L0 k5 L% V! ~
格式:ePowerOn[_WallName][_ProjNo]↵<br>
. w: V* O9 l+ y* L# i* @9 s参数:<br>
0 W* \3 @1 r: j% OWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>" Q7 C6 I9 L5 i4 I5 E5 V( M1 P
也必须省略。<br>
) y( `% t- g) i7 A' U, c6 MProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>4 { D1 `8 e3 y0 [" w
芯。<br>9 U! @/ t7 o+ N& I4 I
执行结果:ePowerOn_nResult↵<br>, L1 P7 O% A' x1 }( ~
nResult 可能取值:<br>
* y3 _" E& \; n1 k6 h' Y# X O" q0:成功;<br>: h% O& T5 J: C$ ^1 o
1:串口控制功能被禁止;<br>
; K Q0 H% _. g& `! G2:非法的指令名称;<br>
# M$ S9 o# _, u/ f0 Q' u3:非法的拼墙名称;<br>
1 k' Z- N& J( D( n4:非法的机芯编号;<br>8 q* _) \* X m! { l
5:操作失败。<br>4 O. O, I% m( h1 h# |, J# G0 i( g) ~
2、 ePowerOff<br>' y5 u. ~0 y3 R# q7 s
功能:机芯关机<br>
. s$ o. V- r. y4 p' e格式:ePowerOff[_WallName][_ProjNo]↵<br>: q. |2 s' |1 \9 Q
参数:<br>5 ?" R2 y3 j, t' ]
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>6 X% l0 V0 n. x9 r; I$ i' @2 p$ C
也必须省略。<br>
! U! x6 ^# d4 P) ^ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>7 E$ z+ e' Y) @& E
芯。<br>" h' @. T& W1 e' T& i. @: U
执行结果:ePowerOff_nResult↵<br>
' f! \+ V, q3 }1 w, }nResult 可能取值:<br>
# X3 K: {$ n$ M0:成功;<br>+ n! ^* }5 o" }2 v
1:串口控制功能被禁止;<br>. J4 ~$ J# s- f# |9 a- m7 k
2:非法的指令名称;<br>
) ~8 N4 \' c1 n: W: v& P3 m! e2 `3:非法的拼墙名称;<br>
7 y3 M: I8 i9 T1 o4:非法的机芯编号;<br>+ B' M) \7 o7 s) a
5:操作失败。<br>
4 j0 V$ r: f9 Y5 L3、 dPowerOn<br>
" g2 \& X/ v- I1 Z: f M {0 U功能:多功能显示设备开机<br>
. R/ v# q6 n6 Q# l2 [/ E) w+ S格式:dPowerOn_DevName↵<br>( \$ C4 |& g+ C( h) R
参数:<br>
. O; o+ J! ?1 d6 L$ H/ {DevName:要进行该操作的多功能显示设备的名称。<br>
6 Z7 L( ~4 O- n0 E J& o执行结果:dPowerOn_nResult↵<br>
( n0 j: S1 _/ O1 j& QnResult 可能取值:<br>- i1 [3 W. \6 z e! S
0:成功;<br>% \+ S8 k2 K7 A/ q o
1:串口控制功能被禁止;<br>
. a- S6 ?# n! v) a2:非法的指令名称;<br>
4 `6 Q* |4 g# b& t2 n3:非法的多功能显示设备名称;<br>0 x1 g0 o9 |5 C4 v
4:操作失败。<br>6 N1 N; W1 i5 l6 R s' ~5 @1 Z
4、 dPowerOff<br>& [5 M3 V3 B9 x, R& ~
功能:多功能显示设备关机<br>
~0 F: q. v! o; z# D格式:dPowerOff_DevName↵<br>- ~' p: u% O1 ^6 {( p, @+ n
参数:<br>3 n" z9 i8 J& [" F
DevName:要进行该操作的多功能显示设备的名称芯。<br>
+ E& z' j" V% p) \执行结果:dPowerOff_nResult↵<br>; s1 i3 V; Z' X7 q: F
nResult 可能取值:<br>6 F9 |0 c! r- Z5 ^) I
0:成功;<br>1 a% s8 }* L2 P! [+ X1 b' W
1:串口控制功能被禁止;<br>
" t, ?0 L/ ?$ v; g# e8 D9 H* [2:非法的指令名称;<br>" h4 e6 \. U' E" R" P9 q
3:非法的多功能显示设备名称;<br>
8 l- K. P$ A/ |* m( C# }4:操作失败。<br>9 f. R* A5 @/ w% j
5、 eCloseWin<br> ~* n2 U1 A; a3 R& v
功能:关闭所有机芯直通窗口<br>
. S3 I8 J% ~' d+ }' Z- B4 a2 M格式:eCloseWin[_WallName]↵<br>
; O" K/ G# [. v0 A0 f: ^参数:<br>
( }- z" P' f5 O. sWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>2 C( g5 u% T& {4 G9 z; }
执行结果:eCloseWin_nResult↵<br>: Y5 q4 m4 x; u2 w
nResult 可能取值:<br># `- F; r9 g3 O ~- ?
0:成功;<br>
$ s6 F7 d( m& Q& Y$ g1 ]1:串口控制功能被禁止;<br>( u d! b3 `& i, X
2:非法的指令名称;<br>
, h. s% l+ K7 s0 ]3:非法的拼墙名称;<br>
0 F, d J' b& L2 W4:操作失败。<br>
, L2 N6 u* |" Z+ D* C6、 pCloseApp<br>& m G6 @' T7 l1 ] i: ^
功能:关闭所有处理器应用实例<br>
, q4 s, s: b( M7 T" {6 x4 K格式:pCloseApp[_WallName]↵<br>: k( k/ B, y* T: M4 ~
参数:<br>7 [ ~0 ]& E* L& Y0 j
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>: ]# f! M$ A! C+ @( D {7 L
执行结果:pCloseApp_nResult↵<br>: G7 k: \; y8 [: K" J
nResult 可能取值:<br>
9 {. V; v: j! }+ y0:成功;<br>
& x' R4 n, z$ C5 f3 s1 v# a1:串口控制功能被禁止;<br>
9 U( p$ _8 f3 F6 a: w2:非法的指令名称;<br>
) S" F1 U5 J: E/ L9 F( `) S- _% D3:非法的拼墙名称;<br>" p* [1 N6 T8 M5 ?: j$ E
4:操作失败。<br>, X! W. {$ _ y
7、 pCloseWin<br>. M& ~- T: Z0 l' i K; G2 A
功能:关闭所有处理器窗口<br>1 i- }( J+ i. I" h5 w1 k
格式:pCloseWin[_WallName]↵<br>' {" X% x/ m7 p7 c3 t8 B, U$ _
参数:<br>
! }; Q8 w& ~- s- n5 \2 o/ U7 c3 b. RWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>/ M$ {/ I' n" d4 {
执行结果:pCloseWin_nResult↵<br>
2 I1 e% L# o5 v9 c' E, g4 \nResult 可能取值:<br>* k9 L$ m5 m/ p, p6 n$ {
0:成功;<br>
1 I4 U+ J, @2 B+ A& \+ s! W' i1:串口控制功能被禁止;<br>+ `; Y& L- K3 Y a8 j8 L8 x$ _
2:非法的指令名称;<br>
& m* x! }# H2 U0 k- \5 n" R. E4 C% f3:非法的拼墙名称;<br>1 _, c0 v! ^( K. H
4:操作失败。<br>
' Z: D/ I! c2 ?4 b( A8、 mApply<br>: E1 [9 B. i, P4 S( `. `
功能:执行已经定义的模式<br>+ q W, D+ z: u, N. P" w/ Y
格式:mApply_ModeName↵<br>) E2 M, y+ i) r5 ~
参数:<br>
' t( p+ ?9 b$ G9 ZModeName:要执行的模式的名称。<br>
+ {# x* ~- ~% V2 i; R% G3 h4 s+ ~7 V' j执行结果:mApply_nResult↵<br>% h1 n& i$ Z. b, H; z# Z0 P
nResult 可能取值:<br>$ E& J0 i3 }+ R& F$ s2 g3 g
0:成功;<br>: ~6 i: G5 S U4 r+ C/ ` ]
1:串口控制功能被禁止;<br>
1 d) c4 s" D! m1 n: B) \/ L! }9 @2:非法的指令名称;<br>0 ], T4 u' L$ ]4 v
3:非法的模式名称;<br>% K- v6 y6 U3 c3 _; p
4:操作失败。<br>; m* b5 e9 i$ d: ~4 N* W" h
9、 sSelVideo<br>9 s( S6 Y( i4 {5 g- L) U: D
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
, @6 R9 c; Y* C4 p% N- ~格式:sSelVideo_SouName_DevName↵<br>* }; f0 U+ P8 H4 \# O
参数:<br>9 g7 |1 E/ Q/ y9 ~
SouName:要切换的VIDEO 信号源的名称。<br>
; j9 b3 x& x6 U) m( O$ _5 F2 hDevName:要显示该信号源的监视器的名称。<br>' e k1 e$ Q/ X# e7 o: S1 Y
执行结果:sSelVideo_nResult↵<br>7 G( p& W! ^5 \& `7 [8 h' h
nResult 可能取值:<br>
% ?7 h5 W. F! g/ B- o+ g0:成功;<br> t# R0 d3 ^/ ?2 @9 ~2 g. l3 B0 F$ t
1:串口控制功能被禁止;<br>; a/ M" l1 `2 J- R
2:非法的指令名称;<br>& s; \9 N ^+ Z0 E
3:非法的信号源名称;<br>
! H. A y, j/ u2 J1 l6 P4:非法的监视器名称;<br>1 ~" r7 C1 {5 S& ]. E; P" I c
5:操作失败。<br>7 D; d4 [. O" f" i0 B
10、 sSelCamera<br>
3 s% r6 y2 k% d功能:将一个摄像头信号源选择切换到一个监视器<br>3 o) D& ]4 ]5 V0 P% r
格式:sSelCamera_SouName_DevName↵<br>
( k3 ~& e @2 l% v5 l4 T. }# u参数:<br>8 r! f G' G3 u- w3 f3 D
SouName:要切换的摄像头信号源的名称。<br>. h# z' d0 ^6 D) R
DevName:要显示该信号源的监视器的名称。<br>$ i+ t+ R' z3 I
执行结果:sSelCamera_nResult↵<br>/ e5 B& A. j% b4 r" J! n
nResult 可能取值:<br>
b* c* B! F* P4 U F( H( y" R0:成功;<br>
2 H# g- H' g! `) u( r U$ N& ^1:串口控制功能被禁止;<br>( i4 }- c: Y* Z$ H
2:非法的指令名称;<br>7 B0 e/ ]" w% g! q. ?" H
3:非法的信号源名称;<br>* ]* Y2 C3 [% t1 B+ \0 m$ |8 u
4:非法的监视器名称;<br># I8 x" K# f$ H& ]/ j! ?) G D
5:操作失败。<br>
! A+ K1 Z5 |6 R, _7 p$ i$ r6 {11、 sSelRGB<br>
5 ]. j$ ]& E; K, I3 R功能:将一个RGB 信号源选择切换到一个显示器<br>6 J, G* J: h t% M6 E+ U6 y! g
格式:sSelRGB_SouName_DevName↵<br>
" {" c; S, ?5 @" x2 k( _参数:<br>
! ?0 l% S" F3 n& L( h+ fSouName:要切换的RGB 信号源的名称。<br>
! @2 H U0 e! ?9 CDevName:要显示该信号源的显示器的名称。<br>
5 d/ s8 p; k1 t# C执行结果:sSelRGB_nResult↵<br>
8 j# C: v: N5 K9 L) H6 O; q7 JnResult 可能取值:<br>
: r& h( S5 \' V* r/ G7 z7 V( h0:成功;<br>
8 ~! m/ j8 D7 I* _4 {6 l) d1:串口控制功能被禁止;<br>
% Y* N$ _( C- h0 B& g2:非法的指令名称;<br>
4 h1 R0 }3 P) _ u- T3:非法的信号源名称;<br>
' `- s# q0 Y6 w6 e0 G4:非法的显示器名称;<br>0 K' B% R6 ^: L" H% Y
5:操作失败。<br>
4 R/ J4 d1 c6 l" E0 E+ H12、 sSelAudio<br>1 b. l4 r) n, b' m- f
功能:将一个AUDIO 信号源选择切换到一个播放器<br>0 z( A( l7 C% N% K
格式:sSelAudio_SouName_DevName↵<br>$ R- z8 t7 a! q, W" k6 T
参数:<br>3 i! }! X4 x1 X% Q. O( W
SouName:要切换的AUDIO 信号源的名称。<br>
1 l6 m* L/ h4 }* c3 MDevName:要显示该信号源的监视器的名称。<br>
& G8 k; A8 a# H执行结果:sSelAudio_nResult↵<br>
! u q, f+ s* |( ], gnResult 可能取值:<br>, n3 a- a- G1 k1 D! [5 ^
0:成功;<br>+ _5 y" y! ?$ [
1:串口控制功能被禁止;<br>) K2 U+ E$ I3 E2 B
2:非法的指令名称;<br>
6 ~. B' |9 j5 q0 \" u: y/ O+ q3:非法的信号源名称;<br>
2 R# \; M" O) H+ c4:非法的播放器名称;<br>
- W& g/ t' o$ S7 q' h5 {5:操作失败。<br>+ Z1 t4 M* T6 J4 e# N! t
13、 sSelVideo2MFD<br>
8 {% o. Q& ^ i3 I) `功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>: y }. r9 } m
格式:sSelVideo2MFD_SouName_DevName↵<br>
* O8 x' ^9 J/ ?9 B参数:<br>1 J5 r; i# N+ A% G/ y7 q
SouName:要切换的VIDEO 信号源的名称。<br>
0 D) S0 ?4 ^7 Z# aDevName:要显示该信号源的多功能显示设备的名称。<br>
3 R3 x( y5 g1 l; o) Q执行结果:sSelVideo2MFD_nResult↵<br>, L& q- w' K) w1 l1 o
nResult 可能取值:<br>3 D \- _ U1 L) a' c
0:成功;<br>4 F8 D8 k: f! m: d% d* R+ ^
1:串口控制功能被禁止;<br>2 q6 z* V1 P: Z* I) }: b4 ?) d! m
2:非法的指令名称;<br>* }- e5 t k: K, g9 l
3:非法的信号源名称;<br>6 E9 S8 u+ `, P- s
4:非法的多功能显示设备名称;<br>0 {( O' V; J' _. D; P$ F
5:操作失败。<br>- A% B5 B+ r# z! `4 A2 E( L
14、 sSelCamera2MFD<br>% ^6 C% g& K$ t: I
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
8 B' B A8 q5 O. z) L f M格式:sSelCamera2MFD_SouName_DevName↵<br>
' J* o0 v ?% I" Z4 ~+ O; Z7 P4 [7 f参数:<br>7 s U) U5 q6 G! ]1 r. p
SouName:要切换的摄像头信号源的名称。<br>; a! {7 f0 C5 d8 ^" k `
DevName:要显示该信号源的多功能显示设备的名称。<br>
9 P" S3 _# G7 d Q& \# p' o执行结果:sSelCamera2MFD_nResult↵<br>5 c3 `( q* j, ]4 r. m
nResult 可能取值:<br>
; o, C7 t! F- Z; o# r' A0:成功;<br>
: f9 I# `6 f5 Q- l) i Z1:串口控制功能被禁止;<br>/ U4 ]* ]) B, d: D# E
2:非法的指令名称;<br>: V/ }$ L4 V% w) O& B
3:非法的信号源名称;<br>! V+ @7 f" y; N+ f" h! ]
4:非法的多功能显示设备名称;<br>
4 e, h9 C7 H1 O7 k( S5:操作失败。<br>+ P: ? r' o; k& O# \0 ]
15、 sSelRGB2MFD<br>5 j" K% ~: d( n0 R m3 @
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
' p O, Q9 I# L5 ^7 h格式:sSelRGB2MFD_SouName_DevName↵<br>
% n N1 [, c. E3 a" b, {参数:<br>
+ r/ y& H! v. ]9 R% T( ~! rSouName:要切换的RGB 信号源的名称。<br>
" m/ m+ T: W+ ~ o* f8 y e+ H, PDevName:要显示该信号源的多功能显示设备的名称。<br>
8 F; N' b6 o' V执行结果:sSelRGB2MFD_nResult↵<br>
; E' g# `, M# m, ynResult 可能取值:<br>
% t. K U( ~( g" |7 S9 w5 `0:成功;<br>$ H: q1 r" y2 X% q7 H7 A
1:串口控制功能被禁止;<br>
1 g9 h0 N$ P: B" p; ~3 [2:非法的指令名称;<br>: j- ?( f8 L, J; x; p- z0 I
3:非法的信号源名称;<br>
8 h4 W' X. i, M2 `4 v% p. I4:非法的多功能显示设备名称;<br>
) z6 L& A$ {8 M7 i' \5:操作失败。<br>
' s: M! X P" _- i) r0 L% ~6 t& v16、 sSelAudio2MFD<br>
/ F% k2 S t/ t* N( h4 X功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>3 C. n+ ]/ C: E. y3 V8 X
格式:sSelAudio2MFD_SouName_DevName↵<br>6 m( m6 s& a3 f. l. `$ a' E4 Z
参数:<br> u$ B! W% h% x3 @/ h
SouName:要切换的AUDIO 信号源的名称。<br>
7 E8 X1 v1 {+ g6 G* XDevName:要显示该信号源的多功能显示设备的名称。<br>
( i3 x$ E/ u) e, E9 n执行结果:sSelAudio2MFD_nResult↵<br>
$ w5 P- {0 R! I( H: R2 @7 rnResult 可能取值:<br> K( I. H! B- c+ }) y
0:成功;<br>* f. a8 r+ @* k" N
1:串口控制功能被禁止;<br>
* \( e7 `* g \2:非法的指令名称;<br>9 }* j1 h( E$ V: |( d# W
3:非法的信号源名称;<br>" e4 r: s/ c- |" O5 ]% O8 P
4:非法的多功能显示设备名称;<br> }- h8 E+ v( `: ]1 W' T
5:操作失败。<br>
g" ^" U- {* ~- E# s7 ^" k( m17、 cSendData<br>
- j6 ^0 r( V$ \* P, \功能:发送数据到指定串口<br>
8 H9 ~ |) ?1 I" P% ^0 t格式:cSendData_PortNo_PortSettings_Length↵Data<br>
# a( {- a0 l$ g6 n参数:<br>; E# S+ U I8 R# ^* c, D
PortNo:串口名称,譬如COM1<br>
7 I9 ~# T: V1 K1 Y, CPortSettings:串口设置,譬如9600,n,8,1<br>
: Y5 ~- y6 ?! f& k9 lLength:发送的数据长度<br>( g) w. }! K, k1 b" ?2 U4 u
Data:发送的数据。<br>) l/ o' ^0 S1 C. A' L* t* \
执行结果:cSendData_nResult↵<br>; K! B. O1 H( r$ X
nResult 可能取值:<br>
% I0 ?( u7 H: Q3 {' g0:成功<br>
$ h+ ]9 p# C9 I! h: g" C, y1:串口控制功能被禁止<br>
0 N* T ~/ k/ E2 \2:非法的指令名称<br>
T% s: C3 M& L q9 i/ S# a3:非法的端口名称<br>
; {; D' s9 @. M" n- a4:非法的串口设置<br>
, t1 c7 d. M$ I, l; a3 ]( ^5:操作失败。 |
|