0 引言
CAN—bus即控制器局域网,是国际上应用最广泛的开放式现场总线之一。CAN总线可提供高达1 Mb/s的数据传输速率,使实时控制变得易于实现。由于CAN总线具有很高的实时性能,因此已被广泛运用到各种自动化控制系统中。
1 自动生产线简介
本文描述的自动生产线被广泛应用在工业加工制造领域,是一个集机、电、控制于一体的综合性的自动化测控系统。该自动生产线由6个生产加工单元(工作站)组成,每个站由一个单独的单片机控制器控制,如图1所示。
工件在生产线上从一站到另一站的传递过程如下:上料检测站将大工件按顺序排好后提升传递,同时检测工件颜色,通知后站,搬运站将工件从上料检测站搬至加工站,加工站将对工件进行加工并检测被加工的工件,产生成品或废品信息,通知下站,安装搬运站将成品送至安装工位,安装站再对工件进行安装,最后,由安装搬运站将安装好的工件送至分类站,分类站将工件按颜色类型送入相应的料仓并统计工件的数量和总量。如加工站有废品产生,则安装搬运站将废品直接送人废品收料站。
各工作站之间的信息(如准备好、忙、完成等)通过CAN总线进行相互传递,每个工作站成为CAN总线上的一个节点。
2 CAN网络结构
本系统CAN网络结构如图2所示,与总线连接的每一个节点中包含了CAN控制器和CAN驱动收发器。总线采用差分传输方式,以提高总线的可靠性和传输速率。CAN总线控制器选用Philips半导体公司的产品SJA1000,CAN收发器选用PCA82C250。
CAN控制器和CAN驱动收发器的接口电路见图3。
3 CAN通讯节点的软件设计
3.1 CAN总线用户通讯协议的设计
CAN包括CAN 2.0A和CAN 2.0B两种标准,CAN 2.0B完全兼容CAN 2.0A,二者的主要区别在于报文所含标识符的位数不同。CAN 2.0B有两种帧格式,标准帧和扩展帧,标准帧包含11位标识符,扩展帧包含29位标识符,而CAN 2.0A只有标准帧格式。
由于本系统中报文的格式相对简单,根据CAN总线技术规范CAN2.0A设计了用户通讯协议,CAN总线自动生产线控制系统的各个节点都按此协议传送信息。
用户通讯协议标准帧结构的标识符和数据域的定义(共10个字节)见表1。
报文由描述符区和数据区组成。按通讯协议的规定,描述符区由1字节~2字节构成,数据区由1字节~8字节构成,实际所需字节数可根据用户需要而定。在本系统中,帧结构由2字节的描述符和2字节的数据构成。[page]
标识符字节1设定发送节点/接收节点,设定内容见表2。标识符字节2中ID.2~ID.0(高3位)无定义取0,RTR是远程发送请求位,低4位为数据长度码。
报文的标识符就象报文的名字,它在接收器的接收过滤中被用到。网络上所有的节点可以通过接收过滤确定是否采用该报文。接收过滤功能是可选项,如选择接收过滤功能,则应将接收屏蔽寄存器中各个位设置成“相关”,如不选择接收过滤功能,接收屏蔽寄存器中各个位应设置成“不相关”。当选择了接收过滤功能时,一旦节点接收到数据,则只有当接收码与标识符的ID.6~ID.3相同,接收的数据才会被节点采用。
报文中数据区第1个字节的内容设定为信息类别,第2字节为待发送的数据。信息类别根据被传送的信息类型进行编码,详见表3。数据用来区分工件的黑/白颜色、正品/次品等信息。
3.2 CAN通讯节点软件设计
CAN通讯节点的软件设计主要包括两个部分:CAN通讯模块程序、站内控制模块程序。站内控制模块程序包括单片机初始化和站内控制功能的实现以及对CAN子程序的调用。CAN总线通讯程序是指在单片机的控制下将本节点的数据发送到总线上,以及接收总线上发送给本节点的信息并将其存人单片机,主要包括CAN总线控制器sJAlooo的初始化、报文发送和报文接收3个部分。CAN通讯的数据传输按照用户自定义通讯协议的格式进行。
第2站(搬运站)的CAN通讯数据帧定义见表4。
3.2.1 CAN初始化子程序流程
CAN控制器初始化是CAN总线系统正常工作的前提,CAN控制器SJAlooO的初始化设置是在复位模式下进行的。由于篇幅关系,本文不作详细说明。
3.2.2 CAN发送子程序流程
报文的发送由SJAl000根据CAN总线协议自动完成,用户所要做的是把要发送的信息按特定的格式组成一帧报文,从单片机内的系统发送缓冲区送到SJA1000的发送缓冲区中,然后通过写命令寄存器的相应位启动“发送请求标志位”。在将系统发送缓冲区数据送到SJAl000的发送缓冲区前,应先判断总线上是否正在接收数据,还需判断一下上次发送是否成功,否则不能写入数据。
3.2.3 CAN接收子程序流程
报文的接收仍然由SJAlooO独立完成。在搬运站中,节点从总线上接收报文采用中断的方式进行。搬运站通过中断接收方式接收的信息有前站的工件颜色、前站准备好的信息以及后站准备好的信息。
采用中断的方式进行控制时,总线上的报文通过本节点的验收滤波器测试后,这条完整的报文就被保存在接收缓冲器中。此时,接收缓冲器状态标志位RBS被置1,表示接收缓冲区有新的数据,并同时产生外部中断。
单片机进入中断接收程序后首先保护现场,然后CPU读出接收缓冲区的内容,接着发送释放接收缓冲器命令,清除接收缓冲器状态标志。最后恢复现场,中断返回。
4 结束语
网络技术在自动控制系统中的应用已成为现代控制技术的一个重要发展方向。作为目前现场总线的主流标准-CAN总线技术在现代自动控制领域中的应用状况,从某种程度上代表着现代工业控制技术的发展水平。
本文根据预期的通讯速度快、可靠性高的目标和要求,设计这套测控系统,通过用户自定义网络应用层协议,给出了具体的设计方案,阐述了CAN通讯程序的实现方法,满足了自动生产线实时化、网络化和智能化的设计要求。
随着计算机、通讯和控制等技术的不断发展,建立于这些技术基础之上的现场总线技术也在不断向前发展,CAN总线的特点和优势,使它非常适合于作为现场监测和控制系统的通讯协议,其技术开放性及低成本,使基于CAN总线的测控技术可以广泛应用于工业自动化领域。
上一篇:CC--Link总线在轻轨换轮装置控制系统上的应用
下一篇:CANopen总线系统在250t门座式起重机上的应用
推荐阅读最新更新时间:2024-05-02 23:25