0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CANopen协议的智能液位遥测系统设计

电子工程师 来源:网络整理 作者:佚名 2019-11-18 15:34 次阅读

针对目前海事应用中液位遥测系统的现状,基于ARM9芯片的WinCE嵌入式开发平台,开发一套智能的液位遥测系统。

该系统采用CAN总线,遵循CANopen协议,在EVC开发环境下结合多线程威廉希尔官方网站 和数据库威廉希尔官方网站 实现遥测系统的通信和界面显示功能。实验结果表明,该系统稳定、实时、生动地实现了通信、显示、存储、打印等功能,具有很高的应用价值。

引言

液位遥测系统是油轮和化学品船的核心部分[1],直接关系到船舶在海上航行的安全性和可靠性。目前国内该行业还处于低威廉希尔官方网站 的恶性竞争,要改变这种状况,只有通过提升威廉希尔官方网站 水平才能实现。本系统就是在此背景下进行研究设计的。

该系统是以ARM9为内核,在WinCE操作系统平台下,以CAN通信为基础,CANopen协议为规范,综合应用EVC编程、CAN通信、数据库、多线程等威廉希尔官方网站 设计的一个智能液位遥测系统。

ARM9的工作频率最高为200 MHz,微处理器内置彩色图像处理电路,因此可以直接外接TFTLCD/VGA显示屏。

CAN(Controller Area Network)总线是一种多主从结构,具有报文仲裁,错误自检测、处理机制,较强的通信能力,较强的短路保护能力,通信方式灵活多样等优点。船舶液位遥测系统是一个局域网控制系统,选用CAN总线更能满足其传输的高可靠性[2]。

1 CANopen协议

CANopen最初由从事工业控制的CiA会员开发,由于CANopen是一种公共、开放、通用的协议,而且精练透明、容易开发,如今已经被接受为CAN高层协议的标准之一。

基于CANopen协议的智能液位遥测系统设计

图1 CANopen设备模块

一个CANopen设备模块可分为3部分,如图1所示。通信接口和协议软件用于提供在总线上收发通信对象的服务;不同CANopen设备间的通信都是通过交换通信对象来完成的, 这一部分直接面向CAN控制器进行操作。对象字典描述了设备使用的所有数据类型、通信对象和应用对象;对象字典位于通信程序和应用程序之间,用于向应用程序提供接口。应用程序对对象字典进行操作,即可实现CANopen通信。它包括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信;而功能部分则根据应用要求来实现。

在CANopen网络系统中每个节点都有唯一的一个对象字典,而且每个节点的对象字典都具有相同的结构;但具体的内容要根据不同的设备而定,包含了描述该设备及其网络行为的所有参数。CANopen协议还定义了4种报文(通信对象),用于对不同作用的信息进行处理,分别为管理报文(NMT)、服务数据对象(SDO)、过程数据对象(PDO)和预定义报文或特殊功能对象。

2 液位遥测系统总体结构

液位遥测系统主要实现2项功能:

① 对各舱的液位、温度、压力等进行实时监测;

② 当监测高于报警值时发出报警信号

针对这2项功能,采用了CAN总线的网络拓扑结构,系统总体结构框图如图2所示。




基于CANopen协议的智能液位遥测系统设计

图2 液位遥测系统总体结构

由图2可知,整个系统以CAN总线进行通信,然而CAN芯片只提供了开放系统互连参考模型(OSI)中的物理层和链路层功能,一般用户必须直接用驱动程序操作链路层。不能直接满足控制网络的组态和产品互连要求。为了以CAN芯片为基础构成完整的工业控制现场总线系统,必须制定相应的应用层协议,实现系统的组态、设备互连和兼容功能。下面分别介绍各部分的功能。

2.1 分布式处理单元DPU

DPU是采用模块化设计、具有通信功能的智能化远程I/O单元。DPU单元分布在船舱各处,作为传感器和执行器的接口,直接与传感器和执行器相连。各个DPU单元可以用两根普通的双芯屏蔽电缆( 或双绞线等)连接到CAN总线上,将定时采集的各船舱液位高度、温度等各种实时数据发送到总线上。

目前,基于CANopen的DPU的各种模块(interwetten与威廉的赔率体系 量输入/输出、数字量输入/输出等)可以根据具体的监测点连接到网络中,完成液位、温度、压力等的监测。




基于CANopen协议的智能液位遥测系统设计



图3 上位监测点结构图

2.2 上位监测点

在本系统中,上位监测点主要实现通信和应用两个方面功能,具体结构如图3所示。

ARM9的开发平台已将CAN驱动嵌入,根据CAN2.0协议,可以直接完成物理层和数据链路层的通信,因此,在WinCE操作系统下,实现CANopen通信,解析通信对象,调用应用程序,完成整个上位系统的CANopen通信。

3 CANopen通信的实现

3.1 CAN通信

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

端口CAN_StartChip;

关端口CAN_StartChip;

接收CAN数据CAN_GetNextReceivedFrame;;

发送CAN数据CAN_SendFrame。

具体通信流程如图4所示。

基于CANopen协议的智能液位遥测系统设计



图4 CAN通信流程

3.2 CANopen通信

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

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

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

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

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

4 应用模块实现

4.1 系统配置

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

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



图5 系统配置

4.2 实时显示

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

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

4.3 数据存储

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

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

4.4 实时打印

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

5 结论

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

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1950

    浏览量

    130732
  • CANopen协议
    +关注

    关注

    0

    文章

    16

    浏览量

    11308
  • 液位遥测
    +关注

    关注

    0

    文章

    4

    浏览量

    6080
收藏 人收藏

    评论

    相关推荐

    Profinet协议转换为CanOpen协议来连接CanOpen伺服驱动器的应用

    局域网(CAN)网络的通信协议,被广泛应用于汽车和其他嵌入式系统中。对于将Profinet协议转换为CanOpen协议以链接台达B3系列伺服
    发表于 01-10 10:29

    Canopen协议读后感想

    area位置中存放。PDO的映射就可以实现特定节点的功能。在CANopen协议集中,为常用的控制节点指定了标准的子协议规范,即IO控制节点拥有一个子协议规范,ADC数据采集
    发表于 09-21 12:58

    如何利用WinCE设计遥测系统软件?

    针对目前海事应用中遥测系统的现状, 利用WinCE设计
    发表于 08-01 07:12

    CAN总线在智能遥测系统有什么作用?

    针对目前海事应用中遥测系统的现状,基于ARM9芯片的WinCE嵌入式开发平台,开发一套智能
    发表于 10-11 06:08

    请问怎样去设计遥测系统软件?

    遥测系统总体结构是怎样构成的?怎样去设计遥测
    发表于 04-27 07:13

    基于STM32的CANopen通讯协议的实现

    1_【基于STM32的CANopen通讯协议的实现】 CANopen分为三部分: 1、通信部分:PDO协议,SDO协议,NMT
    发表于 08-20 08:12

    CANopen协议

    CAN 在 ISO 层级中的位置、通信协议需求、CANopen协议诞生、设备子协议CANOpen设备结构
    发表于 08-23 09:02

    CANOpen协议简析

    定义CAN报文中的11/29标识符和8字节数据的使用。CANopen协议的子协议——实时伺服驱动和运动控...
    发表于 09-09 08:32

    canopen协议与can特点

    canopen简单提要can总线    can特点:多主控制、高达1M通讯速度、通讯校验、 错误检测处理及恢复等,can总线通讯接口规定了CAN协议的物理层和数据链路层功能。 canopen
    发表于 09-15 07:10

    针对工业控制的Canopen系统Canopen system

    介绍了CAN总线的应用层协议CANopen;介绍了CANopen系统的应用;详细介绍了CANopen
    发表于 05-26 11:07 26次下载

    遥控及遥测仿真系统的设计实现

    本文以大连海事大学新建远洋教学实习船“育鲲”轮阀门遥控及遥测系统为仿真模型,在深入分析该轮阀门遥控及
    发表于 10-29 16:55 29次下载

    采用WinCE的遥测系统软件设计

    采用WinCE的遥测系统软件设计 针对目前海事应用中
    发表于 03-29 15:12 709次阅读
    采用WinCE的<b class='flag-5'>液</b><b class='flag-5'>位</b><b class='flag-5'>遥测</b><b class='flag-5'>系统</b>软件设计

    浮式生产储存卸油装置遥测系统常用液位计有哪些

    浮式生产储存卸油装置遥测系统用来实时监测和控制燃油舱、污水舱、压载水舱、容器罐等位置的
    的头像 发表于 09-04 08:27 1005次阅读

    智能楼宇系统canopen协议与ModbusTCP协议进行通讯

    通过耐特森CANopen转ModbusTCP网关设备进行转换:可以使用一个CANopen转ModbusTCP网关设备,将CANopen协议转换为Modbus TCP
    的头像 发表于 01-03 15:17 509次阅读

    智能楼宇系统canopen协议与ModbusTCP协议进行通讯

    通过CANopen转ModbusTCP网关设备进行转换:可以使用一个CANopen转ModbusTCP网关设备,将CANopen协议转换为Modbus TCP
    的头像 发表于 01-03 15:20 483次阅读
    <b class='flag-5'>智能</b>楼宇<b class='flag-5'>系统</b><b class='flag-5'>canopen</b><b class='flag-5'>协议</b>与ModbusTCP<b class='flag-5'>协议</b>进行通讯