采棉机智能监控系统CAN应用层协议设计

发布者:温柔浪漫最新更新时间:2015-01-07 来源: e-works关键字:采棉机  监控系统  CAN总线 手机看文章 扫描二维码
随时随地手机看文章

引言

    随着我国大型农业机械装备现代化进程的不断推进,农业机械作业信息滞后、时效性差,机收的组织者和参与者对信息快捷、准确、详细的要求难以满足等问题日益突显,同时目前大型农业机械本身缺少有效的工作状态关键信息采集与故障诊断报警手段,致使无法及时掌握其工作状态与寿命状况,降低了农业机械工作效率和作业质量,影响了农业机械装备的发展。

    CAN(controller area network)总线凭其可靠的数据通信和良好的错误检测能力,在控制和检测领域备受重视,被广泛应用在环境温度恶劣、电磁辐射强和振动大的工业环境。CAN为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

    目前,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,但在大型农业机械装备领域鲜有成功应用报道。

    本文以4MZ一6A型六行采棉机智能监控系统为例,通过解析报文标识符帧ID和数据帧含义,研究基于CAN总线应用层协议的制定原则和方法。

1 智能监控系统架构及通信

    采棉机智能监控系统是基于CAN总线技术搭建的数字式模块化的综合信息管理与控制平台。监控系统整体架构(图1)由6个子系统构成,分别为监控器子系统、自动对行子系统、参数检测子系统、状态监测子系统、棉花测产子系统和巡航速度自调节子系统。在基于CAN总线的采棉机智能监控系统中,各子系统之间以及子系统内各模块间均通过总线进行信息交换,包括采棉机的启动、停止、速度给定以及参数测量、状态监测、棉花产量测定等。

    监控器于系统置于采棉机驾驶室内部,是整个监控系统的核心,即中央控制器。监控器不仅可以接收底层各CAN节点发来的参数信息和工作状态信息,并且通过CAN总线向各控制节点发送命令和数据信息。由6组近红外棉花流量智能传感器组成的棉花测产子系统负责把棉花实时产量转换为数字量,并经模型校正,通过CAN总线发送给监控器和巡航速度自调节子系统。另外,采棉机智能监控系统还包含若干基于CAN总线的各类功能模块。例如:自动对行模块(CanModule.A)用来实现采棉机巡航作业时的自动对行功能;脉冲采集模块(CanModub-B)用来获取行走速度、发动机转速、风机转速、滚筒转速以及水压、油温等参数信息,并经过CAN总线发送给监控器用来显示和处理;监测报警模块(CanModule—C)负责监测各被测点的开关量信息和模拟电压量信息,比如各路吸人门状态、离合器状态、棉花输送带状态等。


    采棉机智能监控系统通信信息分为命令和数据2类。命令信息,如速度设定、巡航切换、卸棉、自动对行启动等,其优先级比数据信息高。数据信息,如棉花实时产量、发动机转速、采棉头滚筒转速、水箱压力、开关量报警信息等,其优先级相应低一点。不同的子系统发送的数据信息也有优先级之分,如采棉机本身的参数信息和工作状态报警信息就比近红外棉花流量传感器发送的产量信息优先级高;监控器即中央控制器节点的优先级最高,而底层辅助节点优先级最低。

    监控系统中有的信息要求周期性传送,如发动机转速、风机转速等机器参数信息。有的信息属于事件触发发送,如吸入门、离合器等报警信息以及启动、巡航切换等控制命令信息。监控系统中各子系统的通信任务各有轻重,相对而言,中央控制器节点的通信最繁忙,而自动对行子系统的通信很少,一旦自动对行任务启动,子系统自身就可完成自动对行任务。另外,各子系统发送指令和数据信息的字节数都很少,大部分为1至2个字节,很适合CAN总线短帧快速的传送方式。

2 通信协议的制定与实现

    采棉机智能监控系统采用模块化、总线化设计,层次清晰,便于维护,具有良好的互换性。根据大型六行采棉机实际需要,智能监控系统共需1只CanModule—A模块、8只CanModule.B模块、4只CanModule—C模块、6对近红外棉花流量智能传感器和1套基于CAN总线接口的行走速度控制模块。因为监控平台涉及的控制模块较多,数据传送量大,因此必须清晰定义CAN总线应用层协议,以确保监控系统各模块之间正确、实时通信。

    2.1 总体情况

    本系统协议采用CAN 2.0B支持29位标识符的扩展帧。通信速率可根据实际调试情况设置成125、250、500 kb/s等多种总线波特率,暂定采用250 kb/s进行通信。各节点的信息交换只使用数据帧,远程帧不用于数据请求,仅限于节点的自行调试。29位扩展帧包括11位基本ID(即标准帧)和18位扩展ID。基本11位ID按照ID28到IDl8的顺序发送,它定义了扩展帧的基本优先权,其值越小代表优先级越高,其值越大代表优先级越低;18位扩展ID按照IDl7到ID0的顺序发送。

    CAN总线协议将通信信息分为2种基本类型:专有信息和广播信息。专有信息是由某一节点发送且仅供某一指定节点接收的点对点信息;广播信息可由任意节点发出,其他所有节点都接收或只有局部多个节点选择性地接收。广播信息的优先级要高于专有信息,且根据其发送节点的不同具备不同的优先级(即优先级是基于节点的)。同样,节点的专有信息也根据信息内容的重要程度分为不同的优先级。

    当采棉机开启,监控器上电启动,经时间继电器延时一定时间后,近红外棉花流量传感器、自动对行模块(CanModule—A)、脉冲信号采集模块(CanModule—B)、多路监测报警模块(CanModule—C)
等节点同时启动。监控器首先向棉花流量传感器发送命令和数据,同时接收来自传感器节点的数据信息,完成对近红外流量传感器的校准标定,然后不断地获取来自流量传感器的数据信息。监控器和传感器之间的通信是面向连接的,相当于客户机/服务器,传感器连续地产生产量数据,监控器不停地确认收到的数据信息,发送和接收之间建立点对点的通信,流量传感器不再与系统内其他CAN节点进行信息交换。

    在监控器与流量传感器点对点通信时,其他检测和监测模块(如CanModule—A、CanModule.B、CanModule—C等)也与监控器进行实时通信。它们向监控器发送的都是广播帧,进行无确认模式的信息传输,其通信方式相当于生产者/消费者关系,各模块不停地广播数据信息,监控器或者系统各节点通过识别总线上信息的标识符来完成信息通信。

    2.2 报文结构

    CAN应用层协议制定有较大的灵活性。本协议以CAN 2.0B为基础,在此基础上对29位标识符进行定义。标识符的分配采用了预定义分配方式(表1)。

    (1)优先级:由ID28一ID24组成。为便于扩展,将00000、00001两个优先级空缺,留作备用。监控器与行走速度控制模块之间的通信优先级定义为00010,为最高优先级,因一旦出现异常情况,手动驾驶切换和速度控制必须得到及时响应;监控器与CanModule—A类模块发送命令设置为0001 I,为次高优先级,当启动巡航采棉模式时,监控器必须对CanModule.A模块发出控制命令,同理,CanModule.A模块向监控器发送的数据信息也设置同样的优先级;CanModule-C类模块向监控器发送数据的优先级设置成00100,该类模块发送的是故障报警信息,也需要较高的优先级,以确保采棉机出现故障报警时及时响应;CanModule—B类模块向监控器发送信号的优先级为00101,该类模块发送的是采棉机工作参数信息,如发动机转速、风机转速、滚筒转速、润滑液注入量等参数;近红外棉花流量智能传感器的优先级设置为001 10,为最低优先级。

    (2)目标节点与源节点:IDl5一ID8为目标节点地址,ID7一ID0定义为源节点地址。在本系统中,监控器的节点地址定义为F5,CanModule-A模块的节点地址为A0,CanModule—B的8只模块节点地址分别为BO—B7,CanModule—C的4只模块分别定义为CO、C1、C2、C3,6只棉花流量智能传感器的节点分别定义为DO—D5(以上均为十六进制地址)。[page]

    2.3 举例

    各类CAN模块节点与监控器的通信和棉花流量传感器与监控器的通信略有不同,举例说明如下:

    (1)流量传感器与监控器的通信:为了均匀地测量棉花流量,每只传感器上置有5组近红外发送和接收检测单元,每组检测单元产生一束16位的流量数据,经监控器计算处理后得到通过该传感器的平均流量。以传感器DO节点为例,解释说明各位含义。表2所示的6个数据帧为传感器(节点地址为DO)正常工作时向监控器(节点地址为F5)发送的数据帧。此时源地址为DO,目标地址为F5,其优先级为00110,帧类型为01(点对点式),因此帧ID为Ox0601 F5DO。该表示方法采用右对齐模式,可以清晰地分辨是源节点DO向目标节点F5发送数据。数据帧l、2、3为一组,代表传送的实时数据流量;数据帧4、5、6帧为一组,代表传送的实时基准调定数值。数据帧1数据值固定,用于表示后续两帧为流量数据。数据帧2的第3位和第4位数据(表中下划线部分)分别表示一组检测单元的低和高位数值,通过CAN总线传送给监控器,然后转换为|J进制数字显示。同理,数据帧2的第5位和第6忙数据分别表示另一组检测单元的低和高位数值;以此类推,数据帧2的第7、8位,数据帧3的第2、3位,第4、5位分别为另外4个检测译元的流量数据。数据帧4、5、6同上类似,只是其代表传感器实时调定数值,不再赘述。

    (2)其他CAN模块与监控器的通信:以监控器向自动对行模块A0发送命令为例,源节点地址为F5,目标节点地址为A0,优先级为00011,帧类型为00(广播式),故帧ID为Ox0300AOF5。为了使广播信息能被AO模块唯一接收,必须通过特殊功能寄存器设置屏蔽码。因为CAN控制器采用左对齐方式,所以设置CANIDTl为Oxl8,CANIDT2为0x05,CANIDT3为0x07,CANIDT4为0xA8。这样,A0模块就仅能接收ID为0x0300AOF5的广播数据帧。同理,当A0模块向监控器发送数据时.源地址为A0,目标地址为F5,优先级为00011,故帧ID为0x0300F5A0。监控器可以接收来自任何CAN节点的数据,鉴别出该帧ID,并对相应数据帧进行操作。

3 试验

    将图l所示的各子系统采用Atmel公司的AT89C51系列单片机分别设计成基于CAN总线的电路模块,然后通过CAN总线实现中央控制器与各电路模块的信息通信。试验结果表明:基于该CAN应用层协议的采棉机监控系统可以在250kb/s速率下实现各模块之间以及各模块与中央控制器之间的实时无误通信。

    监控器软件设计和数据管理基于美国NI公司的虚拟仪器技术。监控器基本上接收来自总线环上所有CAN节点的数据,因此必须进行有效的数据管理,否则将导致数据丢失。本系统采用生产者/消费者模式对数据实施有效管理。图2所示的生产者循环,通过调用库函数采集CAN节点数据,当接收函数返回值为1时,说明收到CAN数据,随即把该数据装进队列,然后由消费者循环进行处理。图3所示的消费者循环,将生产者循环采集到的数据簇取出,再将该数据簇按名称解除捆绑,提取29位帧ID和8字节的数据帧。

    将上述经过试验验证的各CAN模块就近分布于采棉机上各数据采集端,信息显示触摸屏置于采棉机驾驶室内,组成一整套采棉机智能监控系统,并于2011年9月中旬在新疆农八师136兵团棉田内进行了工程实践。以5 km/h的速度,收获成熟棉花约6.67 hm2。结果表明:①自动对行子系统可以在无人驾驶的情况下,根据棉垄与传感器的位置关系,实现纠偏自调整。②棉花测产子系统、参数采集子系统和状态监测子系统可分别采集到棉花产量、发动机转速、风机转速以及各开关量状态等信息,并实时不失码地传输给中央控制器进行数据处理(棉花测产子系统的试验数据如表3所示,显示值为仪表显示得到,实测值为棉花称量值)。③巡航速度自调节子系统可以根据棉花在线产量以及模糊规则实时调整车辆行走速度至最佳作业速度,提高工作效率。因此,基于该CAN应用层协议设计的大型六行采棉机智能监控系统是行之有效的。


4 结束语

    基于CAN总线的采棉机智能监控系统采用模块化设计理念,可靠性高,维护便利。其应用层协议制定灵活方便,简洁清晰,扩展帧和数据帧的定义符合智能采棉机数据通信的实际状况。通信协议已在4MZ一6A型六行采棉机试验样机中得到成功应刚,实践证明:按此规则定义的应用层协}义不仅能满足采棉机监控系统实际需要,而且具有极强的移植性、扩展性、通用性,可推广至其他大型农业机械或者工程机械的智能监控系统中。

关键字:采棉机  监控系统  CAN总线 引用地址:采棉机智能监控系统CAN应用层协议设计

上一篇:基于PCI总线的HDLC通信卡的设计与实现
下一篇:PCI总线数据采集系统的硬件研究

推荐阅读最新更新时间:2024-05-02 23:25

PIC单片机车载仪表带CAN总线通讯源代码
单片机源程序如下: ;****************************************************************************** ; * ; Filename: FB_ZHU_JI_PIC16LF1947.ASM * ; Date: 2012.01.6 * ; File Version: 1.0 * ;
[单片机]
基于DSP2812的带式输送机多路温度检测系统设计
0 引言 带式输送机是煤矿最理想的高效连续运输设备,与其他运输设备(如机车类)相比,具有输送距离长、运量大、连续输送等优点,而且运行可靠,易于实现自动化和集中化控制,尤其对高产高效矿井,带式输送机已成为煤炭开采机电一体化技术与装备的关键设备。由于煤矿井下环境恶劣,带式输送机设备易损坏,一旦输送带与滚筒之间发生打滑及输送带温度升高会严重威胁井下人员生命安全,目前国内对输送带温度精确检测问题一直没有得到很好解决。 随着DSP芯片技术与新型非接触式红外温度传感器技术的不断发展以及总线控制系统(FCS)逐渐取代传统集散控制系统(DCS)为设计一种新型井下带式输送机温度检测系统提供了可能。本系统采用TMS320F2812作为信号采集
[测试测量]
基于DSP2812的带式输送机多路温度检测系统设计
基于CAN总线EPB驻车电流采集节点系统电路设计
  电子驻车制动系统(EPB)指将行车过程中的临时性制动和停车后的长时性制动功能整合在一起,并且由电子控制方式实现停车制动的技术。为了能够获取各车辆已施加的理论驻车压力,并监控各车辆一体化执行机构的工作状态,防止驻车电机长时间工作在大电流状态,防止驻车电机过热烧毀,EPB一般配有驻车车电流采集节点,并通过CAN总线将驻车电流发送给中央控制节点(ECU)。文中主要介绍了基于AD574A的驻车电流采集节点的接口设置。   1 系统硬件设计   驻车电流采集节点的硬件电路设计包括CAN总线通讯电路设计与车速采集电路设计两部分,如图1所示。   1)CAN总线通讯电路设计   CAN总线通讯电路设计时,CAN控制器使用由CTM10
[单片机]
基于<font color='red'>CAN总线</font>EPB驻车电流采集节点系统电路设计
基于CAN总线的配电网户外柱上型重合控制器的设计与实现
    摘要: 介绍了一种基于CAN总线的中压配电网户外柱上型智能重合控制器,以16位工业级微控制器Intel 87C196KC为核心,应用现场总线和智能化技术将保护、测量、检测、计量、远动和故障诊断等综合自动化功能就地分散到户外开关设备本体上,采用CAN总线作为系统的通信网络,实现了配电设备的户外全分布式方案。     关键词: 配电网 现场总线 智能重合器 Intel 87C196KC 我国供电部分近几年来在城乡电网建设与改造中进行了大量的技术改造和更新,选用了新形的配电设备、综合自动化和调度自动化设备、自动控制测量装置等,但这些设备目前大多数仅限于在变电站和调度室中采用。而大量的统计资料表明,配电
[传感技术]
CAN总线镍氢电池管理解决方案
1 前言   蓄电池剩余容量的准确测量在电动汽车的发展中一直是一个非常关键的问题。有效的电池管理系统有利于电池的寿命提高。所以对蓄电池SOC的准确估计成为电动车电池能量管理系统的中心问题。如果能够正确估计蓄电池的SOC,就能合理利用蓄电池提供的电能,延长电池组的使用寿命。   方案采用总线式方式组网,应用现场总线完成各个节点之间的数据交换。在分布式方案中,多能源控制器为主控ECU,它通过现场总线和多个下位ECU通信。工作过程中,每个控制器的通信子模块以定时器或者中断的方式在后台运行,完成数据的收发工作,节省主流程资源开支。如图1所示。 script language=JavaScript type=text/java
[嵌入式]
基于嵌入式多串口通信转换器的电能质量监控系统设计
引言   随着非线性电力电子元器件的应用,电能质量问题日益严重。因此有必要实时在线监测电能质量,以便采取措施提高电能质量。电能质量在线监测系统大多采用多串口卡搭配工控机的模式,这种模式成本昂贵,而由传统的单片机设计的串口转以太网设备不能满足日益复杂的电能质量监控系统控制要求;在工业生产控制和通信领域,串行口设备大多符合RS232标准。为了能够将多个串行口的数据转发到以太网络上,并实现数据的远程传输、设备的远程控制便成了急待解决的问题。同时由于成本问题,旧设备又不可能全部淘汰。   因此,本文搭建了一种基于嵌入式多串口通信转换器的电能质量监控系统。   1 电能质量监控系统总体设计   系统结构分为三层,监测层、现地控制层
[单片机]
基于嵌入式多串口通信转换器的电能质量<font color='red'>监控系统</font>设计
CAN总线经典教程
CAN 是 Controller Area Network 的缩写,是 ISO 国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后,CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved