|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>5 \0 Z" a- c' O" `& c4 M+ F; ]
一、概述<br>, g; a, e* c& L! L) g1 D. ^) M
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
0 u9 x3 C2 U" s% C4 J控制的接口。本文描述该接口的控制协议。<br>
1 F) ~ ^. p$ g1 _VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>! {: D0 b: h! N
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
( @8 n( J" f2 r机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>! y! ] L: k+ M9 D
该协议可根据以后的功能需求进行扩展。<br>
. N& A8 J+ A$ U* a二、指令的命名和格式<br>
( y" W$ l5 p9 ]指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
4 S6 J l1 g1 I; U% V* X4 a! t处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
# m1 w4 |5 Q8 ]$ A* `* R9 f其余字母是其功能的英文描述的简写。<br>7 Q* z( \) o3 e" z) i
指令及其参数、指令的执行结果均用字符串表示。<br>( x3 I! {) D" A* l# q
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>! e: c0 I3 S. ?6 P z
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
# l' W9 K1 D$ O指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>9 ^1 P J; K+ _
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
* ~5 f4 }4 ?% @' w U6 z指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>5 t0 O7 \2 B. `; V& y
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
0 m5 M- F- r1 [$ Q- J4 t三、指令描述<br>8 A8 Y: J, n$ Z" e% Q
1、 ePowerOn<br>
0 A" J* n K: K5 G功能:机芯开机<br>
$ _: b1 Y7 O1 p1 L格式:ePowerOn[_WallName][_ProjNo]↵<br>
- A+ ^+ _) U9 s& C% G: X参数:<br>- \+ ^1 x- _- y, c; H% Q. A
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
8 B% A. j5 ]9 Z1 f. ^- Z3 A也必须省略。<br>6 I" K& N; P8 v8 W! \9 n+ _, a
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>9 R7 \# `$ Y, \$ r, X+ y
芯。<br>8 J4 c* k' H' M b
执行结果:ePowerOn_nResult↵<br>
, e2 I" U+ r( _7 R UnResult 可能取值:<br>7 [4 W( h9 ]! ?
0:成功;<br>
3 ]9 g! u5 K* ~, d1:串口控制功能被禁止;<br>5 i, S7 M- A2 ~' b0 V
2:非法的指令名称;<br>: \! p0 W% p% n( E$ O
3:非法的拼墙名称;<br>
% z. t" F( Y. m; `; V# ?: q4:非法的机芯编号;<br>
* g2 Q4 h4 {" M5:操作失败。<br>
1 ?/ ~" G) h. K; _$ n4 W2、 ePowerOff<br>
, r; j! x r. \3 p# i功能:机芯关机<br>
1 ~, ?7 W/ C; ~ G& \" {2 I# `7 S格式:ePowerOff[_WallName][_ProjNo]↵<br>- i4 C6 F4 F' h; w
参数:<br>
/ ^$ O" h9 j, `7 [WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>" B1 `* t: I, G; n6 `4 |0 K1 E9 _6 q
也必须省略。<br>
8 b; h. |- x- P" k0 v/ t" {ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>( Q+ U. I: [% H9 E
芯。<br>) a) E# q5 w# J
执行结果:ePowerOff_nResult↵<br>- M6 Z6 d/ F# ~0 |
nResult 可能取值:<br>; ^' A( x1 L5 r; f4 N
0:成功;<br>( p. t; @/ J: ]5 v
1:串口控制功能被禁止;<br>* B! h+ c7 ], Y5 m7 j
2:非法的指令名称;<br>
: N3 I2 L8 k+ ~/ v' r$ u3:非法的拼墙名称;<br>
# @3 [! w/ l# @, }: |4:非法的机芯编号;<br>
1 W" k r4 C5 k; r# T5:操作失败。<br>
* D6 ?. @& s T" g0 A, H0 H3 K3 N3、 dPowerOn<br>
9 E8 c/ w _( r: A( ^2 O/ F功能:多功能显示设备开机<br>
# K4 ~+ Z, R9 h格式:dPowerOn_DevName↵<br>
# |( a. L; s) Y5 s% U参数:<br>
5 B7 {& J+ g3 a! i* e4 v3 ^* bDevName:要进行该操作的多功能显示设备的名称。<br>+ |$ F7 \- a1 R8 i- M
执行结果:dPowerOn_nResult↵<br>
: E. X7 ]" N. b0 z! Q ?+ L# p* @nResult 可能取值:<br>+ w! ]& k( w& O- a0 R# Y5 b
0:成功;<br>
! y Y! _/ {5 k5 Z5 s/ G1:串口控制功能被禁止;<br>3 I; J+ r# ~9 M
2:非法的指令名称;<br>
' b! M& J+ `7 }/ Q3:非法的多功能显示设备名称;<br>
. o- f* D; K& O' V4:操作失败。<br>
* b9 {1 r& J* w- L- \# R5 W( p4、 dPowerOff<br>+ D2 s) L( N6 W1 F. s
功能:多功能显示设备关机<br>
8 x% ^1 A% @/ Z$ @格式:dPowerOff_DevName↵<br> c4 N, H" o3 H: W' ~0 ?8 f
参数:<br>( W/ j" x2 I* A* L$ N* G! w( L
DevName:要进行该操作的多功能显示设备的名称芯。<br>3 A; [2 m5 H& R( \' y9 A7 A
执行结果:dPowerOff_nResult↵<br>4 r! J0 ?: c7 v% ]& a
nResult 可能取值:<br>
! o, w% h/ Y. c5 o9 H& q* N2 F0:成功;<br>
6 n0 N! r" b [3 c; e1:串口控制功能被禁止;<br>) C6 y: z0 M3 G9 e% x
2:非法的指令名称;<br>. c( ~0 w7 @( i, O" r( g
3:非法的多功能显示设备名称;<br>( h0 Z$ t6 W. t" X7 x) [
4:操作失败。<br>" h! G) \1 r/ f7 ~
5、 eCloseWin<br>8 p. M2 a2 Z7 L% ]0 q& }# U% V7 u
功能:关闭所有机芯直通窗口<br>
# K* }/ x( N8 \* F" @5 ^1 w M) i格式:eCloseWin[_WallName]↵<br>
, z/ }% D& G; a2 P参数:<br>
+ ~' b$ m" r9 ~: Y' z, ZWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>; c; F" }, T( Y: |# v: H0 d
执行结果:eCloseWin_nResult↵<br>
4 I! _9 r7 U: I y+ g9 c0 B8 b7 o/ s. inResult 可能取值:<br>. |: x: U# c$ M& } O
0:成功;<br>
. m( S+ V F% I4 l1 f" R, e1:串口控制功能被禁止;<br>
! M' k% P% [( z* ?, X3 O' g7 b+ y' i2:非法的指令名称;<br>
, n/ g" l W; s. R" U, i# Q" \& l3:非法的拼墙名称;<br>
$ |8 p1 Y) c& E4:操作失败。<br>: G0 E5 Y3 I( `, }) l
6、 pCloseApp<br>) O/ W/ p1 }/ c1 n' ]
功能:关闭所有处理器应用实例<br>& u. w0 w0 Y. L, g- c- r: k6 ^
格式:pCloseApp[_WallName]↵<br>% H: P2 r7 y) Z- I0 m6 t' |
参数:<br>6 s& e) ]2 Z" k/ Y2 N- k. `
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
6 z5 O: D2 t' u6 x' s执行结果:pCloseApp_nResult↵<br>
7 c; y0 o3 y7 e. W! {+ ^. A: {' snResult 可能取值:<br>
9 f2 P1 }7 ]: J }# Y k8 G0:成功;<br>
! s7 T0 a+ R# h4 c1:串口控制功能被禁止;<br>
" g$ N9 y: |/ p# K5 q2:非法的指令名称;<br>
& d/ ^; c- T$ p& G' S6 W/ Y3:非法的拼墙名称;<br>& }# x& H' B+ |) ^% \
4:操作失败。<br>
~4 b# ?7 f- f0 d) O8 P% z7、 pCloseWin<br>1 t& y: \0 h1 u$ d
功能:关闭所有处理器窗口<br>4 W% w) m& [7 ^6 X. b
格式:pCloseWin[_WallName]↵<br>0 l9 |* p7 B& A+ J4 ^ p
参数:<br>
9 y. u( w. b/ d9 K% W) H1 Y3 QWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>/ k3 f" V' c* G1 w5 N7 |/ R
执行结果:pCloseWin_nResult↵<br>
! r$ Z) I7 `" T/ V- i4 i' ynResult 可能取值:<br>3 i* Y+ x: a2 ?) D4 E( D
0:成功;<br>+ e3 G: Q* E) ?) q: A7 r
1:串口控制功能被禁止;<br>
! r2 t- k J9 x2 V/ @3 R2:非法的指令名称;<br>
: r! ?+ P2 {; G; K+ z- Z3:非法的拼墙名称;<br>
+ D! Q, m4 e C7 N) {% ^* l4:操作失败。<br>9 J; w7 t Q% Z% N
8、 mApply<br>
/ s( |9 B* u0 k( b0 K* S4 M$ n功能:执行已经定义的模式<br>
7 ^( V/ s1 a m5 y" W7 U格式:mApply_ModeName↵<br>1 G& B7 U; ?4 w
参数:<br>8 `5 e1 E/ Q1 G$ l# U1 D" e
ModeName:要执行的模式的名称。<br>
" n# Z8 U# z3 l$ M执行结果:mApply_nResult↵<br>, u( d* P' e+ r. @; C. R6 w
nResult 可能取值:<br>
; J! ^$ O2 m5 C; g4 o0:成功;<br>. {6 ~$ }) P3 m" Z
1:串口控制功能被禁止;<br>
3 S5 R2 @1 c/ d! I' j1 ?: e2:非法的指令名称;<br>
8 z8 |# w* P1 b0 d/ O4 M" Z3:非法的模式名称;<br>2 ]7 ]) q# k" E1 k2 B- x
4:操作失败。<br>
: U' R, X: ?2 x# g8 d9 n9、 sSelVideo<br>5 K& H) C" q# h+ k
功能:将一个VIDEO 信号源选择切换到一个监视器<br>
6 G* q" Y" b! U% p$ w" S' r( W9 U格式:sSelVideo_SouName_DevName↵<br>* d1 A# R/ C; P5 J
参数:<br>
1 @3 d' H. `. s2 P9 |5 ISouName:要切换的VIDEO 信号源的名称。<br>
2 B% t) L' R: ?5 N) {6 c( l, XDevName:要显示该信号源的监视器的名称。<br>
, r. e: w# E" P& |: Z执行结果:sSelVideo_nResult↵<br>
: \* ]* q4 x- K8 [4 B9 V. {; JnResult 可能取值:<br>
3 |3 a9 ]# f8 a0:成功;<br>
5 J9 h9 U4 C" E1:串口控制功能被禁止;<br>
- q4 [1 t# {# V2:非法的指令名称;<br>
9 ^4 L P( F2 _) l) ]3:非法的信号源名称;<br>
! H, o$ {) j2 z! s! z, J9 B4:非法的监视器名称;<br>
- n) p, m# S" `/ M# m+ M5:操作失败。<br>/ c+ A3 L/ Z9 p# |
10、 sSelCamera<br>
) K, D* n9 d" r( h. S& {3 h功能:将一个摄像头信号源选择切换到一个监视器<br>) f" l( t$ @/ ~' n* X, r' _& C$ L
格式:sSelCamera_SouName_DevName↵<br>8 ~# n+ j6 m" b& x
参数:<br>
# a) M) G7 P( B2 I4 I2 B9 MSouName:要切换的摄像头信号源的名称。<br>
( S8 O; R* U5 x7 k- w# eDevName:要显示该信号源的监视器的名称。<br>) Y" [* ?) t3 q3 x
执行结果:sSelCamera_nResult↵<br>! |% h# F: J! c: Q j; D4 |
nResult 可能取值:<br>' I6 f" _% z6 e M/ N
0:成功;<br>! A7 n4 @: f# h$ j$ N: n
1:串口控制功能被禁止;<br>
' E3 s% [. L. y* _2:非法的指令名称;<br>" n: J* U- }0 e2 c7 W1 m
3:非法的信号源名称;<br>
* z$ e- r3 k% b0 X" u4:非法的监视器名称;<br>' \- {. g+ G8 B$ ~# B+ C) }
5:操作失败。<br>
7 w" t. Z7 z5 U6 |: z11、 sSelRGB<br>) ?0 f1 ]8 v w z/ D \
功能:将一个RGB 信号源选择切换到一个显示器<br>0 T, t" @$ |0 ^. T& g
格式:sSelRGB_SouName_DevName↵<br>
" t) j; A0 D; q参数:<br>
# j' Z/ W% o; k5 F3 y# nSouName:要切换的RGB 信号源的名称。<br>
8 P: z+ F/ p) E, mDevName:要显示该信号源的显示器的名称。<br>
" H7 R o2 X, X1 O" E/ s执行结果:sSelRGB_nResult↵<br>6 H$ k& C+ Q( ?" O! Y+ @/ l
nResult 可能取值:<br>- }1 U9 [0 `. H. i
0:成功;<br>) Z0 S8 ?. j* O9 x3 R0 y
1:串口控制功能被禁止;<br>
1 w2 `9 g/ p- E. F V2:非法的指令名称;<br> x7 }/ G( N; G4 m* u, Q: }
3:非法的信号源名称;<br>
# ^) D( x0 z+ @4:非法的显示器名称;<br>
$ s0 j/ c* L2 L0 w5:操作失败。<br>
- l& U% Z$ J9 ^- d12、 sSelAudio<br>
Z" H" F5 Q% }7 V- d/ X* K功能:将一个AUDIO 信号源选择切换到一个播放器<br>
3 J3 `& a) ?; n, b# d格式:sSelAudio_SouName_DevName↵<br>
5 j3 Y6 E# A5 p参数:<br>
2 q1 l/ D6 t8 R) RSouName:要切换的AUDIO 信号源的名称。<br>3 ~1 \! C9 C+ ^; \& q0 H/ V# J
DevName:要显示该信号源的监视器的名称。<br>
2 ?) V1 ]- \0 u执行结果:sSelAudio_nResult↵<br>; ~3 J. X' m" p
nResult 可能取值:<br>3 K/ N8 ~) C& S4 K4 ~) N
0:成功;<br>, u' H! c2 w' X
1:串口控制功能被禁止;<br>1 {0 u) L0 P6 J4 Q' \5 l4 T
2:非法的指令名称;<br>+ [& ?2 E& m& Q; y+ B. |& a9 @, J
3:非法的信号源名称;<br>
d/ }7 Z7 p/ {$ G4:非法的播放器名称;<br>( i6 C* U& U2 c+ ]
5:操作失败。<br>1 s; G* b5 \3 R( X! H7 X
13、 sSelVideo2MFD<br> k: u! _% Y& |, U( I
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
. ^, g: _+ l5 P0 S格式:sSelVideo2MFD_SouName_DevName↵<br>
8 ]8 {5 T3 K4 q5 P( l2 ~+ s参数:<br>% I3 r' @4 `3 F% x
SouName:要切换的VIDEO 信号源的名称。<br>1 q- n+ D1 c3 a* i4 H5 j
DevName:要显示该信号源的多功能显示设备的名称。<br>) K! ~% @: ~- n+ n* A
执行结果:sSelVideo2MFD_nResult↵<br>4 w+ v7 ~$ n: T- v
nResult 可能取值:<br>* @3 h5 y2 G; |1 z: ?5 t. T9 ^
0:成功;<br>
# C _/ @4 P* ?( t0 h. g' T, v1 {1:串口控制功能被禁止;<br>' x! C* p: G! E& p9 K
2:非法的指令名称;<br>
- W% U: {$ g, Z4 z3:非法的信号源名称;<br>4 p/ J" u. `1 T# _) B1 S4 P5 d
4:非法的多功能显示设备名称;<br>
7 E! H+ V* J/ J- F4 o2 i5:操作失败。<br>
# k$ Y3 A( |3 {. ?0 Y: F* t14、 sSelCamera2MFD<br>
5 K( r+ Q4 I1 v' R$ r5 R) a/ I( x功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
& Y# W! Z% x% z! m: ^6 K1 X; C格式:sSelCamera2MFD_SouName_DevName↵<br>, Q2 r5 v7 X9 e6 d5 _2 y
参数:<br>( B0 a) E/ u8 G. X* I
SouName:要切换的摄像头信号源的名称。<br>( v# f# W+ H" D7 [0 z
DevName:要显示该信号源的多功能显示设备的名称。<br>
: i( f! T' E. l% f7 ^0 j' N执行结果:sSelCamera2MFD_nResult↵<br>
% m/ a% b5 s$ V4 V0 CnResult 可能取值:<br>( }& e8 V4 H2 z2 j r! A: U8 l
0:成功;<br>( E' x' [3 \* l' q/ @% L. Y
1:串口控制功能被禁止;<br>
* f* K4 R0 K" ^+ X2:非法的指令名称;<br>
* i* H/ m1 d( r/ a- ~6 A" Q* ` r3:非法的信号源名称;<br>
; i0 K/ ?, L' m- q& o$ [# P* |4:非法的多功能显示设备名称;<br>
7 U6 p% H: e C& z5:操作失败。<br>
8 _6 O( @9 o% S% l' _6 i' K2 J! w9 h15、 sSelRGB2MFD<br>1 x5 e( A7 L8 F; O$ W9 I
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>$ l5 f8 k' s9 F( f: i
格式:sSelRGB2MFD_SouName_DevName↵<br>8 a; k4 s' ~/ K4 c3 g Y# H% \
参数:<br> j9 ^& S8 v X: B: w% M, n# |# H
SouName:要切换的RGB 信号源的名称。<br>
5 |4 p" s" Q4 U- c) N$ fDevName:要显示该信号源的多功能显示设备的名称。<br>7 Y$ M7 }" X( H6 K' Q
执行结果:sSelRGB2MFD_nResult↵<br>) N: A6 n$ S" A
nResult 可能取值:<br> Z3 r Y& g( U; ~) n8 h7 O) v
0:成功;<br>
+ V: F8 b4 P+ l5 {4 ^7 X1:串口控制功能被禁止;<br>
* ^- a5 p8 i: z- I6 }" @2:非法的指令名称;<br>: Z: [3 z' S; Z* n/ u: g
3:非法的信号源名称;<br>! y1 B% U; f) j* O( }: C; y
4:非法的多功能显示设备名称;<br>
+ Z- s% \* s- W" Q% k) A2 o5:操作失败。<br> W5 |8 v* O$ F" _- Z$ o+ o1 y
16、 sSelAudio2MFD<br>0 @+ G% Q1 x8 t1 d* z# |6 T
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>4 n1 ^' D2 a& g
格式:sSelAudio2MFD_SouName_DevName↵<br>3 e3 Q* @" C) Z" D! S; u0 s
参数:<br>
3 L& Z5 W# t, G, MSouName:要切换的AUDIO 信号源的名称。<br>* {; y0 i( ]0 R
DevName:要显示该信号源的多功能显示设备的名称。<br>' a+ O3 y9 I- ]) F" p# R2 G9 g; ~1 m
执行结果:sSelAudio2MFD_nResult↵<br>
' J4 V P. r& ~- DnResult 可能取值:<br>: i5 e0 _1 v; ^5 _4 B
0:成功;<br>0 G! d+ F/ Y% x9 l1 k4 B
1:串口控制功能被禁止;<br>' Y ^/ t7 a' V* j! l m
2:非法的指令名称;<br>" b5 l* c! B& v: h$ p, ~! \
3:非法的信号源名称;<br>
) v2 ]8 v! a5 U: B5 E% H4:非法的多功能显示设备名称;<br>
) V' ?- {+ Q. c& e2 H5:操作失败。<br>9 G7 }0 Z$ M& z) j$ }% Y( w5 h
17、 cSendData<br>8 q& ]5 W5 w* s% Q* Q* X
功能:发送数据到指定串口<br>0 \0 {% ], L. y- I) @, \. Z! o
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
' l3 m$ h2 R5 b. [2 _- T+ f! _参数:<br> E H! K) V4 z+ F7 I" Q$ p
PortNo:串口名称,譬如COM1<br>
9 X( F% G" I2 x4 ]PortSettings:串口设置,譬如9600,n,8,1<br>
& K! L5 h! c& Q1 vLength:发送的数据长度<br>
6 @5 P* C7 @; S8 P% P4 dData:发送的数据。<br>
8 `6 p" U6 A5 H执行结果:cSendData_nResult↵<br>
1 G- F$ N2 \1 G' a' ?. C4 HnResult 可能取值:<br>
4 b8 O( }; |5 r! N S0:成功<br>. n: r1 X3 X5 T6 q
1:串口控制功能被禁止<br>
" j& I+ s1 d2 g; i' c7 E2 }) i2:非法的指令名称<br>6 _0 M2 h# G, c# J9 n
3:非法的端口名称<br>
+ w5 G: P% D# U4 y# ?: |4:非法的串口设置<br>
; B2 W w h1 |) _: v9 y5:操作失败。 |
|