|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
0 {+ ~" S/ N& |2 n6 m+ \& D$ h一、概述<br>
& k" `$ e) e+ I" b1 Y$ t为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>5 W3 M& o0 X8 e6 m2 E
控制的接口。本文描述该接口的控制协议。<br>
9 P6 c/ e0 C0 R+ RVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
/ Q( x* Q, o6 T9 u {% {3 ^: q过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
' \4 ^4 `: s* i" ?+ P* p4 [7 Q机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>; z0 c; a1 Z! R) p
该协议可根据以后的功能需求进行扩展。<br>) U+ U( B' s. z" O) w: g% p% R) H9 _
二、指令的命名和格式<br>5 E. J" T6 z' }. ]# f7 v# u/ w. \- c
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
1 @0 p' I* R) U P2 x, E/ A5 o处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
2 E5 C" P/ P4 x/ D. s% ]( f其余字母是其功能的英文描述的简写。<br>
) ?* A, C7 V: V) Y: N$ {5 f' h i8 Q指令及其参数、指令的执行结果均用字符串表示。<br>2 D8 i6 T2 G# V: c6 _; l, [
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>' f1 Q* ?3 O- V% \
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>% T9 d, [5 w( X% Q) q! S
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>. x/ @' I& m0 I
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>$ [; T( S6 N3 D/ H
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>' y4 w; U% z4 S# }# R9 Z
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>: C; ], ~! i3 a6 P( O% l
三、指令描述<br>
`3 A" Q+ ~+ Q6 L9 {1、 ePowerOn<br>
# k" v# g, q, Y+ y功能:机芯开机<br>
4 W. a: o3 N. {5 R0 X+ V格式:ePowerOn[_WallName][_ProjNo]↵<br>$ J4 U. M; m0 o- y5 W
参数:<br>) c5 M4 s, q# \- i
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>' X9 b* U/ U9 b& F& D9 z) @
也必须省略。<br>
9 k5 s9 ]7 Q. p: V% `ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>3 w7 O8 l# b$ u+ ~
芯。<br>
; |9 l6 \7 a* ]2 ?3 l: @$ V执行结果:ePowerOn_nResult↵<br>
T/ [: G! I9 F% Y' W4 bnResult 可能取值:<br>+ D( g( S1 J N6 \+ b4 M8 h1 M$ w
0:成功;<br>
) E7 C9 h+ I2 A+ I# s1:串口控制功能被禁止;<br>, m ^' R% r1 r7 ?5 l8 t6 t
2:非法的指令名称;<br>
3 g2 d# C: }5 T3:非法的拼墙名称;<br>0 r+ q" c4 e2 G2 _- V* y- B6 W
4:非法的机芯编号;<br>1 i* Q7 N5 j' O$ n7 G
5:操作失败。<br>
/ e% }& y' V3 h2、 ePowerOff<br>. O! F" @! `; q
功能:机芯关机<br>
1 ^$ A/ K9 r$ G格式:ePowerOff[_WallName][_ProjNo]↵<br>+ y$ j7 M; a+ V8 K; a ~
参数:<br>
# c! K' Z" `' N- V/ w- s8 zWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
. T/ y# |: n O) y% d2 t" i7 J也必须省略。<br>
! v0 D- i8 n* B- u9 D9 C% S. ~ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>6 `7 V$ M: u5 z0 X( H0 n) a
芯。<br>7 m5 m9 x8 D8 @! G
执行结果:ePowerOff_nResult↵<br>+ d+ |1 C1 m- g w3 H7 ~7 W) T0 w
nResult 可能取值:<br>
& X5 }4 a6 g, _8 S! t0:成功;<br>: S, R$ Y5 _' x8 e8 w" r
1:串口控制功能被禁止;<br>
/ G8 C, @* p% C& i+ B5 r2 l# x2:非法的指令名称;<br>
5 n7 `: S* Y) [8 X. C3:非法的拼墙名称;<br>
4 t4 i# B9 u: C, {. x4:非法的机芯编号;<br>9 X6 i; k" m+ g. Z! s0 `
5:操作失败。<br>
0 m, \( q8 d' `$ k2 A; q3、 dPowerOn<br>, w5 i: ^; a8 t- }# H& e
功能:多功能显示设备开机<br>
9 E/ ~* L- p' N6 {2 ]9 O) }格式:dPowerOn_DevName↵<br>; n* e, r8 M; s# R
参数:<br>
, M* L: s2 C, s# r' C" i4 HDevName:要进行该操作的多功能显示设备的名称。<br>
+ {3 E. H- c$ w9 _: h6 b% g3 p, H执行结果:dPowerOn_nResult↵<br>
* N/ @6 ] E5 \/ WnResult 可能取值:<br>
& @: j( ~0 m" S5 a. h0:成功;<br># a2 T1 K/ m% l2 b1 ?8 h
1:串口控制功能被禁止;<br>
; [% h. I9 L+ m) u" y2 R4 R2:非法的指令名称;<br>9 k7 v% D" e) w1 A S
3:非法的多功能显示设备名称;<br>
* _3 ~% R1 k& v" V& N9 y$ U* u4:操作失败。<br>3 {$ p, z) ]5 `8 G ?
4、 dPowerOff<br>9 Z1 \9 X( Q9 `
功能:多功能显示设备关机<br>
, C* c# R! c8 x, Z( D5 J格式:dPowerOff_DevName↵<br>- M1 q2 u+ ~% w* R, P) ^
参数:<br>
& @! R, {% u1 p0 r4 `3 T V! |DevName:要进行该操作的多功能显示设备的名称芯。<br>+ l" Y4 G9 g6 N9 n- Q4 |
执行结果:dPowerOff_nResult↵<br>( G' C. ]7 o- k- y$ Z' E: }
nResult 可能取值:<br>2 |# U$ ~* f; S* e6 P# W- V% X1 v
0:成功;<br>
. L( ?4 j4 {. G9 g7 }+ c) C* m1:串口控制功能被禁止;<br>
" e; S/ Y3 q* ^/ t- G: c5 B* \9 v2:非法的指令名称;<br>+ S8 ^4 X# @" _& J! |! |0 t; ~
3:非法的多功能显示设备名称;<br>
: r) Q9 J$ w4 |# b* u- A( ~( ^2 e4:操作失败。<br>" l' ^3 M9 _. H4 |6 u/ R
5、 eCloseWin<br>
& t/ J9 ^; ]" A功能:关闭所有机芯直通窗口<br>. D' a' j* a f1 l! B1 h6 k
格式:eCloseWin[_WallName]↵<br>) V$ \0 g" @* V2 O- d! Q
参数:<br>
! G- q& A5 l' ]2 lWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>" V' S7 U7 y# o, p6 e% c9 K
执行结果:eCloseWin_nResult↵<br>
1 W/ Q: P8 E4 s: ^8 H4 r7 enResult 可能取值:<br>2 T4 k$ N5 o0 m; A8 ?
0:成功;<br>
6 |8 E) V' K9 V3 d$ d" _! `; C1:串口控制功能被禁止;<br>
0 J* l P# G0 U1 m& w( y! O8 q Q2:非法的指令名称;<br>
p$ Q' w# j- W3:非法的拼墙名称;<br>$ a7 U/ W0 P! ?7 y
4:操作失败。<br>
, a# [# @( W/ ?1 j/ _6、 pCloseApp<br>
. a5 H, t' u! j- z功能:关闭所有处理器应用实例<br>" ^6 ?& e1 `: l5 l- s) c
格式:pCloseApp[_WallName]↵<br>, R0 c3 S t" g8 ?1 M @7 h
参数:<br>( R' Q5 u9 s" d( ]5 k' d
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>2 h/ ?' _- H- Q
执行结果:pCloseApp_nResult↵<br>9 `, w+ U; ^& I3 T
nResult 可能取值:<br>. d# d8 w( P7 t! c9 }9 k8 z
0:成功;<br>
! q+ g$ B$ w' H, l, X1:串口控制功能被禁止;<br>
8 Y. a, `! Y3 B: U/ f) v2 z* S2:非法的指令名称;<br>
/ A. k- r+ L9 ?6 C" E3:非法的拼墙名称;<br>
+ Z( f5 t) ~* m# l2 e4:操作失败。<br>
4 _ A6 l" }, _! {7、 pCloseWin<br>6 f: Q& w$ m m! F3 m& a
功能:关闭所有处理器窗口<br>3 l' o& B' g. C3 R* G+ n2 c) }
格式:pCloseWin[_WallName]↵<br>. I/ }/ E) G$ Q& m( @( o; A+ x0 v
参数:<br>
$ e7 a9 v& j" c p- \/ x+ cWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>; D2 Z% z2 l$ a" t
执行结果:pCloseWin_nResult↵<br>
; j1 Z; A8 y; N$ `( \, mnResult 可能取值:<br>
$ ]- q7 [5 L$ T) s/ b* j# Q: Z0:成功;<br>0 b3 |0 r8 y: H, v+ U7 {! y+ T
1:串口控制功能被禁止;<br>
, ]* r% _0 H) O2:非法的指令名称;<br>
; D% h& N- B' A$ I' l$ G- o3:非法的拼墙名称;<br>
! F% L: Q( i, \8 Y) f4:操作失败。<br># h+ m2 e4 [" C+ e/ @; O. E
8、 mApply<br>8 ^- w- a( A& P4 T
功能:执行已经定义的模式<br>
^ c' [5 v& d' L, S }格式:mApply_ModeName↵<br>
" r' J. z" L: H% L参数:<br>
( U0 a* X2 K& _# a$ lModeName:要执行的模式的名称。<br>
& V% ^- ^ [& x" r! Q执行结果:mApply_nResult↵<br> H( M# a( U) ` n
nResult 可能取值:<br>" |' g5 F: X2 @ g
0:成功;<br>
3 ]. @, r& e0 l6 R; \) c. s; W1:串口控制功能被禁止;<br>0 |9 x6 ?" Y# {( l( ]* ]( h% E2 o
2:非法的指令名称;<br>6 z0 y6 L, \3 P3 k8 Z$ Y9 y
3:非法的模式名称;<br> I5 K% Y5 ^1 E9 ?0 _8 Y4 i
4:操作失败。<br>
8 U& A9 s0 L) C! S! t5 ?$ @9、 sSelVideo<br>: q) n- [1 Y4 Y/ g
功能:将一个VIDEO 信号源选择切换到一个监视器<br>/ f5 n+ s( C6 [9 O2 ?
格式:sSelVideo_SouName_DevName↵<br>
" W5 Q% r, ] C, p) {0 k参数:<br>9 V9 E) ^( _+ k6 ]
SouName:要切换的VIDEO 信号源的名称。<br>) Y+ V N" l: e3 Y( y0 z9 r3 c
DevName:要显示该信号源的监视器的名称。<br>7 V7 l2 l0 M0 G% v( l( s* [
执行结果:sSelVideo_nResult↵<br>
' e0 t( Z, `& \+ ^" b$ X V: MnResult 可能取值:<br>3 g; j+ w; q3 c4 [0 n' C3 p
0:成功;<br>
+ J7 J- ~! J; r- w' R$ R1:串口控制功能被禁止;<br>
$ G" @8 H9 ^: @8 n2:非法的指令名称;<br>
% }, E4 o8 U a4 N# Q$ r& M; x: p" R3:非法的信号源名称;<br>: C+ z; V' u* @% r
4:非法的监视器名称;<br>8 M* B* o# d5 ^2 T/ \( W/ b- b% ^4 }/ n
5:操作失败。<br>
, S; U2 w6 w+ M4 R1 o" {10、 sSelCamera<br>
6 v- F( A4 @) _$ P8 P功能:将一个摄像头信号源选择切换到一个监视器<br>
' T3 U: b+ h( e J8 g4 F5 x+ J. i格式:sSelCamera_SouName_DevName↵<br>8 \2 R* y% y- [$ Y' ~
参数:<br>
# F% f6 Y6 ^9 B3 Y; @% HSouName:要切换的摄像头信号源的名称。<br>: u( P$ }3 y) _- V# x) E7 ?3 H
DevName:要显示该信号源的监视器的名称。<br>
0 Q) {9 K; Z9 ~1 d- t- \6 {执行结果:sSelCamera_nResult↵<br>
1 l8 G* Y: }5 n0 ?" u8 GnResult 可能取值:<br>
' ?$ |0 l1 i. z2 h; T/ J, B0:成功;<br>4 s& Z) {( p0 u* |
1:串口控制功能被禁止;<br>
) S1 z9 W' u$ _4 F$ T5 N2:非法的指令名称;<br>9 K* _% Z; ^1 v9 m: p, D. e, Q
3:非法的信号源名称;<br>
; p, k* I- `) O# Q4:非法的监视器名称;<br>3 ? [1 v; o. U% p' |
5:操作失败。<br>
) t( l( G" c1 P( o- F/ S O5 i11、 sSelRGB<br>; `; v% ]7 z+ e0 [+ m
功能:将一个RGB 信号源选择切换到一个显示器<br>
" l) @) Z. P5 ], B格式:sSelRGB_SouName_DevName↵<br>9 w* Q2 S8 }7 V9 O: h& ^
参数:<br>
. T; ] G& X8 p( i' n2 X; E) eSouName:要切换的RGB 信号源的名称。<br>7 e! M9 R* x2 ^ V: G
DevName:要显示该信号源的显示器的名称。<br># _: C3 w" `5 B# S
执行结果:sSelRGB_nResult↵<br>9 R# k' ]) N' u/ i8 U. n
nResult 可能取值:<br>' n; y- n# I+ M+ v
0:成功;<br>& a8 \9 i6 f% |
1:串口控制功能被禁止;<br>
2 J0 I# C6 y0 J4 ?- X2 A2:非法的指令名称;<br>; t3 H4 \( [. b4 T, f8 B& j; [
3:非法的信号源名称;<br>
( z9 ~2 g% n' W! k4:非法的显示器名称;<br>4 K; E/ d n' }+ T
5:操作失败。<br>
) O! `/ m Z, l6 }5 m. P4 |12、 sSelAudio<br>: b I6 T# f0 V( X
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
7 a; Y. O2 s# Y) C% W0 H' i格式:sSelAudio_SouName_DevName↵<br>+ b& _. f# ^9 O+ _+ P+ ^
参数:<br>" b/ ~, l. `7 |
SouName:要切换的AUDIO 信号源的名称。<br>% W4 r+ T* ~. l& \' U& ^ k6 h% c
DevName:要显示该信号源的监视器的名称。<br>6 l7 n( v8 u( p0 a+ j
执行结果:sSelAudio_nResult↵<br>! p6 O, l& }, K5 o4 u
nResult 可能取值:<br># X4 A* {8 w# @- P8 D
0:成功;<br>
3 o" X( H: f/ x" e1:串口控制功能被禁止;<br>
/ D$ ~0 E/ F" _3 y/ R) P2:非法的指令名称;<br>1 ]% S% R4 [; Z
3:非法的信号源名称;<br>
1 `" \8 |3 t) z ?: } ~; ]4:非法的播放器名称;<br>/ t' Z" z% c; S, S7 U
5:操作失败。<br>
4 S. \' z" C. b/ E13、 sSelVideo2MFD<br>
, ^" h; u1 q+ Q( g3 l$ z$ B$ j功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
9 U( o9 Q- j& S1 ]& B格式:sSelVideo2MFD_SouName_DevName↵<br>/ w- y4 r/ U3 [( v2 _& \- l
参数:<br>5 \4 ^1 x- h+ b. \/ t8 N
SouName:要切换的VIDEO 信号源的名称。<br>
. n* e. S U9 }/ l4 WDevName:要显示该信号源的多功能显示设备的名称。<br>
4 S; W" F. G% G6 L6 }3 c$ C0 q执行结果:sSelVideo2MFD_nResult↵<br>
% b$ j0 v0 Y) A z8 AnResult 可能取值:<br>
( Q) [ p+ o3 V, b; A% H7 ^/ f/ f6 D7 [4 ^0:成功;<br>" L1 P. g9 K2 S$ j
1:串口控制功能被禁止;<br>, x$ k' [% E! j: l" ]) V) A! x* }9 V+ G
2:非法的指令名称;<br>/ U5 w5 J2 k3 N4 ^2 \
3:非法的信号源名称;<br>
" H: k" b$ P% `5 x4:非法的多功能显示设备名称;<br>! Q6 ^9 Z6 R2 l8 N+ e8 d( E4 T
5:操作失败。<br>
; N% Q8 Q! j$ ?3 e* t5 I o14、 sSelCamera2MFD<br>/ F! q; O! U f7 \; Z) [- O2 ]
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
: @6 y) L, \3 v ^4 ?1 [1 i格式:sSelCamera2MFD_SouName_DevName↵<br>$ Z, m; s6 b9 t" f1 ?+ t
参数:<br>' R9 B' a! Z) k; `
SouName:要切换的摄像头信号源的名称。<br>
& c9 [: i# ~+ R$ s* pDevName:要显示该信号源的多功能显示设备的名称。<br>
9 a! I! Z& @1 o, h4 n2 E+ J& m执行结果:sSelCamera2MFD_nResult↵<br>
7 u1 c& N8 H6 G. E4 L( B B9 y, OnResult 可能取值:<br>$ O) e3 w3 X8 C1 H8 _- G5 g; V
0:成功;<br>2 a8 l; J- W: m
1:串口控制功能被禁止;<br># L( _- Y1 V1 F+ e. ~# E" S4 j
2:非法的指令名称;<br>1 p1 c% R: n; O) X, [
3:非法的信号源名称;<br>9 R, q H" m' i, l/ |
4:非法的多功能显示设备名称;<br>
: U1 G% M" C* U' L; }, R5:操作失败。<br>
" W1 b7 Q8 {4 ~- N5 u, t+ I9 W15、 sSelRGB2MFD<br>
) h0 r8 q# J& |1 v" }# G4 t功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>) a; N0 G2 C8 ~4 O) G5 G6 S
格式:sSelRGB2MFD_SouName_DevName↵<br>
) }. g% |, M6 K参数:<br>
0 {6 K7 m& Y9 m9 n/ B) xSouName:要切换的RGB 信号源的名称。<br>' x- A# l! s' k" h( s+ S
DevName:要显示该信号源的多功能显示设备的名称。<br>/ H! N- E& g5 F1 k5 Y* O
执行结果:sSelRGB2MFD_nResult↵<br>
, y, F& d ?! `' W/ UnResult 可能取值:<br>
( r8 ^5 t& [- Q7 c3 S. X0 f0:成功;<br>
3 ]' z9 c! V6 c4 }2 S# N: ?1:串口控制功能被禁止;<br>
9 v" k0 V+ r# N2:非法的指令名称;<br>- o- m; `. v `0 K+ q
3:非法的信号源名称;<br>4 \ U2 j$ |0 J
4:非法的多功能显示设备名称;<br>
2 B1 l0 `8 N' L0 ^! t* D5:操作失败。<br>9 I" w _# A+ y
16、 sSelAudio2MFD<br>
; ^& }& g7 ~4 J# k5 N7 I功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
% ]% z$ j' V$ N; _4 R4 p格式:sSelAudio2MFD_SouName_DevName↵<br>
$ ?( |3 {3 U* H参数:<br>
0 C1 W& j6 |8 y- N. A4 qSouName:要切换的AUDIO 信号源的名称。<br>
7 c) ~' x9 H8 P/ z9 JDevName:要显示该信号源的多功能显示设备的名称。<br>+ d( h( X* i- t( ^6 M( ?
执行结果:sSelAudio2MFD_nResult↵<br>
" t+ [: c% N4 a$ Y* D, FnResult 可能取值:<br>
9 E" E+ t+ }7 p3 j5 Y; ]% u% k0:成功;<br>2 e; H# y& I" f3 m$ w F) ]
1:串口控制功能被禁止;<br>
+ }% Z) v9 g; h$ I* l3 B& g- ?: I2:非法的指令名称;<br>3 d4 h* i Z$ m @6 r" s
3:非法的信号源名称;<br>
- q2 t5 @% S* N% @8 ^$ ]4:非法的多功能显示设备名称;<br>! g4 E$ c4 [! {1 K1 o- q& x& S( }
5:操作失败。<br>. X- Q" y3 l- B1 T4 V( K2 R }+ d
17、 cSendData<br>* G3 e; \, i: n" A2 i
功能:发送数据到指定串口<br>
% H3 v1 @' M s1 r, O: n6 l. o格式:cSendData_PortNo_PortSettings_Length↵Data<br>% Y5 z# J m8 Q, }% J# F: p- ?$ D/ n
参数:<br>
1 D3 ?) g0 Y0 i- f2 y7 ^PortNo:串口名称,譬如COM1<br>
0 {7 o% H# D! b$ lPortSettings:串口设置,譬如9600,n,8,1<br>
; d( i5 E& L" f+ P2 _Length:发送的数据长度<br> w3 A6 Z% H' H4 F6 E5 Y( `
Data:发送的数据。<br>; E8 d, w+ U9 r9 r5 a: Z, r' W
执行结果:cSendData_nResult↵<br>
- |8 r% X# d- y5 cnResult 可能取值:<br>
# C4 F, A* `: `) `8 y4 W: v0:成功<br>* c; `; t% J3 }& N' n- d" `
1:串口控制功能被禁止<br>6 U# x2 ?% T* X1 y' _
2:非法的指令名称<br>
, k) {$ U8 g9 k. u, |3:非法的端口名称<br>9 l- E. _$ _) j- {) t( N2 f
4:非法的串口设置<br>+ U6 `* V4 H' t" ^* o6 o
5:操作失败。 |
|