|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>2 P) o4 ^$ u& {$ n: Q, r! w& p
一、概述<br>
' r4 \7 I4 M1 V% `# J4 [! @( r$ D为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>" @8 C1 X n& L' y7 z
控制的接口。本文描述该接口的控制协议。<br>
) p# ]0 {% ^8 NVWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>
1 @) R4 z' p& H过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>
6 F$ u" m1 C0 R3 X. G2 J机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>
# I' r+ M4 N, T. o0 M5 f该协议可根据以后的功能需求进行扩展。<br>
0 ?2 E2 O4 c, }8 X; A3 u' O二、指令的命名和格式<br> l; R. T _" F& c- J/ [- K
指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>
- X% Z8 n9 \4 U( e处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>2 C B3 W$ D. G) M/ I
其余字母是其功能的英文描述的简写。<br>
( Q( M, T4 y! S& b- i. S指令及其参数、指令的执行结果均用字符串表示。<br>
/ N+ ^$ f# v% t8 D3 n" ]* p, w1 V每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>/ y+ H( M+ {' ?1 u* O
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>
" h2 j' D7 Y. J3 K指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>0 n( {# i6 e$ U* r7 h1 N) \. M- V+ L
指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>
' t: t. {8 E B; _6 _, w# K( l0 v指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>7 A% F$ Y1 {6 J0 R2 d5 y
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
5 m3 M" }) M2 b1 V* X8 H0 g三、指令描述<br>
6 h2 J& [" l4 E; k( e1、 ePowerOn<br>
; l7 u& z8 j$ |% H' s/ D功能:机芯开机<br>0 X4 e3 L. b6 B) k4 t: D
格式:ePowerOn[_WallName][_ProjNo]↵<br>) G. L) t I# h! u5 _; J% |
参数:<br>% x4 Y- V1 v$ @. W
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
, N3 B6 W4 h! f也必须省略。<br>
; @& {! l* d4 i% Q# @" rProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
q6 |1 E1 m7 p+ B2 r2 [/ M芯。<br>
. T" H$ `' v( b. v1 V @& s4 k执行结果:ePowerOn_nResult↵<br>
: e0 R- {3 o4 r N+ v# UnResult 可能取值:<br>
+ [9 s# G$ N. t* j- }; o) \+ D& }0:成功;<br>. t3 \6 T+ W8 a( s# a+ w3 D
1:串口控制功能被禁止;<br>
& p; W, T( w2 U) a0 j/ h2:非法的指令名称;<br># H5 s- d: G: n9 o& H6 {/ \. Z8 ~( ]$ `
3:非法的拼墙名称;<br>& B n7 ~. _6 t' z
4:非法的机芯编号;<br>$ L5 N' G1 U! w8 I1 T9 z
5:操作失败。<br>
8 w' {* A) L' S/ _, d6 Z- t) R2、 ePowerOff<br># _4 u/ S, I, [ s8 M1 x) ~
功能:机芯关机<br>7 e" ?1 V% W5 Q: S
格式:ePowerOff[_WallName][_ProjNo]↵<br>
/ C' N% ?! ?' A$ t4 ^! }5 ~参数:<br>4 V: F; l- G3 i$ b" n
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>$ m: Y% k5 K5 e4 n% C2 N
也必须省略。<br>& U: d2 ~/ Y7 m, l+ w: k' a& G
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>- B3 @' _2 K% @/ X
芯。<br>; x6 t3 \9 P% E: H
执行结果:ePowerOff_nResult↵<br>. f: A- N! D0 F" D. V! ]
nResult 可能取值:<br>
4 F( h4 }6 b: f7 ]6 W$ h0:成功;<br>
' |: i( q- J* I' w0 {1:串口控制功能被禁止;<br>
$ r8 `6 r/ M" }" [! M2:非法的指令名称;<br>
. k4 m7 h z" Z- c+ k# o- ?3:非法的拼墙名称;<br>
2 z, ]/ A3 x! b# R' {4:非法的机芯编号;<br>
, ?% a) b# Y% k5:操作失败。<br>2 E% w0 o" S) l
3、 dPowerOn<br>
+ p1 ]7 `7 y- W9 R3 j) o; w1 k功能:多功能显示设备开机<br>
2 y) O, C5 L- f- e2 I- a* [1 ], E格式:dPowerOn_DevName↵<br>
q+ D: \) v% {7 l } [2 d9 \2 ~参数:<br>/ p6 {0 t7 h+ e% U
DevName:要进行该操作的多功能显示设备的名称。<br>
3 J8 w% b& ]- @1 y8 @$ I4 e执行结果:dPowerOn_nResult↵<br>) ~) H7 P. J/ j! w8 p0 v
nResult 可能取值:<br>: Y% v: w9 L- L3 k
0:成功;<br>
5 D( m; q, q. n$ A3 d1:串口控制功能被禁止;<br>, A" f( {# B0 w% u
2:非法的指令名称;<br>
8 q$ z) y$ D6 T3 E! |9 ]! }8 t3:非法的多功能显示设备名称;<br>
% z8 l6 Y! |7 }0 ?$ v2 e4:操作失败。<br>& o* T( U U+ a# x
4、 dPowerOff<br>
6 o) ~* }- V$ |+ {% D5 V* j% R功能:多功能显示设备关机<br>8 f6 S# n; Q, [ ~/ ]/ \. d# |
格式:dPowerOff_DevName↵<br>
3 U6 D0 B# j* T参数:<br> ~. n1 a% Z) R1 K& ?9 u
DevName:要进行该操作的多功能显示设备的名称芯。<br>
& L$ u: i5 r5 V执行结果:dPowerOff_nResult↵<br>
+ g/ n2 q( Z! r0 N/ f' T) HnResult 可能取值:<br>
b/ r" Y, h [* n1 ]/ X0:成功;<br>9 S( I5 X8 H7 V# u' l/ u- D2 C, {
1:串口控制功能被禁止;<br>! n7 K. I x1 o3 [( W
2:非法的指令名称;<br>
# H, S& a: Z. t2 j( g* x: n2 C" L3:非法的多功能显示设备名称;<br>/ J7 u& c- w' {7 x/ q$ a( T
4:操作失败。<br>* r2 k0 \+ N( x4 ^6 U0 J
5、 eCloseWin<br>0 M; m1 F8 e7 o- J3 F1 s8 Y S: Y W
功能:关闭所有机芯直通窗口<br>5 e I0 ]2 D& Z! r" |0 w- L
格式:eCloseWin[_WallName]↵<br>
. u! ?$ p7 p& y8 ?参数:<br> `& a4 ?2 G* ^/ c1 z
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>$ e/ y# J7 j' R; m; ^- H( x
执行结果:eCloseWin_nResult↵<br>
) W+ d* P& ^' M& a: x* ]nResult 可能取值:<br>0 d- M1 R6 t9 t8 y& Z, ]6 ^
0:成功;<br>( ?; d6 e. g0 e
1:串口控制功能被禁止;<br>
! x& j# N3 l2 v8 V( N2:非法的指令名称;<br># w a: i/ c, Q, x4 O' m: p
3:非法的拼墙名称;<br>: @( s! g. l" w4 I* J, ^( t
4:操作失败。<br>
: r; E6 `+ _& g/ T# A# c6、 pCloseApp<br># s2 Y+ i* F5 ^" X
功能:关闭所有处理器应用实例<br>0 }5 g) w4 e; {' i" h1 O: F
格式:pCloseApp[_WallName]↵<br>
. n! n) u2 G' b3 g2 t0 O2 f& f参数:<br>) j5 `' e3 j' T& C3 a% r3 Y% C$ Y
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>, ]0 f2 `! k6 x: ]2 c/ n2 m
执行结果:pCloseApp_nResult↵<br>
6 t% O) o% F9 C2 GnResult 可能取值:<br>8 }9 Q9 g) W1 E; B) H: P8 [- ^
0:成功;<br>
0 H1 |( s; a* B3 ^6 E7 f+ @+ V" ^, G) L1:串口控制功能被禁止;<br>. u7 l0 \( }- H, H2 v1 |
2:非法的指令名称;<br>
% j1 f. r* j5 `) w5 I6 D1 i# u3:非法的拼墙名称;<br>
' G; _* J) s0 ]% u( t4:操作失败。<br>
3 ~ O* c" M' o8 O. o d2 w7、 pCloseWin<br>
* |4 t. U1 R: L$ [功能:关闭所有处理器窗口<br>
% Q: s4 L1 j# z u3 l格式:pCloseWin[_WallName]↵<br>
9 [8 @# T1 B8 K0 Z- u; I参数:<br>* X- |9 T" q* M
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
w4 V' e+ D0 n0 {2 |+ K C执行结果:pCloseWin_nResult↵<br>% }9 {/ N* a$ r/ D* C; Y
nResult 可能取值:<br>
3 [- D! n5 d+ h# s0:成功;<br>* d( {" V w9 N# M. Z
1:串口控制功能被禁止;<br>
+ e. T% E) D1 Y2 q2:非法的指令名称;<br>( d0 M; M4 z4 v0 U9 `* B6 @
3:非法的拼墙名称;<br>
7 }. y. O/ ~1 y( ^8 U4:操作失败。<br>9 d+ B ^2 x7 x
8、 mApply<br>. N, Y( Y" t. Z: J- Q$ K
功能:执行已经定义的模式<br>
! }1 b: m- d, h# u格式:mApply_ModeName↵<br>
9 U# i5 e! f, h: h4 s参数:<br>6 d& Z v+ t4 V5 T) m
ModeName:要执行的模式的名称。<br>
8 z. x m' ]) v, i& L执行结果:mApply_nResult↵<br>
5 B8 v5 z( a. U% D/ \% N* U+ e" `nResult 可能取值:<br>- r. t+ M# I+ h
0:成功;<br>
L# \* y# P, E( ?1 V1:串口控制功能被禁止;<br>
5 v: ]! a' _6 l9 S! x2:非法的指令名称;<br>
5 i6 f& e9 q: | a5 d' d5 m( s, J3:非法的模式名称;<br>7 p, m' Y( M! s4 N
4:操作失败。<br>
; ^) s; t+ s1 k: y/ N9、 sSelVideo<br>. i4 w4 {" A8 h+ S5 R( S. C$ c% O
功能:将一个VIDEO 信号源选择切换到一个监视器<br>" W; T9 @" c6 ^( ` a( _2 z" {
格式:sSelVideo_SouName_DevName↵<br>2 q& Q1 o" W+ M7 M
参数:<br>
: B' k. m$ v" Q: nSouName:要切换的VIDEO 信号源的名称。<br>6 }; ]1 F/ F; C3 v8 R
DevName:要显示该信号源的监视器的名称。<br>& E. x& E1 E0 { }- v( t) q
执行结果:sSelVideo_nResult↵<br>
2 Y& u7 x2 j2 W* y0 z0 gnResult 可能取值:<br>
, k0 l, X8 S# p0:成功;<br>
* b3 S. y4 q5 ]. F1:串口控制功能被禁止;<br>
& ]% C5 U3 C. z2:非法的指令名称;<br>; B) P1 c: a4 E, M% i
3:非法的信号源名称;<br>% i# n- C3 d$ R; |# ^9 T% B
4:非法的监视器名称;<br>
g/ Q. ?# r* {8 l5:操作失败。<br>/ Q R* Q" {5 R- k/ U' v7 [
10、 sSelCamera<br>
' V7 x3 U8 ]# y! i5 f0 b功能:将一个摄像头信号源选择切换到一个监视器<br>
. s/ V4 _4 ^# W5 M格式:sSelCamera_SouName_DevName↵<br>" n& h( @% Q, O/ W$ q! J9 W7 y
参数:<br>9 }0 K4 k; K/ x/ N
SouName:要切换的摄像头信号源的名称。<br>
" Q" J7 J$ w4 W0 E# E: x! y- @DevName:要显示该信号源的监视器的名称。<br>3 o X: i: L2 ` `1 \
执行结果:sSelCamera_nResult↵<br>
& o/ g+ W" g3 i" Y- N! hnResult 可能取值:<br>
, C5 E2 C4 e: |2 h8 V0:成功;<br>9 {# W0 s& @. y9 S) Q7 L: h
1:串口控制功能被禁止;<br>4 ]+ q" l! T& R: L
2:非法的指令名称;<br>
* i/ n+ u' y4 h3:非法的信号源名称;<br>5 c8 Q# {- {5 n6 L( V
4:非法的监视器名称;<br>
9 }: D* ^- \3 o' i1 O9 Q5:操作失败。<br>
1 A4 p9 W, C( L11、 sSelRGB<br>: A% j3 ]; s, w; {3 }2 a+ ]
功能:将一个RGB 信号源选择切换到一个显示器<br>$ {' w, ?, ?8 m( Q' i. C
格式:sSelRGB_SouName_DevName↵<br>
. M: x2 f2 h, ^参数:<br>
, B; a; p/ n& j* x1 ZSouName:要切换的RGB 信号源的名称。<br>9 z @7 g! ]3 g# v5 `
DevName:要显示该信号源的显示器的名称。<br>6 l% a0 U( X) j) {: R- a* [
执行结果:sSelRGB_nResult↵<br>
- c# n0 O5 A! e. B; F- mnResult 可能取值:<br>
; T g; X8 j) q2 f* @5 A1 d3 P1 y0:成功;<br>. D; n/ F7 E5 @( v+ h
1:串口控制功能被禁止;<br>
& U* j# t4 z! Q$ [% z2:非法的指令名称;<br>' E/ g/ {' e) ^4 M
3:非法的信号源名称;<br>
4 Z" P M* u: Q0 q& H, P5 E4:非法的显示器名称;<br>
2 Q! `& @3 E1 J- T, l) w5:操作失败。<br>8 W }. B9 P$ W1 a7 ~+ X
12、 sSelAudio<br>7 b) x) M$ b F7 u
功能:将一个AUDIO 信号源选择切换到一个播放器<br>
7 m) ]% ^. t9 |2 x格式:sSelAudio_SouName_DevName↵<br>: S% R0 \: S( R8 a. X9 _# e
参数:<br>
7 G0 Y2 I: q3 e e9 gSouName:要切换的AUDIO 信号源的名称。<br>5 `1 M% e8 `' s' p8 R4 P
DevName:要显示该信号源的监视器的名称。<br>! O/ x% J+ }$ t4 _" Q2 E
执行结果:sSelAudio_nResult↵<br>9 w2 q1 m3 |# [9 n0 U
nResult 可能取值:<br>
9 O5 G: p6 ~, C) ^: z3 Q0:成功;<br>$ {% c; i; K `0 \
1:串口控制功能被禁止;<br>
- n( }3 H. y) y4 Q0 d5 G1 s* ^2:非法的指令名称;<br>; |7 D8 a8 r" z/ H' z# S* e
3:非法的信号源名称;<br>3 e2 M0 Q P& z" V0 x) Q. r1 d
4:非法的播放器名称;<br>$ B" r& w6 d; u! l8 ?
5:操作失败。<br>4 ]! M0 V5 H) O Y1 W) l
13、 sSelVideo2MFD<br>
- |0 s& `% f F( d3 C9 z( B6 D功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
7 a+ }0 g6 s1 c y, N/ j格式:sSelVideo2MFD_SouName_DevName↵<br>+ G- T2 o( V' p o$ I! |5 C
参数:<br>+ a. _- @' D9 R6 ?# b) N9 F
SouName:要切换的VIDEO 信号源的名称。<br>
+ q7 S& u+ l3 H# `DevName:要显示该信号源的多功能显示设备的名称。<br>
7 o& \* x# G# T3 N& W; w执行结果:sSelVideo2MFD_nResult↵<br> S8 K: j! `+ n; k" R
nResult 可能取值:<br>6 }6 U% G; y% u* Q" x! L' ^5 G2 e
0:成功;<br>
) ~, |- o; V3 R4 Z4 J& r1:串口控制功能被禁止;<br>
5 W. b4 d0 u# X! q8 R2:非法的指令名称;<br>
' T8 |; O3 |- p$ |, V. q) I3:非法的信号源名称;<br>
/ q- P+ J6 C: V4:非法的多功能显示设备名称;<br>2 K- k8 o$ |! I# U% k" j
5:操作失败。<br>/ a; b: j" Q( ~9 ^9 B% b6 m
14、 sSelCamera2MFD<br>+ M! Q! V/ _. `! o5 K1 H' X$ N' q3 M
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br># u( Z6 e+ L8 P
格式:sSelCamera2MFD_SouName_DevName↵<br>
% Q# B$ Y( C; L参数:<br>2 ^$ ^/ H/ w; F# h6 G
SouName:要切换的摄像头信号源的名称。<br>. z1 C1 i" i1 U! ?, t
DevName:要显示该信号源的多功能显示设备的名称。<br>- T9 g4 l4 T6 t! c4 x5 J
执行结果:sSelCamera2MFD_nResult↵<br>* {. H6 Z: E* m, j( e7 ^$ f& Y
nResult 可能取值:<br>
- O _+ s+ J* R) \. c* F4 S: w4 u0:成功;<br>
1 S7 V) k; @# \' k5 q& D! |* K1:串口控制功能被禁止;<br>$ E/ B0 U4 Z8 N' Y
2:非法的指令名称;<br>
9 |1 d* O1 U' d9 j x3:非法的信号源名称;<br>1 S6 A: _+ W6 E; c6 F" I i; s
4:非法的多功能显示设备名称;<br>
3 l5 ~8 F; P: V2 T# \9 X# [5:操作失败。<br>
- W3 U/ @/ i) J- A- }" H15、 sSelRGB2MFD<br>2 v' X& z9 f2 [( E l+ j3 ?
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>2 |) o3 L4 g+ j; y4 ^$ `# P
格式:sSelRGB2MFD_SouName_DevName↵<br>: _( V0 Y3 q( R" d/ B+ X) W
参数:<br>
, d, i, `' C4 w# K" U% rSouName:要切换的RGB 信号源的名称。<br>" W, z: a' Z6 `( G6 R. E; }
DevName:要显示该信号源的多功能显示设备的名称。<br>
' F0 f3 `7 M1 i+ {, `, s执行结果:sSelRGB2MFD_nResult↵<br>% W+ a, x; W J9 ^! ]* H% d
nResult 可能取值:<br>& ^( u4 ?# y" M6 M; }- g+ T
0:成功;<br>
% |& n/ ]3 {& |1 P1:串口控制功能被禁止;<br>
1 V! g5 H2 m E2:非法的指令名称;<br># d5 F# X# q8 h: C2 A- n- O; D
3:非法的信号源名称;<br>: z$ N8 q/ t4 g" m& H0 g/ H
4:非法的多功能显示设备名称;<br>: H* C( j& ~7 _; Z0 a( H5 u/ e/ Y
5:操作失败。<br>
7 c3 v& X: ~2 w$ z7 a& ~& M16、 sSelAudio2MFD<br>& J7 u5 S! a# {2 V
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>
* O! l- L5 A( A t# z l4 z格式:sSelAudio2MFD_SouName_DevName↵<br>
! X, Z! l$ |2 @1 p: R3 n7 T参数:<br>
+ _* D+ j6 G7 Y p8 tSouName:要切换的AUDIO 信号源的名称。<br>
3 \8 S9 w1 g2 B- k4 K+ a/ U) zDevName:要显示该信号源的多功能显示设备的名称。<br>$ U0 k# a5 H! G0 S
执行结果:sSelAudio2MFD_nResult↵<br>, X- j" u, D1 F5 I
nResult 可能取值:<br>4 k! B5 |; c) _/ K7 o/ b6 q* z5 }
0:成功;<br>
. s8 T* P5 f6 I* u4 ?. d1:串口控制功能被禁止;<br>- m" S L2 r# s
2:非法的指令名称;<br>5 [! X% P( S1 Q+ s6 \- c' a7 P
3:非法的信号源名称;<br>8 g& ?2 ^( ^3 b* X, `/ Z
4:非法的多功能显示设备名称;<br>
: E) H% \+ ~& ~) Q) m3 G' y. F5:操作失败。<br>
$ i; B3 L" s% b5 Q: L- Z' q5 o9 U7 B$ X17、 cSendData<br>; m& v! t N. g" b
功能:发送数据到指定串口<br>* t% w7 Z+ Q& m( a$ i/ l
格式:cSendData_PortNo_PortSettings_Length↵Data<br>9 c2 O0 D+ O, _0 @: [$ s
参数:<br>; Z+ b; h$ X5 s: i# N+ t
PortNo:串口名称,譬如COM1<br>' f$ X2 u/ y7 J5 c7 S! x& \
PortSettings:串口设置,譬如9600,n,8,1<br>
1 i$ n( ?; ]' V0 WLength:发送的数据长度<br>
* P5 a1 Q+ U2 B. E$ e2 {5 AData:发送的数据。<br>5 U4 I& l% w$ f
执行结果:cSendData_nResult↵<br>2 n" ?& p) G0 H5 }7 [
nResult 可能取值:<br>: o' s, V" x8 x$ I
0:成功<br>
4 Z8 M+ b* U) h- L4 |% ~1:串口控制功能被禁止<br>$ C" N" C( ~0 {. j( W$ N0 i
2:非法的指令名称<br>6 G. ]( P# G( W/ B
3:非法的端口名称<br>* b4 W4 Q. c* E% L) O2 ?/ N
4:非法的串口设置<br>: s+ W+ [ A9 r5 B, A0 N( g
5:操作失败。 |
|