|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>! b$ E6 @; W* C4 W, d, R* L7 s
一、概述<br>5 e" P% Q9 h9 T- P- u( a
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>/ [, y4 w* y3 `3 ]' V
控制的接口。本文描述该接口的控制协议。<br>5 X- |* }& K: h# i4 C/ N
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
7 {! \" Y5 }6 `# I3 z过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
. f1 z7 s# L, L& |5 _4 M机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>) V5 w" y1 i% e) P0 X+ w8 G# e
该协议可根据以后的功能需求进行扩展。<br>
1 W; H. t7 b* M4 V0 M二、指令的命名和格式<br>* L* b( N- R/ e
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>/ g/ [* J6 n, O- c& N
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>! R( D3 c7 u* m) G3 [/ f
其余字母是其功能的英文描述的简写。<br>: T- r+ E; C6 p( u
指令及其参数、指令的执行结果均用字符串表示。<br>
) c5 `) ]' r! H# D: @" } |每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
4 l' |. r2 w0 H- d# K2 C0 w6 M* u$ k# w的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
- b0 x. G4 y( r+ _( G指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
. ]( Y/ x- H; A Y- j指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
# s, z2 F+ }) M# i指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>4 G; Q7 x+ m$ H4 z, i5 K
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>! N( {& ]6 G# O k3 O7 L
三、指令描述<br>9 e6 v7 @" f a% s1 z/ A7 R" e
1、 ePowerOn<br>
9 e# c& n1 s% `- `* i3 n功能:机芯开机<br>' H5 k# R% r; j+ l, E
格式:ePowerOn[_WallName][_ProjNo]↵<br>- @& I9 L" Q* l1 J e7 u
参数:<br>
* p- A1 N8 K$ ^1 [/ | r6 I3 sWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
7 b+ l2 J) _4 P0 z6 c; n% E也必须省略。<br>" l& S V, ^2 U
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>3 ~6 i( S8 c1 C$ R3 j7 T
芯。<br>5 v, o4 k. {& v( v
执行结果:ePowerOn_nResult↵<br>6 K& |! l j3 i4 }' y: d
nResult 可能取值:<br> u$ H1 z+ R9 S9 H. R# ]
0:成功;<br>3 T1 K6 B7 [: @- c7 W
1:串口控制功能被禁止;<br>
- X3 @7 `7 |* u) J0 Q2:非法的指令名称;<br>
# j f% b0 \' M' Q C( t% C3:非法的拼墙名称;<br> v/ Y9 `& V: g$ Q* B9 T
4:非法的机芯编号;<br>$ @, t4 m. b( Y3 ?5 w9 j+ J3 a0 p
5:操作失败。<br>
8 f, g$ w1 j. K' r+ {5 T* T- P2、 ePowerOff<br>0 ]' g S5 m2 U ^9 k! \* o6 |2 |% J2 a
功能:机芯关机<br>
4 c! ]3 R& ^- M格式:ePowerOff[_WallName][_ProjNo]↵<br>
0 p" U d9 P7 v; f0 s参数:<br>
/ O- U2 H- f5 jWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>/ \8 `/ ^- j! [3 V1 J) Y
也必须省略。<br>
4 F. T# Z4 t+ {7 g3 r. SProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
2 `, [( L W: k4 G( y+ O- ~芯。<br>% V* J, Y K" p/ x" r( E
执行结果:ePowerOff_nResult↵<br>4 M' T% M# Q4 z" Z! T
nResult 可能取值:<br>
! l: g& v' X9 \# ?4 A A, _5 K' v2 ^0:成功;<br>; L. e0 B' _! q- O# }3 c
1:串口控制功能被禁止;<br>( x: f4 e: L! n. N% X
2:非法的指令名称;<br>. |1 @2 N0 v+ _5 {4 Y
3:非法的拼墙名称;<br>4 R, ] H: L' [* T$ x6 l7 ^
4:非法的机芯编号;<br>* J: S, b! R0 W! P; H! ^. i
5:操作失败。<br>
) h' E8 k8 @0 C' b* R8 Y3、 dPowerOn<br>9 w0 W2 p' ~! B x1 f
功能:多功能显示设备开机<br>$ \- @5 r. @& `* h
格式:dPowerOn_DevName↵<br>; _( X: S6 r! c8 p3 O
参数:<br>
/ |% D! ~' g& F. c8 S5 `. d8 P' ~+ jDevName:要进行该操作的多功能显示设备的名称。<br>3 C5 X, `% E) q, Q6 s, S
执行结果:dPowerOn_nResult↵<br>
* F4 r& E) C4 T' Q2 j& XnResult 可能取值:<br>2 f( i7 ]% t+ |7 z/ i
0:成功;<br>
( E( p2 w- g) P/ t1:串口控制功能被禁止;<br>+ S, i4 R b- k
2:非法的指令名称;<br>
: v: E3 l5 g5 t5 t4 S6 g3:非法的多功能显示设备名称;<br>; F* R" m- m2 ~+ {+ z. \
4:操作失败。<br>
* r" f$ W' x7 X' H9 q4、 dPowerOff<br>" E- N' d' v6 G4 D% q6 Z2 Q
功能:多功能显示设备关机<br>
5 }2 H: V/ q! }" ~格式:dPowerOff_DevName↵<br>
/ Q4 k8 Z; ]7 W/ b) T, m i参数:<br>
, x) m1 W S' _0 j, O+ M7 E1 C$ e0 JDevName:要进行该操作的多功能显示设备的名称芯。<br>4 M! X' n3 d3 G6 S
执行结果:dPowerOff_nResult↵<br>0 {: X! m& u* s$ c7 Q3 n
nResult 可能取值:<br>
8 I! h, D+ S- f7 \0:成功;<br>2 n" B- I4 D- r( w* ~4 i2 a
1:串口控制功能被禁止;<br>1 I5 E* J% @' U& y
2:非法的指令名称;<br>- U. U+ r, @% k3 {2 i+ k
3:非法的多功能显示设备名称;<br>9 H* U. d" ~, ]- d" P# c
4:操作失败。<br>
7 T' K: G8 K$ {5、 eCloseWin<br>
/ Z. \. ?" c* R, v) l功能:关闭所有机芯直通窗口<br>* ?/ N; L. K2 {9 J
格式:eCloseWin[_WallName]↵<br>+ s Q: W# u( W% \4 k) Y
参数:<br>
% m. C* F( i ?5 ?: J% T- p( }WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>6 C, }1 l2 Y9 I) a w7 M# q
执行结果:eCloseWin_nResult↵<br>( Q+ F6 m( C5 U
nResult 可能取值:<br>
$ y+ B9 ~: u. C* {' {0:成功;<br>
$ R% p$ k5 ^" o" e% K$ o6 f; V9 D. e: m1:串口控制功能被禁止;<br>9 C7 C0 l/ c' j
2:非法的指令名称;<br>. D' x( z9 m% o: p& u% u# x
3:非法的拼墙名称;<br>& S9 g7 ]% Q. b l, x
4:操作失败。<br>
6 N( o- H% x! f; l, {6、 pCloseApp<br>! u* B6 B0 K1 g. s( T7 G
功能:关闭所有处理器应用实例<br>8 O- j( D, \. e7 c5 |
格式:pCloseApp[_WallName]↵<br>1 y, Q! l3 F7 G
参数:<br>4 m# C. G* y0 j n5 T t( G% ]
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>$ N7 w2 E$ U" N& p
执行结果:pCloseApp_nResult↵<br>0 m1 f3 H3 Y' d/ p
nResult 可能取值:<br>3 J5 x4 U& n$ v# k/ b) r
0:成功;<br>7 v6 l% j$ A1 v0 f5 o
1:串口控制功能被禁止;<br>7 I! Q: w5 {- H6 s2 R+ z
2:非法的指令名称;<br>8 v/ [! B8 {$ W! w& D8 G% x3 ^7 e) n
3:非法的拼墙名称;<br>% G) J! s/ Y6 j, _
4:操作失败。<br>4 g* ^: O: W! P. N& i p
7、 pCloseWin<br>
9 `- b2 M) V3 Q, L. l功能:关闭所有处理器窗口<br>
) V$ o, C9 w! b1 A# t格式:pCloseWin[_WallName]↵<br>! E4 n- ]5 v4 |7 v8 t, Q
参数:<br>
% p$ [0 M$ T8 ~$ j: `( z/ sWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
( N7 g0 V, s6 {" _执行结果:pCloseWin_nResult↵<br>
5 `7 d6 d: W* e8 G* x* g' B# u7 w5 lnResult 可能取值:<br> y6 W' e3 M2 ^6 w$ ~$ i9 c+ \
0:成功;<br> R) X5 Y: m" k, I0 w. z
1:串口控制功能被禁止;<br>* V. F/ K# m8 c4 g% k# _. ~; l) V
2:非法的指令名称;<br>% R! ~: ^, B( c& @
3:非法的拼墙名称;<br>$ h6 Y2 F- Y- |8 _1 E6 W
4:操作失败。<br>
' K) s3 [1 _3 Y& Q8 P# m8、 mApply<br>
7 e6 J2 b! k, N/ ?* V& S0 X功能:执行已经定义的模式<br>
) @/ b6 q0 f) l z格式:mApply_ModeName↵<br>( T' z6 k g4 }) I
参数:<br>1 z6 N' V( F; _- O4 D& }
ModeName:要执行的模式的名称。<br>6 O6 F( f1 \$ y: m$ b O
执行结果:mApply_nResult↵<br>
7 b4 h' u0 a# _nResult 可能取值:<br>
4 W K* _ I' v% c g7 g0:成功;<br>
3 G- @$ x, E& P* }1:串口控制功能被禁止;<br>
' b+ I3 I: ^* Z+ d4 s) K2:非法的指令名称;<br>
. Y2 H" X, g7 ^3 Z, a$ K! V3:非法的模式名称;<br>
8 L" m* X8 s# L- {4:操作失败。<br>7 i9 I7 I+ ]6 Y# e7 H, K8 l3 R0 V4 p
9、 sSelVideo<br>3 _; O' j0 n/ e; ~* m @
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
7 J+ [/ U' t- N1 N v# X格式:sSelVideo_SouName_DevName↵<br>" {, z& V$ ?; H _3 k& v
参数:<br>( M) e( D1 l6 w& a; n) }, u
SouName:要切换的VIDEO 信号源的名称。<br>
6 T& R/ C$ W; n5 P' c1 ]DevName:要显示该信号源的监视器的名称。<br>8 Y! R& y* E) w' V
执行结果:sSelVideo_nResult↵<br>$ E! e x5 T" `' f& x* G
nResult 可能取值:<br>* j' u) q$ O, K9 q2 P6 c7 ]6 G
0:成功;<br>7 k% ?8 z. @8 \. C0 [7 h# Y
1:串口控制功能被禁止;<br>
( t# s( S2 \* L/ G2:非法的指令名称;<br>
% M* S1 T# e( q! N5 W3:非法的信号源名称;<br>) n9 N" w6 ~! J4 r8 {
4:非法的监视器名称;<br>6 z& N" V0 `- N$ c' @
5:操作失败。<br>: V/ o+ h( p' f5 ~8 [8 h" J
10、 sSelCamera<br>
& [* i$ U3 G [% g7 h- J: k+ T. I功能:将一个摄像头信号源选择切换到一个监视器<br>+ w! Y' ~% D2 I8 J9 C
格式:sSelCamera_SouName_DevName↵<br>7 |+ |5 k8 Q- q
参数:<br>( w3 |+ J$ H) r4 a3 Y
SouName:要切换的摄像头信号源的名称。<br>8 K. j& c7 G' }
DevName:要显示该信号源的监视器的名称。<br>( a6 \7 c0 B7 x% a
执行结果:sSelCamera_nResult↵<br>! s% m1 Y& Z* D# s/ q- t. a8 }' j
nResult 可能取值:<br>8 e4 V3 }& d+ a$ E
0:成功;<br>
' B4 L* p) A. Q J0 L* T; d7 F1:串口控制功能被禁止;<br>
! t# M8 t7 Q7 ?0 s6 H2:非法的指令名称;<br>& w' Q: ?, {4 n- z
3:非法的信号源名称;<br>
( K, o$ B0 |' K, m. X4:非法的监视器名称;<br>
: Q+ U' D& S( \) t6 D7 t5:操作失败。<br>
- h% J) [7 j% x @/ x& S11、 sSelRGB<br>
% k7 |: w: M0 Q% {5 g% f功能:将一个RGB 信号源选择切换到一个显示器<br>9 h X* [& a! m# V% M
格式:sSelRGB_SouName_DevName↵<br>2 T6 N3 y1 m: ~* ]! {! s2 L
参数:<br>$ o+ ~% @2 d& Z' L5 s: J R
SouName:要切换的RGB 信号源的名称。<br>2 L3 W; c5 p6 U( O' f
DevName:要显示该信号源的显示器的名称。<br>8 ?" E5 [9 V" o I# y( m5 ^) |
执行结果:sSelRGB_nResult↵<br>2 \: |. d9 m3 A e0 F1 F- T7 p$ d
nResult 可能取值:<br>
6 S" o. M; R5 ~& ]6 t E0:成功;<br>, N. u$ H! K; x% @( z
1:串口控制功能被禁止;<br>. A4 \, X2 J3 i: r5 u- z
2:非法的指令名称;<br>; r' w! h" `' C0 X6 V
3:非法的信号源名称;<br>0 ?8 i9 `3 {) [
4:非法的显示器名称;<br>3 }! H a* {, ?3 r5 h
5:操作失败。<br># g& `- i1 U( {- |4 X" B x: V
12、 sSelAudio<br>
/ s2 |, E% h. V" F' b+ a功能:将一个AUDIO 信号源选择切换到一个播放器<br>
- a6 c6 g( s @7 \0 E& Y格式:sSelAudio_SouName_DevName↵<br>
/ o* B* m- G+ r; O6 Q参数:<br>$ w, o+ R i$ Y* }4 l0 H! [
SouName:要切换的AUDIO 信号源的名称。<br>
) ~) J2 N9 i1 E* D1 ^/ A0 yDevName:要显示该信号源的监视器的名称。<br>
1 U' y, B0 f; [执行结果:sSelAudio_nResult↵<br>7 D2 I* T6 n) u! \' i
nResult 可能取值:<br>
" t$ B" S! v& L- Y0:成功;<br>' i+ V: k1 q# r
1:串口控制功能被禁止;<br>0 h5 n, ]& [$ v. X+ G# `( J
2:非法的指令名称;<br>5 O& X1 W; r; E
3:非法的信号源名称;<br>
6 z: h- J; R3 p( T7 W N/ C4:非法的播放器名称;<br>
% J; W/ {9 `; u) ?! d, W6 I4 @5:操作失败。<br>! Q: a$ r. C( O$ d/ `
13、 sSelVideo2MFD<br>
0 n( ?6 h I" [功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
T* z7 W! o" w格式:sSelVideo2MFD_SouName_DevName↵<br>
; l7 ]/ M7 p7 w) g0 N! a2 C参数:<br>( ^; x4 c; ~4 _8 O+ t4 \0 I
SouName:要切换的VIDEO 信号源的名称。<br>
2 s; g) F" _! o/ p& V8 m& u. P8 tDevName:要显示该信号源的多功能显示设备的名称。<br>5 k+ \1 C( e7 f" z v. C j+ k
执行结果:sSelVideo2MFD_nResult↵<br>0 |3 `2 @# t5 d
nResult 可能取值:<br>
P% G! S, t0 ]: W U0:成功;<br>
9 T: _+ b2 I6 ~3 q' J8 [+ m1:串口控制功能被禁止;<br># q( Y& d0 h) [$ q* w' ^
2:非法的指令名称;<br>' V: P l+ C2 ?
3:非法的信号源名称;<br>! _3 ]" p5 G5 w) G1 {/ U/ L
4:非法的多功能显示设备名称;<br>0 o9 H8 |% F0 a9 D9 l
5:操作失败。<br>6 e: P! i" m( ~! q n0 E
14、 sSelCamera2MFD<br>
' l$ i- C8 O& H$ r. z! {3 ~: b功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>+ J3 |& p! l5 \9 ^9 H J1 V
格式:sSelCamera2MFD_SouName_DevName↵<br>' f* N8 K8 b& c7 I; u% k$ G
参数:<br>
" Y" j6 I S5 q& A' i0 bSouName:要切换的摄像头信号源的名称。<br>" d/ q; ^ E: X; z# N
DevName:要显示该信号源的多功能显示设备的名称。<br>, p" p6 v: M% N3 o
执行结果:sSelCamera2MFD_nResult↵<br>
; _, m8 K8 O. X2 fnResult 可能取值:<br>* ^ q3 n, O# v7 {. d1 f8 z1 g) l( g
0:成功;<br>8 U/ i0 w* X. b
1:串口控制功能被禁止;<br>
; W5 p. T' `1 P a) X2:非法的指令名称;<br>
& j% m+ w9 n1 w2 ~( g4 l& f3:非法的信号源名称;<br>
' i( }* p) e: R. L4:非法的多功能显示设备名称;<br>
5 y0 ?, k2 Z7 p- k6 `2 x; \8 x5:操作失败。<br>3 ]0 G. f5 q4 ^. O- o
15、 sSelRGB2MFD<br>4 C4 D8 j/ Q5 `( G! Y: k0 m0 p
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
4 @/ |! V+ X7 k0 U格式:sSelRGB2MFD_SouName_DevName↵<br>. G; K, E7 [) N6 E5 {
参数:<br>; `6 q7 |" F4 J. T' e; o% k$ c
SouName:要切换的RGB 信号源的名称。<br>
" g& ]1 H) ~+ r) xDevName:要显示该信号源的多功能显示设备的名称。<br>
5 V$ \2 C( T1 E+ n' E执行结果:sSelRGB2MFD_nResult↵<br>
4 ?- {' [1 Q* Q) f4 b' inResult 可能取值:<br>9 [+ A* A7 O! \$ l( w
0:成功;<br>
; z7 R' ]; j, f* s1:串口控制功能被禁止;<br>
7 d; w$ a+ w# \4 h7 ]3 Y2:非法的指令名称;<br>7 Y* a* W3 J" T
3:非法的信号源名称;<br>
7 ~. ]5 u- q* Y8 X& A. P4:非法的多功能显示设备名称;<br>7 c& \! N/ m* b1 i' F, e
5:操作失败。<br>( o& G# G1 L6 R# B% ]8 s* B% V
16、 sSelAudio2MFD<br>9 b' B. ?3 h0 \( o: Z: e3 J- H& c
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
/ `: f# F [9 h3 [. ]- c7 n格式:sSelAudio2MFD_SouName_DevName↵<br>
- O! l2 |% z% S Q8 A参数:<br>, e% C9 T& d1 |1 b9 {- U" M* G0 b
SouName:要切换的AUDIO 信号源的名称。<br>( z2 [' P6 F5 p% G& f* w7 a* T8 Y
DevName:要显示该信号源的多功能显示设备的名称。<br>$ T8 t; V/ @& Z6 d* }7 L
执行结果:sSelAudio2MFD_nResult↵<br>+ y; O4 w$ l* I4 Y, l' _# K
nResult 可能取值:<br>% J6 O; C+ T+ m2 e8 H; [
0:成功;<br>
6 C6 E" g% K1 g0 G* T1:串口控制功能被禁止;<br>: \2 U2 q) ], g2 c7 f; g8 d
2:非法的指令名称;<br>, p% }1 ~: l0 ?$ z. b
3:非法的信号源名称;<br>
8 R. _# e& E2 }6 V& z4:非法的多功能显示设备名称;<br>
8 l7 Q3 V5 K* l) d- |, `5:操作失败。<br>
% ]3 Z: L+ c& q17、 cSendData<br>
- j: X; c2 G/ D2 V6 o功能:发送数据到指定串口<br>
2 S! U( e* t b6 S' C" q. ]( I格式:cSendData_PortNo_PortSettings_Length↵Data<br>
( w6 p, B( k" a" u. F8 g参数:<br>
$ j9 s) Y# F* f4 e; w8 [* \PortNo:串口名称,譬如COM1<br>* r* r' b5 F% M! Z( \: E9 e
PortSettings:串口设置,譬如9600,n,8,1<br>
) d# x5 b( I$ m0 {$ m; @5 S" h5 FLength:发送的数据长度<br>; e1 e0 E! k, C. b! G# M) G
Data:发送的数据。<br>
, \, ]8 [+ H u7 V1 r4 e. m执行结果:cSendData_nResult↵<br>% A! V% u2 f, ]/ j4 V
nResult 可能取值:<br>
+ j, J- g' L$ N' y% t4 a1 B/ D0:成功<br>% P7 @# z( {0 b: m3 j
1:串口控制功能被禁止<br>( L# D+ H8 x4 w8 Y
2:非法的指令名称<br>
# D5 @5 N7 V5 V3:非法的端口名称<br>
8 Y& c- v# S5 P- J% n; {4:非法的串口设置<br>
~' \, l! Z) B1 e% t k# f. \5:操作失败。 |
|