|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
' P1 G4 k0 M x& v一、概述<br>
& Z" Z- c" f# L& r8 P( \为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>! I7 N) E7 ^' g3 G$ D6 V
控制的接口。本文描述该接口的控制协议。<br>4 F* J' ^* O: v5 j8 y# C7 s6 i& ~
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
- c) _% y( Q$ R过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
! T) [$ g( ?. `4 D机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>1 y8 @0 y6 s0 q2 R( L
该协议可根据以后的功能需求进行扩展。<br>
: I4 Z; ^* F: N二、指令的命名和格式<br>" l' V& K) ?0 O. H& B
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>. w! s$ f( B7 S! G V
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
. P% B+ \& t: S; c8 W其余字母是其功能的英文描述的简写。<br>
5 Y4 {1 d! X6 W3 O2 o# D- b; ? y' c指令及其参数、指令的执行结果均用字符串表示。<br>
" Z- K' h8 H0 P y+ A9 v/ e每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
/ ~7 |6 B8 r# F% D. d7 n i的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
7 |0 Z p) R7 M0 _指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
/ E% W7 U7 z2 W+ [! L0 u指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>7 M" h8 e0 R/ }& ?! B0 H
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>% m2 G! {5 C/ d8 v" G, s* ~ ~9 ?
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
& E4 B1 ~4 Y; S/ t& b7 H/ C三、指令描述<br>0 g2 V% e% M5 u2 w" \6 X4 V0 C
1、 ePowerOn<br>
" o! q3 N& f1 B. _% y* W功能:机芯开机<br>
% R( Z& L" f. ~5 |格式:ePowerOn[_WallName][_ProjNo]↵<br>
( V$ G1 d6 A7 L, I8 p( \6 }# t* V) d参数:<br>, h, s* Y8 k$ g1 S. K
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
6 u- o* a, J0 U6 _' j( Z* A7 D也必须省略。<br>
( }4 ]0 D. x8 t4 N7 Y5 TProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>) Q( a, S# C) K7 r
芯。<br> U* O# {& s5 Z: u) z
执行结果:ePowerOn_nResult↵<br>+ ?4 L( l% }. m7 P
nResult 可能取值:<br>
. {8 b2 N z' x4 D; p, E' R0:成功;<br>6 G2 d& O- T( y9 r. u/ {
1:串口控制功能被禁止;<br>
: D0 M1 k4 f- C/ p: {1 V2:非法的指令名称;<br>7 K4 ~: o2 t5 j3 G7 _
3:非法的拼墙名称;<br>, @0 a4 r* ?( i0 |, d7 q0 d* S
4:非法的机芯编号;<br>
! V$ y+ u ?% U5:操作失败。<br>
, y, X6 p: A: N e/ `2、 ePowerOff<br>
) {7 H& G4 s7 j$ l; `功能:机芯关机<br>+ M. T: S3 R9 y
格式:ePowerOff[_WallName][_ProjNo]↵<br>
X) G, I. I; B& w! e! T参数:<br>; x9 d' q: t) h* P5 G
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
' d! m* N8 D" t8 m$ b也必须省略。<br>7 h* m! A+ C2 ^1 T) r
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>1 L! h ^5 a9 {7 L' C
芯。<br>
6 K1 H% V% h. j/ ^- }9 W& z- B执行结果:ePowerOff_nResult↵<br>
# a, W: G/ y0 [( l/ }% j3 t5 DnResult 可能取值:<br>* p7 `4 W+ Q: w5 \
0:成功;<br>
7 p# v+ |6 U! h9 [1:串口控制功能被禁止;<br>
; F1 }$ v. F1 _ V+ P5 j2:非法的指令名称;<br>
! P- u4 F$ i9 ^5 D3:非法的拼墙名称;<br>( H# T. y4 z0 O5 W$ |6 S8 m
4:非法的机芯编号;<br>
4 `! G) q1 H( }9 U+ e/ T$ Z. E9 H5:操作失败。<br>
& T, c; P# F, f3 B4 e/ F& P+ B3、 dPowerOn<br>- U/ W1 D7 G- n6 S- E$ ~
功能:多功能显示设备开机<br>
" \: f+ A; l& h( ]1 Z) V格式:dPowerOn_DevName↵<br>
$ M4 J/ \6 V" v3 l `( P$ u参数:<br>2 s8 K+ T/ H8 Q4 V- U
DevName:要进行该操作的多功能显示设备的名称。<br>% ^" Y" g, p @4 l
执行结果:dPowerOn_nResult↵<br>. i- C2 J/ l; U9 l9 M# ~
nResult 可能取值:<br>) u6 R: r$ h" c8 v
0:成功;<br> P1 O& N P1 T" Y# V
1:串口控制功能被禁止;<br>
. c& ?0 _- k7 S- E. F9 L5 \2:非法的指令名称;<br>% c, t) U* W7 P. Z2 ]
3:非法的多功能显示设备名称;<br>3 _) |3 [8 S- n" s2 K
4:操作失败。<br>
% u+ A0 e! A& ?3 ] u3 o. d+ _4、 dPowerOff<br>, ^2 e u! i% Y" M9 d
功能:多功能显示设备关机<br>; I( _' D9 A2 o; X
格式:dPowerOff_DevName↵<br>3 z6 m/ E' [6 W% @& E" Q
参数:<br>: M3 H% g/ j" f" u0 V
DevName:要进行该操作的多功能显示设备的名称芯。<br>
, b1 D+ n$ t2 R9 j2 |/ \9 c* L执行结果:dPowerOff_nResult↵<br>
; I3 j( L" X. q; x0 _# J; PnResult 可能取值:<br>9 `4 Q% G+ f4 k8 l
0:成功;<br>
9 F4 Z2 x9 `* y% O+ {7 S6 A4 k1:串口控制功能被禁止;<br>
* B1 Q- d/ t3 V, B$ X, f/ \5 F2:非法的指令名称;<br>% F8 a8 L% G% c* D
3:非法的多功能显示设备名称;<br># G) E9 Q- n+ a, C* V n F! `( X
4:操作失败。<br>
, c- f1 d' Q. {) a0 F7 s! w- x5、 eCloseWin<br>
4 P2 u. \( d( A: [2 `, I. z) z功能:关闭所有机芯直通窗口<br>1 U- |( S) g0 n' B* h( Z; a
格式:eCloseWin[_WallName]↵<br>: U; U9 g' B! T, f
参数:<br>
* p% l/ y) a1 f" J) S7 eWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
" V" c, v( n F+ m: @# F3 O8 L执行结果:eCloseWin_nResult↵<br>
k8 d3 E6 q2 W7 `+ u! tnResult 可能取值:<br>
- z+ |) Y7 n! V0:成功;<br>6 B) l. h; A! b( J3 T3 Y' q+ D
1:串口控制功能被禁止;<br>
0 i7 ?& k, p$ f) E: K) d& u2:非法的指令名称;<br>
1 i" M( h: T( D% s3:非法的拼墙名称;<br>
, v1 b- j. @" y4:操作失败。<br>; Z7 N+ {7 p8 @" C# [) A7 ?5 c
6、 pCloseApp<br>
9 l1 H, S% u6 p9 k1 }6 X: C功能:关闭所有处理器应用实例<br>1 L4 x- d! U, Q1 h9 }5 T! t
格式:pCloseApp[_WallName]↵<br>
. u. i' W3 u/ v参数:<br>1 N$ X' n+ L/ s/ n+ v: D+ d: k
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
" o# o6 j, |2 J1 u1 A执行结果:pCloseApp_nResult↵<br>
& ^5 R: S# Y2 `8 YnResult 可能取值:<br>, f2 Y7 ?" y6 }7 c' H; S
0:成功;<br>3 Z" {, W* g8 X- g8 |) f; Y4 R
1:串口控制功能被禁止;<br>
6 O( y- F4 U% Y0 O2 o2:非法的指令名称;<br>
0 n$ x+ j. _8 ?. [! X- A' X3:非法的拼墙名称;<br>3 O/ x( Q' B+ [. n; U
4:操作失败。<br>
$ k7 x% l5 \; ? x8 A+ B# ?7、 pCloseWin<br>% e' [ u) y8 g; f. i7 b: n* \
功能:关闭所有处理器窗口<br>
1 t @; m0 ?5 n2 E$ {) Z格式:pCloseWin[_WallName]↵<br>: |8 L# e8 X; N! H; S9 ~7 @) k
参数:<br>+ b" b; X1 B! f w
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
" w+ O7 k# m5 n0 e! l执行结果:pCloseWin_nResult↵<br>' K- T! W# z1 B+ \
nResult 可能取值:<br>
' K* Q- _/ V' k d- G r0:成功;<br>
" g4 j. Q0 {7 d: D1:串口控制功能被禁止;<br>2 @: O8 ]' c$ U1 l W% Q
2:非法的指令名称;<br>
, k ^, O' ^. a, Q3:非法的拼墙名称;<br>
6 f( p& i. C/ T' v4:操作失败。<br>$ m4 G# `8 |' J, |1 L8 e4 v
8、 mApply<br>2 p0 o. e) _2 I3 y0 H* G+ a
功能:执行已经定义的模式<br>0 c% i$ d$ `- y; L1 \
格式:mApply_ModeName↵<br>4 S: R' l. a6 U- _
参数:<br>* M5 B3 G# N2 B0 E9 ~; G0 \) P; b
ModeName:要执行的模式的名称。<br>8 D% o& L3 G# R# t
执行结果:mApply_nResult↵<br>5 n7 N v- @; x" E }3 }; C
nResult 可能取值:<br>
( C; B/ k/ ~1 \# K/ R0:成功;<br>8 b: Y: g% A0 {6 |. K* V
1:串口控制功能被禁止;<br>
9 k( V5 m$ K9 v2:非法的指令名称;<br>$ g/ h, W! e: w: r2 w
3:非法的模式名称;<br>
+ v% H9 m0 g, \$ U4:操作失败。<br>, k G7 S/ [. i3 ~
9、 sSelVideo<br>
+ ]' A3 C G( v0 A7 i4 s3 [9 w功能:将一个VIDEO 信号源选择切换到一个监视器<br>9 \7 Z+ j8 {& _2 b6 W3 K
格式:sSelVideo_SouName_DevName↵<br>
7 a+ T. \& P, o$ \7 n n) o6 {参数:<br>5 d" P: ]8 I+ D6 N
SouName:要切换的VIDEO 信号源的名称。<br>
) P8 x8 N. N: D. E2 @DevName:要显示该信号源的监视器的名称。<br>
) P( V4 c6 `7 e执行结果:sSelVideo_nResult↵<br>4 t( s4 c3 N* y/ w) K
nResult 可能取值:<br> f1 }6 ]' A x* s3 k5 H; ~
0:成功;<br>, f! P- W& _$ X: ]8 G7 o
1:串口控制功能被禁止;<br>
7 U! k& P! a @4 P+ m, G/ d% r: z2:非法的指令名称;<br>( i+ I- D3 f# D
3:非法的信号源名称;<br>0 ]! w# @0 r8 {; i8 O
4:非法的监视器名称;<br>
9 B5 N5 x5 }% O1 t. Z5:操作失败。<br>
7 c; U& M J; K! p+ `* u10、 sSelCamera<br>
5 ]. [/ |. s9 @4 ?( C9 T7 D功能:将一个摄像头信号源选择切换到一个监视器<br>7 ?2 Q2 u$ [9 {* o& f
格式:sSelCamera_SouName_DevName↵<br>
5 }, E- e6 C; a* }* Y! T% x参数:<br>% L8 i0 v) {" F
SouName:要切换的摄像头信号源的名称。<br>
5 K& n! W) b) g p6 P: PDevName:要显示该信号源的监视器的名称。<br>9 n; o; h: Q* u3 S
执行结果:sSelCamera_nResult↵<br>! I2 W d4 a. ?: E% [* q5 \
nResult 可能取值:<br>7 E% `5 G+ ~1 H2 Y/ ?0 ?$ Y
0:成功;<br>
' G4 w3 P7 Z! N/ u! B8 x3 f d1:串口控制功能被禁止;<br>8 L3 [$ N7 G$ F, y& C$ S7 b
2:非法的指令名称;<br>
" L" [& I" L: q7 i3:非法的信号源名称;<br>
( F2 N% y0 O: ~; m5 o4:非法的监视器名称;<br>
+ _ S9 L- [/ R+ n6 h5:操作失败。<br>$ A, _5 K d6 q5 L) O
11、 sSelRGB<br>
7 G# l" C( U+ f1 J( ~功能:将一个RGB 信号源选择切换到一个显示器<br>" b; {: n7 o& d; ?$ _' \: K* f
格式:sSelRGB_SouName_DevName↵<br>
7 a; f" k: W0 s( o7 n参数:<br>. w7 d" A6 }+ U( u
SouName:要切换的RGB 信号源的名称。<br>- m h# q7 ^0 k' }/ z
DevName:要显示该信号源的显示器的名称。<br># q6 q/ V4 p, ~( f( f
执行结果:sSelRGB_nResult↵<br>4 U1 k0 ~/ C" Y
nResult 可能取值:<br>' ^# J1 m# f0 M& o
0:成功;<br> E( j0 e" G0 }+ _/ M; Q( _3 m7 o
1:串口控制功能被禁止;<br>
. Q& N% X1 G- u2:非法的指令名称;<br>$ @. a' D" ^: b, g4 L9 @
3:非法的信号源名称;<br># O2 r* U; a1 ~! r; @0 V# Q- G/ N
4:非法的显示器名称;<br>9 m* G4 o7 \$ }1 m6 R- n2 } G
5:操作失败。<br>
7 `& Y1 J; L, k: @; A0 E5 @, e% g" o12、 sSelAudio<br>4 s, \4 t7 h: H
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
$ k% X/ H+ b6 d: ^+ U格式:sSelAudio_SouName_DevName↵<br>; t6 E0 B `! E8 `0 O. G
参数:<br>
$ k& M' b0 a6 Q' T1 b* F5 JSouName:要切换的AUDIO 信号源的名称。<br>
9 h1 F$ D5 V3 w* b8 r0 y# _DevName:要显示该信号源的监视器的名称。<br> ~0 u6 b% B# j- V
执行结果:sSelAudio_nResult↵<br>
1 F+ y5 ]: }7 z% M# e5 h( QnResult 可能取值:<br>
7 R/ t( h% o6 d2 g6 T- a3 O; F4 {+ H0:成功;<br>
! U% C8 i4 i1 O+ L7 z9 j" w' ~* P1:串口控制功能被禁止;<br># x$ ~5 r! i" U& g( K! g* X: p
2:非法的指令名称;<br>) [8 W5 K/ c3 a
3:非法的信号源名称;<br>
- g0 Z3 d& Y7 Y) t4:非法的播放器名称;<br>
0 h# R- H& N! l5:操作失败。<br>. v& C8 ?1 h( E" V
13、 sSelVideo2MFD<br>
7 M W/ K7 i2 @; S, y7 B功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
5 D! E9 N9 T5 ]$ G4 f. j) i格式:sSelVideo2MFD_SouName_DevName↵<br>
! r5 t" H6 s! q- c参数:<br>
8 @/ i' o4 \# w: Q) h/ DSouName:要切换的VIDEO 信号源的名称。<br>5 ~8 \: j! e' B- X$ D
DevName:要显示该信号源的多功能显示设备的名称。<br>6 K+ Q' P4 | j1 v* N
执行结果:sSelVideo2MFD_nResult↵<br>
3 c1 t) O( a5 T- wnResult 可能取值:<br>
/ M6 z% I& u5 a9 P3 w0:成功;<br>
7 t0 A v; _9 d2 B1:串口控制功能被禁止;<br>. W/ \ b( Y2 Y6 Q$ h
2:非法的指令名称;<br>/ f7 }7 h8 f$ e
3:非法的信号源名称;<br>
4 }6 l7 H- t3 M3 v! }3 ]3 b4:非法的多功能显示设备名称;<br>
8 \: P# Y# t7 s$ ]8 F# V5:操作失败。<br>% e) e5 X' |2 X% h
14、 sSelCamera2MFD<br>1 a" Q: A- v8 h% m* y8 `7 N9 h- t
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
. m- o) \8 E$ ?" R格式:sSelCamera2MFD_SouName_DevName↵<br>3 v& c7 h3 l# c$ ?) `7 q
参数:<br># G* L, ?0 ~; H% X! D+ ?
SouName:要切换的摄像头信号源的名称。<br>' {4 X$ R/ M3 k1 P) U" Q- q }
DevName:要显示该信号源的多功能显示设备的名称。<br>0 @! V) I* z6 A/ t
执行结果:sSelCamera2MFD_nResult↵<br>
7 ]% g R& a6 Y1 ?nResult 可能取值:<br>3 U, P2 x: M1 _) ~& X4 U
0:成功;<br>
* P; k F$ N0 ^6 O# N1:串口控制功能被禁止;<br>; b b: Q" x, a) w( O1 g' y9 W) Q8 b
2:非法的指令名称;<br>0 F/ r8 R- b% ~3 P2 r, O7 `5 S
3:非法的信号源名称;<br>
% ]* ]1 D8 l$ b1 h5 A4:非法的多功能显示设备名称;<br>' O# I5 w6 T5 y1 ]) v
5:操作失败。<br>
* l5 f4 u! U9 i15、 sSelRGB2MFD<br>
; s7 e& R7 c* a4 V/ A功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
! r/ _* |0 }4 L" [, \格式:sSelRGB2MFD_SouName_DevName↵<br>
0 T) Z. {% {$ ]' t6 P7 U8 u1 q参数:<br>
4 i7 p! u, a" M: f% w# PSouName:要切换的RGB 信号源的名称。<br>
8 M7 B9 Z. l% \* ?8 }DevName:要显示该信号源的多功能显示设备的名称。<br>4 D9 u8 r( g* k6 N: I; c
执行结果:sSelRGB2MFD_nResult↵<br>0 z- b4 J; Q& @9 D
nResult 可能取值:<br>( b( I# H6 @% r0 ]
0:成功;<br>
% p- K+ n* B/ p1:串口控制功能被禁止;<br>
% R3 M- a5 S) R4 L8 n2:非法的指令名称;<br>. {! m+ p: O' Z( f: j7 |
3:非法的信号源名称;<br>
7 G4 Z2 X1 p6 r# l2 R0 {- T/ Z) a, a4:非法的多功能显示设备名称;<br>
' [0 A) w0 I' I/ C5:操作失败。<br>8 s: Z" v; b, y" @0 |
16、 sSelAudio2MFD<br>% Z& x5 B- C0 b: f7 f! I/ g
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
" m* [( Z% Y6 M4 W$ Q3 {5 N格式:sSelAudio2MFD_SouName_DevName↵<br>
* X8 D2 L/ E- B0 @9 b( e4 T参数:<br>- u* \1 p( b7 \" d* c9 j# v @$ b, o
SouName:要切换的AUDIO 信号源的名称。<br>
- C! C; h: \$ g9 N6 q% kDevName:要显示该信号源的多功能显示设备的名称。<br>
, C: Z5 B c! g( j* ?3 C( D+ }5 J执行结果:sSelAudio2MFD_nResult↵<br>+ p# L) D5 R: w9 I5 c: h
nResult 可能取值:<br>
" \; _, W7 F! r" S4 I7 G7 h0:成功;<br>
& x& e w2 f e' u2 ^1:串口控制功能被禁止;<br>! `% a+ b; p) G# M
2:非法的指令名称;<br>
6 ~+ V- [+ H% S) v8 Z; ]3:非法的信号源名称;<br>4 P/ ~3 i% x2 s" Y& F
4:非法的多功能显示设备名称;<br>, x8 Z( l8 x0 {! s. y7 H6 x
5:操作失败。<br>
3 `& W$ y4 W U: N* V( r- q17、 cSendData<br>
8 l/ ]; g1 W G功能:发送数据到指定串口<br>' X% g9 C: G0 v8 z0 y! o
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
0 y* j* s, u/ b; T8 W% l. `参数:<br>: N8 w/ z3 V" \$ m" s, v
PortNo:串口名称,譬如COM1<br>
7 i3 |' s& T' `2 `4 \) jPortSettings:串口设置,譬如9600,n,8,1<br>
+ R- E$ a/ r6 n: J: b" ^! j" CLength:发送的数据长度<br>
8 i# Y& l* A5 W& c1 j2 M; x* D9 WData:发送的数据。<br>, s. z: Q3 @& J5 y5 M6 |. Z( ^$ m8 x
执行结果:cSendData_nResult↵<br>
8 l/ D! ~- _# W. u+ S+ F2 ], VnResult 可能取值:<br>* @ ]* t+ S& Z/ K& |
0:成功<br>
" @4 o$ Y0 Y% z1:串口控制功能被禁止<br>& d- h( a) n. Y" a9 m2 R8 \
2:非法的指令名称<br>
6 ^- R7 d: O$ U/ E3:非法的端口名称<br>
# T. N3 V6 `, X2 q- }( E/ R( c8 f' M4:非法的串口设置<br>
* |1 e3 [1 x0 z* D: K$ \6 b8 g) [) L! x5:操作失败。 |
|