新闻中心

EEPW首页>嵌入式系统>设计应用> 基于WinCE的液位遥测系统软件设计

基于WinCE的液位遥测系统软件设计

作者:赵卫丽 王志刚 时间:2008-05-20 来源:单片机与嵌入式系统应用 收藏

3open通信的实现

本文引用地址://m.amcfsurvey.com/article/82821.htm

  3.1通信

通信通过调用底层封装的接口函数实现,主要包含:

开端口CAN_StartChip;
关端口CAN_StartChip;
接收CAN数据CAN_GetNextReceivedFrame;
发送CAN数据CAN_SendFrame。
  具体通信流程如图4所示。

图4 CAN通信流程

3.2通信

协议是CAN通信应用层的协议。通信标准定义了不同的通信对象,这些通信对象通过标识符(COB_ID)来进行区分。

  网络管理报文(NMT):提供网络管理服务,例如初始化、错误控制和设备状态控制。NMT对象映射到一个单一的带2字节数据长度的CAN帧,它的标识符为0。在本系统中主要用于系统启动的初始化。

  过程数据对象(PDO):过程数据对象用来传递实时数据,数据传输被限制在1~8字节,每个PDO有一个唯一的标识符。标识符具有优先级,遥测系统主要是对实时的液位等信息进行显示,大量的PDO数据进行实时传送。

  服务数据对象(SDO):SDO的传送是有证实的服务,可靠性比较高,主要用于对系统中各节点的配置或信息的设置。

  以上4种对象都有不同的优先级。对于接收到的报文根据其COB_ID进行解析,分送各不同的应用变量,即可实现通信。

  4 应用模块实现

  4.1 系统配置

  本系统中采用了配置文件的形式增强配置的灵活性,配置文件是根据下位中各模块、通道的现场分布汇总成的txt文件。首先,利用移动磁盘或者Remote File Viewer在PC机上载入配置文件。其次是读取工作,通过函数GetProfileString,根据不同的字段获取需要的内容。最后,对所获得内容赋给相应的变量,并进行显示更新。

  具体配置形式如图5所示。由图可知,可以对系统中模块的使用、舱名、信号类型、单位、范围、报警上下限、报警延时等进行设置。因此,在集控室就可完成基本的配制,大大减轻了工作人员的负担。

图5 系统配置

4.2 实时显示

  为了实现实时、准确、生动地显示系统运行状况,在该模块中利用了文本加图形的方式。因为数据量较大,界面类型较多,切换频繁,故主要采用了动态创建控件的解决方法。

主要完成各舱液位的实时显示。此外,还包括货舱的温度、压力,以及管路管道的压力等重要信息。

4.3 数据存储

  在本系统中,数据存储主要完成的是对报警数据的存储和对舱容信息的监测,利用的是自带数据库系统。

  系统存储的主要是报警数据,因此数据量比较小,采用自带数据库可以很方便地实现所需功能。此外,EVC4.0没有提供访问外部数据库ADOCE的接口。

4.4 实时打印

  在本系统中实现了实时打印,即只要出现报警信息,立即将该信息进行打印输出;当故障排除后,重新进行打印,以便对数据进行保存分析。

 5 结论

  本文所研究的是基于CANopen协议,在嵌入式开发平台上的船舶软件。CANopen作为CAN总线的应用层协议,在船舶遥测系统中有着广阔的应用前景。

  系统中CAN总线的应用大大提高了系统总体传输速率,双CAN机制更加增强了整个系统的容错能力,保证了船舶运行的安全性。整个软件系统实现了CANopen通信,完成了数据显示、存储、打印、报警,并使配置更智能,实验证明了其运行的可靠性。

  参考文献

  [1] 崔晓俊.船舶中的新技术应用[J].船舶工程,2007(3): 72-74.

  [2] 邬宽明. CAN总线原理和应用系统设计[M]. 北京:北京航空航天大学出版社,1996.

  [3] 汪兵,李存斌.EVC高级编程及其应用开发[M]. 北京: 中国水利水电出版社,2005.

  [4] Robert Bosch GmbH,CAN Specification Version 2.0[S],1991,Postfach 30 02 40, D70442 Stuttgart


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭