|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>* K5 ?: n) o* k9 n9 C
一、概述<br>
3 L$ M6 q6 x3 E# L为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>; \7 V4 ?$ m$ y
控制的接口。本文描述该接口的控制协议。<br>" _; {$ g$ Q' |/ V( O
VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
, h8 a& p# v7 i9 K/ ^过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
. ^9 v/ U9 c3 W2 k& C, f: O机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
, A" S$ X v7 S. R+ `/ g7 L6 S. b4 X该协议可根据以后的功能需求进行扩展。<br>/ D [& ?! @$ [6 q# M3 @
二、指令的命名和格式<br>
* H6 b" a/ a! K指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
5 l3 [+ _5 M8 Q9 ?& p) I处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>
- K9 P9 I& T! C% q8 ^) R: }其余字母是其功能的英文描述的简写。<br>1 Q: G. h ~6 l n4 h
指令及其参数、指令的执行结果均用字符串表示。<br>3 G- e! ~/ ?9 M- K
每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>
" ~- o6 h3 u; \: e8 D. h$ w的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>1 D* |1 \( K* r/ H& @0 O
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
; r1 d) H; N" ^9 F指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>2 n1 q" B( g+ v1 h9 m; r# H9 ?' H. H
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br> L) T" D( c2 m& ^& [: G
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>8 U( {( ?+ V M @$ }
三、指令描述<br>
! E4 u/ w2 _) [1、 ePowerOn<br> E* E+ {4 T' J- d
功能:机芯开机<br>
/ l( O) b" J! C* M格式:ePowerOn[_WallName][_ProjNo]↵<br>
7 v% z- W. {5 j; g7 z参数:<br>- f v. |% M* C. W- q
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
0 R- f# o0 Y" \0 B, |也必须省略。<br>) k/ |; ?/ ^8 V# }- J
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>$ c4 u' M% X, S( E
芯。<br>
+ Z/ W+ y6 Z% L' ?2 c执行结果:ePowerOn_nResult↵<br>
' f$ O3 k3 a3 z1 y6 I2 fnResult 可能取值:<br>, R9 o, ^9 w- {2 D9 ]7 G x# U
0:成功;<br>7 f% }6 Z% c7 G; Z; x, z
1:串口控制功能被禁止;<br>. B+ l9 @ P5 n/ ^) `- M. ^
2:非法的指令名称;<br>
- c/ m- r4 w+ T6 e, C: Y3:非法的拼墙名称;<br>
7 i0 m" C _. B/ y: J4:非法的机芯编号;<br>
7 A) P9 b" G4 L% U2 B" C3 M5:操作失败。<br>: O" S2 J; t- I8 b% x
2、 ePowerOff<br>3 [& a3 M& k) K4 K, y: \! E
功能:机芯关机<br>/ T. I5 i. b$ I, U! }# r2 T
格式:ePowerOff[_WallName][_ProjNo]↵<br>7 F3 c+ k8 ^& f/ Q6 A- ^
参数:<br>1 v1 e9 J; x: f" _; w0 y
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>% A. w$ \/ J1 }5 a- E. J
也必须省略。<br>$ P% L d+ Z+ F3 z9 U
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
+ c2 k; ~- B2 C8 O$ K$ |芯。<br>; a6 G# G* { f Y# E& b2 c* S
执行结果:ePowerOff_nResult↵<br>% n1 E6 C6 Z z
nResult 可能取值:<br>$ O7 C, R$ z( W/ {! Y+ f4 C( h
0:成功;<br>
, N' T# D5 {4 u/ M' @8 b1 u$ K1:串口控制功能被禁止;<br>
$ \1 K. ~0 s: v* z9 P# F" u2:非法的指令名称;<br>6 t9 W0 R* d& Z2 j$ m
3:非法的拼墙名称;<br>
3 j0 ]+ N- g- X' r2 z4 u4:非法的机芯编号;<br>
/ L5 c& ~3 r1 @" n5:操作失败。<br>5 c3 F( k: l) ]) [ w
3、 dPowerOn<br>
) t4 _) k0 x9 E/ p功能:多功能显示设备开机<br>4 r1 O+ o$ @4 w7 v6 E
格式:dPowerOn_DevName↵<br>
+ c1 f+ e; E6 Z参数:<br>
* G* V! f' N9 n2 ]" n9 A+ k7 YDevName:要进行该操作的多功能显示设备的名称。<br>
7 j5 X3 H5 x9 C( z; D) t& |执行结果:dPowerOn_nResult↵<br>
/ }8 D/ T/ z8 b1 Y4 W/ w2 ^# ]5 AnResult 可能取值:<br>1 M& `. q4 P( U3 n1 }
0:成功;<br>
- o) X3 Q/ k4 a1:串口控制功能被禁止;<br>) }' W2 K1 }; `1 z6 d# M, x0 L# T
2:非法的指令名称;<br>
& c4 u/ P. V0 E1 J: a2 ]3:非法的多功能显示设备名称;<br>
3 t( K! n0 c, t6 U# v4:操作失败。<br>
! C# o- H6 f: R: e: h' B' T4、 dPowerOff<br>2 s- Z) f& `7 G5 d& D2 [
功能:多功能显示设备关机<br>5 Q3 U( o7 }, L! b: h/ q$ ?
格式:dPowerOff_DevName↵<br>
/ }, v: w* p0 R参数:<br>
/ {( i0 a( r/ ]) GDevName:要进行该操作的多功能显示设备的名称芯。<br># F& r. I+ \# {
执行结果:dPowerOff_nResult↵<br>
, Z; G8 B8 W: H; A1 C. K9 ~nResult 可能取值:<br>
6 T; j5 d$ w) E1 j0:成功;<br>4 c; H$ |' `, q: k& p* Y
1:串口控制功能被禁止;<br>) s; ?! c# x; x
2:非法的指令名称;<br>
. q% d5 i t( Q8 S' h3:非法的多功能显示设备名称;<br>
7 Y: Q# W3 ]0 y9 ~' a4:操作失败。<br>
' j/ Z) }% r5 Z+ q0 p u1 E. V. }5、 eCloseWin<br>$ f/ O3 c u( {$ n; N
功能:关闭所有机芯直通窗口<br>, L- y" r d+ [
格式:eCloseWin[_WallName]↵<br>
! ^% v: R, D' X# d: M$ m参数:<br>2 n7 o+ r4 X- M8 g1 P% H' E
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>( I% W6 X' {0 \ J
执行结果:eCloseWin_nResult↵<br>; w" Z/ Z+ l% @7 {1 @) Q, ?
nResult 可能取值:<br>8 N% @5 P5 g/ q/ D
0:成功;<br>
9 M3 f' S. B. }7 i8 G. v2 E4 u1:串口控制功能被禁止;<br>( i2 z1 |3 p- \0 K* K Z4 C
2:非法的指令名称;<br>4 U) K8 B- t2 j1 @* Y7 ^3 C
3:非法的拼墙名称;<br>
) Y! E5 a2 Y, t2 j0 R( r4 }* e$ M4:操作失败。<br>- c' _- B! d$ f, y
6、 pCloseApp<br>
/ O2 S9 ~' f' b% N功能:关闭所有处理器应用实例<br>/ k. ^2 g4 `- o9 n6 E6 P3 l
格式:pCloseApp[_WallName]↵<br>( u. R) [4 k! V- V: t
参数:<br>
9 `, b2 G7 N/ \) {6 A' ]WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
& L# o0 A: ]5 V7 Z) a' @+ P. O& q执行结果:pCloseApp_nResult↵<br>
; }7 \ |( j: X: `/ fnResult 可能取值:<br>* {1 f' r' v: w0 B9 [9 Q! N
0:成功;<br>
. }1 E1 C* g/ A# m. t0 Z1:串口控制功能被禁止;<br>: g; M) h. R# F; y
2:非法的指令名称;<br>0 \1 R# H6 ^7 x6 M8 z
3:非法的拼墙名称;<br>) V8 F, E4 u- U( N5 c) L
4:操作失败。<br>
- F; k8 v1 ]( t* A e9 a u6 }7、 pCloseWin<br>2 |; ]7 b) w2 W, h6 k7 d2 c$ a
功能:关闭所有处理器窗口<br>5 Y1 c# H! c1 J2 t" J9 G
格式:pCloseWin[_WallName]↵<br>
( h+ w' r% G% w# W1 u参数:<br>
. v) ]' g0 J7 g2 M% GWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
& h2 r9 P/ x2 x+ P0 h3 K& T执行结果:pCloseWin_nResult↵<br>
/ i: ~8 S) m& F3 P5 qnResult 可能取值:<br>
2 m6 V; U& i, D- t) @0:成功;<br>
( t& M8 u- e$ @( H O1:串口控制功能被禁止;<br>
9 W' K3 E; ~/ e8 \& v+ U+ f4 ~2:非法的指令名称;<br>: O6 |9 {& D0 ~
3:非法的拼墙名称;<br>3 N5 ~9 u: |/ u/ t+ X8 K; t% K% r
4:操作失败。<br>
6 m# O- o2 d% P' B5 U; X6 n/ L0 D& r2 F8、 mApply<br>; T0 U" e" ~$ n0 A! v
功能:执行已经定义的模式<br>
1 h' x" {( G1 f! @+ R格式:mApply_ModeName↵<br>
$ t/ ~3 y0 s% }6 k/ O2 g( q' J4 f, h参数:<br># ?( t8 m1 s2 p* {% ^
ModeName:要执行的模式的名称。<br>2 F' w- g$ k& U9 v' f; f' \+ k/ l
执行结果:mApply_nResult↵<br># n; q. {2 Y! {0 G+ W! b* q2 r$ G
nResult 可能取值:<br>& b: m" l8 J# j# j, E% R- W9 N
0:成功;<br>
8 y; U) f1 U5 E9 [0 y* _1:串口控制功能被禁止;<br>1 A5 }2 j% Z4 F1 t9 _8 u+ n
2:非法的指令名称;<br>
- W4 Y2 \! v1 h6 R3:非法的模式名称;<br>% @/ f' M1 \, @+ L* h- m( h+ x
4:操作失败。<br>
M$ N# h* I% H3 m7 A2 w9、 sSelVideo<br>
* |# I* j$ C$ B功能:将一个VIDEO 信号源选择切换到一个监视器<br>
0 @ P3 x) `' z格式:sSelVideo_SouName_DevName↵<br>: u" q& g: G8 y' l8 @) f( r, p
参数:<br>1 D: k; ?' Q6 m" n, I" P5 I8 I
SouName:要切换的VIDEO 信号源的名称。<br>- O& W' g: R6 h1 t) m6 l. h
DevName:要显示该信号源的监视器的名称。<br>
9 C l8 g: o) S" H执行结果:sSelVideo_nResult↵<br>
1 @$ y9 Y! e8 C; YnResult 可能取值:<br>2 b# B5 @) k0 J2 J" P3 |
0:成功;<br>% ^/ w' ^+ L3 S/ m7 x% A7 b
1:串口控制功能被禁止;<br>
" B" u6 D! x3 f6 r' v5 b( ?2:非法的指令名称;<br>
* D" t4 S; d- z0 p A0 u3:非法的信号源名称;<br> ~7 o- x, y: p$ N. E) A p
4:非法的监视器名称;<br>
& X0 P' I% j* m1 e- T/ k' T$ [& I5:操作失败。<br>6 f2 n% i" d2 d# [ w
10、 sSelCamera<br># W. h5 X1 c; M' W& D# ?
功能:将一个摄像头信号源选择切换到一个监视器<br>) {! T0 V W/ t1 ~' w
格式:sSelCamera_SouName_DevName↵<br>8 B% A) O& ^0 I( b: d! c7 @
参数:<br>
& g2 z; i0 e+ BSouName:要切换的摄像头信号源的名称。<br>
8 S! g' G3 {: b0 {DevName:要显示该信号源的监视器的名称。<br>
7 J* N+ r- ~; R$ V6 D. K执行结果:sSelCamera_nResult↵<br>" I% Z2 U- c H0 f }
nResult 可能取值:<br>9 d. r" B$ W' S/ n: a- E3 [
0:成功;<br>) M6 R, ~# q6 N5 R
1:串口控制功能被禁止;<br>
* n' I9 o2 I' o7 I! c0 {/ t D( h' z2:非法的指令名称;<br>8 A9 X# W5 \! T# a
3:非法的信号源名称;<br>; G2 F7 T# ]0 |3 b6 b
4:非法的监视器名称;<br>% ^# V; `5 I, x
5:操作失败。<br>6 z) |" v# C3 y( z: j
11、 sSelRGB<br>
* x2 \8 R3 C1 k+ i功能:将一个RGB 信号源选择切换到一个显示器<br>8 C/ _0 k |5 t R, P C6 W
格式:sSelRGB_SouName_DevName↵<br>
( `! J U$ p% h( U. V/ M参数:<br>
; E1 M/ M4 p3 J# M u5 j1 {- VSouName:要切换的RGB 信号源的名称。<br>
}* J- j: P v% tDevName:要显示该信号源的显示器的名称。<br>0 {1 x7 z5 U1 r5 L1 V) @& Y8 K
执行结果:sSelRGB_nResult↵<br># S) \/ c/ [9 @' N3 Q" k0 I+ B
nResult 可能取值:<br>
# v# N$ a1 C( l' Z& W9 A+ q0:成功;<br>
% D6 D4 D6 W" _5 h$ q% m1:串口控制功能被禁止;<br>
* N8 Y+ G5 B' ?' c5 e1 j2:非法的指令名称;<br>
: a/ o7 L3 D0 Q+ w6 C9 V, u7 v3:非法的信号源名称;<br>
2 s" M; D) y' C' T4:非法的显示器名称;<br>* h3 [* V- s& A T0 p- p/ W& O
5:操作失败。<br>
: T a8 w4 W, [# }5 v12、 sSelAudio<br>
0 G6 U0 p8 c4 r0 Q9 i6 r3 P% J2 @功能:将一个AUDIO 信号源选择切换到一个播放器<br>. H/ S( l/ L4 M" E# e
格式:sSelAudio_SouName_DevName↵<br>+ M" l) T' F9 Q+ m! i6 o
参数:<br>
( U+ @% q- z4 @4 R+ p/ gSouName:要切换的AUDIO 信号源的名称。<br>
( L" m( Y2 {; A& MDevName:要显示该信号源的监视器的名称。<br>
9 Y4 F, B- B3 x( ]% @执行结果:sSelAudio_nResult↵<br>
& M) F: o4 a* M/ R3 G7 {nResult 可能取值:<br>
0 O$ c9 w$ R8 F4 R2 j0:成功;<br>
- m' u \! S3 `* H: Z/ i$ h1:串口控制功能被禁止;<br>
- E: ]" o( k5 n1 e( G/ j- x! i2:非法的指令名称;<br>
& @0 A, P8 F0 W- T- S2 x8 t) U3:非法的信号源名称;<br>7 z* r1 V; \) i+ m
4:非法的播放器名称;<br>. j- u. `! x# T! w! m+ L
5:操作失败。<br>8 T+ J3 ] K( c6 m6 M6 w) l& D, H
13、 sSelVideo2MFD<br>, t: K. f v) p2 w
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>) L: d* {2 c, k/ k2 y, s
格式:sSelVideo2MFD_SouName_DevName↵<br>
9 d! N6 S% }0 h) r' B参数:<br>8 |# v& d; i, z
SouName:要切换的VIDEO 信号源的名称。<br># _* e+ o0 a9 ^# S+ N
DevName:要显示该信号源的多功能显示设备的名称。<br>" }6 q0 x* B' ]- o& v$ y& W
执行结果:sSelVideo2MFD_nResult↵<br>7 L" N# V0 L! I9 O" f8 j& i
nResult 可能取值:<br>
, J1 @5 Z. h5 o+ T; L H0:成功;<br> \2 b& O( n. x! T+ d% Z2 _# \
1:串口控制功能被禁止;<br>
9 Q) j/ s- k2 j( o* V! `4 U2 l8 v2:非法的指令名称;<br>( e: T) h J+ Z& ?3 p
3:非法的信号源名称;<br>
I x) u7 U" s5 @4 I4:非法的多功能显示设备名称;<br>
5 M! |5 x: |) g, x5:操作失败。<br>
5 \" C8 W/ H( [7 b: ]14、 sSelCamera2MFD<br>
{( F7 I2 m) C. x. v8 m" ~功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>
9 G- f5 @; u# `7 |+ T' R" _: f格式:sSelCamera2MFD_SouName_DevName↵<br>3 }/ ?- W& B7 V# I/ [- Y4 p, i$ n
参数:<br>; Q* O7 d% C9 m4 U1 d6 s
SouName:要切换的摄像头信号源的名称。<br>' J1 g6 H! h5 K Y
DevName:要显示该信号源的多功能显示设备的名称。<br>
' j( T1 \8 ?: t* E( d$ a. O! F' u执行结果:sSelCamera2MFD_nResult↵<br>4 h/ _- P A' d- d" n/ U4 D) D
nResult 可能取值:<br>
" J1 n! j# T0 ]7 {# y+ {' E# C0:成功;<br>
* ?4 \8 A# m E) X& z& z' \' K# I1:串口控制功能被禁止;<br>) i9 [( ^8 p, E+ D: i' @
2:非法的指令名称;<br>
2 S/ r& n6 ~- T3:非法的信号源名称;<br>
2 b# a1 r, L- q3 Q4:非法的多功能显示设备名称;<br>
) o7 c2 e: q ]6 h5:操作失败。<br>
% M& s# p. R9 `- P15、 sSelRGB2MFD<br>
0 J4 _5 Z0 r9 O功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>1 i( ~2 z0 Y4 M! K P& V+ t- a# ]
格式:sSelRGB2MFD_SouName_DevName↵<br>
% I9 `& D& D$ a4 u- u参数:<br>; g1 N1 T9 I n0 z6 a" J2 G. e
SouName:要切换的RGB 信号源的名称。<br>4 |% [$ a+ ^; |, n9 ^% j
DevName:要显示该信号源的多功能显示设备的名称。<br>1 ~) n' }5 D! j7 m; A/ K$ M
执行结果:sSelRGB2MFD_nResult↵<br>; s) o1 O$ s% T- N
nResult 可能取值:<br>2 @, F: ~ k$ G7 S) o% P- a. }
0:成功;<br>9 O$ m& s5 Z# L m9 H+ z( O4 P) D
1:串口控制功能被禁止;<br>
' _/ \4 H& n8 n3 `* N/ ]2:非法的指令名称;<br>% p1 l% G7 T9 a3 G
3:非法的信号源名称;<br>
& J4 I' F3 Y0 ?+ p9 |1 ^" c4:非法的多功能显示设备名称;<br>" m8 _- E! I5 Z4 H U( I7 q
5:操作失败。<br>* m8 Y" |) d( C2 u. S! ?2 Q
16、 sSelAudio2MFD<br>0 ?/ X( m; K: t* _* m( a0 o" ^
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
- R' w* ]6 R- ^; c格式:sSelAudio2MFD_SouName_DevName↵<br>+ e3 q3 \4 A5 M" Y o4 x0 \
参数:<br>! K0 z/ ~, A, s4 o: K+ |/ e/ T
SouName:要切换的AUDIO 信号源的名称。<br>
( a! a; }( P' V: c! a/ gDevName:要显示该信号源的多功能显示设备的名称。<br>" ]; V+ a! w$ q5 H& G
执行结果:sSelAudio2MFD_nResult↵<br>7 ~3 M$ _9 J; I+ m) Z8 Y
nResult 可能取值:<br> t% }6 D& v( b( d
0:成功;<br>
9 {# O& d }+ z# B j! U8 U0 A1:串口控制功能被禁止;<br>6 i+ Z! i4 C% e( j! J8 h8 j* {
2:非法的指令名称;<br>
& p7 q1 t: u9 z" y" j3:非法的信号源名称;<br>
9 Y6 Y; Q: D# S1 P6 R' k4:非法的多功能显示设备名称;<br>
' a5 b/ k# v) G" v6 [! {: }' s5:操作失败。<br>; Q* G8 [) i* U, i. B% X1 `$ u
17、 cSendData<br>
8 r) l! F+ m4 W3 ?' ]功能:发送数据到指定串口<br>" e* e' }/ P3 P- t& v( X2 g% v
格式:cSendData_PortNo_PortSettings_Length↵Data<br>
' _) S/ r0 b. x7 U2 @+ m参数:<br>
/ E" w7 B# Z7 G8 A5 G- RPortNo:串口名称,譬如COM1<br>3 a5 \) ^6 j9 f+ I7 x( V( S! J
PortSettings:串口设置,譬如9600,n,8,1<br>
4 {+ n5 U- |6 l0 b9 U5 z. DLength:发送的数据长度<br>
' i8 h( T* ?( q6 P+ gData:发送的数据。<br>
( }7 ?- i( o; d2 G+ Z& Y3 L# U执行结果:cSendData_nResult↵<br>
1 [# j1 b f& G, z6 g u! ~9 ]nResult 可能取值:<br>
8 A( F( [8 q$ }: @( ]5 N1 H0:成功<br>4 ?2 N6 h! ~. B! n
1:串口控制功能被禁止<br>. c3 Q5 b4 ]( q0 D' n
2:非法的指令名称<br>
/ n1 a8 O. a3 s4 t3:非法的端口名称<br>% G" p; a2 {* T0 y7 W% U
4:非法的串口设置<br>; e8 n3 q- H7 A5 a! C) g0 h* F
5:操作失败。 |
|