2024年5月16日发(作者:键盘锁定键是哪个)
电脑编程技巧与维护
基于局域网的投影器监控软件设计与实现
程斌 ,刘峥 ,李志谦
(1.空军95934部队,河北沧州061736;2.北京蓝天航空科技有限责任公司,北京100085)
摘要:从提升大型仿真系统中多台投影器的使用维护效能出发,以3DP投影器为例,对基于局域网的投影器通信
协议及相关网络设置进行了详细阐述,并通过软件实例介绍了投影器监控软件的设计与实现。
关键词:局域网;投影器;监控软件
The Design and Implementation of the Controlling Projector Software on LAN
CHENG BinI,LIU Zheng2,LI Zhiqian
(1.95934 Unit of Air Force,Hebei Cangzhou 061736;2.Bluesky of Beijing,Beijing 100085)
Abstract:From improved maintenance performance of multiple projeetors in the large—scale simulation system,to 3DP pro—
jector as an example,LAN-based communications protocol and interrelated network settings were elaborated,and intoduc— r
tion the controlling projector software design and implementation by example.
Key words:IAN;projector;contolrling projector software
投影器是飞机模拟器视景系统的重要组成部分,它的性能
优劣直接影pilau模拟器的逼真度,它本身硬件的工作稳定与
否,直接影响到整台模拟器的可靠性。对于飞机模拟器维护保
障工作来说,如何高效地做好投影器的日常维护保养工作是非
常重要和必要的。对于投影器的日常维护工作,传统的作法是
利用遥控器开启投影器,并在需要时分别调出相应的菜单信
息,查看投影器当前工作状态。如果只是维护一、二台投影
器,这样做也可以满足维护需求。但是当前多数飞机模拟器的
视景系统都在3个通道以上,若还是用传统作法进行日常维
护,将会给技术人员的日常维护工作带来很多不便。
目前,多数在仿真领域应用的专业投影器都具有相应的
地址
字段
表1协议指令结构
表2指令字段描述
描述 备注
标头 ASCII字符”:”用于标示指令的开始
的各字段,便于识读
1-3字节地址,用于标识多台投影器
必须
可选
可选
分隔符 ASCII字符”空格”用于分隔指令中
其中信息体又由助记符、修改码、数值、终止符等子要
素构成,结构及描述如表3和表4所示。
表3信息体结构
串口及局域网通信协议,让人们可以利用通信协议对多台投
影器实施远程集中监控。其中局域网通信更是具有连接简便,
易于维护的优势。通过对相关专业投影器局域网通信协议的
分析研究,利用编程技术完成了投影器监控软件的设计与开
发,实现了对多台投影器便捷高效的管理监控。在此就如何
利用局域网通信协议结合编程技术对多台投影器实现远程监
控的方法进行阐述。
表4信息体字段描述
字段
助记符
描述
4个字节的关键码标识,用于标识操作
指令。例如:POWR,SABS,IVGA
修饰符
数值
终止符
单个字符标志,用于对操作指令的补充标识。
1-3个字节可选
结束字符0x0D(CR) 必须
可选
备注
必须
1 通信协议
目前国内多数仿真系统采用的无缝拼接投影显示技术解
决方案来自挪威3D Perception(以下简称3DP)视景公司,该
公司拥有其独特的曲面投影数字几何校正与图像边缘融合技
术,可通过多台内置无缝拼接技术的高端投影机实现超大幅
3DP投影器操作指令从功能上大致可分为“设置操作”指
令和“读取操作”指令两大类。通过向投影器发送“设置操
作”指令可以控制投影器进入不同的模式,比如开关投影器、
画面的无缝融合。由于3DP投影器在仿真领域应用较为广泛,
因此以3DP投影器为主对其局域网通信协议进行了深入的分
析研究。
设置场景亮度和对比度、在不同的信号源之间切换等。“读
取操作”指令用于获取投影器当前的相关数据或状态,比如
灯泡使用时间,总工作时间等。常用指令相关描述详如表5
所示。
3DP投影器局域网通信协议是由一系列ASCII码指令构成
的,每条指令最多具有32个字节长度,通过对投影器执行发
送和接收相关指令的操作,即可实现对投影器的工作监控。
操作指令主要由标头、分隔符、地址、信息体等字段要素组
成,指令结构和相关描述详如1和表2所示。
收稿日期:2011-11-10
≥电=2奠oL z翟妓oL巧与纛护 暖鬟.. .
NETW0RK AND C0MMUN1CAT10N
表5投影器操作常用指令
常用指令 功能描述 所支持的操作类型
P0WR 投影器开、关 “设置”、“读取”
BRIG 投影器场景亮度 “设置”、“读取”
CNTR 投影器场景对比度 “设置”、“读取”
THRM 投影器温度监测 “读取”
LTR1 投影器灯泡运行时间 “读取”
LRM1 投影器灯泡剩余时间 “读取”
投影器在接收“设置操作”或“读取操作”指令并执行
相应操作后,一般会立刻返回一个确认饷应信息。确认饷应
信息的发送是可以通过相关指令开启或关闭的,在缺省状态
下此项默认是开启的。可以通过编程技术对所返回的信息或
数值进行转换,即可得到投影器当前的相关数据或状态。确
认侗应信息的结构组成如表6所示。
表6确认饷应信息结构
字段 字节 描述
标头 1 byte ASCII字符”%”,用于标示信息的开始
地址 3 bytes 当前投影器地址
分隔符 1 bvte
指令 4 bytes 当前投影器所执行的指令
分隔符 l bvte
数值 6 bytes 6个字节的返回值,关键信息
终止符 1 byte 指令结束字符0x0D(C R)
2 网络设置
飞机模拟器由飞行仿真系统、视景系统、教员台系统、
音响系统、座舱系统等多个子系统组成,各系统之间的数据
交联多是基于本地局域网。要想实现对视景系统中多台投影
器便捷、实时的监控,投影器必须先连入飞机模拟器所应用
的局域网中。在物理连接方面,只需添置若干网线和一台多
口以太网交换机即可。网络连接方式如图1所示。
N
图1多台投影器网络连接示意图
在把投影器连接到本地局域网之前,要对多台投影器一
一
进行网络设置,修改它们的IP地址并确保与本地局域网中
其他计算机的IP地址无冲突。投影器网络相关设置默认如表
7所示。利用一台Pc机与投影器以太网交换机相连,通过PC
机上的浏览器软件即可登录到投影器网络设置界面。
3 实现方法
在完成物理连接的基础上,可以根据投影器自身的通信
网络与通信
协议,利用Microsoft Visual c++.NET编程工具实现对多台投
影器的监控。为了便于程序中的调用,可以把投影器的各类
操作指令按照功能编写成相应指令功能函数。常用指令功能
函数定义代码如下:
表7投影器网络默认设置
设置项目 设置内容
IP地址 192.168.1.90
子网掩码 255.255.255.0
默认网关 192.168.1.1
TCP端口 1025
UDP端口
用户名称 admin
用户密码 admin
BOOL CProjector::Init 0,/网络通信初始化
{
char chHostName[2551=”pla”; 陧序所在主机名称
char chHostlP[255】=”192.168.1.197”;//主机IP地址
m netProjector.GetHostNameAndlP(chHostName,
chHostlP);
J
void CProjector::PowerOff 0//关闭投影器
{
char chCmd【18】=”:POWR 0#0x0D”;
,/定义关闭指令字符
chCmd【11】=0x0D;,/指令结束标志
m
_
netProjector.SendBuff(chCmd,18);//发送关闭指令
m
_
netProjector.CloseSocket();
}
void CProjector::PowerOn—One 0//开启投影器
f
char chCmd【181=”:POWR l#0x0D
,/定义开启指令字符
chCmd【11】=0x0D;
m
_
netProjector.SendBuff(chCmd,l8);
m
_
netProjector.CloseSocket 0;
)
int CProjector::GetProjTimer()
施 取投影器灯泡剩余时间
{
char result[20】;
int res=0;
char chCmd【18】=”:LRM1 7#0x0D”;
,/定义读取指令字符
chCmd【8】=OxOD;
m
_
netProjeetor.SendBuff(chCmd,18);,/发送指令
m
__
netProjector.RecvBuff(result,20);,/接收返回信息
res=res+((int)result【10】—48)*100000;,/数值转换
res=res+((inc)result【11]—48) 10000;
res=res+((int)result【12】一48) 1000;
res--res+((int)result【13】—48) 100;
res=res+((int)result【14】-48) 10;
res=res+((int)result[15】4.48); (下转到92页)
电脑编程技巧与维护
在右上位置,x:176-3 Y:1 1.4,给大图影片剪辑命实例名
为:xp me。
新建图层名为按钮,将按扭STOP元件拖入,位置:x:
35 Y:246.8,单击选中STOP按钮,打开动作面版,输入下
面语句:
Oil(release) {
root.cp_mc.stop();肌上cp
mc元件停止
_
_
stopAllSounds 0 0|停止辑奄声音
}
新建图层,命名为:AS元件,将AS影片剪辑拖到舞台
任意位置。给AS元件命实例名为:AS_me。
新建图层,命名为标题,输入标题和签名输入,放在左
上位置。
新建唱片图层,将绿唱片转拖人场景,放在标题签名的
一
图5
个精美而简单的音乐动画就完成了,大家可以按照这
个方法慢慢学习。当然这里只介绍了最基本的几个元素的制
作,如果想要制作更加精美的相册,可以给相册添加上精美
边框,还可以给音乐添加上文字。
下面位置,用任意变形工具调一下外形,并命实例名为
cp me 0
参考文献
[1]尹武松.
二维动画快速制作技巧与实例.清华大学出版社,
2005.
新建AS层,输入下面语句:
startDrag(”AS_mc”,true);
root.ep mc.stop 0;
完成后的动画整体效果如图5所示。
_
ash 8.0动画制作.国防科技大学出版社,2010
『2谢广彬
Fl
2]
・&E●SE・S
(上接第71页)
chCmdWD【8】=0x0D;
m
_
netProjector.CloseSocket();
m
m
_
return res;
_
netProjector.SendBuff(chCmdWD,18);
netProjector.RecvBuff(resulLwD,20);
)
BOOL CProjector::IrisOpen()
m
_
netProjector.CloseSocket();
取投影器工作状态:”l”为开启状态;”0”为关闭状
||态
{
char chCmd【18】=”:POWR?#0x0D”;
char result【20];
chCmd[8】=0x0D;
m
_
retum 0:
)
通过以上方法,完成了对多台投影器进行实时监控的软件
实例(图2)。软件用Microsoft Visual C++.NET2003开发,运
m
_
netProjector.SendBuff(chCrnd,18);
netProjector.RecvBuff(result,20);
netProjector.CloseSocket 0;
行环境为Windows XP操作系统。监控软件能够安装在与投影
器网络交换机相连的本地局域网中任意一台具有Windows XP
操作系统的计算机中,即可实现对多台投影器的远程实时监控。
m
_
)
int CProjector::GetProjYYTime 0
//读取投影器灯泡已用时间
{
char result YY[201;
char chCmdYY[18】=”:LTR1 7#0x0D”;
chCmdYY【8】---0x0D;
m
_
m
_
netProjector.SendBuff(chCmdYY,18);
netProjector.RecvBuff(resulLYY,20);
,/添加数值转换代码
m
_
图2监控软件实例界面
4 结语
以3DP投影器为例,对投影器网络通信协议进行了详细
的阐述,介绍基于Windows XP操作系统、Microsoft Visual
netProjector.CloseSocket 0;
return O:
}
int CProjector::GetProjWDSt()//读取投影器温度状态
{
char resulLWD【20];
char chCmdWD【18]=”:THRM?#0x0D”;
c++.NET2003开发环境的投影器监控软件的设计与实现方法,
对于在军用或民用大型仿真系统中,提升投影器的使用维护
效能具有一定的参考价值。
、 盏嚣 与鹚与 簟
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715858986a2682717.html
评论列表(0条)