首 页文档资料下载资料维修视频汽修在线平台
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电工技术 > 机电工程
基于CAN-Ethernet网关的人机通信技术研究及实现
来源:电工技术  作者:佚名  2017-07-08 08:41:45

    摘要:随着电控系统的复杂化,越来越多的设备信号需接入到更灵活的系统中,但现场很多设备只有CAN口,为此根据实际工程需求提供了一种CAN总线设备转接到以太网的技术方案,并给出了系统组成部分硬件及软件的设计与实现。

    1 控制系统架构
    CAN总线由于具有结构简单、信息帧短、应用灵活方便、可靠性强等优点,在环境干扰因素多、突发性事件频发的现场具有不可替代的地位,因此在不同领域内得到应用和推广,但也存在无法直接连接网络的局限性,不适合远距离信息传递。而以太网可利用网络进行远距离通信,恰好与CAN总线互足,可把设备控制信息方便、快速地传送到后台监控或非CAN总线的设备中,以及时获知现场设备的运行状况,方便上位系统监控。基于CAN-Ethernet的控制系统框图如图1所示。

    2 CAN-Ethernet网关
    工程现场需要给设备配置HMI人机界面,该人机界面支持Modbus TCP通信协议,但控制器不支持Modbus协议,所以采用ENC-318 CAN转以太网网关。该网关可作为TCP通信从站,配置IP、端口和波特率,支持CAN2.0A、CAN2.0B标准协议和04、16功能码。通过配置软件EC-123配置网关IP、端口号及CAN端的波特率,扩展帧还是标准帧。
    该网关数据通信原理如图2所示,CAN帧的数据收发都有对应缓存,CAN端和以太网端进行数据交互时都是先将数据存人缓存,接收方再按两者之间正确的对应格式进行处理。

    3 控制器软件设计
    CAN的正常数据收发,因为每个控制柜只有一个HMI屏,所以可用CAN帧的ID识别报文,而不占用常规的8字节的数据区。 CAN通信协议采用CAN2. 0A标准帧,通信数据格式定义如下:
typedef struct

    UINT3 2 cob id:11;
      UINT32 rtr:1;
    UINT32 len;
    UINT32 hdata;
    UINT32 ldata;
}FpgaCanAppFrame;
    为实现CAN总线与以太网之间的数据互通,控制器软件侧主要设计了数据初始化、CAN收发数据、通信数据和应用数据间交互处理功能块。其中,数据初始化部分完成数据的初值显示;收发数据完成控制器到屏的数据上传显示和屏到控制器的操控内容下发;通信数据和应用数据间交互处理则完成上传数据的准备和下发数据的处理过程,这两部分内容都放在1ms任务线程中周期执行。
    3.1上传数据
    控制器端发送的数据是标准CAN帧格式,对应Modbus协议的04功能码。其中,III用来区分具体变量,rtr定义为0表示数据帧,因为控制器在做帧数据时将8个字节分成了高低各4个字节进行数据传输,所以在与HMI通信变量交互时,分别用的高低4个字节表示一个变量以提高传输效率。通过一个独立函数进行需要上传数据的准备,当上传数据准备好后,数据会周期性自动地发送到CAN-Ethernet网关的CAN端缓冲区内。
    当HMI进行04码功能查询时,再通过Modbus协议形式上传至HMI,屏端根据报文内容将每个变量解析并由相应控件显示。CAN上传数据流程如图3所示。

[1] [2]  下一页

关键词:

  • 好的评价
      0%(0)
  • 差的评价
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:90,873.05000 毫秒