|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
( j; Z! P9 x/ o一、概述<br>4 k! P* T* L z; v$ t8 ? s
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>/ }& x+ E: Y3 t% V% |( X4 N- {
控制的接口。本文描述该接口的控制协议。<br>' [$ _" h; }2 c$ k! J' u
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>, k1 B% y3 ?" d7 m
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
3 W* M _9 V4 a5 s# t/ q( S机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>0 e: s2 p6 E/ }
该协议可根据以后的功能需求进行扩展。<br>6 I& ?9 ?- n7 E/ d) i; J
二、指令的命名和格式<br>; b; _8 d% ~: R7 E2 a6 m
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
5 E) ]. n; _/ O处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>) d& u, s: d8 e4 g2 g7 w* I. [8 T
其余字母是其功能的英文描述的简写。<br>( x/ G4 a% H; T: M6 T# a) R2 p* z$ s
指令及其参数、指令的执行结果均用字符串表示。<br>, u# x: y4 ]) J4 C* H" \/ p7 Y
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>& z ^2 K% I5 Q8 z0 d. r
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>" d, D3 Z+ Y, {
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>; @, L2 t* ]2 u% K) V2 m3 \
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
8 A) P! e) h# l' v' A1 [指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
2 v% `7 ~ ~5 t执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
6 u. L8 M, ~0 D& S/ O5 m, r三、指令描述<br>
$ x% R6 Z7 d4 g1、 ePowerOn<br>) M" F1 e1 M4 d: E# V) s7 J/ ?
功能:机芯开机<br>
. X J$ X3 b0 ~5 ^! n7 z* B格式:ePowerOn[_WallName][_ProjNo]↵<br>
+ s4 A& c' C/ t# x3 w参数:<br>% b& n9 f; E! l( G
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
, ]& b3 e5 h1 B8 A' s也必须省略。<br>
( s9 Q" A1 p9 ^; \3 VProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br> C% M4 a( q. f7 D W
芯。<br>
5 F& y+ Y/ H2 g, |1 l执行结果:ePowerOn_nResult↵<br>0 ~1 M U7 U X$ l, Z. J5 ]$ r
nResult 可能取值:<br>' `5 a8 N. E9 g2 U( e
0:成功;<br>! T" K! _# f) r0 m P/ u, {
1:串口控制功能被禁止;<br>- H% f0 H1 b, n& j
2:非法的指令名称;<br>0 ^5 Z5 p, s- o( e: \
3:非法的拼墙名称;<br># T8 _# r' w, x+ @+ v! S
4:非法的机芯编号;<br>
2 N# g& ]7 w: d7 F1 ?2 Z5:操作失败。<br>& M2 ^8 B! ]0 C, o0 O
2、 ePowerOff<br>) I* G7 j( v+ u4 r/ {+ w3 a/ E
功能:机芯关机<br>
) D) p6 D' i9 H' B7 U格式:ePowerOff[_WallName][_ProjNo]↵<br>
. ~8 _# v& F: `参数:<br> h3 C2 J4 ~, X8 S' |3 U$ ?; \/ j
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>( W/ } p8 x' K3 @& q" O1 d* _
也必须省略。<br>0 l8 r7 F0 k; ?/ q
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>) O* i$ J4 I( _3 J2 H( [% e
芯。<br>
) [# h; b" n0 u# u- X" }执行结果:ePowerOff_nResult↵<br># M8 d' C' U$ x& `9 X3 J
nResult 可能取值:<br>* k4 [; `2 t/ Z$ e! D0 E
0:成功;<br>
) k4 b g7 ^* X, @1:串口控制功能被禁止;<br>0 T" s9 Y2 \3 C3 o" p
2:非法的指令名称;<br>
8 D+ [1 S5 G, h/ z8 l( K3:非法的拼墙名称;<br>: b; B* V, _8 ~8 R
4:非法的机芯编号;<br>3 n5 V' Q- f+ I' S
5:操作失败。<br>
' [. { x' Y" P. n( Q5 j9 P3、 dPowerOn<br>* t" ~: w4 G" o$ g5 \" W
功能:多功能显示设备开机<br>
4 j t3 F- E/ W格式:dPowerOn_DevName↵<br>2 K+ K1 i1 ^: ~8 i2 }
参数:<br>* w$ y' x9 V1 n% ?5 b
DevName:要进行该操作的多功能显示设备的名称。<br>
0 {* p9 W/ G) P, {- L3 ?执行结果:dPowerOn_nResult↵<br>
* N5 a* _ X1 GnResult 可能取值:<br>
$ v& N# C) y# |2 h0:成功;<br>
8 K. X2 ?1 u9 C; h' g: o1:串口控制功能被禁止;<br>
; j( r2 q' x/ A z, d, t2:非法的指令名称;<br>4 M8 d, O: H# P* V. g% z" A
3:非法的多功能显示设备名称;<br> I$ F1 Q$ I2 S6 e$ g
4:操作失败。<br>
: v5 n7 b- x2 q. }4、 dPowerOff<br>
5 E5 p4 N: Q* V8 }& I8 p+ Y功能:多功能显示设备关机<br>$ D- ^& q' V0 o3 g
格式:dPowerOff_DevName↵<br>
- p1 I5 U+ R- r1 ~4 v- \参数:<br>
6 ?/ n) `. \2 ^$ }* GDevName:要进行该操作的多功能显示设备的名称芯。<br>0 A. J0 V8 \+ v; t& k9 g2 t6 _
执行结果:dPowerOff_nResult↵<br>
1 B2 S% l( m6 W6 inResult 可能取值:<br>
( P8 t- r i1 y7 Q0:成功;<br>
7 z# ?" [4 [+ U% s) }1:串口控制功能被禁止;<br>
# F- w/ H2 i/ o+ {, }7 |2:非法的指令名称;<br>& Q8 r H/ B7 I7 g5 ?' O
3:非法的多功能显示设备名称;<br>
: L0 p2 M4 @, J4:操作失败。<br>
, ?* F3 M9 Y: [! e7 `2 a$ G. Z5、 eCloseWin<br>
$ h+ I3 S4 n/ }3 u* {* K2 @功能:关闭所有机芯直通窗口<br>0 g3 j) L+ U. U) \; ` j F1 k
格式:eCloseWin[_WallName]↵<br>
; f5 ?# B7 M2 P, @4 b/ y参数:<br>4 S. |/ E N F, c2 G/ T% q8 Q, I
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>! e+ O0 l, \7 W6 z0 R
执行结果:eCloseWin_nResult↵<br>
9 K( Z5 c0 w+ W# E* e9 o& xnResult 可能取值:<br>
+ y$ a) L+ y, v# ^+ |- S k8 k0:成功;<br>
( i& R; z; n0 W% J4 ^1:串口控制功能被禁止;<br>
! u3 V! P# C; Z2:非法的指令名称;<br>6 C) U, d* |2 s2 F s6 x7 p9 Q- y0 |
3:非法的拼墙名称;<br>. ~% Z+ \1 @: U
4:操作失败。<br>8 a% |: P; C f# ^/ K
6、 pCloseApp<br>( P% v+ ^" Y' S0 ]
功能:关闭所有处理器应用实例<br>& \0 O: A5 Q3 M2 W# s" j
格式:pCloseApp[_WallName]↵<br>7 A% O- A f! y
参数:<br>
" r2 `$ \3 _% k! Z* W/ ?6 dWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
: g+ o/ [) V% q, L) e1 N执行结果:pCloseApp_nResult↵<br>
- H5 q# X: l- n# m" {nResult 可能取值:<br>
0 F/ a2 q x* H( e' l% ?, }0:成功;<br>
}7 n6 u. z; ]1:串口控制功能被禁止;<br>' E3 z) `& U. D ]5 t
2:非法的指令名称;<br>
/ o: d5 |3 A2 P V3:非法的拼墙名称;<br>
, L0 Y9 \9 {' k# K4 S, z6 x2 g4:操作失败。<br>/ z4 K1 M2 k9 h! {6 a$ a7 f- e3 `3 }
7、 pCloseWin<br>- x$ O' p9 o/ }# g0 V
功能:关闭所有处理器窗口<br>% I: y2 I% S. I( h4 I; x9 q' V
格式:pCloseWin[_WallName]↵<br>, A; F# J% a l4 a
参数:<br>5 ~; `3 V6 I1 c) w% d
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
* [0 S8 A% }( U5 ]7 y执行结果:pCloseWin_nResult↵<br>) g7 C @5 R, {/ e8 E
nResult 可能取值:<br>! @0 E- Z; y. N! J, `0 I1 _
0:成功;<br>; m& \/ G; E1 D3 \3 t% ?* l, G
1:串口控制功能被禁止;<br>7 j# H/ k/ t ]3 C1 j3 y
2:非法的指令名称;<br>
3 [( L. C% ?/ Z: P; i3:非法的拼墙名称;<br>
3 Z M: I1 Z( k" e$ ]4:操作失败。<br>' G3 F' K8 x4 U! F! \* |. \
8、 mApply<br>6 f: \9 A8 O6 L" {% `* q9 u
功能:执行已经定义的模式<br>
% z/ v9 a5 f3 B4 ~( B4 K9 Y% n格式:mApply_ModeName↵<br># e, W" A2 q1 \/ \& e
参数:<br>
4 U5 K5 T; k. z: QModeName:要执行的模式的名称。<br>
, j0 l1 H+ E- J执行结果:mApply_nResult↵<br>
2 q9 m7 a. _0 M/ `0 h5 {nResult 可能取值:<br>% b$ |% S) g( C' n+ M" f
0:成功;<br>6 s' `. G1 t. D
1:串口控制功能被禁止;<br>
: n1 b# g/ G+ N$ u' N2:非法的指令名称;<br>3 {& [. R4 k( l+ p
3:非法的模式名称;<br>4 e8 j. u1 B$ b3 m$ n( |7 X8 j
4:操作失败。<br>
" {1 P2 |( m% P4 D" Z5 T. ^9、 sSelVideo<br>
+ J2 }( e; [+ V A; u# g功能:将一个VIDEO 信号源选择切换到一个监视器<br>
- k- E% b$ O, D- e0 j格式:sSelVideo_SouName_DevName↵<br>% n" u; X0 n% M2 H
参数:<br>
, f! C4 d4 |3 M% E: JSouName:要切换的VIDEO 信号源的名称。<br>0 ]" v2 o- H+ R& T+ {5 ^) g$ i% H% r
DevName:要显示该信号源的监视器的名称。<br>. F1 j. y, L* N# R# k7 h; l
执行结果:sSelVideo_nResult↵<br>+ v. E1 G0 x' l" _1 }$ U/ w
nResult 可能取值:<br>& D5 s' t$ e0 h# N1 o6 k. H
0:成功;<br>- e5 U7 Z- t( O B' {, r' B0 e
1:串口控制功能被禁止;<br>3 \4 c& _* H6 O f: {6 K
2:非法的指令名称;<br>
. L9 D, Q3 v L) w2 ~3 ]+ h" L# o3:非法的信号源名称;<br>) b' I% i' T+ w- H: c" r3 Z, I
4:非法的监视器名称;<br>. F4 h; k$ J* I8 o* g4 N4 F
5:操作失败。<br>& L9 m1 O/ x4 d% a p3 {$ ?
10、 sSelCamera<br>
8 Y% Y5 A7 N6 n( \7 N/ M" @7 o( e功能:将一个摄像头信号源选择切换到一个监视器<br>! g8 ~; u4 w. y" f1 Z. W, O5 a' M. m! ?
格式:sSelCamera_SouName_DevName↵<br>8 p5 W) Q" U, z" ?/ W: k
参数:<br>
! h6 P: T, x' O+ p4 z2 @' gSouName:要切换的摄像头信号源的名称。<br># O8 K( Y1 G- c: Z$ G7 z. ~
DevName:要显示该信号源的监视器的名称。<br>: b# B5 H( ]" P V
执行结果:sSelCamera_nResult↵<br>* ?4 G7 w! M3 ?1 t" Z+ y
nResult 可能取值:<br>) ?. h# D8 ~ K) a A/ \0 d
0:成功;<br>% T* \3 X1 d" ]% O
1:串口控制功能被禁止;<br>
# i0 f% Z2 W# n ^7 R2:非法的指令名称;<br>
, F+ |. o" T6 `/ m! A( N3:非法的信号源名称;<br>' R. T. N3 s0 N
4:非法的监视器名称;<br>
6 V/ x! R* F3 _" B8 L; X/ M5:操作失败。<br>/ n. R! }6 r+ A
11、 sSelRGB<br>
$ R+ ^, Q; \% j- t功能:将一个RGB 信号源选择切换到一个显示器<br>
; [/ y" Y% m5 ?: f! X7 N- X% @格式:sSelRGB_SouName_DevName↵<br>. h4 C; |. O/ d! N1 X F
参数:<br>, ^ C4 f" K! f, y
SouName:要切换的RGB 信号源的名称。<br>
* ? ]3 y' Z, J: }2 p8 y/ [. NDevName:要显示该信号源的显示器的名称。<br>: m2 ]! }" `- Z* b: e
执行结果:sSelRGB_nResult↵<br>1 u: `( i# H# h
nResult 可能取值:<br>2 ?) x5 \1 y% U9 j( w
0:成功;<br>
( n/ t i# u" t* w. Q; N/ V! j1:串口控制功能被禁止;<br>
. I6 Y- O( l% T; @3 k9 v2:非法的指令名称;<br>
4 b" d [6 }& Q* M) b: [3:非法的信号源名称;<br>% L# J, ?1 U% k U# V8 ~9 @
4:非法的显示器名称;<br>0 P: L. L* c8 P
5:操作失败。<br>
$ r& S9 Y- ^: Q: f12、 sSelAudio<br>
6 [" w" C9 C4 U! A功能:将一个AUDIO 信号源选择切换到一个播放器<br>6 Y/ z! H& @0 }4 N- T1 _1 d
格式:sSelAudio_SouName_DevName↵<br>! q8 E8 h1 x! Y; d
参数:<br>- a% a$ J, ]8 U* |7 W# x" X
SouName:要切换的AUDIO 信号源的名称。<br>
$ Z2 L+ f; u7 L4 EDevName:要显示该信号源的监视器的名称。<br>
5 v3 C, B, \1 A! l' ?执行结果:sSelAudio_nResult↵<br>0 i5 I5 j/ Z5 l; v$ o
nResult 可能取值:<br>
3 B& C1 T9 k3 b% p" _+ G. S5 k0:成功;<br>
2 O3 U' f2 b0 n5 W8 {/ `% C) z' W3 l: E1:串口控制功能被禁止;<br>2 b: p0 N8 a* l! }
2:非法的指令名称;<br># x6 q6 O( J; D7 L3 }1 e
3:非法的信号源名称;<br>
3 T2 ~" i k* [0 w3 l4:非法的播放器名称;<br>( b: i/ M" C J" N# Z- F" k
5:操作失败。<br>* Z# j, J D; o Y; u. V
13、 sSelVideo2MFD<br> y. G2 W' j2 e! b7 [! E" X/ Y
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>7 J c* }0 ]& a
格式:sSelVideo2MFD_SouName_DevName↵<br>5 u. M9 ~7 S$ Z' u$ m# V3 a) k
参数:<br>/ ~" t1 v& a. u7 B
SouName:要切换的VIDEO 信号源的名称。<br>
7 U& M4 l9 p/ L/ \DevName:要显示该信号源的多功能显示设备的名称。<br>
' {8 Z6 ^4 C, z' S: x执行结果:sSelVideo2MFD_nResult↵<br>
3 P; P1 u `# E6 v; d5 C& x0 enResult 可能取值:<br>
8 e: ~' b; ^* E1 {5 W5 F. u0:成功;<br>2 @& m3 N" B; j8 B @2 n4 w5 A4 k$ h! L
1:串口控制功能被禁止;<br>9 p a3 z# D' o7 X
2:非法的指令名称;<br>3 d: [1 Q, Y0 n9 O
3:非法的信号源名称;<br>* B" F& q% K7 s M# ?! Y
4:非法的多功能显示设备名称;<br>) `1 ?" j2 R5 F+ c3 c
5:操作失败。<br>7 P' N3 e& }6 T
14、 sSelCamera2MFD<br>: s+ U6 u* D8 A/ _ V9 n0 O
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>" M- S/ K2 _! Q/ L4 L2 _- C
格式:sSelCamera2MFD_SouName_DevName↵<br>
5 ~: b% a# R) ]7 I. [( u; b参数:<br>" k' y( |/ a% A: `
SouName:要切换的摄像头信号源的名称。<br>
" ^7 ]2 H' L9 A& D/ L# ODevName:要显示该信号源的多功能显示设备的名称。<br>
, ?7 @! H- R1 `# U/ A执行结果:sSelCamera2MFD_nResult↵<br>
+ |: }5 L3 m1 P2 w, tnResult 可能取值:<br>6 E5 S- E8 @ ?/ W3 j: I. z' y
0:成功;<br>
% D7 A/ q# G \1:串口控制功能被禁止;<br>& ]3 R- ~( `/ Z' a- B0 J! X
2:非法的指令名称;<br>
+ k' d# N& H7 h8 f5 _2 [3:非法的信号源名称;<br>
" K3 W& E( H1 @5 ^- ~, q4:非法的多功能显示设备名称;<br>$ G* H7 ?8 j7 Z- h) u. Z# C, T
5:操作失败。<br>
& |5 h7 G. O0 ]4 C. O9 u15、 sSelRGB2MFD<br>
7 Q8 Y" M S. ]% j8 H$ v功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
% c7 o+ N/ y+ s( {( O1 X7 J格式:sSelRGB2MFD_SouName_DevName↵<br>
* d" e X9 U2 T5 X参数:<br>( {, \5 i2 y' B$ I
SouName:要切换的RGB 信号源的名称。<br>- a) b2 b0 O" P& J% W
DevName:要显示该信号源的多功能显示设备的名称。<br>
$ t0 e4 o4 h- b9 L8 p& r" K" b0 V执行结果:sSelRGB2MFD_nResult↵<br>
8 A% j5 i8 I* n+ S0 r# f) ~5 {nResult 可能取值:<br>" v1 \: ~( G l) Q
0:成功;<br>8 X6 f8 q0 G, I& u0 M6 b. I0 K6 c
1:串口控制功能被禁止;<br>
- c$ G5 Y% W8 n3 o; q2:非法的指令名称;<br>
* g( }8 }: S' Y6 d3:非法的信号源名称;<br>- Q. a/ y% G1 H7 s2 `8 D+ q
4:非法的多功能显示设备名称;<br>
6 t6 d' \& Y! l, J0 }5:操作失败。<br>
' |( s) M+ v/ ~2 P; h16、 sSelAudio2MFD<br>
7 Z; }5 @6 s; i功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
. y' h5 g. J1 g# g格式:sSelAudio2MFD_SouName_DevName↵<br>7 q+ O4 L1 t9 A# w$ R
参数:<br>; E9 D- w) | |; r. H; H
SouName:要切换的AUDIO 信号源的名称。<br> ]( w* {! `% e" p1 M: H+ T
DevName:要显示该信号源的多功能显示设备的名称。<br>4 n8 u9 B& S Z7 T3 h5 Z
执行结果:sSelAudio2MFD_nResult↵<br>5 U2 }8 q" ?! p' K
nResult 可能取值:<br>
4 L: {6 r L8 |% I0:成功;<br>
* N" ^8 a0 J. r9 u2 j$ V1:串口控制功能被禁止;<br>" Q* n& a3 G! y2 X6 }, v' S) |
2:非法的指令名称;<br>( Y: N# U4 ^5 h) { M2 `. C" E
3:非法的信号源名称;<br>
2 q% c0 k' L& j) S) Q6 c4:非法的多功能显示设备名称;<br>
/ O s2 ^: X7 ^) V/ \2 e1 `: ]5:操作失败。<br>
5 U2 t$ }, f% w( m17、 cSendData<br>
$ t. |+ W) p s; `0 K/ o2 I7 ^功能:发送数据到指定串口<br>
. A/ Q! x& v, m' X格式:cSendData_PortNo_PortSettings_Length↵Data<br>
w& B( j, D- h: v参数:<br>) r& K+ w& ]: T6 `0 Q
PortNo:串口名称,譬如COM1<br>/ Z/ R" K0 | x. b
PortSettings:串口设置,譬如9600,n,8,1<br>
, D# T5 I: ], }* H( N4 V" [Length:发送的数据长度<br>
3 W# [3 I# I4 Y; T y5 dData:发送的数据。<br>9 ]- D- I" q8 |
执行结果:cSendData_nResult↵<br>8 u$ W7 v7 l* R* G- M0 O* s
nResult 可能取值:<br>
s6 c) f/ b, z. k$ ` k$ k& Y. t! r! Q' c0:成功<br>- ]- ~- g* O$ M) {
1:串口控制功能被禁止<br>
; E% [# l7 ?# Z2:非法的指令名称<br>; _! e% d4 U4 [+ {* H4 k* e
3:非法的端口名称<br>
5 V m7 s8 v8 A7 o0 m, {7 w1 G# n4:非法的串口设置<br>" A. X) Z" y9 r7 l
5:操作失败。 |
|