采棉机智能监控系统CAN应用层协议设计
2019-01-24 11:14

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

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

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

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

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

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

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

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

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

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

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

  当采棉机开启,监控器上电启动,经时间继电器延时一定时间后,近红外棉花流量传感器、自动对行模块(CanModule—A)、脉冲信号采集模块(CanModule—B)、多路监测报警模块(CanModule—C)

  等节点同时启动。监控器首先向棉花流量传感器发送命令和数据,同时接收来自传感器节点的数据信息,完成对近红外流量传感器的校准标定,然后不断地获取来自流量传感器的数据信息。监控器和传感器之间的通信是面向连接的,相当于客户机/服务器,传感器连续地产生产量数据,监控器不停地确认收到的数据信息,发送和接收之间建立点对点的通信,流量传感器不再与系统内其他CAN节点进行信息交换。

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

  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(以上均为十六进制地址)。

      任你博,任你博娱乐,任你博官网