欢迎来到天天文库
浏览记录
ID:52207802
大小:1.10 MB
页数:5页
时间:2020-03-24
《基于WinCE机舱延伸报警系统的设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、技术交流基于WinCE机舱延伸报警系统的设计(1.海军装备部沈阳局,沈阳110000;2.中船重工集团公司第704研究所)●菏宏涛顾振随若船舶自动化要求EI趋提高,人们对设备带j系统的监求也越来越高,国内外许多自动化设备采I}jr嵌入式技术,爿前已经深入到家电自动化、工业控制等行业々斑域中,这也同样给船舶的自动化技术带来,新的机遇和活力⋯。嵌入式技术在可靠性、实时性,体移{等方面性能卓越.其清多优点完全适应船舶自动化系统进一步发展所提出的要求,并将成为新一代船舶自动化系统的发展趋势。为适麻船舶现代化的需求,基于WinCE'
2、z台嵌入式开发的在船舶自动化得到了广泛的应用
3、。微软公司的嵌入式操作系统WindowsCE是嵌入式移动平台的挂础,它足一个开放的、可升级的32位嵌入式操作系统,是基1二掌上电脯的电子设备操作系统,它是精简
4、扳的Windows48雕}肌"川’It*20'2/0XP.并lLWindowsCEff船舶技术,通信技术_I利用WinCE设备,开发应月j程序,其核心足山CE操作系统和必要的通境和强大的刚络功能。型形用户界嘶怍常dt入式技术拥结合为32位ARM微控制单元情接n组成,拥有统数据采熊咀及各利备作敬工的警瞄报嵯机山叱统、系屏,摸示触行E“C悃岍W块证性、实时性、体积等方面性能卓越.更能适应船舶自动化系统进一步发展所提
5、出的要求。味一2)征船舶机舱监测报警L
6、_l,系统采用触摸屏技术,提高了用户交互的效率,将船腑技术、通信技术和嵌入式技术相结合,具有一定的创新性和先进性。3)在人机界面J:.采用微软WindowsCE和Windows系统相似的界衙和操作方法使丌j户几乎不用学爿就丌丁以使用。J£它的嵌入,℃操作系统虽然也能提供非常友好的人机交互界面,fH在Windows系列操作系统先大的优势面前也只能稍逊一筹。4)在程序JF发时,采用而向对象的编程技术”J,编写不依赖任何第t方捅件的控件库.提高了代码的重用4陀和扩展性,大大提高了编{;!I!效率。5)支持多种上业通信协议标准,如RS4
7、85、RS232、CAN总线以及以太脚通信等。2控件库的设计控什足监控软件中币要的组成部分,它小但可以亢规地显示系统信息,还u,以直接进行各种控制指令的操作和参数设置,有助于提高上作效率。VSNET自带控件使用缺乏灵活性,因此化很多情况下利用通用的编程语昂米制作监控软件的拄件,实现灵活多变、界面友好的组态功能。21WinCE控件为了能满足各种临测的要求,并符合操作员的视觉刊惯.界面中控件的开发至关重要.比较有代表性的工手亭组件包括各种仪表显示(见图2)、各种开关、液位显Hi(见圈3)、实时趋势图等”l。利用编程语言设计的一些控件,可以动态图形化表现数据,还可以制作成控
8、件库,在VisualStudi02005开发环境中,通过编译生成.du文件,可以在多种语言环境下中添加引用,柜各个界面中像普通控件一样加以应H{即可,人人提高r编程效率。∥:≮i“⋯SFAS,1.OOOQOOOO●图3并种电气开关以及液位显示控件2.2编写代矾由于嵌入式的限制性,定制操作系统是嵌入式系统开发的一个重要的内容.这主要是指通过PIatformBuilder集成开发环境去剪裁和定制町运行的操作系统。嵌入式软件的开发’P台为.NETCompactFramework(简称NCF),它是的NETFramework(简称NF)精简版。.NETCompactFrame
9、work是NF的个子集,在NCF平台下,GDI+中的高级功能(反锯齿绘图、线帽,联接装饰、二维变换、渐变填充等等)几于都没有,并且在NCF平台下缺少很多常用控件绘图函数,所以只有利¨j其它的办法实现在NF平台下本来可以轻松实现的绘图命令。例如,绘制仪表时在NF平台F,绘制一段圆弧只需要DrawArc(Pen,Rectangle,startAngle,sweepAogle)这个命令弧线界。量的沿顺#式。Rectangle:它定义椭圆的边自到弧线的起始点沿顺时针方向度从startAngle参数到弧线的结束点I(以度为单忙)。2012/01船舶机电设备49一每、一面l掣鼍◆
10、止一IIl量P煎竺esearch圈4WinCE平台仪表控件但是.在NCF平台下不支持DrawArc命令,只有运用数学的办法来实现,点坐标一般表示为X=Rcos0,Y=Rsin0,可以在每段弧上取很多点,连接起来即可,取得点越多,画弧越像。以下为每四分之一弧取180个点(如图4),画左边弧程序如下:for(inti=O;i(=90;iH){intnewx=(int)MathRound((Width/2一bigCirRadiu+MathCos(i+Math.PI/180)";intnewy=(int)Math.Round((Width/2·bigCirR
此文档下载收益归作者所有