CAN总线在铣刨机电控系统中的应用--控制网



CAN总线在铣刨机电控系统中的应用
企业:控制网 日期:2005-07-13
领域:PLC&PAC 点击数:1596



1  引言
   
    随着工程机械智能化程度不断提高,控制精度、稳定性也要求不断提高,而且还要求有相当高的传输速率,尤其是控制对象相对复杂、功能要求较高的铣刨机,人们不能采用单个的控制器,更不能采用传输速率较低、传输距离较短、抗干扰能力较差的RS232或RS485的通讯方式。最主要的是它们不能连接多个收发器,不具有多站点能力。而CAN(控制器局域网)作为唯一一种有国际标准的现场总线,与RS232、RS485相比,其信号形式更适合热插拔,而且它的网络层协议在满足模块间通信需要高实时性要求的同时,与定量触发的TIP相比适合不定时传送信息的要求。它继承了DCS的优点,可以更方便地构建模块间通讯网络。因此,笔者在铣刨机电控制系统中采用了CAN的通讯方案。
    本文以笔者设计开发的铣刨机电控系统为例,主要介绍利用CAN总线实现系统间通讯的系统设计和应用。

2  系统描述

(1)  系统组成及网络结构系统的组成如图1所示。



图1  系统的网络拓朴结构

    系统采用监控显示器(德国博世力士乐生产的DI2显示器),并联各控制对象的数据采集模块(力士乐配套的RC6-9控制器+MOBA找平仪+CATERPILLAR的ECM控制器)和CAN总线组成。
    本文的铣刨机采用上述CAN总线接口的微处理器系统。该系统包括两部分:数据采集和施工过程控制。前者由挂接在CAN总线上的数据采集单元完成,主要是从总线上收集有关的运行数据(由分控部件的控制单元提供),进行一些基本的数据处理和诊断,如有关传感器、执行机构是否失效,然后将有关数据和施工状况存储在可扩展的EPROM中,在适当时刻将存储的数据通过CAN总线传输到显示器上进行数据分析处理。另外,施工的过程数据传输到显示器上,主要是处理数据采集系统发送的数据,如发动机转速、行驶速度、铣刨深度等参数。
    铣刨机各电控单元间以及模块与显示器间通过控制器局域网(CAN)连接通信。通信网络拓扑结构采用总线式结构。
这种结构的特点是多个节点共用一条传输线,结构简单、成本低;采用无源抽头连接,可靠性高。信息的传输采用CAN2.0通信协议,线路的利用率高。传输介质为双绞线,如需进一步提高抗干扰能力,还可在控制器和传输介质之间加接光电隔离。以上总线式拓扑结构的特点能满足本系统的设计要求。
(2)  硬件介绍
    硬件包括RC控制器与CAN总线的接口、显示器与CAN总线的接口、电喷发动机控制器ECM与CAN总线的接口、MOBA控制器与CAN总线的接口。
表1  PCAN_USB CAN端口的定义

    由于后两个控制器的控制程序已由生产厂家固化进去,OEM厂商只需要实现CAN通讯,完成数据的互换就可以了,笔者的精力集中在前两类控制器进行编程和程序下载及调试。由于笔者使用的是CAN通讯接口,所以由PC机下载程序进入控制器时笔者采用了USB接口转CAN接口的CAN通讯专用下载工具―PCAN_USB。此工具具有适用于工业级CAN总线通讯中的信息交换,遵循国际标准,支持热插拔,传输速率高,外置发光二极管显示当前状态,可以自主开发程序,支持多种语言平台,可以自由上传、下载及测试等特点,使用起来非常方便。各针的定义和接线方式如表1所示。



图2  PCAN_USB与PC机的接线

3)  RC和DI2的CAN控制器
    RC控制器具有两个CAN控制器,可分别互换使用;支持CAN2.0协议;有自动重发功能;支持数据帧和远程帧;数据收发采用邮箱方式;可工作在标准模式和扩展模式;有可编程位定时器;可编程实现总线唤醒功能;可对中断配置编程;DI2附带一个CAN控制器,其功能与RC控制器的CAN控制器一致,该CAN控制器的这些功能方便了整个系统功能的实现。

3  系统的软件

(1)  主模块的确定
    为了使各个控制模块能协调工作,笔者单列一个RC控制器作为主控制器,由它单独和显示器进行数据交换和显示。禁止其他模块成为主模块,所有其他模块的数据只能以主模块为基准。按照规定我们可以将显示器和各个控制器分别通讯,进行数据交换和处理,但为了适配RC控制器的编程特点采用现有方式,从实际情况来看,确实比较实用。
(2)  显示器的软件
    显示器的软件和RC控制的软件一样,都是以博世力士乐开发的专用软件为平台进行二次开发,并把显示器作为局域网上的操作服务器,用户通过它可以各个模块进行操作(下文详谈),方便、及时、有效。

4  CAN控制器的编程

(1)  波特率设置
    表2  位速率和节点间最大速率的关系

    由表2和图3可知:CAN总线的传输速率与两个节点之间的最大距离有关。由于MOBA控制器自身的物理因素(电缆长度、反馈电线末端的死区等)决定了本套系统工作波特率为125Kbit/s。此波特率在实际运用中完全符合要求。


图3  波特率曲线图

(2)  CAN通讯的实现
    由于RC控制器和DI2显示器的编程环境都是由博世力士乐提供的,所以在编程时只需要在软件平台上进行相应的CAN通讯配置就可以了,具体的实施过程如下:
对DI2显示器来说,System settings中选取驱动方式,现有的系统配置决定笔者只能选择适配CAN通讯的BT 15 DI2/11 an:CAN的驱动方式,如图4所示。



图4  选择驱动方式

    然后在Device settings中作好相应的RAM和Recipes配置(一般选用默认值)。



图5  相应的RAM和recipe配置

    最后在Driver settings作好波特率、控制器的配置,如前所述,本系统的波特率设置为125KBd。 



图6  配置波特率、控制器

    做好以上工作后,再编辑RD_PLC(读入PLC的实时参数)和WR_PLC(对PLC的参数进行修改)模块;在此模块中定义控制对象的地址,直接与PLC(博世力士乐RC控制器)对应的地址对象进行通讯从而实现对显示器进行施工过程的实时监控设计(部分程序如下)。
    ******* RD_PLC ***********
     IF=(Display,21)
    {
     SB(No_Error_Onlinewindow)  
    IFPLU(Key_ESC,PAI0.0)      {LW(Display,Pre_Display) }
    IFPLU(Key_FI,PAI0.1)      {LW(Display,Pre_Display) }
    IFPLU(Key_FII,PAI0.2)      
    }
    ;******* WR PLC***********
    IF=(Display,22)
    {
    SB(No_Error_Onlinewindow)                 IFPLU(Key_FI,PAI0.1)       {INC(Adress_WR_PLC,70,96)}
    IFPLU(Key_FII,PAI0.2)      {LW(BI,Adress_WR_PLC)
    INC(B1,0,65535)}
    IFPLU(Key_FIII,PAI0.3)     {LW(BI,Adress_WR_PLC)
    DEC(B1,0,65535)}
    }
    对于RC控制器的CAN设置相对来说要复杂一些,首先要进行通讯初始化并选择好通道号;其次是对接收到的数据进行初始化;如是发送数据,则需要将数据打包;这样就可以通过CAN控制器实现各控制模块的自由通信了,特别值得注意的是:在与显示器进行通讯时,先进行DI2显示器的初始化,然后编辑通讯模块,只有这样才能完成RC与DI2的数据互换,从实际应用来说,这是最方便快捷和一种方式(程序节选如下)。
数据读入控制器:
    can_init(1,baud250K);
    Di2_init(40,46);
    Di2_initError(64,400);
    can_initRecDatabox(0,4,ADR(rcto2),0,21,8); 
    can_initRecDatabox(0,2,ADR(rc3),0,15,8);
    swlimitdrumdoor:= rc3[0];
    swconbackward:= rc3[1];
    swliftlimitrear:=rcto2[1];
    swconoilfilt:=rcto2[2];
    counter:=Di2_getData(70);
    Di2_setProc(80,counter);
    Di2_calc(void);
    Di2_setProc(16,swliftlimitrear);

数据发送控制器:
    can_sendData(0,2,message_basic_format,8,ADR(rc3));
    can_sendData(0,4,message_basic_format,8,ADR(rcto2));
    rc3[0]:=swlimitdrumdoor;
    rc3[1]:=swconbackward;
    rcto2[1]:=swliftlimitrear;
    rcto2[2]:=swconoilfilt;

5  应用

    本文研究的铣刨机电控数据通信系统有效的利用了RC控制器和DI2显示器内嵌CAN控制器的特点,通过挂接在CAN总线上的数据采集单元收集组合铣刨机的实时数据,并上传给显示器进行分析,经过显示器的数据处理和诊断控制铣刨机的正常工作。

6  结语

    本文介绍了RC和DI2内嵌CAN控制器的特点,并在此基础上把CAN总线技术应用在铣刨机电控系统数据通讯系统的设计与实现中,通过灵活的通信协议和接口的设计,使系统满足CAN总线短突发、高实时性、高数据率的要求。此系统不仅可以应用在工程机械、在其他行业也具有广泛的应用前景。

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: