|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>( v9 \0 s7 k2 s+ c( ^
一、概述<br>; y8 g4 I+ l/ m1 n
为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>; `& `2 P; v* P$ `. e
控制的接口。本文描述该接口的控制协议。<br>! S5 Y( L9 l) C) ?) ~% y8 \
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
! N; s5 ?: c5 `* |过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>$ r/ o8 E0 \' |$ F
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
) l E+ l8 k1 y# l4 j; u0 O4 b0 n该协议可根据以后的功能需求进行扩展。<br>( n/ X7 p# X8 D- k* E
二、指令的命名和格式<br>
) l& \3 F+ l1 f& q( C指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
: I2 Z* A7 E$ u处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>' W) \/ F' _# t v5 U& J, p
其余字母是其功能的英文描述的简写。<br>" h- B! o' s4 H2 S& O0 j9 k' a4 Z
指令及其参数、指令的执行结果均用字符串表示。<br>
7 ?, u$ a- h' Q, y, h每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
2 N+ d+ M( X0 g$ c. V的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>/ `3 E* N" U2 h1 K* a& r
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
9 p. O! ]6 j. i* b# M指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
7 W+ s( h, R7 d* i3 @: ~: P. X2 P" q指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>
" Y% ^0 Z2 Z& n- X/ x执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
8 z c, ^$ S8 z, v) l# X4 w7 f三、指令描述<br>
$ J( T- M4 G; o# B8 m) d$ X$ t1、 ePowerOn<br>. D2 h" v2 q+ Y5 J2 ]% i4 U% p# Y" ]
功能:机芯开机<br>
4 `, m- s( a( \格式:ePowerOn[_WallName][_ProjNo]↵<br>1 F, o+ X% j2 z
参数:<br>
1 v: j- D t& J% j9 OWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
$ B4 x% ^% K0 ^7 o8 w/ ]也必须省略。<br>3 s& }* u' f* N! u
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
* p( l: X% u4 |, z" y芯。<br>- Y) |! k. e4 t0 G5 l# [( S7 s+ @
执行结果:ePowerOn_nResult↵<br>
- H9 f# j' P- y5 [! qnResult 可能取值:<br>
% ?) \4 r" Q& S* D0:成功;<br>5 x* a8 `3 k0 ?, ~' y$ c9 q; V
1:串口控制功能被禁止;<br>
5 W O% D3 f i# _2 X0 o# E( W+ v2:非法的指令名称;<br>; q( ^/ \/ D/ V; k/ u- k
3:非法的拼墙名称;<br>
+ m9 {' ^: i6 T" F3 C4:非法的机芯编号;<br>5 l/ I# v4 I6 Y! X' _
5:操作失败。<br>
% t) I+ n$ U, s1 U$ J2、 ePowerOff<br>5 [. W! v& b+ m
功能:机芯关机<br>
2 s9 W6 S* I2 Z格式:ePowerOff[_WallName][_ProjNo]↵<br>$ R! v6 H. s5 d7 x3 f$ \
参数:<br>! m6 n$ ?0 x1 o5 [5 G/ _% Y
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>: j8 j1 z- [( _) a; F0 X2 C
也必须省略。<br>
! j7 g* d! j' I2 Z) q8 kProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
7 V. F4 s7 M+ [芯。<br>
& o' T, D4 O7 y8 M执行结果:ePowerOff_nResult↵<br>
9 k# Y2 z- b2 A. |nResult 可能取值:<br>; g# b3 T( n" w& c3 I: |
0:成功;<br>8 i8 v, I. N: p4 B8 m
1:串口控制功能被禁止;<br>
' T$ V! g5 o L' |/ R/ N" a2:非法的指令名称;<br>1 { ^" D! o6 E* X _
3:非法的拼墙名称;<br>! e- X5 c; c+ K9 c
4:非法的机芯编号;<br>
3 m+ X7 a2 a+ r0 @5:操作失败。<br>
4 n# j3 R+ }2 L0 E3 `5 g$ d3、 dPowerOn<br>
" Y+ K$ W: p+ f, B7 R. K功能:多功能显示设备开机<br> `: T1 M. X$ P/ Z- c3 L1 q
格式:dPowerOn_DevName↵<br>
5 S8 e# _5 Y+ d6 p) u4 e参数:<br>
1 x$ }: G0 J1 q/ ^5 w) T4 TDevName:要进行该操作的多功能显示设备的名称。<br>
/ U% K( ^6 w' H/ \+ K执行结果:dPowerOn_nResult↵<br>
, _) E. t& `5 k. z% d0 @ hnResult 可能取值:<br>& t& \0 ^8 ~1 w0 w
0:成功;<br>
4 x, K) g4 S Z. D# b: @1:串口控制功能被禁止;<br>
) \2 O! j! i, E4 X4 a2:非法的指令名称;<br>
2 i- } r4 A% z; i; r; h3:非法的多功能显示设备名称;<br>4 i) z7 X: n$ w$ e2 u- `3 N7 D8 M
4:操作失败。<br>; e# n- x% E$ I
4、 dPowerOff<br>
5 v; {; [7 s) C- I0 X4 \7 Y/ f, Y. ~功能:多功能显示设备关机<br>* `& l" x) _0 T9 d2 ~/ \, L0 T
格式:dPowerOff_DevName↵<br># F! ~. u: d6 x" a
参数:<br>
: b& k, t( h& F' y: b. R2 XDevName:要进行该操作的多功能显示设备的名称芯。<br>
6 Y) T# C8 d: B1 }1 Z: A8 L执行结果:dPowerOff_nResult↵<br>' [; B0 m1 y/ |+ h6 @7 e3 T7 F0 F
nResult 可能取值:<br>
3 C) B; T9 I# d; p* t4 ?& `" h0:成功;<br>4 B' ^1 B: D! \6 G' A' W
1:串口控制功能被禁止;<br>
" b! h' U S$ `3 }/ n2:非法的指令名称;<br>
7 { A( p2 D5 r5 a3:非法的多功能显示设备名称;<br>5 |& e# i" O2 r1 t1 u
4:操作失败。<br>
) T& E! j7 O) j( @* v) T/ @& p5、 eCloseWin<br>
7 z% z6 ]5 z5 a2 G/ i1 e功能:关闭所有机芯直通窗口<br>% E4 q8 G8 w' E+ G* e" G
格式:eCloseWin[_WallName]↵<br>5 }8 V. P4 P4 \) c% i ?
参数:<br>
1 M* j$ N2 o' ?9 aWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
* N0 D- A+ K3 z j; a执行结果:eCloseWin_nResult↵<br>+ ?& f6 b: h7 _* `2 Z
nResult 可能取值:<br>' U2 z. ~" X. J# i5 W! H
0:成功;<br># \+ \$ ?7 j, s7 }1 u- L
1:串口控制功能被禁止;<br>9 I" Z1 u3 j( g, V1 y% K
2:非法的指令名称;<br>
" M; J- |* p' _3 p3:非法的拼墙名称;<br>
+ c- p; { u' Q ~. d3 z6 i& x$ M4:操作失败。<br>. ^+ z- X# V! g3 m
6、 pCloseApp<br>
- ]/ [8 g9 s* q( D2 A% U功能:关闭所有处理器应用实例<br>" [3 Q6 V+ I N' r4 s
格式:pCloseApp[_WallName]↵<br>* {- i% c! _. u3 l- \% H% Z
参数:<br>) V. g- z5 _1 T5 e) p
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>7 k( J D. z) z" c) P
执行结果:pCloseApp_nResult↵<br>
4 w. S! z2 ]4 I ]0 t' O. {nResult 可能取值:<br>) {0 m- m$ o* k9 H6 J) [
0:成功;<br> T9 ^% h: G' d, ~( i$ U
1:串口控制功能被禁止;<br>
3 U* N" F6 K( C# D* K/ u: R2:非法的指令名称;<br>
# g: S0 a% ^7 B: ?- l3:非法的拼墙名称;<br>. P, u9 S b, J. z D _
4:操作失败。<br>& Z: q3 r; z% n: U0 ~
7、 pCloseWin<br>
5 z% s- n9 m9 }0 m% K9 G$ V! o8 h# B+ P, b功能:关闭所有处理器窗口<br>7 g7 ~) O6 a, p& l4 b' M+ p# z3 q, e
格式:pCloseWin[_WallName]↵<br>+ g9 a, Y/ n- q- j
参数:<br>
' N% f! q( ?" u% K" j2 nWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
8 ?3 g ^; y+ a. s执行结果:pCloseWin_nResult↵<br>
$ @4 {# `2 _- [3 S' q4 ?: V# j \nResult 可能取值:<br>
" W/ }1 `3 p" g1 |1 u7 U1 }7 R0:成功;<br> ~% Y; m; f- P
1:串口控制功能被禁止;<br>
& q$ i, u* k5 t2 U2:非法的指令名称;<br>
5 p! l& ?7 H( D% l3:非法的拼墙名称;<br>
; R9 k' |( v, d4:操作失败。<br>, R( |: y, S, n; a2 b/ p* m
8、 mApply<br>$ }; h* o) N, e4 p3 l+ E
功能:执行已经定义的模式<br> k' H' z I/ z, P, z
格式:mApply_ModeName↵<br>& ?" c7 Q' d: q5 \
参数:<br>
, r' g, Y5 ^7 MModeName:要执行的模式的名称。<br>6 @8 z( v- n* J6 {8 p# W; l& y
执行结果:mApply_nResult↵<br>( H" U& n$ ?0 C$ l( R" y5 ^% k
nResult 可能取值:<br>
1 y; n4 T; E+ d. b4 B0:成功;<br>% s2 p& l. J4 O7 i5 e) S1 o
1:串口控制功能被禁止;<br>2 D# h' R, r) p0 \
2:非法的指令名称;<br>, Z A7 F" F1 w* ` B( d6 [# w: Z9 {
3:非法的模式名称;<br>
) C# T' ]& U) @, }% a7 o4:操作失败。<br>
: ]$ m1 x. ^0 r9、 sSelVideo<br>
8 N: u" @; l" J' U功能:将一个VIDEO 信号源选择切换到一个监视器<br>; G' K7 |6 N# p6 j) d3 E
格式:sSelVideo_SouName_DevName↵<br>! `( ~1 X" F$ Y6 Y
参数:<br>
* d, Y" J6 {8 m: j. M f7 lSouName:要切换的VIDEO 信号源的名称。<br>0 P% ?! s) A0 }: O
DevName:要显示该信号源的监视器的名称。<br>
& P! l* j/ r: N9 `执行结果:sSelVideo_nResult↵<br>4 D8 O6 U; v3 h3 H& I/ |# F
nResult 可能取值:<br>, R6 J# z% n8 k
0:成功;<br>" o; G# u- D, c9 f% H" E% H
1:串口控制功能被禁止;<br>
+ i0 b" {6 }2 Z+ ^" X1 E2:非法的指令名称;<br>& J0 L) V0 T& C! p
3:非法的信号源名称;<br>9 x* z: V9 N# V1 ?- s3 ~
4:非法的监视器名称;<br>
7 U, ?0 j5 V3 g* r4 g) G5:操作失败。<br> K! z/ O9 {, q6 y% o4 D
10、 sSelCamera<br>: X5 G4 L6 s( a
功能:将一个摄像头信号源选择切换到一个监视器<br>4 }/ Q! E( T O, Q7 K
格式:sSelCamera_SouName_DevName↵<br>2 ?: ?0 s0 x# {* v: D4 v6 f
参数:<br>0 ]. F( K# h& H0 y5 Q6 F6 W- W7 W( L
SouName:要切换的摄像头信号源的名称。<br>
' g$ y" w& `; s! { q1 u0 l# f1 U- cDevName:要显示该信号源的监视器的名称。<br>
- h% Z! s1 h" J) d执行结果:sSelCamera_nResult↵<br>% a: G( \2 ` Z% X) \+ l# S7 E* X8 u/ Q
nResult 可能取值:<br>
9 Y0 k8 J, n H1 _4 O% M0:成功;<br>
9 I8 r+ ?" d' F2 T6 r9 W* Q9 @1:串口控制功能被禁止;<br>$ }5 `9 @( v( O) |( M2 L _* N9 V) s
2:非法的指令名称;<br>
1 k* }5 T9 D0 ]3:非法的信号源名称;<br>
n _) ~8 o& v; D! ]4:非法的监视器名称;<br># [, s* c' h# C0 C) Z7 A
5:操作失败。<br>
* c0 ~+ g9 x8 L. g, j11、 sSelRGB<br>1 s% ~9 C5 Q/ K( p7 s
功能:将一个RGB 信号源选择切换到一个显示器<br>
2 s/ C" B! r8 X! y7 F格式:sSelRGB_SouName_DevName↵<br>& o9 M" w- v/ U/ a
参数:<br>; o6 x ^7 [; P3 `3 D4 }) r
SouName:要切换的RGB 信号源的名称。<br>
% @$ G$ K1 n" j! f% XDevName:要显示该信号源的显示器的名称。<br>
+ |8 ?/ I: e2 w+ L执行结果:sSelRGB_nResult↵<br>
6 |% G( C4 W, z' r3 u* ZnResult 可能取值:<br>8 T3 a; }- ~' q
0:成功;<br>
. m( U& ]$ I- v {. y* o2 _2 x! ~1:串口控制功能被禁止;<br>1 m, g6 D- d0 W# a$ t2 p
2:非法的指令名称;<br>
l* X$ R6 s2 }$ S3:非法的信号源名称;<br>
# [- G4 i7 }0 q, D& W& a( R( J, |4:非法的显示器名称;<br>1 {8 D- w' P6 A+ J$ ^; [
5:操作失败。<br>& y9 w6 N. e. R$ J K
12、 sSelAudio<br>. v0 q$ W* M) l9 a4 S$ @
功能:将一个AUDIO 信号源选择切换到一个播放器<br># z* w# T+ ~( Q
格式:sSelAudio_SouName_DevName↵<br>. _" R- e( f) l$ v: B
参数:<br>, u+ Y8 ~9 P3 [
SouName:要切换的AUDIO 信号源的名称。<br>; F5 u0 q4 L2 S9 B. A- C
DevName:要显示该信号源的监视器的名称。<br>
) A8 G& m/ _; w9 V _! d1 s' L执行结果:sSelAudio_nResult↵<br>1 Y; l% F' u0 q$ S! l% e
nResult 可能取值:<br>
7 P4 F, v2 l( c$ z0:成功;<br>
) R" a1 _' B% Q1 F$ c6 Z* g& w1 n8 E1:串口控制功能被禁止;<br>5 n3 `; {9 q* ~1 p( K% i. [' q
2:非法的指令名称;<br>% a3 T. X9 [ t T% K7 B1 R3 o1 b
3:非法的信号源名称;<br>; n5 o% [$ l( n8 m8 ^3 e- W
4:非法的播放器名称;<br>; ^2 W% |' Q" d3 c5 R
5:操作失败。<br>
% u# H* J) X% e: [2 H. l13、 sSelVideo2MFD<br>8 T2 t. r) {3 d6 k \2 t6 g
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br> X5 u/ J2 H: M
格式:sSelVideo2MFD_SouName_DevName↵<br>
1 A1 ]5 X3 a, `& {( B/ I参数:<br>
6 g+ n3 ^0 j* X& W5 X, l/ C0 ESouName:要切换的VIDEO 信号源的名称。<br>1 k4 c) Z* i8 n* d; |+ O
DevName:要显示该信号源的多功能显示设备的名称。<br>3 }5 x$ v7 Y. T7 e' T2 d
执行结果:sSelVideo2MFD_nResult↵<br>) H* k) U) p' W& l
nResult 可能取值:<br>
& `# _, i& c# Q0:成功;<br>( t$ @5 h6 P+ N4 y( W
1:串口控制功能被禁止;<br>
- ]5 u3 t }! P0 p, ]0 \, B4 ?2:非法的指令名称;<br>
4 x$ R! B6 o) `$ ?2 O' H; A3:非法的信号源名称;<br>
3 n' N$ w9 S& `& j# H( e: V4:非法的多功能显示设备名称;<br>
) o) ]5 Z* O. m: D5 c" ]! [5:操作失败。<br>
2 Q9 V. h% P( R% ^- [14、 sSelCamera2MFD<br> r# e- l% ^! q2 C8 i
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
% [! ^5 Z9 h# m8 N格式:sSelCamera2MFD_SouName_DevName↵<br>8 v& N5 e3 n/ h/ s8 v$ ?
参数:<br>
+ N1 d1 Z/ h/ N3 Q) Z1 ?+ [2 s# wSouName:要切换的摄像头信号源的名称。<br>5 ~4 l% `8 @3 u' p
DevName:要显示该信号源的多功能显示设备的名称。<br>
?' D) K+ C7 A8 O+ y. \执行结果:sSelCamera2MFD_nResult↵<br>3 {: B. S' k! W8 B, y
nResult 可能取值:<br>
0 H; R0 X4 V1 c! p2 V0:成功;<br>
% s% p" U j& [, V. D( \; ]0 N1:串口控制功能被禁止;<br>: U$ o) ^- j$ Z* k' O t) W+ _( Z2 i
2:非法的指令名称;<br>
- a. W9 ~( v* ^. C! a* Z/ D3:非法的信号源名称;<br>' f6 q0 W4 y, E
4:非法的多功能显示设备名称;<br>/ D- h, r# Z0 q% N
5:操作失败。<br>' s9 f; q; E$ P" u
15、 sSelRGB2MFD<br>2 Q" ]1 ? d' U2 g4 n, P9 q
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>
* C, r/ T& Q4 V6 d9 N2 [8 H. a格式:sSelRGB2MFD_SouName_DevName↵<br>, {8 G/ Z$ Z/ {5 `6 B4 l
参数:<br>
2 y4 f: d8 ]2 V+ ]SouName:要切换的RGB 信号源的名称。<br>: n* r; V8 l! ]7 v' D" `! S
DevName:要显示该信号源的多功能显示设备的名称。<br>
7 n, L2 y* \4 q3 M执行结果:sSelRGB2MFD_nResult↵<br>. t- X4 U% g' G C6 D; O' a7 Z3 Y
nResult 可能取值:<br>& f7 e4 ?; }* e, W; F9 i( B* ~
0:成功;<br>
: V1 }4 L7 w) d x3 @$ `. @- `% j# I& L1:串口控制功能被禁止;<br>
) e& E7 V2 ~( q4 x2:非法的指令名称;<br>/ v' z5 x4 Q/ i2 H3 o+ d
3:非法的信号源名称;<br>
' t2 i/ Y/ B6 G& U4:非法的多功能显示设备名称;<br>
+ j5 ^' `! K# D; v$ R I0 q- f. T5:操作失败。<br>
3 p2 v) `# o9 z$ M16、 sSelAudio2MFD<br>
/ p/ `8 F' G6 H/ H* M) Q x; e功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
( ^6 \2 _5 E9 J7 @* ^格式:sSelAudio2MFD_SouName_DevName↵<br>3 n5 N9 m1 A& O
参数:<br>
7 ?3 u1 K- @$ P- q4 }- USouName:要切换的AUDIO 信号源的名称。<br>. P# d5 H2 C3 A
DevName:要显示该信号源的多功能显示设备的名称。<br>5 y8 z0 i5 ^) z: z' j
执行结果:sSelAudio2MFD_nResult↵<br>$ o. [+ W- n8 }: Q1 p g
nResult 可能取值:<br>" t9 W7 L& t) p7 N( z
0:成功;<br>
8 Z. A+ m! D; T6 J& Q6 q1:串口控制功能被禁止;<br>2 q: }( B0 j' Z
2:非法的指令名称;<br>) K# R+ c0 q2 H( J( a
3:非法的信号源名称;<br>" \& |' y( ^9 O+ h9 p9 v
4:非法的多功能显示设备名称;<br>
" F( n% X9 ~: `( r: c8 }5:操作失败。<br>
4 P7 Q" I* i. l4 x2 P" j1 k$ b17、 cSendData<br>
5 @+ W6 {3 I3 T5 w功能:发送数据到指定串口<br>2 n8 _5 N5 J" m
格式:cSendData_PortNo_PortSettings_Length↵Data<br>3 r7 E) _7 p( b2 ?( j
参数:<br>
" s c7 y% X) w1 R }, _PortNo:串口名称,譬如COM1<br>
/ V ?% ?9 }6 f' m, k0 ZPortSettings:串口设置,譬如9600,n,8,1<br>
) F' r& H8 Z' l+ |6 _5 |Length:发送的数据长度<br>
/ e$ O" u5 \ yData:发送的数据。<br>( Y% u/ D+ k2 u
执行结果:cSendData_nResult↵<br>
Y" v% B& \5 n" T& _2 w: T9 unResult 可能取值:<br>3 w V+ ?" `# w3 y* U
0:成功<br>
4 e* {+ @! P- l/ _8 K0 Y5 E; o9 s1:串口控制功能被禁止<br>
, L! C/ ?/ V: u4 M3 M3 H2:非法的指令名称<br>% j- u4 [( v8 O9 H: q* U+ V: i
3:非法的端口名称<br>% v# p: T# ^7 M# [5 z( N( r% E
4:非法的串口设置<br>9 a A- q8 w5 g/ V
5:操作失败。 |
|