摘要:本文提出了一种基于CAN总线的嵌入式数控系统与伺服驱动器等执行机构通信的接口设计,解决了数控系统与伺服驱动器间指令信息传输精度及速度等误差对数控系统性能的影响。该系统接口具有集成度高、智能化程度高、结构与功能可扩展性好、性价比高等特点。
关键字:CAN总线;数控系统;C8051F040
1 引言
计算机数控系统结构按其数据传输形式可分为数字脉冲式、模拟量式和总线式。数字脉冲式和模拟量式数控结构都存在一个CNC(ComputerNumericalController,计算机数字控制器),用于将CNC软件传递的位置或速度信号转换成伺服驱动器能够识别的脉冲量或模拟量信号,由于CNC控制器环节的存在,数据的传递和转换过程就存在模拟量/数字量的转换以及信号放大等环节,容易造成转换信号的精度及速度误差,造成系统的稳定性和抗干扰能力降低,同时也提高了系统成本。总线式数控结构采用数字伺服装置,没有CNC控制器构件,系统中传递的是数字信号,不存在模数信号的转换及信号放大,提高了系统的稳定性和抗干扰能力。同时总线结构的开放性和灵活性,使系统的组装和调试变得简单,降低了系统成本。总线式数控结构已成为目前市场上中高档数控系统的主流结构,是未来数控系统发展的必然趋势。
2 系统结构设计
现场总线支持数据双向传输,线缆简单,具有传输速率高、传输距离远的特点,经过多年的发展,已在工业领域取得了巨大成功。CAN(ControllerAreaNetwork)是德国BOSCH公司开发的,是国际上应用最广泛的现场总线之一,是一种串行数据通信协议。CAN总线可实现全分布式多机系统,无主机和从机之分;可用点对点、一点对多点以及全局广播方式收发数据;通信距离最远可达10Km(传输率5kb/s以下),通讯速率最高可达1Mb/s(最长传输距离为40m);节点可达110个。由于其具有高可靠性和良好的错误检测能力,被广泛应用于环境温度恶劣、电磁辐射强和振动大的工业环境。
基于CAN总线的上述特点,本文设计了一个基于CAN总线的嵌入式数控系统接口设计,其结构示意如图1所示。这是一种开放式的结构,系统分为主从两个站,CNC系统为主站,从站为伺服驱动器、变频器或者可编程控制器等设备组成。CNC系统通过CAN总线发送命令给从站,从站通过现场总线响应CNC系统的命令并通过总线回传反馈信号。本系统与传统的数控系统最大的区别就是通信方式的改变,采用CAN总线进行数据通信。
图1中,CNC系统把每个位置控制周期计算所得的速率、位置增量等数据通过CAN总线以数字量的形式传送到伺服驱动器,从而实现对伺服电机的转速及转动位移量的控制。伺服驱动器的状态信息也通过CAN总线传给CNC系统,即CNC系统与伺服驱动器之间是以数字量的形式进行通信的,克服了普通数控系统采用模拟量控制时容易受到外界干扰的问题以及采用脉冲控制时脉冲丢失的现象,保证了系统的完整性。
图1中CNC系统CAN驱动电路采用C8051F040为核心控制器,实现数控系统的软件设计。C8051F040是完全集成的混合信号系统级芯片,具有与MCS-51完全兼容的指令内核,采用流水线处理技术,指令以时钟周期为运行单位,大大提高了指令执行效率。内部集成高性能CAN控制器,可完成对通信数据的成帧处理,包括零位的插入与删除、数据块编码、循环冗余校验、优先级判断等处理。与之配套的CAN驱动电路采用TJA1050,它可以实现总线的差动发送与接收功能,并使用光耦进行电气隔离,具有较高的抗干扰能力。
3 CAN总线通信链路设计
工业控制系统一般都要求有高的实时性,这就要求信息处理与传输时间应尽可能短。与传统数控系统相比,总线型数控系统通过主站发送数据到总线网络以及接收从站发送来的信息。数据交互包括主站与从站、各从站之间以及整个总线网络,数据传输过程相对复杂,系统采用CAN总线进行数据通信的特点如下。
(1)总线网络数据传输
数据在总线网络上的传输可分为周期数据与非周期数据。按定时周期传送的同步数据是周期数据,如电机位置、电流、转矩等,要求具有实时性,需按定时周期进行周期性的传输,保证在每个定时周期内完成。用户非定时请求的异步数据是非周期数据,如通信参数、设备参数等,它不具有实时性要求,不需要严格地实时响应用户的请求。在软件编程时需要区分这两种类型数据,保证数据传输的要求。因此在软件设计时,采用了周期帧与非周期帧的传输。
周期帧和非周期帧均由帧头、数据区和帧尾组成。周期帧包含了所有从站的数据,非周期帧只包含非周期数据。为了实现对所有从站以及单个从站的访问,将非周期帧分为广播帧和点对点帧。
对于周期帧,主站在每个定时周期发送,周期帧依次经过各从站时,各从站从对应的数据区先读取指令,然后上传写回反馈数据,在所有从站均完成数据的下载、上传后,周期帧返回主站,完成一个定时周期内主站与从站的数据交互。
对于非周期帧,主站发送广播帧时,各从站分别下载、上传数据,最后返回主站;主站发送点对点帧时,只有该数据帧中指定地址的从站进行响应,各从站与经过的数据帧中的指定地址进行匹配,匹配不成功则将数据帧转发到下一个从站,匹配成功则进行数据的下载、上传。非周期数据不具有实时性,仅当在主站接收到用户的非周期数据请求,并只在周期帧传输空闲时进行传输,并保证周期帧的优先传输。
(2)总线网络初始化
总线网络中的主站要求能够正确地访问各从站并且与之进行正常的数据交互,需在软件环境下对总线网络进行初始化工作:检测总线网络拓扑结构,以确定主站与从站的连接方式;对各从站设备进行编址,使主站能正确访问到各从站;配置各从站设备的工作模式,以确定总线网络上的数据传输格式;识别各从站设备的类型,以使主站设备能够根据从站类型传输对应的数据。
总线网络初始化是主从站设备通信的前提,利用主站向从站发送广播帧来完成的。在总线网络初始化完成之后,进行主从站设备的周期与非周期通信。周期通信按设定的通信周期定时完成,非周期通信通过广播帧或点对点帧对所有从站或单个从站进行操作。
4 系统软件结构设计
CNC系统的软件功能主要是进行数控加工代码的预处理,包括读入与编辑CNC加工程序、词法及语法的检查、译码、刀具补偿处理以及数据保存。
启动系统软件后,系统首先加载上次运行系统完成后所保存的数据信息和系统所处的状态信息,并提示是否要进行原点调零等。然后调入数控加工程序并进行语法和词法等检查,检查无误后,根据数控加工程序段的准备功能字、辅助功能字、T功能、H功能等用相应的算法进行计算,得到带有刀具补偿量的数据,并将这些数据和对应的准备功能字、辅助功能字、刀号、刀补号等功能字一起保存到固定格式的数据文件中。当数据处理完毕后传输到以C8051F040单片机为核心的CAN接口电路中,然后将要传输的数据按相应的通信协议进行帧的处理,最后通过总线发送总线上,各个从站设备通过CAN接口下载信息并上传相应的信息,便于主站通过CAN总线接收,以此来实现系统功能。系统主站数据的传输流程图如图2所示。
5 结论
随着嵌入式技术和现场总线在控制领域的广泛应用,CAN总线由于具有可靠性高、实时性强以及易于实现的特点已经成为工业网络的主流。基于CAN总线的嵌入式数控系统接口设计具有良好的开放性、高性能和低成本等特点。系统集成度高、智能化程度高、结构与功能可扩展性好、安全可靠。