|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
' X, f' t; V% a/ y一、概述<br>
) E! D2 D% `0 o" |为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>8 M6 z9 h( M& e3 }
控制的接口。本文描述该接口的控制协议。<br>
; S- {* e7 k6 y9 RVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
' t- w' B/ @& b3 c3 h过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>9 w3 A- k/ ^, r i4 ?
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
5 V* {# Y( y7 n% w! U: f5 f该协议可根据以后的功能需求进行扩展。<br>
" ?5 P. p' t4 C& ^+ c" E8 ]9 }& r二、指令的命名和格式<br>0 }6 e# [6 _, d) X( S
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
& I' N$ x1 C0 J6 K2 {9 p# Q1 P3 c处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>+ g5 Z8 J4 T0 E/ T0 Z
其余字母是其功能的英文描述的简写。<br>! e' k& f6 |. D5 R* G
指令及其参数、指令的执行结果均用字符串表示。<br>
: H7 k. M3 T( J+ V% s" [( w每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
: {5 t" j0 ~( u/ i, M6 Q的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>) H& {: e/ o, q- z- k
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>) I4 E" a$ ^! j" N7 g
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>. t* B* z2 v( i; v& c L/ o! V8 k
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
& w O- j3 J% h执行结果代码为0 表示成功,其他值的含义与指令相关。<br>, \, { z( P, z4 N( Y# H% y/ m8 `
三、指令描述<br>" L7 [+ G3 _ m( h- Q# X
1、 ePowerOn<br>, g- a @% @8 Z6 P5 [$ }
功能:机芯开机<br>
# V; B+ u/ c% {, S& w# v; A- I格式:ePowerOn[_WallName][_ProjNo]↵<br># @) p* y r8 ^. M" X
参数:<br>
- M& w! q( p: i, eWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>: M, J0 W( T9 ~; W
也必须省略。<br>/ `8 k5 E9 h, }+ G ~
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
5 L% F! S5 y) e1 r" b5 {0 o- U2 R6 [芯。<br>
$ E( z7 c1 v3 \8 C" `6 R. Q, {9 Z执行结果:ePowerOn_nResult↵<br>
0 {' B% O, g) o9 lnResult 可能取值:<br>$ P0 u" Z) o6 l* A" P
0:成功;<br>) y S1 b; B- d1 r: w1 |
1:串口控制功能被禁止;<br>
{- I8 {5 C- C) X2:非法的指令名称;<br>
7 Z2 J4 m2 j) x( Y5 L5 w3:非法的拼墙名称;<br>( L+ t. |3 _! J, A! f. O A
4:非法的机芯编号;<br>
U5 m; Y$ ]% C; W& {2 O G5:操作失败。<br>+ y8 z j$ v' l; l }' C) e
2、 ePowerOff<br>. c3 J( ?+ z; n; u& ~" }' ]
功能:机芯关机<br>
9 C* H6 R% U; G$ P1 C( s格式:ePowerOff[_WallName][_ProjNo]↵<br>9 r# B' ~( _" i3 L
参数:<br>
8 x+ d# U; K) k \8 f5 H. A! `WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>. K: _' n+ O' c/ M; @( C
也必须省略。<br>$ j7 ]! z* V; d; s, a: n
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
8 K2 d5 Z( |. ~* q% m/ J9 j& M* o. M芯。<br>
3 |4 }- [! z/ J3 A: E执行结果:ePowerOff_nResult↵<br>
5 w; v8 e3 o! A r4 D3 Q, ~nResult 可能取值:<br>" ~4 |7 W. P) }5 [% B7 x2 y
0:成功;<br>
5 Z. \ G* _ j/ Q5 \" f) z5 l5 _1:串口控制功能被禁止;<br>0 ?0 S% V ~: Y
2:非法的指令名称;<br>$ }' N- B" P* u
3:非法的拼墙名称;<br>. x! r& }4 a/ \0 l) a
4:非法的机芯编号;<br>0 j$ w! ]. J! D8 W
5:操作失败。<br>
# K1 G" c+ V; V# s) E" Z3、 dPowerOn<br>4 Q, m9 [5 c: V' F
功能:多功能显示设备开机<br>
2 d8 ~% T8 T- e0 I( t格式:dPowerOn_DevName↵<br>
: c! A" H; m3 T+ Z" s$ m3 z! o参数:<br>
+ i3 S m) |7 {* P, fDevName:要进行该操作的多功能显示设备的名称。<br>8 [% f% x$ |! p9 j8 \
执行结果:dPowerOn_nResult↵<br>4 B" @: H' ?7 C7 f3 Q
nResult 可能取值:<br>
1 n7 t/ {+ V$ V0 ^5 ?0:成功;<br># W$ o8 \$ v# U. Y$ d
1:串口控制功能被禁止;<br># e. X) v% C2 ?4 e' [% e& o
2:非法的指令名称;<br>
& B8 X6 D* T0 m+ |3:非法的多功能显示设备名称;<br>6 h3 @' v; w- M/ ~" N
4:操作失败。<br>( D5 T- U3 }1 U# @$ \
4、 dPowerOff<br>
L4 T: b2 g k+ n/ @: F" Z功能:多功能显示设备关机<br>
2 x( ?$ e) Z5 a' Q8 A格式:dPowerOff_DevName↵<br>
% `$ g8 O! p6 E: D0 V, K参数:<br>7 m; r- C- p. T+ K! N! P
DevName:要进行该操作的多功能显示设备的名称芯。<br>' ^/ r1 ?6 O# G, V3 l
执行结果:dPowerOff_nResult↵<br>
: d/ _, A6 d8 M6 ZnResult 可能取值:<br>% D- j1 a+ n: E* |3 x t
0:成功;<br>
0 U2 X0 I+ |$ S& q8 K1:串口控制功能被禁止;<br>
* N& ?% M% |) s# i+ {# u2:非法的指令名称;<br>2 r" n! O* Q( E _
3:非法的多功能显示设备名称;<br> R" W* t: o/ ^4 ~ l) s" g: r
4:操作失败。<br> g* [0 Y7 n9 Z6 z
5、 eCloseWin<br>$ O3 d! N) o% S4 @0 W6 m
功能:关闭所有机芯直通窗口<br>
* Q8 s( B* d! U" x格式:eCloseWin[_WallName]↵<br>" _( M+ Z; @' e# J5 o) o; ~
参数:<br>1 {. i% g3 I- Y5 H1 u5 f
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
- |" L' s0 o1 ~) d% U4 J( C) L执行结果:eCloseWin_nResult↵<br>
- P7 C# |7 s& O' r" J, @/ ^nResult 可能取值:<br>
: K) m3 C. w& z' }! ^9 C) {4 `0:成功;<br>
) O0 y, s9 v( R1:串口控制功能被禁止;<br>
) W* E3 x2 o) t- P N2:非法的指令名称;<br>" u1 x3 `$ V a; B
3:非法的拼墙名称;<br>/ Z/ p7 c' |4 A. d
4:操作失败。<br>( F9 |5 _$ \4 G r
6、 pCloseApp<br>
5 S7 _6 x6 @7 T4 ^功能:关闭所有处理器应用实例<br>
9 `$ }9 \. p* z# K5 {2 a格式:pCloseApp[_WallName]↵<br>
2 j9 X. |; D% t3 l) t; b& U! E参数:<br> Y5 i( S( e5 N5 V( ?% d) P
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
: X% N7 P2 Q* w" M, u. {( m9 W+ `执行结果:pCloseApp_nResult↵<br>- K6 r1 ]% t7 \1 Q6 @! V, h) h
nResult 可能取值:<br>
6 n+ g- A9 p( ^! |+ k2 r0:成功;<br>
: g" j- C; b3 M/ |1:串口控制功能被禁止;<br>
, K/ M- y% d" }% S; M L g4 J C2:非法的指令名称;<br>
C! G5 k, b2 C, `) z! ]5 U6 W3:非法的拼墙名称;<br>0 Y; ]0 \: r. Q- a
4:操作失败。<br>
5 u- h z! y7 |! r' I2 P* L" C: k7、 pCloseWin<br>
+ A6 ^- @8 p' b% G3 U( l功能:关闭所有处理器窗口<br>
) {4 u9 f. w9 L4 i. Z格式:pCloseWin[_WallName]↵<br>8 G% G6 r: a& B- N
参数:<br>
% X/ C& @ h) N% C, R1 PWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br># _# o3 p! m8 N) h1 f
执行结果:pCloseWin_nResult↵<br>4 N% w2 d. }9 `3 j$ W
nResult 可能取值:<br>1 }8 H; M" q7 V8 k0 d ^$ }
0:成功;<br>( I3 v1 _; J& \/ z" m
1:串口控制功能被禁止;<br> N" S* j j/ t- Y A' U
2:非法的指令名称;<br>
# n1 U# o- Y" t' |9 N6 w* k9 X3:非法的拼墙名称;<br>7 v) k" e% A! P4 K
4:操作失败。<br>" j, B# ~5 S' d# w, a( b a9 c$ \
8、 mApply<br>8 n+ H1 a; d# @
功能:执行已经定义的模式<br>
' a. i1 i3 H6 M. n' ~* g' G格式:mApply_ModeName↵<br>" P3 V! i6 f& k. S, U& |
参数:<br>
2 `/ a) M* m" K2 EModeName:要执行的模式的名称。<br>
$ e; n" N) u* @, v! q* {5 M执行结果:mApply_nResult↵<br>2 @/ f# v& x2 U
nResult 可能取值:<br>4 d# v, A! @) y
0:成功;<br>
* r7 i# m A" R( O Y9 E! F8 F. Z; F1:串口控制功能被禁止;<br>
) A9 U- u1 @3 K. _7 ^/ G2:非法的指令名称;<br>! x/ p3 r6 I6 j
3:非法的模式名称;<br>9 g3 S* `% s6 l2 Q7 ]) X
4:操作失败。<br>. r1 F" q- h V# u
9、 sSelVideo<br>/ k' A( ^4 O( d9 z8 v4 v
功能:将一个VIDEO 信号源选择切换到一个监视器<br>5 ~; Z9 f, G" X4 Q/ C" I4 m
格式:sSelVideo_SouName_DevName↵<br>2 I. I4 _, P, w! {7 A
参数:<br>2 c1 w6 S0 w% W$ c+ O7 A. r
SouName:要切换的VIDEO 信号源的名称。<br> l( _' |7 ~4 F/ D) b$ u
DevName:要显示该信号源的监视器的名称。<br>! X+ E$ a* b, Z' f: {
执行结果:sSelVideo_nResult↵<br>- a$ q1 f9 `7 Z' N9 c& p
nResult 可能取值:<br># O* [- ^: D) x3 e% C
0:成功;<br>4 c2 ~3 o9 {; Q$ }0 w3 Y5 t
1:串口控制功能被禁止;<br>
; p4 f4 ~, G" W/ n1 q; S2 ?2:非法的指令名称;<br># q; p6 B- ^3 }/ A( m$ m
3:非法的信号源名称;<br>: E) R$ r2 L; E ? N3 P6 F H( n
4:非法的监视器名称;<br>* i: A" w( T. Y- g" y
5:操作失败。<br>
7 [8 e4 S+ W# V$ @1 n- K$ K10、 sSelCamera<br>5 H* ?- B% @8 V: h4 ~! H
功能:将一个摄像头信号源选择切换到一个监视器<br>
7 Y- z) Y( u% z- ~. I, j格式:sSelCamera_SouName_DevName↵<br>7 i+ C. p: e2 q8 E3 [
参数:<br>' G" y$ D d# x, X" x
SouName:要切换的摄像头信号源的名称。<br>1 |, R! W7 v2 j; A! q9 K
DevName:要显示该信号源的监视器的名称。<br>
4 m; N" U# ?" E8 _6 K5 E$ `$ z执行结果:sSelCamera_nResult↵<br>
$ W% n+ X3 x1 x" [8 c+ rnResult 可能取值:<br>
* N/ v6 Y$ r* J7 d- ^( k0:成功;<br>
3 v+ {: \3 }& N% s1:串口控制功能被禁止;<br>. A; y4 }4 K, i! y, {
2:非法的指令名称;<br>
: |7 f# D% Q2 c* z( T1 O6 F6 X) j3:非法的信号源名称;<br>* j& `" T& C3 O n- p: w
4:非法的监视器名称;<br>$ P% P1 \8 j) ]- ~ Q
5:操作失败。<br>" ?: _; M9 z0 E% o" U' _
11、 sSelRGB<br>) ?1 }! z0 U- J) u: \+ ~2 @
功能:将一个RGB 信号源选择切换到一个显示器<br>
, L0 S+ C* X# f. W格式:sSelRGB_SouName_DevName↵<br>
5 Z1 |; \6 _' v8 I$ Y$ A" ?参数:<br>) L6 ?. E6 E* o% W& E
SouName:要切换的RGB 信号源的名称。<br>. {( r2 e* r: H+ v- L7 E+ ^
DevName:要显示该信号源的显示器的名称。<br>+ e' y, l+ `$ ?3 i! e, O0 n" Z
执行结果:sSelRGB_nResult↵<br>
* M2 n0 Y! [0 q. X. @+ |4 znResult 可能取值:<br>
$ R) K6 W$ J7 Q6 t/ w0:成功;<br>
# ~7 \- v" z7 f$ X$ R' M9 A% F1:串口控制功能被禁止;<br>
' i6 c. n! y1 L6 e+ ~4 n2:非法的指令名称;<br>
3 s- U" Y# g+ Q3:非法的信号源名称;<br>
' e7 n; b+ J: E( W0 |0 ?4:非法的显示器名称;<br>8 x* v# v7 B* v0 X# K
5:操作失败。<br>" A9 c z& X8 a3 n
12、 sSelAudio<br>
+ k5 G/ L# j* {0 \功能:将一个AUDIO 信号源选择切换到一个播放器<br>- ?5 u0 W; K3 c/ U# h6 K/ R0 o
格式:sSelAudio_SouName_DevName↵<br>& B8 ^/ f3 Y% e
参数:<br>
& q+ ?9 A1 r9 j" {- l. }5 n/ rSouName:要切换的AUDIO 信号源的名称。<br>% |' f# F4 H- T! `, R+ h% m
DevName:要显示该信号源的监视器的名称。<br>
# D! b& W( w! X8 e6 j4 u- S执行结果:sSelAudio_nResult↵<br>% E. p( P7 }" Q0 ?
nResult 可能取值:<br>
V* k. v) v3 I7 C5 ?1 q6 U _0:成功;<br>2 t+ I1 u+ X- U$ W( Z0 @2 A
1:串口控制功能被禁止;<br>
8 D- R; _0 o# _2 L4 X2:非法的指令名称;<br>
1 L" N& @; C" t3:非法的信号源名称;<br>
; p4 Y) ^4 Y( `! Y/ u4:非法的播放器名称;<br>
0 l. V2 S$ }) }6 X5:操作失败。<br>, Y+ N% q, E7 n2 p, g6 ^
13、 sSelVideo2MFD<br>( p# B2 L$ H _- V5 l6 r% D" F4 k- E
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
( W9 l4 @" m# h1 }. C格式:sSelVideo2MFD_SouName_DevName↵<br>
$ u5 G. P6 T1 Q0 [- j5 J参数:<br>- z) p: B/ s: u8 \7 X' _4 c) r
SouName:要切换的VIDEO 信号源的名称。<br>4 G8 X( P/ K- C4 l
DevName:要显示该信号源的多功能显示设备的名称。<br>
5 _+ b/ j. \7 K$ a/ H/ b执行结果:sSelVideo2MFD_nResult↵<br>
, d" N- z* k+ W, \; ? R. V5 H; ZnResult 可能取值:<br>" y' t! N; M3 L! p
0:成功;<br>
* U" L! U) T, b4 X% k: ]1:串口控制功能被禁止;<br>
7 b( \ \6 P/ B" _' a( `2:非法的指令名称;<br>' V; o6 ?! t; N5 K7 ^
3:非法的信号源名称;<br>
; T" {! V& s& T! V. @4:非法的多功能显示设备名称;<br>
' \9 j8 z3 m# ]6 {4 D2 c) a5:操作失败。<br>
3 ^5 B5 z; M# n( h" n8 H9 z: r14、 sSelCamera2MFD<br>
- S4 p5 o) d s L功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>* v& A( M3 \8 y$ o0 T
格式:sSelCamera2MFD_SouName_DevName↵<br>* n; z: L `! V
参数:<br>
7 x7 X9 [2 K) a/ m; U9 x! i! E- _SouName:要切换的摄像头信号源的名称。<br>
! D4 \" z0 R7 [4 ^DevName:要显示该信号源的多功能显示设备的名称。<br>6 U$ X. G6 Z" h$ }
执行结果:sSelCamera2MFD_nResult↵<br>9 Z6 R. S! M/ Y+ Y. P# @' }' L
nResult 可能取值:<br>" E6 W! s8 z# b
0:成功;<br>
: [& _. ^, S$ p1:串口控制功能被禁止;<br>
+ k1 C0 d4 `2 ?% v2:非法的指令名称;<br>
; Y5 K3 W4 |0 D! c& n# W3:非法的信号源名称;<br>
8 t( N$ o; x' j8 H: l9 J- g4:非法的多功能显示设备名称;<br>
D+ L1 d+ l* y9 E5:操作失败。<br>5 | T, u( |& T( X. R
15、 sSelRGB2MFD<br>5 q: y& L# P( s
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>% ]% C, I6 ^9 }4 M0 _
格式:sSelRGB2MFD_SouName_DevName↵<br>
. P$ O ?: ]* B8 m; ?, R参数:<br>
0 g4 p* B2 `. \" E6 S, `$ ]* @SouName:要切换的RGB 信号源的名称。<br>
# c7 I3 O$ ]) Y) l6 xDevName:要显示该信号源的多功能显示设备的名称。<br>
( w8 v+ n. [. }- T- @% ^执行结果:sSelRGB2MFD_nResult↵<br> y1 k- O3 J( r4 ^* q3 b& S
nResult 可能取值:<br> x+ K3 x5 }; M$ h9 L
0:成功;<br>
# K0 y2 G6 x% E5 F$ F1 n- Z1:串口控制功能被禁止;<br>) a) n% n7 z! m* J$ L! J
2:非法的指令名称;<br>' i, E+ x1 s( H# a; N
3:非法的信号源名称;<br>5 _4 H9 j' ?7 I! b* v$ j) r
4:非法的多功能显示设备名称;<br>
, [! O8 W1 K# w1 u9 N/ j5:操作失败。<br>
* q' d5 Q6 n3 S/ R16、 sSelAudio2MFD<br>
8 q ~0 D" s$ a1 {8 h$ Y% s功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
" r6 d! P! l! ?: H, F" A格式:sSelAudio2MFD_SouName_DevName↵<br>5 x8 }/ r* O! A; i
参数:<br>' |/ G! W8 V. N& K+ `
SouName:要切换的AUDIO 信号源的名称。<br>4 T5 f& A6 k3 ~2 {
DevName:要显示该信号源的多功能显示设备的名称。<br>
# F2 U8 x6 C0 L- [+ s/ l+ i0 \* A; L执行结果:sSelAudio2MFD_nResult↵<br>9 D% Q* ]% u. f4 N0 b# w4 z
nResult 可能取值:<br>/ i6 y, v4 D& h3 U9 X& I
0:成功;<br>
) f2 ?0 x/ g* y& d1:串口控制功能被禁止;<br>
& G$ M. A E# r2 a8 E6 M; r0 z2:非法的指令名称;<br>+ J% c" t1 b1 a% y# K& N
3:非法的信号源名称;<br>* `+ t0 T! m8 S, j) E
4:非法的多功能显示设备名称;<br> w; w2 M K$ A
5:操作失败。<br>
$ C8 ]2 V8 a u+ v2 E6 @17、 cSendData<br>
3 h) e% u- H' e功能:发送数据到指定串口<br># D0 V. @; Z/ `1 T( d' s& t
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
4 N6 k. `- L) l1 P0 T参数:<br>
5 p0 }5 Z' \* `PortNo:串口名称,譬如COM1<br> ]5 x& {% x' ^& @$ ^' g' G% i
PortSettings:串口设置,譬如9600,n,8,1<br>
/ B- o+ j' W: j5 \9 O" Q% @2 F3 C% ?Length:发送的数据长度<br>
. G; v1 v: M- z$ q# }Data:发送的数据。<br>" R% g( w q0 x- X
执行结果:cSendData_nResult↵<br>
% A, [2 K1 E' D! jnResult 可能取值:<br>
" m% R5 X! D2 A6 y. p8 y0:成功<br>* S8 {/ {( A% y4 @- l
1:串口控制功能被禁止<br>! R6 _4 C3 E" r" |2 ~
2:非法的指令名称<br>. `$ m% `4 M& b8 {2 C- S1 f
3:非法的端口名称<br>
3 S4 b9 t1 z4 u4:非法的串口设置<br>
4 T6 b0 p- v/ O1 D2 c2 v" ^& q5:操作失败。 |
|