|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>! k* x1 F7 B$ T/ l9 `' t
一、概述<br>
# R0 h! O2 P9 t8 p为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>1 ^/ R0 V4 `$ j9 I
控制的接口。本文描述该接口的控制协议。<br>+ P# U2 o& I$ x8 s* f* T, C7 W
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
% B8 F7 k4 U1 M _; n. i过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
" k8 l- ]: N- Z机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>% \& I8 d- t8 g) `
该协议可根据以后的功能需求进行扩展。<br>8 @. q) n9 i+ s+ y, n9 u
二、指令的命名和格式<br>" d0 J5 |8 m8 V2 A c7 `
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
. A3 _ P: v2 r4 a+ Z9 O9 p. V5 r7 j处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
3 r* o6 l2 O* F+ A6 Q: E0 Z$ Q其余字母是其功能的英文描述的简写。<br>( u5 D1 {2 c7 R- P @
指令及其参数、指令的执行结果均用字符串表示。<br>
8 i. @! |" @0 |2 \5 Q6 N6 G- [ {每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>$ j& G+ p5 w4 t8 u$ g
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
! ]( w1 b9 |8 H- ^* _; S) S( O0 m指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
5 o; }5 G% K. z; b7 z7 m: `% i指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
) j9 [& g, e% R) A$ }, \指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
- J& T; u1 ^% k& Q执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
' b b! e( r8 A三、指令描述<br>. ~. n$ r/ o" y7 [
1、 ePowerOn<br>% w" ~/ G9 R% ~- u6 k0 m
功能:机芯开机<br>
. F. l" i2 x$ F$ u- R! p2 y# l格式:ePowerOn[_WallName][_ProjNo]↵<br>
2 {8 @( D4 _5 `参数:<br>
' d& v; x' x' b: [; GWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
( y/ F$ ]* }! D: |& {7 ~也必须省略。<br> V' G- h! _" X/ G
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>4 ]* Z& U8 ^. U- D3 `
芯。<br>
K, K& U \7 Z7 W执行结果:ePowerOn_nResult↵<br>& k7 W& a. J6 e! N# H+ ], C6 C
nResult 可能取值:<br>
8 ?7 ^4 `: s3 h9 ?8 k0:成功;<br>
* y! B/ U, ?1 L4 D- ?# c a& G1:串口控制功能被禁止;<br>4 O% O" f8 @6 }4 Q( y' [
2:非法的指令名称;<br>
5 k, Z) p3 \; B$ m9 B$ ]; X3:非法的拼墙名称;<br>
) _( y- [! C2 `* z4:非法的机芯编号;<br>$ q, n. ^' @7 M
5:操作失败。<br>
7 m p, [# Q' s% }8 B2、 ePowerOff<br>
6 F$ @9 |+ A- Y1 P1 P功能:机芯关机<br>
, C- A- c) Y8 E1 r5 l格式:ePowerOff[_WallName][_ProjNo]↵<br>1 z! s# s" }3 \1 W& ~# `' [, S$ A
参数:<br>
$ `0 Z' P7 H& {/ O9 jWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>9 R3 W# G+ i/ m) C
也必须省略。<br>8 ^7 Y+ S/ ~: J! ^5 t# ~( H! K7 u( Q9 Q
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
$ {. h( a- m$ Y7 z+ `: e+ n芯。<br>
0 _8 Q! D4 _, ~# B* J执行结果:ePowerOff_nResult↵<br>
# \8 S3 x! \" e. K4 I8 |% z+ dnResult 可能取值:<br>) h, u: v' U* k* G1 [/ _
0:成功;<br>+ n6 e0 g( n6 V( N
1:串口控制功能被禁止;<br>
$ E1 |8 z; A1 j1 u3 w2:非法的指令名称;<br># o9 X" }& A' ?4 O8 j, [3 B& G
3:非法的拼墙名称;<br>8 I) v8 S" K6 U% w
4:非法的机芯编号;<br>
1 R) X. b5 @7 C8 ^( t9 T5:操作失败。<br>
. O# w" z4 y* T2 v! ?7 y3、 dPowerOn<br>
; S7 e# `3 ~" \* J+ i5 L. @0 k功能:多功能显示设备开机<br>
a! ]4 v4 V6 E9 {格式:dPowerOn_DevName↵<br>: i# h/ h0 L" m
参数:<br>
! z+ D$ N1 h5 Y: {DevName:要进行该操作的多功能显示设备的名称。<br>! l1 X; q+ S+ y. ]9 z
执行结果:dPowerOn_nResult↵<br>% O6 |0 K3 V! ?0 ]; Z4 l
nResult 可能取值:<br>
& R% |2 r$ N5 W. ^0 S/ i+ v0:成功;<br>! h& R9 x+ j3 j! i! q# x
1:串口控制功能被禁止;<br>
u# U |& R* N( N! g2:非法的指令名称;<br>
! D: q6 t4 \" z- K+ i5 H4 G3:非法的多功能显示设备名称;<br>/ E8 x. Q" c2 d
4:操作失败。<br>7 J$ A, @' U0 G. ]0 g! H
4、 dPowerOff<br>
& K% n2 [& g M功能:多功能显示设备关机<br>7 R1 S$ b2 C0 ?& [
格式:dPowerOff_DevName↵<br>
" q( I$ f7 f7 u1 w参数:<br>& D7 ?+ k6 |( e2 o
DevName:要进行该操作的多功能显示设备的名称芯。<br>$ T, c4 s3 b3 G$ y
执行结果:dPowerOff_nResult↵<br>
: T) I7 p; K, N# b5 WnResult 可能取值:<br>
8 u2 Q+ |4 A) P: r3 G; J0:成功;<br>% O" a: x; f! ^% G7 R0 x; ]
1:串口控制功能被禁止;<br>
; @7 U% Q5 p: a( R" p2 N0 N2:非法的指令名称;<br>5 x3 l) E2 M7 w0 s) p
3:非法的多功能显示设备名称;<br>
$ V$ O, c# x! S/ ?4 u4:操作失败。<br>
4 d. ]+ K7 ~/ C2 `2 t5、 eCloseWin<br>" j' o* W6 u: h4 e0 @' Z- S6 L& @
功能:关闭所有机芯直通窗口<br>
( ~6 B2 I$ w9 ~7 z9 n* @8 X9 m7 U格式:eCloseWin[_WallName]↵<br>- n( `/ L, y9 F7 H; o
参数:<br>
/ ^ W! s7 Z5 v6 E) |* J# nWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>( m& s/ u% {) c9 N
执行结果:eCloseWin_nResult↵<br>
0 G- h& b' g' R* onResult 可能取值:<br>
% } l& }: n3 ]( T M0:成功;<br>7 M) u5 J1 h& k6 y) i% S
1:串口控制功能被禁止;<br>
K+ A% e3 r& q! N: D9 r' h2:非法的指令名称;<br>
& e1 G7 f3 T F7 y2 h2 {3:非法的拼墙名称;<br>
2 B; I6 {( e' L- L' |$ C* x8 o4:操作失败。<br>, O& z0 A4 A4 Y7 \* q* Y; n. R
6、 pCloseApp<br>
! Z0 |# V0 M4 Y) h( X5 Y功能:关闭所有处理器应用实例<br>
3 p1 d( c0 \. {格式:pCloseApp[_WallName]↵<br>
' B/ H; Q: d I7 t. }参数:<br>
( ^/ Y5 q2 x, sWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>1 ]# c( x$ G2 F6 h. T: b% W# X
执行结果:pCloseApp_nResult↵<br>
5 @# i# `7 z2 W( B; JnResult 可能取值:<br>
# e1 n/ Z* `, p( Q% {, y$ t7 ?0:成功;<br>. g9 i9 m/ @/ ]: L% F
1:串口控制功能被禁止;<br>! h% y6 O' o5 L8 F
2:非法的指令名称;<br>
3 U1 T: E) q' m+ \- R; Y$ e' I3:非法的拼墙名称;<br>
! f) e5 J6 `0 H4:操作失败。<br>
6 ~4 h, L% k, P$ R% X1 ~ O' \7、 pCloseWin<br>7 G7 l6 H" U+ U1 @8 W
功能:关闭所有处理器窗口<br>5 F: _! y0 r! g. \0 b
格式:pCloseWin[_WallName]↵<br>
6 T3 b$ w# T9 W {9 }参数:<br>
5 b# ~' ]1 h8 C) X$ {7 wWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>" X$ o* [- D4 J) o( u
执行结果:pCloseWin_nResult↵<br>0 }% `8 ?- m4 J0 L4 }
nResult 可能取值:<br>
- H4 }0 W' ^- e. x0:成功;<br>
9 K. h3 [4 |- W3 u9 A1:串口控制功能被禁止;<br>& i0 O9 z: h' g- G9 }! [
2:非法的指令名称;<br>3 Z b: e* \' l$ T# F! e" ^2 t
3:非法的拼墙名称;<br>
" x. M" m. h, A. s# h4:操作失败。<br>
4 A( J" Q& E6 X1 M6 c R! X+ O' N8、 mApply<br>
# |: \- T: F S& ^5 c- [* @ }4 L功能:执行已经定义的模式<br>
) m+ W* w5 ^. n- Y0 V% M$ J格式:mApply_ModeName↵<br>
8 D/ ?, K7 Z1 a$ x5 f# G参数:<br>
8 m! q+ t. K# ]( t4 _ModeName:要执行的模式的名称。<br>
. w5 y0 j- b6 a V) j执行结果:mApply_nResult↵<br>
0 S8 w O% S2 T* bnResult 可能取值:<br>* p7 f$ j0 w" M1 \* P
0:成功;<br>
, P8 i% j a/ T* W& k1:串口控制功能被禁止;<br>
& O: z$ M) r9 v8 y0 z2:非法的指令名称;<br>
7 v" F C0 I! ?3 c3:非法的模式名称;<br>
/ B R6 E+ V& x5 b. _/ l& R; j; r4:操作失败。<br>
& W! v) t- p' g" Q" i9、 sSelVideo<br>1 n# H0 ]& V! Z7 n- D; P
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
' E- ^% r+ U# v3 A* ?' e8 i格式:sSelVideo_SouName_DevName↵<br>) L5 i! V- G5 O+ G- {7 ] S
参数:<br>1 I% X' H+ a$ W' s; }
SouName:要切换的VIDEO 信号源的名称。<br>
* g j, `7 H$ j2 g+ ^, S! G1 s! WDevName:要显示该信号源的监视器的名称。<br>
; ]9 q: y2 r) p! S执行结果:sSelVideo_nResult↵<br>
+ {; g e6 F% MnResult 可能取值:<br>
/ C5 W3 ^! p3 t! G; G0:成功;<br># ]0 b. X6 ^9 r0 b8 B7 R
1:串口控制功能被禁止;<br>9 H8 i, J/ Q! k3 N' u9 f, H) K8 F
2:非法的指令名称;<br>
$ b# @+ ]- e/ x: [3:非法的信号源名称;<br>
/ z4 K( b: {& K; y2 w+ J2 u" I/ g4:非法的监视器名称;<br>' z0 g2 X5 F; z+ ~$ E: w% b
5:操作失败。<br>
8 g/ T' x7 ^+ u2 F# k10、 sSelCamera<br>( S/ B* G; X6 @; x
功能:将一个摄像头信号源选择切换到一个监视器<br>
; s) l$ ]0 A; f& D" b% K" `+ q格式:sSelCamera_SouName_DevName↵<br>( {+ ]1 V: D& w* ?8 R8 E1 S
参数:<br>
+ x$ K; @3 q* j( ~8 jSouName:要切换的摄像头信号源的名称。<br>
, V1 f" Q% A$ w8 p5 q1 |DevName:要显示该信号源的监视器的名称。<br>
) I N% j) I3 J0 H) N, P执行结果:sSelCamera_nResult↵<br>
+ b9 K0 B9 B, YnResult 可能取值:<br>+ W4 H- o4 R8 G' x( k
0:成功;<br>
, d$ _, ~2 `& G1:串口控制功能被禁止;<br>" L1 F; Y; A5 I4 H. J# V {
2:非法的指令名称;<br>
9 Z" m/ S& M; P; N3:非法的信号源名称;<br>
- d, m, F( q2 L2 M4:非法的监视器名称;<br>
/ d9 R) J2 M3 z( E/ l5:操作失败。<br>
' C" C9 v# K( y0 z11、 sSelRGB<br>! y( G9 s/ T. j1 K) x
功能:将一个RGB 信号源选择切换到一个显示器<br>
" M3 C% z! M+ h' x格式:sSelRGB_SouName_DevName↵<br>! ~, h* X" T. }4 x h& n" _5 n
参数:<br>
- V9 c0 L2 N/ K) S! @/ BSouName:要切换的RGB 信号源的名称。<br>: e3 b# i# N1 F! o
DevName:要显示该信号源的显示器的名称。<br>1 Z' M7 i; S x2 `. n
执行结果:sSelRGB_nResult↵<br>, v0 b4 Y: P, B+ e# k4 u1 `, _4 W) @
nResult 可能取值:<br>
0 P" z+ j0 x: ^* d% _+ C7 F7 R0:成功;<br> `( X+ @2 S' L) N$ V0 h0 [9 K! X
1:串口控制功能被禁止;<br>& v& Z. o2 T% K) `' W# g* h
2:非法的指令名称;<br>. W" d; u, o; s# A4 h8 L
3:非法的信号源名称;<br>1 ^1 @' [# I3 P
4:非法的显示器名称;<br>
- q. ?0 F" u( [7 `$ G7 m5:操作失败。<br>
4 x( n0 R7 I+ A12、 sSelAudio<br>* L: m* |. ^. u1 I% h- G2 Y- Y, F) [ j
功能:将一个AUDIO 信号源选择切换到一个播放器<br>3 p) Z/ E( l- g) ^2 T# I- n
格式:sSelAudio_SouName_DevName↵<br>7 ~; G& u3 k7 p* d, s( z' T0 T
参数:<br>
* R8 z1 W8 c! c3 L# T2 DSouName:要切换的AUDIO 信号源的名称。<br>2 i: C) p# y4 j: P4 c+ j
DevName:要显示该信号源的监视器的名称。<br>$ _* i4 y5 A7 x' M3 d0 \
执行结果:sSelAudio_nResult↵<br>. U6 u) m p: V
nResult 可能取值:<br>% d5 W9 C1 R3 B" l ?! g' i4 g
0:成功;<br>
5 A+ W6 O4 N8 \9 k4 `1:串口控制功能被禁止;<br>
% [9 E6 G# o# s" v. N( C2:非法的指令名称;<br>
9 k+ W/ ^ |* V3:非法的信号源名称;<br>
0 e- u' D# @, E. d, f4:非法的播放器名称;<br>& V; l" Z9 R4 c
5:操作失败。<br>
& e/ D0 ^& ^, r9 Q& \1 o. s13、 sSelVideo2MFD<br>
+ ?+ N" P2 a; ^6 c功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>" X4 [3 f; a7 q
格式:sSelVideo2MFD_SouName_DevName↵<br>
- D6 G3 u [, I5 u参数:<br>
# {+ v% o) i. _% r# b6 u8 DSouName:要切换的VIDEO 信号源的名称。<br>
% s0 V. h/ B" E$ M" I% `8 YDevName:要显示该信号源的多功能显示设备的名称。<br>
9 F) m# F. I: F" r& x执行结果:sSelVideo2MFD_nResult↵<br>4 F) Y, ^* d8 O9 K& |9 R
nResult 可能取值:<br>
. @$ `5 J3 @+ {+ E/ l1 B) a! |; u2 Z0:成功;<br>
& H' o h% l/ |1:串口控制功能被禁止;<br>
f+ ?9 _4 H/ T/ Z3 O+ B& u2:非法的指令名称;<br>
2 p- |+ D7 `! w2 @0 x3:非法的信号源名称;<br>0 w/ L* m& R Q k
4:非法的多功能显示设备名称;<br>- _4 f; j; V! n/ D0 m; G2 Q4 {$ {( P+ Q
5:操作失败。<br>
+ c: y( I( e; f: q) M, B14、 sSelCamera2MFD<br>
7 j( i5 u: a9 y: R功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
# `! C# p6 O) J- r6 j格式:sSelCamera2MFD_SouName_DevName↵<br>3 E/ O$ D; W' f
参数:<br>
, ^) h+ w" W$ l; t0 t& D# _7 OSouName:要切换的摄像头信号源的名称。<br>
$ ~" Z* |$ _" k6 h, E+ j1 _DevName:要显示该信号源的多功能显示设备的名称。<br>6 `+ S, p% v2 C( X$ l" p9 O! m+ H$ |
执行结果:sSelCamera2MFD_nResult↵<br>
2 R' x% W$ q6 Y- }3 Z( anResult 可能取值:<br>$ z Y+ K* ~5 ?0 o
0:成功;<br>
$ I* T; J& n0 h5 c: x8 j1:串口控制功能被禁止;<br>; a/ x" t l4 q) D, E# _
2:非法的指令名称;<br>3 H; P+ ]' g( e( `
3:非法的信号源名称;<br>. R$ L6 ~2 R! i8 L1 S0 j U
4:非法的多功能显示设备名称;<br>
/ M1 J6 G; A1 h8 n1 @; d5:操作失败。<br>
7 {+ Z) `7 }9 o$ E2 M15、 sSelRGB2MFD<br>: F1 o: Q$ C) L% [7 i, v" J1 E6 C
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>4 g3 G C' F8 R
格式:sSelRGB2MFD_SouName_DevName↵<br>
* T- E8 ?1 o6 y. k: F3 L, D3 u参数:<br>' U, ~9 ^; c) E& n' F
SouName:要切换的RGB 信号源的名称。<br>$ z0 H; c# e' @5 y
DevName:要显示该信号源的多功能显示设备的名称。<br>+ G' n& m2 h$ z' c- Q* j4 e$ ~" q
执行结果:sSelRGB2MFD_nResult↵<br>- D2 ~$ b: s- K0 X4 c- c T" C% H/ M
nResult 可能取值:<br>8 B+ D% r$ F R; q& s0 D$ @& R s
0:成功;<br>
+ s ~7 K9 J( o U( t1:串口控制功能被禁止;<br>' b6 o* n5 N& u4 `
2:非法的指令名称;<br>$ t, y e ]' i
3:非法的信号源名称;<br>& [. Q7 g1 t4 G0 q1 a6 p- c
4:非法的多功能显示设备名称;<br>1 w& c2 J8 @4 o
5:操作失败。<br>. S( {0 g3 H; D4 M" z2 O/ X; e4 {" J
16、 sSelAudio2MFD<br>9 Z+ k/ R! v H; m+ D# U. t
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>0 d$ S; N8 [9 u9 F4 g4 I {
格式:sSelAudio2MFD_SouName_DevName↵<br>" j) U5 \: w. |; a* l3 h/ n! a
参数:<br>
: ~) H+ G2 i+ BSouName:要切换的AUDIO 信号源的名称。<br>
, s2 K4 q8 `& ?+ |2 v W. @$ G) TDevName:要显示该信号源的多功能显示设备的名称。<br>
+ m4 A D- e. [$ D执行结果:sSelAudio2MFD_nResult↵<br>
- K3 o& `, e8 k' SnResult 可能取值:<br>$ E4 p0 i% O6 y
0:成功;<br>. B. h7 k" m6 p) t" ~
1:串口控制功能被禁止;<br>& B- U6 ^* x F/ J
2:非法的指令名称;<br>
7 E' w% E1 ]1 R; d. n8 v3:非法的信号源名称;<br># m* \6 w* i4 \, M2 O5 \" |
4:非法的多功能显示设备名称;<br>
( s' J7 A; g2 S5:操作失败。<br>! A0 j. F5 G* j, S( a. t- J5 I
17、 cSendData<br>0 K2 Q7 h' L! k) }9 M* X' n! N
功能:发送数据到指定串口<br>
$ w6 e% y$ Z( S格式:cSendData_PortNo_PortSettings_Length↵Data<br>! b2 e+ f8 {' l7 b) }1 @
参数:<br>
8 W5 X; B; N8 x: f6 ^: V& bPortNo:串口名称,譬如COM1<br>
$ H& ?$ d; ]" v7 k7 q! [' Y A2 C1 UPortSettings:串口设置,譬如9600,n,8,1<br># n- m. n2 M1 ?- x+ j4 O0 g
Length:发送的数据长度<br>0 ?4 [- v* \: E6 O
Data:发送的数据。<br>4 H2 P$ X, I0 S! @! F# f$ O
执行结果:cSendData_nResult↵<br>
# j% O) w- I: `$ N3 R/ Q. [( JnResult 可能取值:<br>' Q* s0 M: |5 U" Y9 Z! W
0:成功<br>5 o# B) w3 V, |. s+ k! Q
1:串口控制功能被禁止<br>
: f2 v% t2 i5 @4 B2:非法的指令名称<br>
6 W: |+ J* q3 R S& i( L9 i3:非法的端口名称<br>
+ Q1 m7 E3 a9 F( @/ {4:非法的串口设置<br>
# J9 D- N z8 F' P5:操作失败。 |
|