|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br> q4 r/ U2 R4 e% X! c, ?
一、概述<br>
, m* R( M; D( S* J为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>9 X! O) d! r' R; q8 d
控制的接口。本文描述该接口的控制协议。<br>
% T) f+ K/ i# W+ YVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>8 c( T/ i& N% P8 [6 `
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>' H3 o: _; k. D( A2 F; j) G
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
$ g! q& c' |1 @! ?$ i( b该协议可根据以后的功能需求进行扩展。<br>
- u* E% n: G/ [4 L- q6 l二、指令的命名和格式<br>
" k$ F" ~- T! `, B指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>4 a4 {# ^" z7 k$ o0 Y# m% y; j
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
; J( V& S+ a2 o! @8 |其余字母是其功能的英文描述的简写。<br>
1 a3 Q+ e* O8 o+ ^; W指令及其参数、指令的执行结果均用字符串表示。<br># o; a! M0 g9 q" b' A: Y! F7 s
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
) r4 M& k0 `* }+ y1 B. Z的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
2 s! \# T8 j6 z4 X, i7 ]指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
7 h' m) r6 c. M6 l g指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
' W, R5 Q+ A$ T' ?4 @指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
- s" p9 q L+ C1 n# g6 |执行结果代码为0 表示成功,其他值的含义与指令相关。<br>4 Z- q& D( L) H' Z$ \2 K9 F% j
三、指令描述<br>
8 \7 }( F4 G* e1 _1、 ePowerOn<br>1 H2 g8 o6 o! O' H
功能:机芯开机<br>! j# n* T$ }. D
格式:ePowerOn[_WallName][_ProjNo]↵<br>
' B$ H- v" r* i: v B& ?: K6 V+ |参数:<br>
/ J7 w/ @7 P5 x" m$ EWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>5 Y: B4 X3 F; }7 @( e/ i
也必须省略。<br>& U1 S( B' D: N/ L+ H
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>, U( h: {" m# o
芯。<br>+ u" ?9 y) O7 i/ y4 I2 z; Y
执行结果:ePowerOn_nResult↵<br>
( }% F9 u# u! Z: z# M7 w7 t! nnResult 可能取值:<br>, G8 w5 S2 k/ L- h: K
0:成功;<br>
( B; R+ ]3 x) L r% N, Q$ \1:串口控制功能被禁止;<br>; A' l" T' H$ O7 f; b: d( o
2:非法的指令名称;<br>$ N; O7 [! M9 a2 n1 e
3:非法的拼墙名称;<br>
{# x. }1 n! J! e! Q) ]+ R1 u4:非法的机芯编号;<br>
+ n( r' J7 L' N, u+ t3 j5:操作失败。<br>7 b& F+ G7 N7 z+ |: J' B8 J
2、 ePowerOff<br>
% j% a9 B6 f& I! V9 I7 h2 [功能:机芯关机<br>9 u. O# W' |+ e
格式:ePowerOff[_WallName][_ProjNo]↵<br>
6 z' `' V/ T+ K9 G参数:<br>
) l- {# @% l4 ^! aWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
5 S, O; ]: W* Z2 a2 u也必须省略。<br>- H4 @& F8 P/ {' U# Q$ l
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
$ H0 v+ N$ J* H) s. t9 m6 b f芯。<br>4 @* ?1 j+ V, [; Y8 p
执行结果:ePowerOff_nResult↵<br>' Y& D/ [8 ~: _) P
nResult 可能取值:<br>4 f3 G- ~$ r) ^ I7 j, o8 M0 }
0:成功;<br>
5 m: f; \$ u4 C1:串口控制功能被禁止;<br>
- l, H2 f: c" Q( y6 Z9 {2:非法的指令名称;<br>
# k& t; a p# V: Z4 W! X' [3:非法的拼墙名称;<br>3 ^. v1 G9 ^8 x# Z
4:非法的机芯编号;<br>
2 J0 f. X% H; s# H5:操作失败。<br>
+ L; z; t2 y" b% E3、 dPowerOn<br>* W3 I* [" w3 e1 h k
功能:多功能显示设备开机<br>
6 e1 Q$ G @1 ?6 e+ x* F0 W/ _格式:dPowerOn_DevName↵<br>6 ` P7 ]0 h/ W4 Y D
参数:<br>
( K. d+ }, [9 s6 `) cDevName:要进行该操作的多功能显示设备的名称。<br>
/ }+ _6 c+ g% X3 U% t6 W执行结果:dPowerOn_nResult↵<br>( |, l0 p0 l8 d) Z$ d
nResult 可能取值:<br>
# M+ Q7 S4 A9 C0 o0 S% [# m0:成功;<br>
2 p% n4 V& k3 j8 `4 `1 t) |1:串口控制功能被禁止;<br>+ ?5 w0 _9 W: q2 m
2:非法的指令名称;<br>
5 g+ u3 C, D& K/ ~$ ^+ u3:非法的多功能显示设备名称;<br>
2 k9 L. {/ R8 z4:操作失败。<br>
/ K8 W. v( [* l! p) \4、 dPowerOff<br>* `5 |# w% x( i$ D. r/ \5 i% |
功能:多功能显示设备关机<br>
3 V( c! k x5 x: N格式:dPowerOff_DevName↵<br>
! O7 O% d) f; a! u" d% x' Y参数:<br>
. F- F/ p4 J! s" b O- U, ~DevName:要进行该操作的多功能显示设备的名称芯。<br>
7 A; z0 \5 b* ~0 ~8 B. i9 [, |执行结果:dPowerOff_nResult↵<br>
3 l7 M9 z5 ?, h& ^( p( z) ]7 GnResult 可能取值:<br>
! V# C( f$ Y) i% S- M0:成功;<br>* P7 \' j$ d! P T1 Y2 l' O
1:串口控制功能被禁止;<br>
* ~1 {" H3 F& ?" i; W) U; v2:非法的指令名称;<br>
: J8 k3 a+ |& G! w3:非法的多功能显示设备名称;<br>; h& f1 ?; z7 N$ \# m
4:操作失败。<br>8 f: c5 C$ r+ e
5、 eCloseWin<br>
* V: _3 U6 @7 I) a$ [功能:关闭所有机芯直通窗口<br>
% o) M3 K7 @+ n2 r格式:eCloseWin[_WallName]↵<br>
* M- e8 j5 A- S' U/ g( z参数:<br>* o3 ?7 y6 n# p# y1 `4 }/ P
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
5 s! J0 P9 G; O5 W$ |- g执行结果:eCloseWin_nResult↵<br>
6 w% l. h# x9 }' k8 b8 {. k$ Z% @( DnResult 可能取值:<br>4 O! T( n) j+ P9 Z! q
0:成功;<br>( U3 }3 y* y8 \$ ?- \
1:串口控制功能被禁止;<br>" }* o! S( n( O& Y. C* C5 o5 H
2:非法的指令名称;<br>. ~1 `& y3 B/ \7 ^% |: K: f
3:非法的拼墙名称;<br>! c4 k5 o) U, g& s
4:操作失败。<br>( z, j N1 h+ u- v0 c1 E
6、 pCloseApp<br># g5 q) K1 z, M
功能:关闭所有处理器应用实例<br>( [5 B; J" q% I2 x! o4 d- M$ o
格式:pCloseApp[_WallName]↵<br>) Y7 |* R% R" ~9 ~
参数:<br>* v7 Y) [/ ~% S. @2 I
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
s+ k/ P4 h3 l7 _2 k执行结果:pCloseApp_nResult↵<br>9 g e3 V" G- C9 c/ P F# x$ Z
nResult 可能取值:<br>
9 P0 j- O% E5 s. i0:成功;<br>3 z1 W, E [; N) N3 W2 [) x
1:串口控制功能被禁止;<br>
I& m2 j! t6 S f- v( m; R0 Q2:非法的指令名称;<br>$ l8 r2 V6 y! e8 e% \+ a& J! V
3:非法的拼墙名称;<br>
" i* ~# V! W2 ?& X( z% I4:操作失败。<br>
4 v- X' B* W+ a; H- y7、 pCloseWin<br>& G+ r* q j0 q% B1 E
功能:关闭所有处理器窗口<br>+ {; w1 k. x* {& \6 M# G
格式:pCloseWin[_WallName]↵<br>
5 j' K5 ^; Q- N0 x参数:<br>9 V7 a- o* v/ ~7 M1 p4 ]
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
4 x1 G- d7 ^% t) ^- k* E5 L执行结果:pCloseWin_nResult↵<br>" Y0 b4 J6 Q' @2 I- z3 Z2 P
nResult 可能取值:<br>$ o* g. W. U, o& s( H3 `
0:成功;<br>) L: [' v& t8 a2 L/ X4 R+ i
1:串口控制功能被禁止;<br>& J2 z# |+ O+ v' m
2:非法的指令名称;<br>1 _& K: s3 o1 c* S6 }
3:非法的拼墙名称;<br> w( r, u1 v0 @/ J5 C% R2 t
4:操作失败。<br>
) k1 W, @4 B0 a5 o4 n5 A7 S8、 mApply<br>. y; a1 t; N& n" j8 `3 G5 o$ ~! Y
功能:执行已经定义的模式<br>( S8 a6 T0 a0 B2 t
格式:mApply_ModeName↵<br>
& ?+ w9 x: }% q. o* @3 @2 ~, Y2 A参数:<br>! Y" [( `+ K0 E$ [
ModeName:要执行的模式的名称。<br>3 N0 s5 x8 ?; u, ?$ t
执行结果:mApply_nResult↵<br>! w5 X: r0 E2 t& o
nResult 可能取值:<br>% Z# E8 Y$ _! l) A: t
0:成功;<br>( E8 J9 V* N" `# T5 \. h
1:串口控制功能被禁止;<br>
. r2 b1 j+ ~4 {7 w& K2:非法的指令名称;<br>3 J1 M. b! A) j M; k7 }1 B% w
3:非法的模式名称;<br>
1 [5 f1 ] D& J7 Q( Q" f( N4:操作失败。<br>
! B m# `8 I v1 `/ d0 I+ |9、 sSelVideo<br>
/ P/ ?4 |, i; ~功能:将一个VIDEO 信号源选择切换到一个监视器<br>& l; G5 f. U) r* k& j# O
格式:sSelVideo_SouName_DevName↵<br>
+ ?( e( h* X/ P( O1 s) ^; N# k% h参数:<br>
% J b' S; I ?" G2 ESouName:要切换的VIDEO 信号源的名称。<br>- k6 S( A R" h& o, y0 l" i
DevName:要显示该信号源的监视器的名称。<br>! |7 g$ }+ r7 ~' }
执行结果:sSelVideo_nResult↵<br>9 U* Z6 H$ Y2 r2 u. z: @( A
nResult 可能取值:<br>$ H: h! u3 s* `8 p" h+ ?
0:成功;<br>
, U; C. {7 L2 i" L. Q- b4 B' K1:串口控制功能被禁止;<br>
0 [3 q/ H+ k) C6 R2:非法的指令名称;<br>1 s5 K; N: E0 {- L
3:非法的信号源名称;<br> G+ b F a3 B9 p! E4 e& d
4:非法的监视器名称;<br>
' J3 p/ Z& m4 z% ~5:操作失败。<br>
. u0 e/ y$ E# L7 h10、 sSelCamera<br>" D: O K0 A: `# I
功能:将一个摄像头信号源选择切换到一个监视器<br>
7 P+ b6 ~. W, t/ e3 ~$ \格式:sSelCamera_SouName_DevName↵<br>
8 F+ P. q0 o" p1 s& `' @参数:<br>
4 P. ~" H! b+ u3 T" J- G" a4 zSouName:要切换的摄像头信号源的名称。<br>
4 x- X( X7 Z) I3 @0 E5 a8 C4 N0 fDevName:要显示该信号源的监视器的名称。<br>
$ L) k$ S+ Y$ k* P, {执行结果:sSelCamera_nResult↵<br>4 ?; |" P/ ^- h6 ~, m$ N; c \) ~
nResult 可能取值:<br>
% t( g: I- }% n2 _2 S+ m- d, r0 v0:成功;<br>
( H% O2 m9 O" E5 l; J1:串口控制功能被禁止;<br>0 f3 M/ {/ x7 m+ M$ K8 I6 g7 \
2:非法的指令名称;<br>9 h* C3 n7 V5 R1 y& ?
3:非法的信号源名称;<br>; v6 H8 e1 i+ T3 b
4:非法的监视器名称;<br> s) g) @6 x# }, M
5:操作失败。<br>4 z" S* Z5 e L& N2 L
11、 sSelRGB<br>
3 J/ S' }! `& f9 |! Z' U l功能:将一个RGB 信号源选择切换到一个显示器<br>
3 |- O [ G" L' c# k5 S格式:sSelRGB_SouName_DevName↵<br>
: r' _$ f# B/ h! o参数:<br>: M3 w& }0 f1 }) G+ z# g( s5 W
SouName:要切换的RGB 信号源的名称。<br>
8 [& \# c" W# T3 q1 b0 YDevName:要显示该信号源的显示器的名称。<br>+ D8 h5 @/ G. E' j
执行结果:sSelRGB_nResult↵<br>1 l2 l6 i# @+ I' n% S7 X9 o
nResult 可能取值:<br>
4 E# A6 q+ F6 k: I0:成功;<br>
7 r5 r. e8 n4 v: T1:串口控制功能被禁止;<br>' I/ S7 Z* f/ @; n
2:非法的指令名称;<br>
- c$ \- n+ q) j! C o3:非法的信号源名称;<br>7 I8 \# [" Y. {; E6 G) U2 U* V; X
4:非法的显示器名称;<br>( X( z8 G! y# a; n: k9 b* ?
5:操作失败。<br> T* t* m; F0 {( S0 y
12、 sSelAudio<br>0 g$ |7 j' v3 w, s! J! `& i
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
/ N1 z$ j- J7 i$ |9 T! ?格式:sSelAudio_SouName_DevName↵<br>
! M; k ]+ p& Q$ V. |参数:<br>) x# J. d* _5 v/ y, G2 v k$ x
SouName:要切换的AUDIO 信号源的名称。<br>
1 C3 m6 ~& D M, h/ fDevName:要显示该信号源的监视器的名称。<br>" t' x2 y, [1 x% V3 L$ m: T4 r9 O
执行结果:sSelAudio_nResult↵<br>
6 q% C' `( \: q2 v( i! r5 [2 a% F2 mnResult 可能取值:<br>
7 L. H% ]8 V! B* q9 C" ~+ K0:成功;<br>. a1 O$ K. f' q& ^
1:串口控制功能被禁止;<br>5 _. d- Y; N+ n3 X6 |
2:非法的指令名称;<br>6 z; Z( j1 G( ^4 U; l& ]
3:非法的信号源名称;<br>
+ z' I; ]+ Y& b9 ^+ Q9 t$ }+ q4:非法的播放器名称;<br>
9 \, N) e* C0 u- X8 t* b5:操作失败。<br>$ } L8 x4 ?; u: n' K' [$ x
13、 sSelVideo2MFD<br>. H/ J& N- {4 w
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
: _) g; g# ]. J! M# G2 {格式:sSelVideo2MFD_SouName_DevName↵<br>6 I0 [" O. d5 E6 r: D
参数:<br>
/ [2 x) v1 X$ o A5 }SouName:要切换的VIDEO 信号源的名称。<br>2 \/ Q' ^5 A# b s, Y) n0 ]1 ]
DevName:要显示该信号源的多功能显示设备的名称。<br>% K9 k2 \0 @2 X- R; l' z
执行结果:sSelVideo2MFD_nResult↵<br>' ?- m; t( j6 k9 s6 R* E4 T. t1 b
nResult 可能取值:<br>
- E( T0 ?8 `+ ]5 I4 `0:成功;<br>
) d- v3 E3 S3 C z& f1:串口控制功能被禁止;<br>. Q2 N* [0 o0 Q; B5 X; R
2:非法的指令名称;<br>% [7 a" g* X0 f8 c
3:非法的信号源名称;<br>8 L& G* U- Q9 ~
4:非法的多功能显示设备名称;<br>/ ^, H; t* _& b" B2 N
5:操作失败。<br>
* a! g3 U- E4 N- d7 A14、 sSelCamera2MFD<br>. A# R( \( Q: ^! t* o
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
5 w# g3 R u% `( r9 b( q( F, o格式:sSelCamera2MFD_SouName_DevName↵<br>' o5 I3 U: i1 `9 ^
参数:<br>: Y( C) F9 i0 d9 ~0 n
SouName:要切换的摄像头信号源的名称。<br>
1 n: z/ N1 c% ]8 EDevName:要显示该信号源的多功能显示设备的名称。<br>
) W* s9 s* L4 \' q- i' y( ^2 M执行结果:sSelCamera2MFD_nResult↵<br>
+ k3 ~% g7 S: U' A) PnResult 可能取值:<br>
" E- v! w/ O" T |1 h; q" x0:成功;<br>
0 t) v7 z; F) [" ~0 E# q1:串口控制功能被禁止;<br>
, e Q! J1 P1 u4 O* `2:非法的指令名称;<br>
4 _& C4 C9 j7 m" N: b3:非法的信号源名称;<br>2 p$ ^! f& K. B! b$ I8 j* @) L# g
4:非法的多功能显示设备名称;<br>
% H V M# h/ D9 c5:操作失败。<br>/ @6 x7 R/ m- v) P8 ?
15、 sSelRGB2MFD<br>5 y1 o+ @& K$ y' U4 m8 c9 w! d
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
5 P+ c$ v# t. Q格式:sSelRGB2MFD_SouName_DevName↵<br>
' U, G) F( |% h- ?参数:<br>: R3 M& F/ [ g( v6 T- M0 V
SouName:要切换的RGB 信号源的名称。<br>
, x- A. [& @$ o0 G. X) }DevName:要显示该信号源的多功能显示设备的名称。<br>) T5 C# i% e% F9 E; J. s" d. {
执行结果:sSelRGB2MFD_nResult↵<br>
- o+ c+ h5 r' Y" O" U: o& UnResult 可能取值:<br>" V& [" v( ]3 v& D, Z: l- J' I5 ]& K. [ b
0:成功;<br>
4 |) m) l4 f5 f8 x7 J" W, N1:串口控制功能被禁止;<br>2 q. w' ^2 m ]; U( S ?
2:非法的指令名称;<br>2 Y) T( U5 t- E$ k
3:非法的信号源名称;<br>5 Z8 d, Z$ x0 a4 N
4:非法的多功能显示设备名称;<br>7 ~4 ^, [8 _ J+ Z ^
5:操作失败。<br>5 e3 y( u( S3 L) \, m
16、 sSelAudio2MFD<br>; b8 k3 a0 ^" K, I' O
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
1 B1 m: e; L. O5 p; y" Y) O( Z格式:sSelAudio2MFD_SouName_DevName↵<br>( P1 v% |1 r! p3 Z k; a
参数:<br>
' r# n6 @1 x! |/ a1 r# ~SouName:要切换的AUDIO 信号源的名称。<br>
$ u& c0 N3 L2 FDevName:要显示该信号源的多功能显示设备的名称。<br>
4 r8 N0 H# N4 ?0 t% V执行结果:sSelAudio2MFD_nResult↵<br>, A! e; I' z; m5 g3 b' u
nResult 可能取值:<br>( u. v8 a* ~( Z
0:成功;<br>% o$ c( Q% `1 w( Q# z2 \4 M
1:串口控制功能被禁止;<br>% |/ M) {0 F% K, r3 M
2:非法的指令名称;<br>! u7 }9 l2 G) w- Q* {
3:非法的信号源名称;<br>
7 h. A( R, l y6 l4:非法的多功能显示设备名称;<br>
$ k1 _ \+ I; X' a* m5:操作失败。<br>; W! c2 b1 e9 h9 x- ?: h9 r
17、 cSendData<br>) e1 Q2 b" m$ {- x9 |0 O
功能:发送数据到指定串口<br> q/ X( r. G4 T% t, B
格式:cSendData_PortNo_PortSettings_Length↵Data<br>. x9 X9 x4 e, a
参数:<br> y2 \& W3 ? q1 X
PortNo:串口名称,譬如COM1<br>
! N- o% @, E6 O9 h% ~PortSettings:串口设置,譬如9600,n,8,1<br>: |* Q( U# g6 m W6 w
Length:发送的数据长度<br>
# Z0 }! L6 E2 w& b8 cData:发送的数据。<br>+ Q( w: e( k( ]: S, S
执行结果:cSendData_nResult↵<br>2 J4 E i" I' S* I% L7 e+ T
nResult 可能取值:<br>
% `- l! c1 B$ T& |" w5 G/ N0:成功<br>
, G$ T4 M5 _8 |8 C8 L# d6 g1:串口控制功能被禁止<br>
- R( q5 S) G1 T- Z1 O2:非法的指令名称<br>, J4 R6 O( M5 \7 Q% U5 e$ q) s
3:非法的端口名称<br>$ Y9 {/ n: c2 C+ I' L
4:非法的串口设置<br>
+ Q& i# X6 ~3 [5 L- ~" Z2 t5:操作失败。 |
|