基于CAN总线的数控机床DNC通信系统设计

来源:互联网

点击:1797

A+ A-

所属频道:新闻中心

关键词:CAN总线数控机床 DNC

      目前,国内数控加工多为分散加工,采用传统的NC代码输入方式,网络化程度低,已无法满足生产需求。国内外也研究了多种数控机床联网通信方案,但在成本和性能上难以做到均衡。

      CAD与CAM技术的成熟使CAD/CAM系统可以直接生成控制机床加工的数控NC代码,从而利用DNC实现车间自动化生产。采用CAN总线组网通信,连接分散的数控机床,可以用较低的成本实现DNC直接数字控制。通过该系统驱动多台数控机床并行加工,可实现数控加工行业的网络化、高效化和自动化,具有广泛的应用前景。

    1 方案设计

     各计算机工作站位于CAD/CAM部门,通过局域网互联,其中一台计算机作为主控服采用C8051F040微控制器为核心设计通信节点电路。C8051F040是混合信号SOC型8位MCU,兼容8051系列指令务器,负责数控机床的管理和控制。各工作站设计生成的NC程序通过局域网发送到服务器,再经CAN总线传输至机床,控制相应机床加工;各机床上存储的NC程序及机床状态监控信息也可通过相反的路径上传至有关计算机进行处理。服务器与通信节点间以及机床与通信节点间为近距离传输,为简化结构,采用通用标准RS232接口通信。

    2 硬件电路设计

      硬件电路设计主要是通信节点电路设计。实际上是一个CAN /RS232接口电路。此电路有两个通信接口:一个是CAN总线接口,连接CAN总线;另一个是RS232接口,连接数控机床或工控机的RS232接口。

      采用C8051F040 微控制器为核心设计通信节点电路。C8051F040是混合信号SOC型8位MCU,兼容8051系列指令集,采用流水线处理结构,平均指令速率达5 M IPS,集成4 KBRAM、64 K Flash ROM、CAN控制器、UART串口,非常适合该电路要求,几乎无需扩展外围芯片,可节省大量硬件开销。C8051F040内部的CAN控制器符合Bosch规范2. 0A (基本CAN)和2. 0B (全功能CAN) ,方便了CAN 网络通信设计。CAN控制器包含1 个CAN 核、消息RAM (独立于C8051 的RAM) 、1个消息处理状态机及控制寄存器。CAN控制器可以工作在高达1M bit/ s速率,有32个消息对象,每个消息对象有其标识掩码,用于过滤接收到的消息。输入数据、消息对象和标识掩码存储在CAN消息RAM中。与数据发送和接收过滤有关的所有协议处理均由CAN控制器完成,不需C8051 MCU干预,这使用于CAN通信的CPU带宽最小。

      C8051通过特殊功能控制器(SFR)配置CAN控制器,读取接收的数据,写入要发送的数据。

      CAN总线完成下位机各部分间的通信以及各下位机与上位机之间的通信。由于C8051F040集成的CAN控制器只是个协议控制器,不能提供物理层驱动,应用时需外加CAN总线收发器,采用PCA82C250收发器作为CAN控制器和物理总线间的接口芯片,它可以增强总线驱动能力,提高总线差动发送和接收能力,从而增加通信距离并扩充节点数量。

      RS - 232 驱动芯片采用MAX232,实现RS - 232 电平和TTL电平之间的转换。C8051F040内部驻有CAN通信协议,主要负责对CAN接口芯片的初始化和控制,完成CAN总线协议和RS - 232通信协议的转换和数据传输。

      为增强抗干扰能力,采用了高速光电耦合器6N137 隔离C8051F040MCU和PCA82C250的通信端口,实现总线上节点间的电气隔离,增强了稳定性和安全性。在工业现场恶劣环境下,不仅通信线路需隔离,供电也必须隔离,否则光耦两侧的噪声信号将通过电源线耦合。文中采用专门为通信接口设计的隔离电源器件MAX253。其输出端连接有中心抽头的隔离变压器原边, 变压器副边即可提供隔离侧电源, 功率可达1 W.MAX253的SD控制端可连接MCU作为选通信号,空闲时进入待机状态降低功耗。

    3 软件设计

      软件设计包括2部分内容:下位机CAN通信软件和上位机服务器软件。CAN 通信软件主要有两方面功能: 一是对C8051F040内部CAN控制器的相关寄存器进行初始化配置,包括协议寄存器,消息对象接口寄存器,消息处理器寄存器等;二是控制收发缓冲区的读写,完成数据交换。

      处理器将上位机送来的控制指令或NC程序,通过写入内部的CAN数据寄存器来传送给下位机数控机床,又可读取机床写入寄存器的数据发送给控制服务器。因此, CAN通信软件主要包括系统初始化程序、发送程序、接收程序等。采用C结构化程序设计方案,具有较好的模块性和可移植性,对不同系统功能或应用环境,可方便进行编程重组。

      3.1 系统初始化程序

      初始化程序主要完成初始化设置CAN 控制寄存器(CANOCN) 、位定时寄存器(B ITREG) ,初始化发送报文对象和接收报文对象。其中,位定时寄存器的设置较复杂,使用8MHz外部晶振, CAN通信速率为500 k / s,得到B ITREG的初始值为0x2301。对象初始化、发送和接收初始化完成后启动CAN处理机制(对B ITREG和CAN0CN初始化) 。下面为初始化程序结构:

      void start2CAN ( void)  {  SFPRAGE =CAN02 PAGE; / /指向CAN0页面  CAN0CN I = 0x41; / /置位CCE和Init开始初始化  CAN0ADR =B ITREG; / /指向位定时寄存器进行配置  CAN0DAT = 0x2301; / /位率为500 k / s  CAN0CN I = 0x06; / /允许全局中断,置位IE和SIE  CAN0CN& = ~0x41; / /清CCE和IN IT位启动CAN状态机制  }

      3.2 发送程序

      CAN报文发送由CAN控制器自动完成,只需根据接收的远程帧识别符将对应数据转移到发送缓冲寄存器,将此报文对象编码写入命令请求寄存器启动发送即可。使用定时更新发送报文对象中的数据,数据的发送由控制器硬件自动完成,当其收到一个远程帧时,就将相同识别符的数据帧发送出去。发送程序结构如下:

      void send2message ( charMsgNum)  {  uchar j;  SFRPAGE =CAN02PAGE; / /指向CAN0页面  CAN0ADR = IF1CMDMSK; / /向IF1命令屏蔽寄存器写入命令  CAN0DAT = 0x0083; / /位率为500 k / s  CAN0ADR = IF1ARB2; / /指向IF1仲裁寄存器2  CAN0DATH = 0x80;  CAN0ADR = IF1DATA1; / /指向数据场首字节  for( i = 0; i < 4; i ++ )  {CAN0DATH = can2 temp [ i ] ; } / /将4 Byte数据写入发送Buffer  CAN0ADR = IF1CMDRQST;  CAN0DATL =MsgNum; / /写入报文对象编号,数据发送到对应报文对象  }

      3.3 接收程序

      CAN报文的接收与发送一样,由CAN控制器自动完成,接收程序只需从接收缓存器中读取接收的数据,再进行相应处理即可。基本方法与发送程序一致,只是接收程序采用中断方式。此应用中,主要接收上位机对机床编号的选择,参数设置和NC控制程序以及相反流程的机床状态信息等。接收程序结构如下:

      void receive2data ( void)  {  SFRPAGE =CAN02 PAGE; / /指向CAN0页面  CAN0ADR = IF2CMDMSK; / /向IF2命令屏蔽寄存器写命令  CAN0DATH = 0x00;  CAN0DATL = 0x3F; / /位率为500 k / s  CAN0ADR = IF2CMDRQST; / /将报文对象编号写入命令请求寄存器,对应接收  CAN0DATL =MsgNum; / /得到数据就从报文RAM移到数据Buffer中  CAN0ADR = IF2DATA1; / /指向数据场首字节  for( i = 0; i < 4; i ++ )   { CAN2RX[ i] =CAN0DAT; } / /读取4Byte数据  }

      3.4 上位机服务器软件

      上位机服务器软件主要功能有NC程序文件数据管理,数控机床的编号管理,数据发送,通信接点及下位机状态监测,下位机数据的上传等,软件功能结构图见图5。软件的规模较大,属于典型的C \S(客户\服务器)模式软件。采用Delphi7. 0进行开发。利用Delphi下安装SPCOMM控件实现串口通信[ 4 ]。由于涉及到文件管理,需要管理多个文件,按加工顺序传输,需要建立数据库系统。


    4 设计实验结果

      实验机床为CAK6136V /750型数控机床3台;实验环境为该校工程训练中心机加工车间强干扰工业环境,并在实验过程中启动电火花加工机床、线切割机床等强干扰源。实验中,上位机分别向3 台数控机床发送4 Byte测试数据,机床接收后立即向上位机返回所接收数据,系统验证数据正确后继续发送数据,直到数据出错或通信次数达到预设循环时停止发送。实验中CAN总线波特率设置为500 k / s,通信线缆长为15 m,进行了多次长时间测试。

      测试时间600 s,发送数据1 704 061次,计算得出上位机和单台机床交换一次数据的时间为01352 1 ms,考虑到计时误差及通信等待时间,系统和3台机床通信一次约需11056 3 ms,系统响应满足数控加工要求。由于通信节点电路及电源电路都设计了特殊的抗干扰措施,并得益于CAN总线的高可靠特性,实验实现了快速响应下极低的数据传输错误率。

      然后,在上位机编辑一段加工一个圆台的NC代码,发送至3台数控机床,控制3台机床并行加工,完成的工件刀痕排列细腻一致,扭曲较小,极少有弯折现象,表明加工速度比较稳定;同时3台机床加工出的工件经测量一致性很好。

      实验结果表明:采用CAN总线的DNC通信系统,传输距离远,抗干扰能力强,实时性好。

    5 结束语

      基于CAN Bus的低成本, 高可靠性的DNC通信系统可将普通数控机床与计算机网络连接起来, 使异地CAD /CAM系统生成的NC代码可以直接远程控制数控机床进行加工, 同时允许多台机床并行工作, 并具有一定的故障监测功能, 实现机床NC代码的可重用性, 从根本上提高了数控机床的加工效率。

    (审核编辑: 智汇胡妮)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。