新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线在自动生产线中的应用

CAN总线在自动生产线中的应用

作者: 时间:2016-12-20 来源:网络 收藏

标识符字节1设定发送节点/接收节点,设定内容见表2。标识符字节2中ID.2~ID.0(高3位)无定义取0,RTR是远程发送请求位,低4位为数据长度码。

表2标识符字节1定义

报文的标识符就象报文的名字,它在接收器的接收过滤中被用到。网络上所有的节点可以通过接收过滤确定是否采用该报文。接收过滤功能是可选项,如选择接收过滤功能,则应将接收屏蔽寄存器中各个位设置成“相关”,如不选择接收过滤功能,接收屏蔽寄存器中各个位应设置成“不相关”。当选择了接收过滤功能时,一旦节点接收到数据,则只有当接收码与标识符的ID.6~ID.3相同,接收的数据才会被节点采用。

报文中数据区第1个字节的内容设定为信息类别,第2字节为待发送的数据。信息类别根据被传送的信息类型进行编码,详见表3。数据用来区分工件的黑/白颜色、正品/次品等信息。

信息类别编码

3.2 CAN通讯节点软件设计

CAN通讯节点的软件设计主要包括两个部分:CAN通讯模块程序、站内控制模块程序。站内控制模块程序包括单片机初始化和站内控制功能的实现以及对CAN子程序的调用。CAN总线通讯程序是指在单片机的控制下将本节点的数据发送到总线上,以及接收总线上发送给本节点的信息并将其存人单片机,主要包括CAN总线控制器sJAlooo的初始化、报文发送和报文接收3个部分。CAN通讯的数据传输按照用户自定义通讯协议的格式进行。

第2站(搬运站)的CAN通讯数据帧定义见表4。

表4搬运站CAN通讯数据帧定义

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总线的测控技术可以广泛应用于工业自动化领域。


上一页 1 2 下一页

关键词: CAN总线自动生产

评论


技术专区

关闭