|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
$ N6 m+ ~% Y% D x1 q7 i* T l一、概述<br>
3 y1 |3 E0 ]0 ]+ v! b为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
: }) M+ J" W; p; J: l0 V3 T# k, R控制的接口。本文描述该接口的控制协议。<br>
: L* Z& a* h5 f. ? y$ P/ u) b2 HVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
% s: U9 ]4 S5 w6 y( Z9 v* G$ }过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>. L0 H1 L$ K& I% k4 ]: w
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>/ U. [& \. N8 [7 E4 `0 B2 ]0 Z
该协议可根据以后的功能需求进行扩展。<br>
3 R- ?: Y/ z$ K. @& m二、指令的命名和格式<br>6 [5 M0 T* z; j9 |- m; K
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>; o8 D( D- c, I" m6 C
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
; q6 V1 s+ W& p" S" F. B5 P其余字母是其功能的英文描述的简写。<br>& x: T( A* O+ `0 d! \8 O! c
指令及其参数、指令的执行结果均用字符串表示。<br>
% {. Z! l( W s5 S每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
( ^& W6 X' X1 w! x5 T的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>5 o+ `& l* ]- L+ V
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
( Z# i/ r( V' q2 n! Z- M3 O: J7 B指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>2 a5 ^) U; ~7 w; e
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>5 v$ J5 \5 v( D4 L \& v5 F
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
% m% X' D- D- W% p, n% N& m3 x- ~三、指令描述<br>
6 x$ E4 [, c F6 Y8 c1、 ePowerOn<br>
( p7 g, k- G+ m6 R9 r功能:机芯开机<br>
3 v( E5 l& _* x! _6 M' V格式:ePowerOn[_WallName][_ProjNo]↵<br>
5 e6 m! U' D7 ^- ]参数:<br>+ k$ j* D: W8 a3 j9 y* h
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
2 Y) U$ o t- Z也必须省略。<br>
. G0 z; X4 u9 \2 O- LProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>$ V0 P$ z3 k% n
芯。<br>* W/ u, K- p, `/ a
执行结果:ePowerOn_nResult↵<br>
2 @3 b$ M1 s0 O+ ]* A! @nResult 可能取值:<br>3 M3 U# I; O! b+ o m
0:成功;<br>" s5 G' M( t+ z
1:串口控制功能被禁止;<br>
9 x; c( x" e: D* d0 `2:非法的指令名称;<br>8 E6 J7 |' K, g
3:非法的拼墙名称;<br>
O+ [% y9 z. t" ^" t- L6 ?4:非法的机芯编号;<br>
. L- ~! Y! S1 c0 Y4 `7 r. {+ b3 l) t5:操作失败。<br>1 ^5 J9 A: g2 p
2、 ePowerOff<br>
3 ] M. e2 B7 F3 Y: |6 H$ j功能:机芯关机<br>, j6 p- B7 x Z9 U! b6 C
格式:ePowerOff[_WallName][_ProjNo]↵<br>/ v% V: B; o0 V$ ^: _
参数:<br>
/ \/ q$ i0 f% z; i aWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
|- z" l) Y# Z- R1 N' V+ ^也必须省略。<br>% v5 U! j7 j5 d: K8 f! |* {8 x
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
. R# M i" _; I芯。<br>4 ^/ W, U0 h& q, V) v4 H9 N E% D( f
执行结果:ePowerOff_nResult↵<br>. p; H) h7 @$ u. Z; V# A
nResult 可能取值:<br>" `5 J. h* [8 F" u X: H
0:成功;<br>
7 H+ |8 R2 l8 c( I4 d+ a1:串口控制功能被禁止;<br>" _) \: Y$ J3 i6 i; V0 F# c4 z+ s
2:非法的指令名称;<br>/ W5 ~5 D& ~6 y
3:非法的拼墙名称;<br>
* S8 x+ r* c' Z5 K/ @; I: L m9 p4:非法的机芯编号;<br>
8 u( p: X h% Q z5:操作失败。<br>
! l. p3 Q% b0 J9 o, e# l3、 dPowerOn<br>
6 f# |' S$ e, V6 ^8 e功能:多功能显示设备开机<br>
" U" A# J1 B5 {; X, ?4 X, e5 ?! M格式:dPowerOn_DevName↵<br>. ^; H2 X9 x8 k# U
参数:<br>/ G3 V! d+ B+ H4 p6 y9 ^! j2 a
DevName:要进行该操作的多功能显示设备的名称。<br>9 ~1 j, p8 j2 ?3 v) Q
执行结果:dPowerOn_nResult↵<br>3 s+ M( b. z) O; V: H' `
nResult 可能取值:<br>
/ }+ |. g& T" m: E0:成功;<br>
6 A0 b) ]0 P& p8 h7 H$ U/ Q7 e1:串口控制功能被禁止;<br>! Y p* z, m9 q) Q1 k9 O) ?5 C3 G% e: ^
2:非法的指令名称;<br>
4 v9 C( E+ r0 L" _3:非法的多功能显示设备名称;<br>
" g k, R1 N5 B+ r8 u' e5 p5 a* w: m& i- r4:操作失败。<br>6 N9 u; m8 _, i% v% X
4、 dPowerOff<br>
2 x( J5 e* n) U: T- `功能:多功能显示设备关机<br>: N2 O5 P* F) i' T
格式:dPowerOff_DevName↵<br>) F" |2 d8 _6 v! F! j/ F+ y+ L0 A. c
参数:<br>" `. i( d+ Y! L* y; T& i
DevName:要进行该操作的多功能显示设备的名称芯。<br># D7 O! i. L: K- U
执行结果:dPowerOff_nResult↵<br>5 m( i7 S5 S& R6 s
nResult 可能取值:<br>
6 |+ s" n: I7 `7 o0:成功;<br>2 c0 p* v3 X% H e9 ~6 v
1:串口控制功能被禁止;<br>
: B5 i/ p1 ?! c2:非法的指令名称;<br>
; [8 C% l' P8 Y9 W) z$ v# w- F. k' _7 R3:非法的多功能显示设备名称;<br>" G# t. [# K- D9 T5 d% d+ Q
4:操作失败。<br>
% n( x0 ?( Z: W* D6 Y9 c5、 eCloseWin<br>
( |$ `$ X6 W$ X1 t9 _功能:关闭所有机芯直通窗口<br>4 h# {- F E9 B% y; ?
格式:eCloseWin[_WallName]↵<br>& S1 c r& w6 o- i. e
参数:<br>
, c$ T7 u, ]6 I# _; p* eWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
* f" u3 k- {* u6 x" [执行结果:eCloseWin_nResult↵<br>3 Z! ^1 C% x( r; M: o/ {
nResult 可能取值:<br>) X' ~! q/ n6 L; }
0:成功;<br>- l! q# P5 G- R/ s1 `
1:串口控制功能被禁止;<br>
2 d# m8 a# W+ @" Y7 k2:非法的指令名称;<br>
: K. D- ?: m$ O# x$ Q' i ~3:非法的拼墙名称;<br>' w* t$ l0 n9 g
4:操作失败。<br>4 \& u! E* v$ f- {
6、 pCloseApp<br>
' h1 f C' j% Z/ h! v功能:关闭所有处理器应用实例<br>
' ?% D$ [ L4 y0 U6 ?! O. B格式:pCloseApp[_WallName]↵<br>3 }, a1 _% w: ^% f& d
参数:<br>" B- A5 G# x/ j# o, E
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>( [; r- @7 p! l5 j4 e
执行结果:pCloseApp_nResult↵<br>1 h6 d: r! R% K; V7 g* x) r: e
nResult 可能取值:<br>( f, o( ~/ m$ O( f3 G8 S* r
0:成功;<br>2 @/ b9 [6 J: y) \) s7 ~$ w
1:串口控制功能被禁止;<br>
' [* x; f6 J* I5 g0 U/ i1 k+ y$ ]2:非法的指令名称;<br>
8 B# ~$ x! I* \4 f3:非法的拼墙名称;<br>
- H( r" a3 M& V8 P& X4:操作失败。<br>
* f5 Y e$ M1 _. m9 k8 K7、 pCloseWin<br>- d- ~1 I$ ]+ U0 M! z% C" m" S
功能:关闭所有处理器窗口<br>
2 j1 ^# a2 N2 K, i1 L格式:pCloseWin[_WallName]↵<br>! @+ \' d' b6 A+ h; z- O
参数:<br>* ^' k! q. i, Q) Q3 o
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
( O2 Z* P. t- O3 V执行结果:pCloseWin_nResult↵<br>. ]3 v; U/ U+ A6 \" [
nResult 可能取值:<br>1 D2 z. y6 U/ D9 D; s& F7 H/ Q
0:成功;<br>
1 y: s7 s0 ]; v' r3 R: V1:串口控制功能被禁止;<br>3 ~; w, D! q" P3 {: F1 z
2:非法的指令名称;<br>6 l2 T- ~0 {- g) @3 r
3:非法的拼墙名称;<br>) Z# ? |: Y0 e6 }8 C! `) v* L- r1 ^
4:操作失败。<br>* Z" r3 D ~: Z! u" g6 m* k" `
8、 mApply<br>: `* T6 f7 w5 ^& z: i
功能:执行已经定义的模式<br>
) ]; `, G* e1 Z: s8 H% Q: I格式:mApply_ModeName↵<br>
0 X; ^4 d7 H' U* t5 ^1 F6 I4 [参数:<br>) E0 p: k9 h7 D# Y, A7 C2 P; z1 [
ModeName:要执行的模式的名称。<br>+ ]# @! u( x% B% B
执行结果:mApply_nResult↵<br>
9 H& ~9 y/ _4 H5 X* s" XnResult 可能取值:<br>; u& q0 _( |" b, k
0:成功;<br>1 x& j) Z- N0 j
1:串口控制功能被禁止;<br>& G# U/ p- t3 S1 Q: z
2:非法的指令名称;<br>" Y7 ^- N/ [$ b( ?
3:非法的模式名称;<br>& M9 [( K1 U: A. M. j2 M! z
4:操作失败。<br>
- H2 I# l$ \) @0 _9、 sSelVideo<br>
' K6 p# Y4 i$ C; [2 K功能:将一个VIDEO 信号源选择切换到一个监视器<br>* u b- r7 V% R; j- b
格式:sSelVideo_SouName_DevName↵<br>
H) t6 a/ j1 K: l& h: Q2 x# h参数:<br>2 K- x8 X% Q+ N9 E# l" P
SouName:要切换的VIDEO 信号源的名称。<br>
! p/ W- `$ E9 o- h( R* \DevName:要显示该信号源的监视器的名称。<br>
) I7 Q0 W: J1 s4 L执行结果:sSelVideo_nResult↵<br>: p5 S. `+ S2 s: h0 N
nResult 可能取值:<br>& y* D6 p& c* p* P; T8 _% ^
0:成功;<br>
& g, \0 W+ @- Z+ Q1 j, @1 D1:串口控制功能被禁止;<br>
3 ?# X8 T/ n, M2:非法的指令名称;<br>
( \9 I9 L- a' X3:非法的信号源名称;<br>0 Q* ^& R" l+ ?; f }, @
4:非法的监视器名称;<br>9 L3 H3 e+ J, D) J
5:操作失败。<br>7 H" j; I( I; o# b! l9 U
10、 sSelCamera<br>1 f( [* L& k, s0 d& {
功能:将一个摄像头信号源选择切换到一个监视器<br>3 a4 f: d" m* t' h! N. O4 z
格式:sSelCamera_SouName_DevName↵<br>
/ B1 D/ R8 w9 f/ }2 T0 E7 M: l' K. B参数:<br>+ \, [% ?8 U/ A
SouName:要切换的摄像头信号源的名称。<br>
+ I; x% B, p5 T LDevName:要显示该信号源的监视器的名称。<br>) w+ J U) d: ]/ E* S% b9 R
执行结果:sSelCamera_nResult↵<br>
2 r' T2 R2 t( |1 v- B/ Y' C6 Q: ynResult 可能取值:<br>
# d. K) v9 {6 N0:成功;<br>1 b) m$ v0 M, Z! V r
1:串口控制功能被禁止;<br>
3 H3 E& I! _* B: K9 w* f* l, r2:非法的指令名称;<br>% k+ b$ E3 X: h- e) ^" D# c# b
3:非法的信号源名称;<br>
; {. ]4 T& J6 C6 e: a; P) S- Y. x4:非法的监视器名称;<br>
% x; D6 a w. D, \ N5:操作失败。<br>- r9 C. M6 Q2 C0 {& _' w
11、 sSelRGB<br>
2 G5 A5 i9 B& I* H, {功能:将一个RGB 信号源选择切换到一个显示器<br>
2 {* q2 w0 I- x9 r格式:sSelRGB_SouName_DevName↵<br>
* ^, F' x$ Q; t$ q! e7 ^: d参数:<br>0 H/ ~% I; Z3 \9 g* ?2 o- T
SouName:要切换的RGB 信号源的名称。<br>5 W2 O! H' W9 T# X
DevName:要显示该信号源的显示器的名称。<br>* T& |# I" w4 V0 c
执行结果:sSelRGB_nResult↵<br>
" I! a5 |5 k7 n( J4 x/ I H3 jnResult 可能取值:<br>4 Z( T6 S6 r4 t! ?5 r- T2 Y6 |
0:成功;<br>
7 e2 C9 B; R+ f; Y1:串口控制功能被禁止;<br>( Z$ I; w) K# }2 Q6 |
2:非法的指令名称;<br>+ `$ l9 C4 G' S3 `# }& ^+ Q( {
3:非法的信号源名称;<br>5 Q y/ X) E' E# Y
4:非法的显示器名称;<br>" T0 C* j! |6 D6 G* H `
5:操作失败。<br>
: s5 M7 F$ e* f12、 sSelAudio<br>
6 b M+ [& ] p ? h7 h功能:将一个AUDIO 信号源选择切换到一个播放器<br>! @% s5 ~1 Y' ^5 R3 u/ ^. H
格式:sSelAudio_SouName_DevName↵<br>
$ n& R5 @; m6 @+ y参数:<br>- f7 i# B2 N2 z0 O
SouName:要切换的AUDIO 信号源的名称。<br>
W- q: ]& ?6 P3 u9 n6 V! QDevName:要显示该信号源的监视器的名称。<br>( c) y4 A# d) o* Z$ ~6 [! W
执行结果:sSelAudio_nResult↵<br>
# }( b1 C* q. S8 x. J4 }$ F0 ?3 qnResult 可能取值:<br>
1 f4 E2 n) i3 Q2 J8 t" L1 e* G0:成功;<br>
8 Y- c' o0 B0 O: n1 u7 {! w) Q( O1:串口控制功能被禁止;<br>7 E3 `4 T; {+ S
2:非法的指令名称;<br>% e0 i& y. @4 [# H" q! C5 s
3:非法的信号源名称;<br>
7 w" Z: g- ?8 d2 F- Q% f4:非法的播放器名称;<br>
. N) I3 A; \8 j& O6 F5:操作失败。<br>
$ W! e' g k6 g! \" e# L13、 sSelVideo2MFD<br>& K8 r* q' X' |( T8 ~* ?
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>2 Q# s! q/ z/ M9 U/ D
格式:sSelVideo2MFD_SouName_DevName↵<br>
9 ]5 j2 v5 l5 H% ]! ~# ~8 F参数:<br>& u. [6 p! W; q( e' \9 d$ y9 w
SouName:要切换的VIDEO 信号源的名称。<br>' m3 ]. }" H& U4 s& l2 O* q$ D
DevName:要显示该信号源的多功能显示设备的名称。<br>
) @( I1 S" F4 B* p+ F7 M+ [ D" E' g3 i执行结果:sSelVideo2MFD_nResult↵<br>
; H6 k# q+ j0 l/ \, n( N. mnResult 可能取值:<br>1 M% I7 t% J. H6 y* d3 Y0 S! ~
0:成功;<br>
+ d$ O" N8 R; n1:串口控制功能被禁止;<br>$ g j' q: W2 O/ r
2:非法的指令名称;<br>7 M% n0 g7 E0 }+ E
3:非法的信号源名称;<br>" R4 W5 i1 D) x
4:非法的多功能显示设备名称;<br>
5 F7 { B$ O) L( K5:操作失败。<br>& w( e: A: B* _+ ?
14、 sSelCamera2MFD<br>2 {6 c" }$ I7 L; v+ _5 P
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
8 _9 P0 a% m( [+ q. p格式:sSelCamera2MFD_SouName_DevName↵<br>
. K( \8 g' y# O! ^% p; x参数:<br>. K4 K7 M) w0 L& C4 x# \9 c
SouName:要切换的摄像头信号源的名称。<br>3 b0 {+ Z& W! N+ D5 D5 I
DevName:要显示该信号源的多功能显示设备的名称。<br>+ s0 e( S) B. x: `
执行结果:sSelCamera2MFD_nResult↵<br>& B6 i1 _" |# m& b* D
nResult 可能取值:<br>
7 x/ C2 m( ~$ k0:成功;<br>
+ p; Z7 E- F8 P& P r% |1 J7 @1:串口控制功能被禁止;<br>
: W) W. Y) Z+ s/ j& f: y2:非法的指令名称;<br>; J1 c& t7 _, L+ ]6 ?
3:非法的信号源名称;<br>9 F0 O3 A+ h) a
4:非法的多功能显示设备名称;<br>
# z+ B# b/ [# U% `3 {3 J5:操作失败。<br>, a% ]* Z7 L! s. @. R
15、 sSelRGB2MFD<br>
" u, ~$ e- v2 R: _* p功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>; D4 S s: v) T6 H
格式:sSelRGB2MFD_SouName_DevName↵<br>
, d3 Z P8 \, m. k0 G参数:<br>
) s( K- m; m$ x- x: TSouName:要切换的RGB 信号源的名称。<br>
% }- Q4 Y2 [: t. A- w& e) D8 C! DDevName:要显示该信号源的多功能显示设备的名称。<br>2 ~" o; ~# g4 [% f e3 }
执行结果:sSelRGB2MFD_nResult↵<br>7 M% x" Z! p8 t4 N9 P4 U# K
nResult 可能取值:<br>$ L6 m1 G# K; n( }. P1 u! B
0:成功;<br>2 k& F, T7 w* \4 \; d* N
1:串口控制功能被禁止;<br>5 u, B' R/ \0 w' i
2:非法的指令名称;<br>
# l g1 W/ r' r7 E+ g7 m3:非法的信号源名称;<br>2 H6 H( m2 L: E
4:非法的多功能显示设备名称;<br>
- U; n$ _- H) q% i- a5:操作失败。<br># L: }- N2 Z/ L
16、 sSelAudio2MFD<br>
9 G( t1 p# D# Q2 u功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
' A& T% T5 M) k( A( z0 C格式:sSelAudio2MFD_SouName_DevName↵<br>
! n L6 R1 j2 R4 Y# ~; }参数:<br>
8 Z- L H; [: t; y/ M- cSouName:要切换的AUDIO 信号源的名称。<br>' @( H! q4 L4 M0 H: z* B
DevName:要显示该信号源的多功能显示设备的名称。<br>- ?; v# @. b" u" ^
执行结果:sSelAudio2MFD_nResult↵<br>
! I, Y* j3 P# t- UnResult 可能取值:<br>& K0 O9 ] R8 D2 ^# L
0:成功;<br>6 j% e! q" M+ p# J1 Q
1:串口控制功能被禁止;<br>
, m! _9 a! @7 T* Q B2:非法的指令名称;<br>
% { T1 i G* o8 d1 h3:非法的信号源名称;<br>
( c7 n2 L2 _( T+ z$ r0 Q4:非法的多功能显示设备名称;<br>
% i/ j w$ h% H9 D, r5:操作失败。<br>
4 M& A* {/ g; q; j+ m ^3 m$ n17、 cSendData<br>
- [6 `+ c2 L5 J, N3 `9 ]5 z3 _; R功能:发送数据到指定串口<br>
1 t6 f6 \% H9 N, R6 }3 g+ |格式:cSendData_PortNo_PortSettings_Length↵Data<br>
( Q5 W1 H* z/ l$ }& i: [参数:<br>
! I! ?/ @3 c& F/ U SPortNo:串口名称,譬如COM1<br># c% u- ^5 v" v ?) a
PortSettings:串口设置,譬如9600,n,8,1<br>
0 c& {2 d; Z) N3 Q7 F* U1 I& ~" bLength:发送的数据长度<br>
6 V1 f! z, A: R8 b* O3 d& N& Q; ^4 DData:发送的数据。<br>8 P% [$ d* _6 e) M# l5 p
执行结果:cSendData_nResult↵<br>7 |0 o8 y+ q$ \# }
nResult 可能取值:<br>
9 M, W9 k& X( Y0:成功<br>, p/ q) Y& ]# k2 ~# A
1:串口控制功能被禁止<br>
: P# G5 `/ L: V. G! ~; W E1 F2:非法的指令名称<br>" B1 r2 i$ r$ g. ]( x
3:非法的端口名称<br>* W9 d: W4 S% a. _ |4 {# a/ _4 @
4:非法的串口设置<br>
- t$ h# w! k- V# J& G) y; H( R7 N- h5:操作失败。 |
|