|
|
亲,只有注册或登录才能下载更有用的哦
您需要 登录 才可以下载或查看,没有账号?注册
×
VWAS 串口控制协议<br>
. L1 A* A" B- U! Y$ u" u, T一、概述<br>
5 A/ [1 z# q8 Y9 F% y为了实现AMX 等串口设备对显示墙管理系统(VWAS)的操作功能,VWAS 需要提供串口<br>
/ d6 M9 W* F$ e; ~- s. I$ x控制的接口。本文描述该接口的控制协议。<br>
6 i* r: C4 {1 V$ \VWAS 串口控制协议中包含了一系列的指令。每条指令及其参数无歧义的描述了可以通<br>0 b! M( b$ U( Q0 i4 l, Y F
过VWAS 实现的对显示墙系统的某项操作。这些操作包括:机芯开关、执行模式、关闭所有<br>6 c c" j" a. T( w- @
机芯直通窗口、关闭所有处理器窗口、关闭所有处理器应用和信号源选择。<br>1 e& O b' L* _* `& S
该协议可根据以后的功能需求进行扩展。<br>
: d. n' z5 N6 q+ M二、指令的命名和格式<br>
5 U5 b& P+ @. |" K8 Y' |指令的命名采用如下规则:第一个字母小写,表示操作类型。e 表示机芯操作,p 表示<br>& n) u) S! d5 s$ ]
处理器操作,m 表示模式操作,s 表示信号源操作,d 表示多功能设备操作,c 表示串口操作;<br>5 E1 I: _) \" U/ j
其余字母是其功能的英文描述的简写。<br>+ R& p: G% r& p. e
指令及其参数、指令的执行结果均用字符串表示。<br>
: }/ o# O4 }/ H+ Z5 x9 S/ {8 [每条指令的最后一个字符必须为结束符,指令及其参数之间用分隔符分开。本协议采用<br>7 r0 J( C/ l- f% ^
的结束符为回车符(0x0D,以下用↵表示),分隔符为0x0B(以下用_表示)。<br>$ h% G. y4 f& h! t8 U; V
指令的参数按类型可分为整型值和字符串。整型参数直接用其十进制值的字符串表示。<br>
7 @2 c/ `4 ^, |, C+ Z$ f O指令的参数按照性质可分为必要参数和可选参数。可选参数用[]表示。<br>$ d! \% K- ^, `0 z6 [4 w
指令的执行结果的格式与此类似,由指令的名称和返回的执行结果代码(整型值)组成。<br>/ @2 t# z# O9 K
执行结果代码为0 表示成功,其他值的含义与指令相关。<br>
$ ?/ F" Y1 o. e% P; Z% B' ?! y2 s三、指令描述<br>
m0 L+ U x3 W c, ~1、 ePowerOn<br>
- v$ z$ E% m/ G功能:机芯开机<br>
9 t- y1 T3 U M" z# u4 ~格式:ePowerOn[_WallName][_ProjNo]↵<br>2 S( x0 [& w u. K0 i4 Y$ u8 u
参数:<br>
4 h& |5 n$ j5 q2 rWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>
# b, {" u/ E$ e* V; M2 V也必须省略。<br>
! o+ ^& t4 d) q# {5 T3 eProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
/ D3 E6 q P; S) A6 w芯。<br>2 W' J, A! C# I* {* i9 N
执行结果:ePowerOn_nResult↵<br>
& K3 V% ~1 Q WnResult 可能取值:<br>
( h& _; F6 z0 _5 C7 F* e" F0:成功;<br>
, Q2 H, x) U0 u. _/ C1:串口控制功能被禁止;<br>& \& o7 T1 s, h# l+ @
2:非法的指令名称;<br>4 o3 X. Z+ a4 D* T7 L9 d
3:非法的拼墙名称;<br>3 n5 ^5 G" Z2 N1 \ v
4:非法的机芯编号;<br>
# o- ~" \% S9 z- U5:操作失败。<br>
, `4 N- [. v+ \; j5 g. }2、 ePowerOff<br>
- ~ {- A$ f: d5 X2 V5 T3 ~功能:机芯关机<br>
( n: a2 j, o0 p! Z格式:ePowerOff[_WallName][_ProjNo]↵<br>7 B& C& r1 m2 s& _2 n- x- Y! M' Y
参数:<br>
( H. F6 C- J" aWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙,此时ProjNo<br>$ m* a" `1 N: \4 G
也必须省略。<br>4 s3 ^' A$ X1 y- `# R/ M
ProjNo:要进行该操作的机芯编号。如果省略或为0,表示指定拼墙的所有机<br>
$ B" o [7 R0 t' Q5 g芯。<br>
4 P* t% H9 l# Z# L执行结果:ePowerOff_nResult↵<br>
: ~) |! G8 A2 s5 Z* WnResult 可能取值:<br>4 B. d) A" p: z& Y* o
0:成功;<br>
3 n2 c& Q0 Z6 F1:串口控制功能被禁止;<br>! V1 n; K5 Y! M L
2:非法的指令名称;<br>6 Q3 w9 t R. L* ?
3:非法的拼墙名称;<br>
: U$ o) u0 ?+ r! p! _4:非法的机芯编号;<br>( A' T5 F5 [/ J
5:操作失败。<br>( E4 i$ s, \% n) b5 g5 @8 |' B
3、 dPowerOn<br>
- I- U- M1 j* B; w; Q功能:多功能显示设备开机<br>
. _0 E0 A. c" ?: \3 @9 Q; j格式:dPowerOn_DevName↵<br>
5 D% f v6 w. C& G参数:<br>
$ M7 v2 }! q& i, vDevName:要进行该操作的多功能显示设备的名称。<br>
" n) z9 C: }0 Y执行结果:dPowerOn_nResult↵<br> b1 |1 q9 p9 G# n
nResult 可能取值:<br>
$ p4 E/ K8 ?; M7 o& C- y2 Y0 D0:成功;<br>
. ` L, d# X. W; r" Y2 S* L1:串口控制功能被禁止;<br>+ m# y% X; B2 A- _
2:非法的指令名称;<br>: ]' }# w4 z" b! G3 i) z( K
3:非法的多功能显示设备名称;<br>6 j3 m7 [+ d. @4 U/ @ n7 P
4:操作失败。<br>" [0 K1 o3 \2 \/ T
4、 dPowerOff<br>) x7 V6 L9 t& x% B! V
功能:多功能显示设备关机<br>
1 {3 K ~3 q6 ~$ c$ _3 u* `格式:dPowerOff_DevName↵<br>( T+ v( x/ v6 Z- l9 M/ `
参数:<br>2 E% z7 X0 ^! _5 H7 K
DevName:要进行该操作的多功能显示设备的名称芯。<br>8 F4 `, T" @/ w5 q& u
执行结果:dPowerOff_nResult↵<br>
3 M. D6 l5 U3 G- ?nResult 可能取值:<br>& e% n" x+ ]$ ~" u/ ?% `
0:成功;<br># Z! S0 x1 c$ ^6 U
1:串口控制功能被禁止;<br>
% W6 N3 Y5 B5 \0 O: O; S/ U2:非法的指令名称;<br># A: J& f: D+ o
3:非法的多功能显示设备名称;<br>
6 X# E8 ~( [9 w' s4:操作失败。<br>" a- s. x8 \* F" Q
5、 eCloseWin<br>
' L/ H& F( J0 _ E功能:关闭所有机芯直通窗口<br>1 M; g6 o* q( O8 C& C
格式:eCloseWin[_WallName]↵<br>! i- f' f$ p# N& D+ T5 @( \
参数:<br>- h7 T+ `, r# \' o
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>9 ?% y+ X0 f( [* k6 p2 V% R
执行结果:eCloseWin_nResult↵<br>2 ~9 _/ S. W# P- x8 [
nResult 可能取值:<br>
; x0 L) }0 r" \1 `; U, ~0:成功;<br>
% g3 Y0 h8 p) Z' [/ V1:串口控制功能被禁止;<br>0 t8 e. \) B0 d
2:非法的指令名称;<br>
" R5 ]" v$ S3 J# s5 x3 v3:非法的拼墙名称;<br>9 F, q8 k% t* z7 `
4:操作失败。<br># ~3 {+ a; C6 \* l8 x/ Z. }& L
6、 pCloseApp<br>; S( l8 \! g: F6 @8 R. r+ r& e
功能:关闭所有处理器应用实例<br> Q z2 S7 {6 _ h! a) z" r
格式:pCloseApp[_WallName]↵<br>5 A t5 }( N) {7 t
参数:<br>5 g8 \" G6 Y9 g8 h' n' V: |
WallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
, B4 ~- N2 u! T! q3 ?+ Z9 {5 O执行结果:pCloseApp_nResult↵<br>, ^+ b# x* L8 w* W; _8 h" W1 [" ]
nResult 可能取值:<br>
- L5 P+ ^$ f8 U0:成功;<br>* I! N" o2 ^, u* Z
1:串口控制功能被禁止;<br>9 z3 U( V8 [9 c& i
2:非法的指令名称;<br>
" C9 h% Q7 J: [7 ~% M+ O( j2 e3:非法的拼墙名称;<br>
4 a$ U( Z, B2 n* m2 y; B- j: N4:操作失败。<br>
9 j7 a$ m/ Z$ }, n/ \0 R7、 pCloseWin<br>- w! V0 L0 G) |: E' k6 L& ?2 v7 [2 r- I
功能:关闭所有处理器窗口<br>1 F0 S4 F7 X/ x! ~
格式:pCloseWin[_WallName]↵<br>
/ d/ S9 g) P3 F1 L( e8 v参数:<br>
0 | O! d# j+ _4 U0 g9 w, OWallName:要进行该操作的拼墙的名称。如果省略,表示所有拼墙。<br>
/ v0 H" p L$ C- B0 X% h执行结果:pCloseWin_nResult↵<br>
( n3 _5 R2 V. a" q" X' ^; r+ ?nResult 可能取值:<br>6 F; Y& I& w5 U. ~% x- g
0:成功;<br>
5 ~( B# A) z+ ?6 ~; s4 o2 S1:串口控制功能被禁止;<br>
: V E, x3 v1 I2:非法的指令名称;<br>
- Z3 J! y* g7 N4 l# e, b! o4 j' e3:非法的拼墙名称;<br>7 V- z' q6 p+ J2 t- a, M7 R
4:操作失败。<br>3 I% D: e: p8 ?$ |
8、 mApply<br>
8 z; c8 G$ B6 D. m功能:执行已经定义的模式<br>
5 V, X2 w$ c: l" N9 O; p' \9 U格式:mApply_ModeName↵<br>
" z; m& H4 }! K参数:<br>. Q; ]3 v5 y+ t+ X8 c
ModeName:要执行的模式的名称。<br>
5 f) t( N2 P+ I! ?# U9 a' M' [) |执行结果:mApply_nResult↵<br>
, P& {2 }' X SnResult 可能取值:<br>( j6 ?( f" V4 G2 z
0:成功;<br>. l7 q4 Q3 }. W7 `( [) v
1:串口控制功能被禁止;<br>
! n \% Q( a7 v8 I/ G5 C3 s- ~2:非法的指令名称;<br>% J) S- v8 a F5 G) |9 D3 R
3:非法的模式名称;<br>9 Q# L) G$ t' \
4:操作失败。<br>
: _0 O9 j$ A8 W+ m- d7 n9、 sSelVideo<br>
2 N% j$ F9 O7 R3 B% s, Z" ~3 t& @功能:将一个VIDEO 信号源选择切换到一个监视器<br>
; k& W- u& d' k; a9 q格式:sSelVideo_SouName_DevName↵<br>+ y- L! B- B4 [, f7 v
参数:<br>8 c# ~1 `) L) q3 y q3 |8 f
SouName:要切换的VIDEO 信号源的名称。<br>, ^0 l0 u: ?$ z! {
DevName:要显示该信号源的监视器的名称。<br>) D" e E: ]: Y% r- ]
执行结果:sSelVideo_nResult↵<br>
$ \; _8 G: k! R9 @nResult 可能取值:<br>! s6 ^* i1 O" c: [0 U
0:成功;<br>
/ ]( h' n4 c+ I5 L- I, T3 e9 P1:串口控制功能被禁止;<br>
, y0 d, v3 v; \( n2:非法的指令名称;<br>
+ W! I: P7 ^7 v' K3:非法的信号源名称;<br>% ^+ @7 N+ M' |& W
4:非法的监视器名称;<br>
7 D% U" \( G+ l7 V5:操作失败。<br>8 O4 |' {$ b6 i
10、 sSelCamera<br>
5 ^/ m9 K1 Q5 L. P2 \8 B9 P+ w功能:将一个摄像头信号源选择切换到一个监视器<br>
8 v# O8 D5 U4 z9 c0 C4 d) ^格式:sSelCamera_SouName_DevName↵<br>
* ^( `9 a Z7 K/ E- w: F参数:<br>
6 |7 j5 u4 F1 ?: w& O" O0 RSouName:要切换的摄像头信号源的名称。<br>3 Y, O, P0 |' n1 s5 ~. S3 a! X
DevName:要显示该信号源的监视器的名称。<br>0 Y- B D# A! z6 [0 b( W7 Z r! ?8 Q
执行结果:sSelCamera_nResult↵<br>1 ~$ N* O6 X; N
nResult 可能取值:<br>
' W, N) F# {! m3 Q0:成功;<br>
1 S; B# U' F9 s. W- I1:串口控制功能被禁止;<br>
4 A( a& P c0 A& Q. v2:非法的指令名称;<br>1 Y* z! J: t8 i
3:非法的信号源名称;<br>
# z5 W- K2 G" K, G4:非法的监视器名称;<br>, k! y/ B2 u- t* Q) r
5:操作失败。<br>
/ l3 S* d7 L' X) J' r" |0 o4 A2 ^4 X11、 sSelRGB<br>! ]& k8 @ f- I+ m$ r
功能:将一个RGB 信号源选择切换到一个显示器<br>
0 R4 z& z1 [: C& v v% L6 N格式:sSelRGB_SouName_DevName↵<br>/ u4 y4 H: e+ p7 |4 \
参数:<br>$ S0 Z$ k) V# y; Q0 c4 d0 }; d
SouName:要切换的RGB 信号源的名称。<br>
) R1 w K% j$ I5 h8 yDevName:要显示该信号源的显示器的名称。<br>; H0 G9 j( \4 m0 m
执行结果:sSelRGB_nResult↵<br>
& r0 ~: i+ Z' `: FnResult 可能取值:<br>* p) U7 B Z, Q; Z. |' L$ X7 G
0:成功;<br>; U! L6 R( r; J/ ?% L
1:串口控制功能被禁止;<br>
* ~! z; R; J4 ?+ I& i2:非法的指令名称;<br>
; t" E' k0 d: r' o& z. Q7 L8 c3:非法的信号源名称;<br>
3 I4 Q! j" `: k# _4 L6 \4:非法的显示器名称;<br># j8 V% P8 a; I+ B4 y8 w- z
5:操作失败。<br>' o Y$ i! x. I. i- ]2 n
12、 sSelAudio<br>
& m7 A, h5 e) h5 O功能:将一个AUDIO 信号源选择切换到一个播放器<br>
; E! i7 ?! A& O. L d格式:sSelAudio_SouName_DevName↵<br> _6 a8 ?4 g Y/ N- d# G
参数:<br>5 B8 x, `: B; n7 Z: d* p
SouName:要切换的AUDIO 信号源的名称。<br>
' ]/ {8 z2 {# \1 R2 G* QDevName:要显示该信号源的监视器的名称。<br>
" j4 `, x4 k0 A! z3 d. j. j: x5 F执行结果:sSelAudio_nResult↵<br>, Y( p. K# u% h. o/ a# U( {6 c: Z) S
nResult 可能取值:<br>
$ f. {, B K- s: m+ b/ E4 S0:成功;<br>3 g, E; ` y: U; O
1:串口控制功能被禁止;<br>
# _7 u* J# O- O) r! x5 x9 N) b2 R2 l% i2:非法的指令名称;<br>
+ n$ }+ C! R) S2 I5 W {4 y3:非法的信号源名称;<br>
! e; i* g+ b! K0 D: l- ?5 Z9 s6 ~4:非法的播放器名称;<br>
$ d& M5 V, J5 c) ]5:操作失败。<br>
7 Z& d( x1 ~5 j" a! h13、 sSelVideo2MFD<br>& j; H E3 y+ |
功能:将一个VIDEO 信号源选择切换到一个多功能显示设备<br>
( |3 j K) p/ `8 r9 I3 V7 a格式:sSelVideo2MFD_SouName_DevName↵<br>+ }$ ]6 ]- F2 j" G
参数:<br>
* { t$ Y6 J( L5 v- TSouName:要切换的VIDEO 信号源的名称。<br>3 X0 S( M8 i7 o- p, k4 `' Q* m D
DevName:要显示该信号源的多功能显示设备的名称。<br>4 b3 J" M7 y5 R! ?* m3 `
执行结果:sSelVideo2MFD_nResult↵<br>
+ G3 f9 d" M( SnResult 可能取值:<br>
: U$ }# a, J5 h0:成功;<br>
1 u: T2 \ J6 s. `1:串口控制功能被禁止;<br>
2 N$ W$ ^: u9 B2:非法的指令名称;<br>% b% f5 t. a: z2 E1 u/ q
3:非法的信号源名称;<br>
x L; \; O$ @' O* g5 r6 M4:非法的多功能显示设备名称;<br>5 x0 {! L6 z" N7 a5 ]' _! k
5:操作失败。<br>
1 [) C% b: x# n, h9 D! m1 ]$ @$ p14、 sSelCamera2MFD<br>6 U5 O F+ D' N
功能:将一个摄像头信号源选择切换到一个多功能显示设备<br>' @% ? }% a0 u+ G" B4 g, }
格式:sSelCamera2MFD_SouName_DevName↵<br> P' b' A/ u. }, U. x) P, E5 Y
参数:<br>$ C6 s' H) O+ p! u3 j% m
SouName:要切换的摄像头信号源的名称。<br>
# `8 [6 `: s: ]- ?" u1 w1 yDevName:要显示该信号源的多功能显示设备的名称。<br>
( S$ Y& |, f5 ^8 {" m0 |1 k执行结果:sSelCamera2MFD_nResult↵<br>
, ]" z# y% P7 c0 l# _nResult 可能取值:<br>
8 [6 ~0 _! a# j/ @1 X6 U0:成功;<br>$ b" v9 P& T# U7 r$ a
1:串口控制功能被禁止;<br>
6 h/ \4 Z* v$ ~5 g, J2:非法的指令名称;<br>
; C% B7 A4 a2 E. R; X9 E D3:非法的信号源名称;<br>
! t1 r, W; s8 i) O% {! K4:非法的多功能显示设备名称;<br> r1 I' c- ~+ T* x5 C& ^$ P7 E6 G T
5:操作失败。<br>
* ?7 u, ^* ]9 ~+ R' r15、 sSelRGB2MFD<br>$ L7 B" A- r) d/ K9 h# G5 c
功能:将一个RGB 信号源选择切换到一个多功能显示设备<br>! ]) H) S( u+ L& Z1 n& y/ o
格式:sSelRGB2MFD_SouName_DevName↵<br>
' b) ^3 k5 q( u6 d参数:<br>* X' ~. w! k. I$ G5 g
SouName:要切换的RGB 信号源的名称。<br>8 j$ v6 P1 r/ a
DevName:要显示该信号源的多功能显示设备的名称。<br>
F* x: a# v: ]8 E执行结果:sSelRGB2MFD_nResult↵<br>
: [1 Y; z- W' K" K& ~4 [( VnResult 可能取值:<br>. L$ j5 _2 n. F* T. p
0:成功;<br>& ?5 }7 n% p+ \/ t# [
1:串口控制功能被禁止;<br>+ u; t3 n! w- L& `: {. H
2:非法的指令名称;<br>
3 r% L2 w% g# y+ n. F3:非法的信号源名称;<br>" z: o# e3 I. L- i( u; W5 X
4:非法的多功能显示设备名称;<br>, p' r. P) z; [# V
5:操作失败。<br>- X( X5 Z8 x+ t+ X+ H1 `
16、 sSelAudio2MFD<br>- T7 h: S# S% Q$ |. E
功能:将一个AUDIO 信号源选择切换到一个多功能显示设备<br>$ s! o, K: {* g, v$ V. y
格式:sSelAudio2MFD_SouName_DevName↵<br>
; ?8 L% s& j8 [' ]) L. p参数:<br>
8 d; Y- b/ C6 t+ q* f( bSouName:要切换的AUDIO 信号源的名称。<br>$ k1 }3 B( z) D$ c) b5 r
DevName:要显示该信号源的多功能显示设备的名称。<br># A: B. N7 L: a
执行结果:sSelAudio2MFD_nResult↵<br>5 B: K: c2 ~7 N& ?4 L, }$ L) x2 s
nResult 可能取值:<br> s: m4 A5 H0 K. N7 R, u
0:成功;<br>: I+ t, k( n3 V1 ~9 D+ H. B
1:串口控制功能被禁止;<br>% B/ T! `. {* i* s3 y% K
2:非法的指令名称;<br>
/ Q+ [6 [6 z' S3:非法的信号源名称;<br>
* E" e/ l3 h0 d( w4:非法的多功能显示设备名称;<br>% D" F( l4 m% C
5:操作失败。<br>' V7 G1 ?: g" k" {3 C
17、 cSendData<br>4 R! p1 w' Q, R0 R, j/ n; D
功能:发送数据到指定串口<br>
" Q) _! s9 z8 j2 d; `格式:cSendData_PortNo_PortSettings_Length↵Data<br>) Z# |6 K2 f% q \. p3 ?8 b0 T$ e
参数:<br>7 F, n7 K4 A; v
PortNo:串口名称,譬如COM1<br>5 l! U) T4 L9 V3 m2 F6 J T
PortSettings:串口设置,譬如9600,n,8,1<br>+ c* f! ?% ?0 @
Length:发送的数据长度<br>
2 m# H+ O y6 `) p( V, S/ d2 zData:发送的数据。<br>
: ]# R% h" ` t1 G6 k" @7 u ^执行结果:cSendData_nResult↵<br>3 [6 s% \2 B0 L3 j+ c
nResult 可能取值:<br>
+ ~3 a3 b; p' a) u8 l3 `1 ^& i3 U5 l0:成功<br>
1 ^- P7 f7 q) V! C5 s# h7 c1:串口控制功能被禁止<br>) Z# k: w; `/ f
2:非法的指令名称<br>
- @# j; R2 n; Y. `( Y& U4 i- e8 }) @3:非法的端口名称<br>. I" _, q5 t1 ~4 w5 ?% R
4:非法的串口设置<br>
; t W( @/ w) t+ o7 I5:操作失败。 |
|