|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
4 S: g0 j; W% \. a9 M一、概述<br>, F6 f5 }% p1 [ Z& [, u
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>! i9 t& j ^3 c& q7 w
控制的接口。本文描述该接口的控制协议。<br>
5 A n+ q% I' h7 Z6 Q3 h& X' W) sVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>$ Z6 P! {# B" I7 B7 K
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
( n! ~$ m+ h* t/ q! ]机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
2 x) g/ X! U. i; h5 i- h! b, t% T该协议可根据以后的功能需求进行扩展。<br>
S7 ^/ C9 d3 `3 ]3 _! t9 Y二、指令的命名和格式<br>2 g. I% S, H- A2 L j. K x
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>5 e U& |( ~6 |2 x8 T; T
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>, k/ y0 Y' u& e
其余字母是其功能的英文描述的简写。<br>8 K+ t7 ]0 ~8 M9 X! _6 c! Q3 ]: K6 v/ B
指令及其参数、指令的执行结果均用字符串表示。<br>
+ A# `" {+ h' o6 d$ ?每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
1 Z- ^8 E" s+ ~5 v& u, `9 f1 a的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>* U g* C) K% s& ?% | r: G
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
" t2 @$ ]" E! ]4 n: }9 r3 S指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
2 M; ~! {8 O- I2 l1 `指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
+ X) V! y% L3 Z7 j8 |执行结果代码为0 表示成功,其他值的含义与指令相关。<br># m& E/ _& z4 @1 S8 d
三、指令描述<br>
3 _6 b: q' [* x1、 ePowerOn<br>
! m- e# `; n* B' a9 J$ K功能:机芯开机<br>
2 V2 U$ o, E7 Y) b( _! ^格式:ePowerOn[_WallName][_ProjNo]↵<br>% P, @; E" t/ A+ M" }
参数:<br>" F! Y9 \$ n" p% R# t, y [6 @
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>3 n+ }6 y0 @$ D5 d
也必须省略。<br>& Q9 R, W" D1 W) x" Q: B
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>5 _ x; O* A+ v9 j
芯。<br>7 D* J; h0 O* X9 l9 J
执行结果:ePowerOn_nResult↵<br>
( |7 N* T+ W( O7 A" V* LnResult 可能取值:<br>( m9 z1 L; |: x( p5 R5 l- o0 V/ O& \
0:成功;<br>
: G8 Z5 j5 ?7 n3 U2 B1:串口控制功能被禁止;<br>
7 \7 |, X7 q a% O1 W2:非法的指令名称;<br> t. n! D- i* v a. q2 H
3:非法的拼墙名称;<br>
. g6 k. d3 y* a% @# N( n( j4:非法的机芯编号;<br>+ k! T3 I7 V9 T
5:操作失败。<br>3 J5 e' ^2 o0 W3 L/ F
2、 ePowerOff<br>
3 @5 \7 V E5 v6 T! C6 N3 m功能:机芯关机<br>
& x' \8 V6 H$ }1 w7 ]- [0 f0 T格式:ePowerOff[_WallName][_ProjNo]↵<br>
# h4 D" x+ X- m- f( M/ U( i参数:<br>
6 c# t6 X- K9 P. u& {, SWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br># W7 F- e. w L" p3 ^& H9 N5 t' }- R
也必须省略。<br>
: J: J' ^0 k. P4 g! E- ]/ e0 KProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>' {% ~) O6 i/ e( k9 u( T5 z1 S* r
芯。<br>* ?9 O2 V; |6 N- p* l: T
执行结果:ePowerOff_nResult↵<br>
# s- r! D' h5 t# X e9 v+ dnResult 可能取值:<br># ^" V1 a" V! W! t3 _7 j# F/ i# x
0:成功;<br>; M0 A2 u: I1 ?* O
1:串口控制功能被禁止;<br>6 N' U6 I- D) W$ y) \5 x; A
2:非法的指令名称;<br>9 I: N' r. I1 A2 h, {
3:非法的拼墙名称;<br>! N% |+ ?0 n! ^; {
4:非法的机芯编号;<br>7 ^: U2 a% ~0 h, W+ L
5:操作失败。<br>
7 z( h5 R; [& S2 x# m& O3、 dPowerOn<br>0 [& n7 H+ @5 \6 @
功能:多功能显示设备开机<br>
9 B5 J2 E; H+ Q' I+ U& u) s格式:dPowerOn_DevName↵<br>
& i+ w1 ?+ F$ z9 X# ]& {* n" T参数:<br>
' T7 _" m0 T0 {9 A* jDevName:要进行该操作的多功能显示设备的名称。<br>
% y8 K8 @) B0 S$ l) Y; g执行结果:dPowerOn_nResult↵<br> X# h) h( L2 w
nResult 可能取值:<br>/ }5 G: p9 l# `
0:成功;<br>
' }! K. K+ a" e" g, f! j3 g1:串口控制功能被禁止;<br>
4 |6 v, l& [8 g% W' e3 Z& H" t2:非法的指令名称;<br>
' O Q4 x+ q, }3:非法的多功能显示设备名称;<br>
" ~/ M4 }: F {% h. ?% A' P- p4:操作失败。<br>
- \; H2 J# v3 |0 [8 W6 s. ?4、 dPowerOff<br>0 }; [3 l1 W2 G7 l- |$ W
功能:多功能显示设备关机<br>. c+ v9 n" {* e6 Y
格式:dPowerOff_DevName↵<br>2 h7 j4 V U+ G/ b( {' u
参数:<br>
8 A0 I; b$ a& x: }+ ^, YDevName:要进行该操作的多功能显示设备的名称芯。<br>& Z+ p! a: c: ~( H* v/ C+ Z+ G
执行结果:dPowerOff_nResult↵<br>9 N2 o e, Q" V2 B( b, h
nResult 可能取值:<br>
2 I. s/ t# [; D+ X1 Q0:成功;<br>
}/ y9 W# P; B4 C1:串口控制功能被禁止;<br>
3 D7 g+ `( p" V( t) x2:非法的指令名称;<br>. z8 u* T& d5 b5 y
3:非法的多功能显示设备名称;<br>2 s3 u: e0 g6 i
4:操作失败。<br>
8 T6 X/ w* u# h) W. E5、 eCloseWin<br>, o& F" y4 m% X' g. B, @' _: [, j
功能:关闭所有机芯直通窗口<br>
7 @6 @# ^4 W- s8 K9 }格式:eCloseWin[_WallName]↵<br>5 f0 A! t- }" X0 z, K
参数:<br>! G" @2 l) Z& R& n
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
6 _% g- O+ {; a执行结果:eCloseWin_nResult↵<br>; y1 B( p4 `$ W- t: s: [
nResult 可能取值:<br>
3 N( Q! D S# c! X5 U) z3 ^& ?0:成功;<br>$ ` p& Z* E3 C$ ^# U
1:串口控制功能被禁止;<br>
% n y1 Y! [* x! ~. a5 U% B9 `2:非法的指令名称;<br>
+ J" J8 l0 H: {! H. W* Y5 M! ]3:非法的拼墙名称;<br>
! u; z9 Q) ]# e+ V/ u- d4:操作失败。<br>
* t# H/ Z7 Z# B4 `. b& j6、 pCloseApp<br>3 W2 u0 G4 t6 [2 D. X9 {+ f2 ~9 b1 q3 u9 T
功能:关闭所有处理器应用实例<br>' u0 l4 `2 r7 y% F; _ g$ v
格式:pCloseApp[_WallName]↵<br> {- w# O; m" ?# \
参数:<br>0 c% B+ g1 L+ v {% x# [
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
: A3 ]/ g0 y3 J, {* I6 n' F执行结果:pCloseApp_nResult↵<br>3 | [1 u% d& ^
nResult 可能取值:<br>1 P: p, l- t! ?' A
0:成功;<br>
. U$ t" J4 ]) J1 i2 q1:串口控制功能被禁止;<br>
/ a6 w# t; l& E2 Q2:非法的指令名称;<br>) ~$ q5 r2 G: J; n
3:非法的拼墙名称;<br>
2 \ }5 e2 R, v8 U' i4:操作失败。<br>
7 n5 Y+ e, M+ _$ ~, T7、 pCloseWin<br>
! { U+ |7 q9 _' U! e* Q9 c- L功能:关闭所有处理器窗口<br>
/ V9 Y# M; Q$ i' p9 G$ A$ S/ V格式:pCloseWin[_WallName]↵<br>
1 a4 a5 e) F' f. I, ~; L5 k. l6 g参数:<br>- ^- B" o8 M* ?- J2 R
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>+ \ J5 B R$ G
执行结果:pCloseWin_nResult↵<br>
; C% v- O# V* t! _9 h; G, l: rnResult 可能取值:<br>$ E' e- l; S7 k. n! r
0:成功;<br>0 t4 i; Q8 S$ T, }& X
1:串口控制功能被禁止;<br>
% Z- w% o4 m1 i9 a' |2:非法的指令名称;<br>1 j* a: v7 b- q& Q# o/ X. v
3:非法的拼墙名称;<br>
9 f! G( O$ ^( @4 t4:操作失败。<br>
; e z, |$ r0 z/ d8、 mApply<br>
6 J1 E1 Y$ r9 J功能:执行已经定义的模式<br>
* C+ \- q$ `" x( N% t7 |格式:mApply_ModeName↵<br>
; V% ~& t8 g) G( `9 k: n参数:<br>8 }$ a0 v% q2 B) @) z% N
ModeName:要执行的模式的名称。<br>
4 G+ e& O. u: O. w执行结果:mApply_nResult↵<br>
' R% z- ?& S% P3 ^1 q( i' FnResult 可能取值:<br>
% E; R$ M0 R/ K- h/ {6 ]0:成功;<br>
- Y0 v6 h& U. Y6 ?9 n+ e8 N1:串口控制功能被禁止;<br>
* R$ c& ~, h+ }) v" s2:非法的指令名称;<br>9 L" R" ^1 a: z3 E5 i
3:非法的模式名称;<br>
' P# |, W, s& s: ?: ]4:操作失败。<br>& y0 n' x* S0 A/ M5 b7 H5 y3 x, r
9、 sSelVideo<br>, Z2 Y- E2 G1 S' s' q$ _
功能:将一个VIDEO 信号源选择切换到一个监视器<br>9 ?2 ]1 g' c; r1 l; G
格式:sSelVideo_SouName_DevName↵<br>% e. @$ K* j; q/ t' i" |' u% |
参数:<br>6 v9 A$ }5 Q6 e) X$ }5 F3 h4 \7 L3 m1 H
SouName:要切换的VIDEO 信号源的名称。<br>: E# v$ s# Z) V( M* M
DevName:要显示该信号源的监视器的名称。<br>
4 ~6 G3 q3 X9 |4 x8 o执行结果:sSelVideo_nResult↵<br>7 Q" Z- ^( E3 m* E5 \
nResult 可能取值:<br>
, K9 U% T4 ?/ q' A& b( ?! q0:成功;<br>
& S* ~+ s1 ~3 Z" J, r, c1:串口控制功能被禁止;<br>2 S7 Z D5 ^8 H, v4 e
2:非法的指令名称;<br>
9 w* R1 m+ o) a: ^3:非法的信号源名称;<br>
9 P9 y2 \/ J& _1 ?) K# A k4:非法的监视器名称;<br>
; c* k6 y8 p8 o# ^) |& L) X5:操作失败。<br>
* |& m3 X- n! R4 d10、 sSelCamera<br>
1 P- A0 L. V6 R) x功能:将一个摄像头信号源选择切换到一个监视器<br>4 Y! F* i0 C; Y/ }
格式:sSelCamera_SouName_DevName↵<br>/ ?" c. _ k; @- S: b5 B
参数:<br>
+ r/ y% B) t M1 }! zSouName:要切换的摄像头信号源的名称。<br>* r: p9 j3 j5 n
DevName:要显示该信号源的监视器的名称。<br>! I3 k. p4 I5 ?1 e% j1 t
执行结果:sSelCamera_nResult↵<br>
6 k" D/ ]; {' |% o; ` xnResult 可能取值:<br>( V& B( W# n" c" N$ f) ~6 M/ n0 H
0:成功;<br>
; s' M: Y4 g" t- X, Q7 `1:串口控制功能被禁止;<br>
: B+ R3 C1 o4 J: { y, a$ J2:非法的指令名称;<br>1 h/ ]8 z2 d6 n8 ^% r* @
3:非法的信号源名称;<br>
% Z! X) u7 B) p* U4:非法的监视器名称;<br>1 Z7 Y) `" r& u
5:操作失败。<br>
7 e# V5 p6 P. @11、 sSelRGB<br>& R! |+ R4 Y/ Z1 ^: t
功能:将一个RGB 信号源选择切换到一个显示器<br>1 t2 _5 y0 _5 u6 s& g; w/ T. W5 J
格式:sSelRGB_SouName_DevName↵<br>$ t% j; L3 E- \) D& h# [
参数:<br>
n4 r% S$ [; fSouName:要切换的RGB 信号源的名称。<br>+ Y$ `4 u( `+ ?. C
DevName:要显示该信号源的显示器的名称。<br>
# K* E3 R$ p& k& M. {" I执行结果:sSelRGB_nResult↵<br>- V' `9 w3 ~( w/ P9 {0 a
nResult 可能取值:<br>3 ?6 q+ w6 Z: j6 ?% I4 p0 f
0:成功;<br>
. l i- k5 k; a, `; ]1:串口控制功能被禁止;<br>
- N% _9 g" g6 H d$ q" d2:非法的指令名称;<br>
4 O: ^5 L* m/ g- y6 a1 L; Q3:非法的信号源名称;<br>
& E) x+ K' D1 Z( D0 d4:非法的显示器名称;<br>) o: U; C3 v7 F' {0 _3 @5 R
5:操作失败。<br>
% R7 u* v. [5 e- u9 k7 m" o12、 sSelAudio<br>' D0 w1 u3 |4 b3 E" {" P) {3 k
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
* H$ s0 I# y4 d' U格式:sSelAudio_SouName_DevName↵<br>7 V8 b8 T, ~' n8 |$ q3 U
参数:<br>
$ A2 x* h3 J! ]) m6 GSouName:要切换的AUDIO 信号源的名称。<br>- ]) u' y! a: T; { {# w0 d* v
DevName:要显示该信号源的监视器的名称。<br>
- `$ K) ^0 R6 M- {执行结果:sSelAudio_nResult↵<br>
0 [$ d V5 Q; U3 XnResult 可能取值:<br>: N7 y4 i0 {" o3 ?# ~0 p
0:成功;<br># T0 K0 Y8 k" X9 I8 m7 n
1:串口控制功能被禁止;<br>
" j4 g |: k! d6 z/ i! E2:非法的指令名称;<br>7 }* X ?4 a9 Y; V4 o# D
3:非法的信号源名称;<br>; f X+ ]) j: `% a" Q5 i
4:非法的播放器名称;<br>* d# t+ ]. y8 n/ m( M. W
5:操作失败。<br> i4 i9 ~# j3 N. Z1 c9 A
13、 sSelVideo2MFD<br>
5 t- m& E9 G0 c- A# ~功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>0 y6 c# D# Z8 i' K! K/ i8 s$ V2 n
格式:sSelVideo2MFD_SouName_DevName↵<br>
" T6 O. n# H2 m) D, f8 D! h% o! W参数:<br>, }! `1 U& p2 `& L; d
SouName:要切换的VIDEO 信号源的名称。<br>! o5 ]2 k4 W+ c: [9 Q
DevName:要显示该信号源的多功能显示设备的名称。<br>; T, ~7 C Z9 r: R/ G, M8 y8 v: c
执行结果:sSelVideo2MFD_nResult↵<br>4 `4 O) {8 V1 [* N5 F/ w
nResult 可能取值:<br>" S Q+ n6 H% i# v- h0 Y, J+ ~
0:成功;<br>3 C. i" P) c* L7 \/ ?1 o2 G
1:串口控制功能被禁止;<br>. E+ p: q9 ~2 h( h. c6 X
2:非法的指令名称;<br>& ^: W2 [& X+ }3 G
3:非法的信号源名称;<br>
' j: ?5 v9 g( t, F0 y) B4:非法的多功能显示设备名称;<br>
! z, p. B/ v( Q5:操作失败。<br>
/ j! l7 E, [- |6 X) y, L1 \- l14、 sSelCamera2MFD<br>
y$ l, ]8 ? J' J% L功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
B& N! ^ I/ X. o) O# a- z) ?格式:sSelCamera2MFD_SouName_DevName↵<br> \" W* W7 _' J; E. y
参数:<br>) c9 h* V( j B8 W1 d. l+ C1 Q
SouName:要切换的摄像头信号源的名称。<br>
+ ]% q' |5 ]9 g9 a- b! r. LDevName:要显示该信号源的多功能显示设备的名称。<br>$ o3 e+ z" h3 J$ X0 K, o" X
执行结果:sSelCamera2MFD_nResult↵<br>" }8 A, T1 K+ }& a
nResult 可能取值:<br>
: n$ J: x/ U) o5 b$ }+ D% q) g0:成功;<br>
0 X# K% u1 i/ |' O1 ]7 ]) B8 R1:串口控制功能被禁止;<br>
' r1 g1 W' e: U7 q2:非法的指令名称;<br>
6 A# T8 I( I+ T. C1 k, z1 {3:非法的信号源名称;<br>
! P2 L% f H$ E% O( C5 `4:非法的多功能显示设备名称;<br>
8 ]8 s! b h' \6 ?1 e5:操作失败。<br>
- J) q% Z Y1 z15、 sSelRGB2MFD<br>3 {+ ~0 e% i9 Z1 ?1 z/ E$ X! h+ }
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>0 `9 x" f8 q( @) Z5 P* r
格式:sSelRGB2MFD_SouName_DevName↵<br>
5 c6 n' _9 \/ N* y/ I7 t- p参数:<br>4 P: {7 g3 D8 e5 x3 H9 X4 b
SouName:要切换的RGB 信号源的名称。<br>* o/ A" a; I$ c; h; P! B5 g2 I- {8 _
DevName:要显示该信号源的多功能显示设备的名称。<br>
b3 I. R; W. C# T/ H执行结果:sSelRGB2MFD_nResult↵<br>
$ @1 D+ S! O4 a, T! O9 onResult 可能取值:<br>
: s* ?- _, N6 A0:成功;<br>- U9 i$ p6 n3 Q1 m% g
1:串口控制功能被禁止;<br>
3 a. Q9 N9 E' j. c0 \2:非法的指令名称;<br>" @+ Z& H7 \1 ^& M$ g
3:非法的信号源名称;<br>& J& x* }8 |. v
4:非法的多功能显示设备名称;<br>' [4 _; E, r6 C9 K% H8 E. d
5:操作失败。<br>
6 e* ~- k' ^/ H16、 sSelAudio2MFD<br>
9 T& `+ i l% b u* \1 s( R& d- T功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>1 M6 s# S% N: C$ `! [. r( w" B; {
格式:sSelAudio2MFD_SouName_DevName↵<br>+ l0 L7 Z' t4 E) W2 J
参数:<br>' a+ b7 @& r2 H% g+ i) t: t, a: Z ~
SouName:要切换的AUDIO 信号源的名称。<br> k/ V+ j }+ n- n, Q
DevName:要显示该信号源的多功能显示设备的名称。<br>
; i; f/ M3 C6 {执行结果:sSelAudio2MFD_nResult↵<br># I; `4 G% N- ^: ?
nResult 可能取值:<br>$ z9 o0 A" i' S7 q
0:成功;<br>' Z! @, o8 w% R$ T) T0 W, d
1:串口控制功能被禁止;<br>
$ ?; e/ i, Y' r' ]4 t+ ?2:非法的指令名称;<br>+ s$ J% L0 t! V0 Q" d7 z
3:非法的信号源名称;<br>, n0 V$ [2 G+ h/ D
4:非法的多功能显示设备名称;<br>
) x C+ `) _; l- V5:操作失败。<br>: n; W; H j7 L! a$ q: C
17、 cSendData<br>7 y! S7 `$ n! Q# ]: b) p8 c3 D
功能:发送数据到指定串口<br>8 n/ \/ s# \2 o }6 D$ Q
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
, [/ p9 i- X$ E- p$ R9 K参数:<br>4 J& z" D) l; t* V& ]2 c% n2 \3 H
PortNo:串口名称,譬如COM1<br>
+ \# h9 `6 a- ?3 s4 D; kPortSettings:串口设置,譬如9600,n,8,1<br># s: k3 [3 {5 z ^ _
Length:发送的数据长度<br>" F& A( m: f% b, j6 v" I1 T' r
Data:发送的数据。<br>
' e i+ c- W: H执行结果:cSendData_nResult↵<br>! D$ u3 y/ Z( L: K: W
nResult 可能取值:<br>
- y, y" H' b2 _4 l2 Y' r" O0:成功<br>
9 p% q, S( V* `1:串口控制功能被禁止<br># ~; W3 G: ~- |2 d: R$ M2 F
2:非法的指令名称<br>. a- Y4 G6 k8 ]6 j( T7 l; l
3:非法的端口名称<br>
" }. G: q4 T: U9 \5 k0 H! ]/ f4:非法的串口设置<br>7 I; N: N1 m3 x0 \2 H
5:操作失败。 |
|