|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>2 x2 S0 h4 [2 g7 o# S1 T3 H' U
一、概述<br>
$ h& M* s1 T& g+ a为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
4 \/ X8 a( W* {3 W4 R/ a控制的接口。本文描述该接口的控制协议。<br>) a2 S. b& k# l2 n
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
$ G8 P( p) F; V M5 K过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>; O. k* |' z& r
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>' Z9 j4 I& ^3 j$ F5 f* |
该协议可根据以后的功能需求进行扩展。<br>1 d: ^( g7 l9 b7 f
二、指令的命名和格式<br>
8 [9 A0 N! \& R! C& P指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
: M4 o z* L* k& N* u处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
" X Y, f! \+ h7 h3 J其余字母是其功能的英文描述的简写。<br> O" M) W. z8 A, p. M
指令及其参数、指令的执行结果均用字符串表示。<br>4 W# X) h! M6 L: b6 T8 R. `* v/ u; o6 j! ]
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
8 x6 @2 J0 F/ y( a2 R" {1 }的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
/ o- Y/ D# k: b# A! V @指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
1 y+ g) {' I6 x. N指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>; R3 C/ }0 t6 u
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
+ U) Y* ?9 }- e; A执行结果代码为0 表示成功,其他值的含义与指令相关。<br># R+ R0 j e( w
三、指令描述<br>7 Q6 k/ K! j9 n$ h2 j
1、 ePowerOn<br>
3 Q7 I9 v3 J; z) P功能:机芯开机<br>+ h% E1 F9 I2 P% { [
格式:ePowerOn[_WallName][_ProjNo]↵<br>1 k2 f2 |* W5 i* h, \* z0 f
参数:<br>4 s9 y: a6 ]& l
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br># |+ k6 c6 `) ]1 S* }2 b; R
也必须省略。<br>4 Y7 U1 F/ ?- @) S
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
I% m, H8 e" {芯。<br>6 }9 ]9 V! {; h$ p8 v: ]
执行结果:ePowerOn_nResult↵<br>
* D+ i$ x0 k4 F; p* Q hnResult 可能取值:<br>! X) l0 H; G ]! p7 S/ L
0:成功;<br>
/ {. N: N- |2 |& `4 ~8 F1:串口控制功能被禁止;<br>
2 U n7 o" v3 g: z8 G2:非法的指令名称;<br>
4 P* g- p! O# q7 ?9 X, L0 ~3:非法的拼墙名称;<br>4 M# L: }% Q5 G3 c) E; E$ t
4:非法的机芯编号;<br>( C# R5 [6 r) m) z+ H$ D
5:操作失败。<br>6 g, T, p/ X. l' F9 a ]. z9 O$ ^" x% ~
2、 ePowerOff<br>& O M) a# }6 h! D2 B
功能:机芯关机<br>9 }+ J+ ~5 R) K/ R( b! V# _6 U
格式:ePowerOff[_WallName][_ProjNo]↵<br>
* @* d/ ~) S: X ^4 g参数:<br>
# \, R: |$ s* W% KWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
9 C8 R8 g+ b4 B' ?也必须省略。<br>
8 L: S% }. B3 k# d- Y( KProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
/ R9 o, P% Z4 J) d9 R* {! u c5 ~芯。<br>
0 c$ m7 O% q4 l+ ~9 ^2 H执行结果:ePowerOff_nResult↵<br>3 p( R/ I$ ?; i$ @
nResult 可能取值:<br>
Z& S4 c8 r; q# x7 `0:成功;<br>4 X# D+ Y) F1 }$ f+ }' f! y% }2 R
1:串口控制功能被禁止;<br>- \4 O1 Q7 \% T0 a; r/ t Q8 c9 F
2:非法的指令名称;<br>
: ?& y# l) s8 [+ X6 ]; w9 k3:非法的拼墙名称;<br>2 B/ a- ~% E: R
4:非法的机芯编号;<br>
7 P, @( t' U( [3 f! k8 X5:操作失败。<br>
+ m4 G: l7 z, _; _9 L3、 dPowerOn<br>
; \' ^7 z b) Z& n5 q9 ~功能:多功能显示设备开机<br>
- ^2 u s1 n) z; m+ B格式:dPowerOn_DevName↵<br>' x+ m. B+ i, H) M
参数:<br>; L9 }) X0 ?( @# `& S. b
DevName:要进行该操作的多功能显示设备的名称。<br>
* k. o. b1 O1 t! p( q执行结果:dPowerOn_nResult↵<br>2 }1 I8 V, ^# z9 W! {0 M$ \
nResult 可能取值:<br>2 N) a5 Y9 B- q/ H* S( G
0:成功;<br>' X6 p$ l' m9 S+ [3 e
1:串口控制功能被禁止;<br>
; t, z) C) g7 z- ~/ q. | x2:非法的指令名称;<br>
9 `' ]/ @/ E# J8 G ~; s( L. [" c3:非法的多功能显示设备名称;<br>
) b3 F" B: @' Q, B4:操作失败。<br>4 k3 q! V/ D% K) [! b- ?5 C1 x4 F. @
4、 dPowerOff<br>
" b3 G: b8 [9 t6 J# ^8 H7 i功能:多功能显示设备关机<br>
4 ], Z$ a G/ S3 N8 F. r格式:dPowerOff_DevName↵<br>9 M7 H. K, w+ w% C) N
参数:<br>
! t7 V9 _; u; {, k0 I% ?DevName:要进行该操作的多功能显示设备的名称芯。<br>
; \: V% n% X2 O. {' D Q执行结果:dPowerOff_nResult↵<br>
7 i- |( R$ F' x: knResult 可能取值:<br>
1 H' _: [8 _+ X& c& {0 @& _0 I0:成功;<br>$ i5 G2 y+ |% L: n8 c" U( O" F3 j
1:串口控制功能被禁止;<br>0 {. \( Y9 s2 E/ l; t
2:非法的指令名称;<br>
$ S' f7 {& U* J# \) n. q3:非法的多功能显示设备名称;<br>1 c$ u7 J) J P; k U- I. u O
4:操作失败。<br>6 B4 {$ _4 q, k, @
5、 eCloseWin<br>
6 _$ E& B/ c6 C8 D( d4 B功能:关闭所有机芯直通窗口<br>% o/ l6 ?. M. x( V* {
格式:eCloseWin[_WallName]↵<br>
7 e+ e& H# I; ?! X! q0 {# ]参数:<br>
% Z( W7 B. [( Y1 }1 vWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
! C' w2 ^' }% M5 o H+ G- J执行结果:eCloseWin_nResult↵<br> V* x, p* i9 ^& a; {: i
nResult 可能取值:<br>$ s0 H! a1 V; l. m
0:成功;<br>3 ]7 V( U( _6 F u) z
1:串口控制功能被禁止;<br>3 G0 c) j% `2 [4 G: M7 \5 _
2:非法的指令名称;<br>
! i W3 y1 [8 o1 c0 C9 c3 n" a3:非法的拼墙名称;<br>
$ V4 w5 P7 V' v9 h& f7 E4:操作失败。<br>. e3 a' y* @" b! q) e' g5 e
6、 pCloseApp<br>/ O' r2 L+ T9 }8 G% B2 [
功能:关闭所有处理器应用实例<br>. I5 z0 q, N% O, n' B
格式:pCloseApp[_WallName]↵<br>
# G+ g- T" M1 K7 i! k参数:<br>( y4 w$ z9 @$ l5 L! T
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>, `% c9 H/ ?" q- g& [
执行结果:pCloseApp_nResult↵<br>
+ Y0 B" I% H) N# |; w$ L9 GnResult 可能取值:<br># e! b9 s2 b1 h! x1 i
0:成功;<br>, Q% z: d& { s# ]* o) H
1:串口控制功能被禁止;<br>
6 t- [, H. d& W7 G2:非法的指令名称;<br>
1 ~& r* Z2 U& V* r3:非法的拼墙名称;<br>
& \, Z$ Q1 x1 m5 @9 s4:操作失败。<br>! H( Z& V3 _" Q: g8 _
7、 pCloseWin<br>' v: u0 o! F7 i' ^. H! Z
功能:关闭所有处理器窗口<br>
0 P! G$ b K5 r. k6 l F格式:pCloseWin[_WallName]↵<br>
# Q9 H0 a9 `5 F2 d/ n参数:<br>
. K% c' x+ J' \* f$ BWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>0 n1 L7 x; Z! ^! z2 r/ v w1 q
执行结果:pCloseWin_nResult↵<br>
- e7 F+ e8 g$ C+ \1 q5 VnResult 可能取值:<br>9 t3 [+ u/ P* J) G- w' O+ r& x
0:成功;<br>! B/ M" w* V& z/ {- Q$ t3 g
1:串口控制功能被禁止;<br>' M" O2 [: k) u9 c! X- c8 w" {2 G9 @
2:非法的指令名称;<br>/ W" w4 j0 c4 N1 q# l
3:非法的拼墙名称;<br>1 b3 ?+ p( p$ w/ i0 y" X1 C. ^
4:操作失败。<br>( @# O$ i/ A) m1 ]8 w8 B
8、 mApply<br>
5 F: T5 H& n. e+ D5 F+ y0 y9 |功能:执行已经定义的模式<br>1 c8 U9 v" ~. c& M9 z
格式:mApply_ModeName↵<br>
: I0 X- {) W+ g/ m参数:<br>( F! [ ?# k m. J' c* A2 F
ModeName:要执行的模式的名称。<br>
* e: j5 `1 y+ e执行结果:mApply_nResult↵<br>) z& o! G' n% T/ m" Y) o7 O
nResult 可能取值:<br>
) g* H$ n2 ]0 S0:成功;<br>
) ?; G$ J; T; Y, t1:串口控制功能被禁止;<br>0 C) T, W1 X& a4 [
2:非法的指令名称;<br>: x8 ?2 E; H& c% J: x9 b- N8 R$ L
3:非法的模式名称;<br> s0 r" q1 _1 m% g% ~$ |
4:操作失败。<br>
4 s2 R& o7 }7 }8 } s9、 sSelVideo<br>1 \2 [' o; W! A$ s3 A( L5 O
功能:将一个VIDEO 信号源选择切换到一个监视器<br>! D% l( L v) ^5 O
格式:sSelVideo_SouName_DevName↵<br>+ G8 r$ h" ]- G9 t' P3 m
参数:<br>! l) O1 s- X* B# g
SouName:要切换的VIDEO 信号源的名称。<br>; r0 i$ x. S! `* S8 o
DevName:要显示该信号源的监视器的名称。<br>9 E" o( j. ~6 f- O+ P
执行结果:sSelVideo_nResult↵<br> C, o+ w& o4 R; u" G0 L* V5 {2 i
nResult 可能取值:<br>3 R& c; u# I9 y) @% f
0:成功;<br>
% X1 L7 P# V) B5 E3 w& _9 g0 R0 s1:串口控制功能被禁止;<br>
) K4 y! b. k) L, E. n2:非法的指令名称;<br>
7 N e4 t! _ g8 @1 a/ o3:非法的信号源名称;<br>
. E8 G# E6 S$ n/ P4:非法的监视器名称;<br>
) F# }$ \- P8 Q$ _5:操作失败。<br>2 m$ S9 W$ z2 i8 H
10、 sSelCamera<br># ?! A! V! L! F0 ~8 ~% q! m& H" C
功能:将一个摄像头信号源选择切换到一个监视器<br>
8 N* o0 A6 s% O格式:sSelCamera_SouName_DevName↵<br>8 z$ b- B/ I! M/ j7 F; v4 K( I
参数:<br>5 s3 d/ f$ s" f7 {8 g7 P' L, e
SouName:要切换的摄像头信号源的名称。<br>. J& e, |5 L- k- i, j
DevName:要显示该信号源的监视器的名称。<br># r& n- S0 ]8 v( a
执行结果:sSelCamera_nResult↵<br>3 f) H1 ~% \, |& {, s) B% F1 g
nResult 可能取值:<br>
1 M$ o( c( h9 l' }8 d' U' o. I0:成功;<br>6 p) h# M3 c7 e6 _5 K, Q7 `
1:串口控制功能被禁止;<br>" a) Y. {5 b3 O% G
2:非法的指令名称;<br>
) R# T# P+ x# g+ B8 @5 L! P2 V3:非法的信号源名称;<br>
O9 k. q c; f1 @1 z: C4:非法的监视器名称;<br>
) V/ f) @7 W) p7 C9 I5:操作失败。<br>1 n) u& Q& X+ H4 n! W4 D/ y. k
11、 sSelRGB<br>
" d8 i; g& w: e, I5 J/ s5 ]功能:将一个RGB 信号源选择切换到一个显示器<br>
/ Y" s- ^3 S/ s6 v. C. J格式:sSelRGB_SouName_DevName↵<br>/ [ W& O6 N3 C$ B* Z$ T- m
参数:<br>6 B8 h y8 [/ m, v8 n
SouName:要切换的RGB 信号源的名称。<br># u l3 x) x6 E5 Y4 }% ^
DevName:要显示该信号源的显示器的名称。<br>
/ w7 y/ Z+ i8 ~7 a+ {执行结果:sSelRGB_nResult↵<br>1 w; h. \3 N0 P( }
nResult 可能取值:<br>+ `5 n) c% |) b4 G% b
0:成功;<br>
. U5 p8 _. Y( | K6 h1:串口控制功能被禁止;<br>: S8 C" o1 h& |0 y) _% \/ u
2:非法的指令名称;<br>/ ~# }# V1 `& `2 g) s& ?
3:非法的信号源名称;<br>
8 Z. B: q' L1 a4:非法的显示器名称;<br>/ q9 n; V" V+ E6 U; K2 g Z# m
5:操作失败。<br>
5 j" B; U) M8 P1 e! c12、 sSelAudio<br>, b/ L% ]! d8 o& m f8 ^ D
功能:将一个AUDIO 信号源选择切换到一个播放器<br>* r5 I, S) O% S$ i8 Z
格式:sSelAudio_SouName_DevName↵<br>
7 Q: O0 v9 P1 F$ ]/ N8 N* ]6 r% p参数:<br>
, ^" r6 }. o6 C; A" R6 S) _/ Q8 LSouName:要切换的AUDIO 信号源的名称。<br>7 O5 Z9 w ]' l" c8 q
DevName:要显示该信号源的监视器的名称。<br>4 p( k& ?; [9 k) @5 ~- ~9 f
执行结果:sSelAudio_nResult↵<br>: G8 k8 B0 T9 N `) P4 f% }0 ^+ @
nResult 可能取值:<br>; n* e) G- l' P6 K a8 ~3 w
0:成功;<br>
6 k, R6 c) R) Z2 h1:串口控制功能被禁止;<br>
* s- O9 I _% P* }' `2:非法的指令名称;<br>
( c2 M, B+ [0 Q3:非法的信号源名称;<br>2 O) f4 W/ N# A
4:非法的播放器名称;<br>$ Z$ i# H/ H8 @; M' t3 F
5:操作失败。<br> ]; c/ }+ M, I+ z! j! A' ?) l! l
13、 sSelVideo2MFD<br>) I6 e8 P/ f6 X Q* g' t
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
* ]# q6 ^) i3 d格式:sSelVideo2MFD_SouName_DevName↵<br>
) }9 }+ U& t! X" R9 t% ]) a7 m5 I参数:<br>
* y9 [6 k2 _2 o0 L9 SSouName:要切换的VIDEO 信号源的名称。<br>
3 W* h/ g) k. g/ W j# F3 v+ wDevName:要显示该信号源的多功能显示设备的名称。<br>' ^8 C3 p' z: Y& e3 V) o$ \' Y) U
执行结果:sSelVideo2MFD_nResult↵<br>) |/ @& P# N: b- ?8 C
nResult 可能取值:<br>
5 Z% Z# N' h2 W& U) q$ f; r0:成功;<br> [/ t7 Z7 U$ B2 ^) g8 P
1:串口控制功能被禁止;<br>
0 L$ T% |- R) P2:非法的指令名称;<br>
& K( a3 v9 N0 k7 Q! W: W+ Z3:非法的信号源名称;<br>6 @8 ~2 i% A7 Q# G# T5 h% K# V
4:非法的多功能显示设备名称;<br>. O( g1 t) W m7 E/ B+ ?' l
5:操作失败。<br>) t' X) r! T. N( [. m
14、 sSelCamera2MFD<br>) C0 q6 p$ j( j$ w' C. J! w5 h
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>' g6 t* M+ N( ~* K. J8 u: m) S
格式:sSelCamera2MFD_SouName_DevName↵<br>
4 |6 X& u5 x2 o+ q. C参数:<br>9 f! t- b- M4 w+ S! {
SouName:要切换的摄像头信号源的名称。<br>0 i, z+ o$ w1 K" h
DevName:要显示该信号源的多功能显示设备的名称。<br>
% P. t( g! D; g+ M* A0 ]执行结果:sSelCamera2MFD_nResult↵<br>
# W L) B. t! p) X3 l; S7 {: ]! h7 QnResult 可能取值:<br>1 w8 f9 h! F$ M; z8 a* y
0:成功;<br>1 }6 X8 w2 J& ^1 A- B
1:串口控制功能被禁止;<br>
- n9 X$ X5 o: Y( f4 K$ ]% h2:非法的指令名称;<br>
, ]# B' b$ ?( r3:非法的信号源名称;<br>5 H" `' i) ]( c; `9 o1 S: ?
4:非法的多功能显示设备名称;<br>
) g+ [# ]! S$ o! X4 Q r5:操作失败。<br>
# r: d0 R3 r" e! s& C* Q1 @) p15、 sSelRGB2MFD<br>9 l x) N$ c' v
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
' f+ n, F) K. y格式:sSelRGB2MFD_SouName_DevName↵<br>7 n. v( j1 R; F
参数:<br>
6 u7 q, x$ r- N( L( Z0 d: u4 YSouName:要切换的RGB 信号源的名称。<br>
0 h$ ~: @7 _* I- B- D) }DevName:要显示该信号源的多功能显示设备的名称。<br>
" \* R1 ^$ O( W, a4 G$ y执行结果:sSelRGB2MFD_nResult↵<br>, p8 m1 d( _% t* H n. r
nResult 可能取值:<br>
4 Y ]. @( \. w9 v! [0:成功;<br>: e: a6 q7 ]4 k" Y: T, b
1:串口控制功能被禁止;<br>
6 n& n% k& }0 D4 x. Y2:非法的指令名称;<br># F* v9 M8 C6 W
3:非法的信号源名称;<br>
) q6 }; F! U4 g8 t$ X$ b4:非法的多功能显示设备名称;<br>. c& b8 W2 {" R S& b
5:操作失败。<br>
1 ~* e9 A- _5 i- ]# `. _4 ?16、 sSelAudio2MFD<br>1 f2 I+ G/ v! p5 G
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>$ v2 @6 h2 e$ p! {1 M9 }4 i9 Q, n. V
格式:sSelAudio2MFD_SouName_DevName↵<br>
( R j) d& i4 K0 _% z1 c参数:<br>
* f9 C4 u5 Q) I( KSouName:要切换的AUDIO 信号源的名称。<br>
5 D3 N5 t; D8 k% `8 ]DevName:要显示该信号源的多功能显示设备的名称。<br>2 z7 \6 m( W7 Y/ Z G2 T: _) D
执行结果:sSelAudio2MFD_nResult↵<br>- V( Y5 J$ u1 V* q2 i7 B
nResult 可能取值:<br>
5 R+ p/ H6 `. |/ t+ H( Z0:成功;<br>. f" f: m, ? B# x
1:串口控制功能被禁止;<br>
& J% U' O4 z/ X2:非法的指令名称;<br>9 f9 C2 D/ H8 p, }1 F) Y& W
3:非法的信号源名称;<br>
. s! f: M( [9 u9 e8 O! a& u r4:非法的多功能显示设备名称;<br>8 u; w( Z: @# j1 t6 B* s
5:操作失败。<br>
3 @8 i& q' q' k" A2 I. ~17、 cSendData<br>! N+ g5 C# a( T1 g. c3 L
功能:发送数据到指定串口<br>
- x/ [- @4 T* I格式:cSendData_PortNo_PortSettings_Length↵Data<br>
: d5 E9 L6 k. @# B* d9 y参数:<br>) y! S/ A; F7 m) g8 x5 k: e3 {# k: Q, c
PortNo:串口名称,譬如COM1<br>7 P8 o$ t- f9 y6 ]
PortSettings:串口设置,譬如9600,n,8,1<br>
{5 q; U F Y5 L, OLength:发送的数据长度<br>
6 ~6 i* x. i" u4 _. @' iData:发送的数据。<br>
' a! b! k: N; V E6 _2 D0 i. Q' c执行结果:cSendData_nResult↵<br>; f* b0 A( S/ G7 ]) j8 D0 y R7 k
nResult 可能取值:<br>
" A" O4 I" F3 F2 V2 ?. {6 O0:成功<br>
$ O" Y7 M! G+ A% @, D1:串口控制功能被禁止<br>
k0 t6 h& R% |/ k5 p2:非法的指令名称<br>3 x* t4 V! ?/ O. f# j
3:非法的端口名称<br>3 ^0 y$ ~9 |1 h
4:非法的串口设置<br>
- Q8 B9 G+ _- j% l0 o7 l5:操作失败。 |
|