微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > CAN总线实现数控机床的网络化

CAN总线实现数控机床的网络化

时间:12-20 来源:互联网 点击:

  • 复杂,使用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控件实现串口通信。由于涉及到文件管理,需要管理多个文件,按加工顺序传输,需要建立数据库系统。采用MicrosoftOffice Access数据库软件建立数据库管理系统。

    图5 上位机软件结构

    4 设计实验结果

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

    表1 实验数据分析

      测试时间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代

  • Copyright © 2017-2020 微波EDA网 版权所有

    网站地图

    Top