实现机床主轴换档功能的C语言程序设计

来源 :科学与财富 | 被引量 : 0次 | 上传用户:fencer_2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文主要讲述了利用C语言程序设计去实现机床主轴自动换档的控制方法,并通过实例说明如何在系统中运用C语言去设计机床PLC程序,以达到控制机床各种动作的目的。
  关键词:数控系统、变频主轴、自动换档、PLC程序、C语言程序设计
  1 引言
  机床主轴分为很多种,按控制电机分可分为变频主轴,伺服主轴,按齿轮分可分为单主轴和换档主轴.各种主轴具有各自的特点,满足各种不同加工要求。数控系统控制主轴旋转方面,控制单主轴要比控制换档主轴要容易一些。目前大多数的数控系统都采用梯形图形式的PLC程序来控制主轴的自动换挡动作,编写的程序步骤较长,不便于观看与纠错,而华中HNC-210A数控系统采用C语言来编写PLC程序,这样的编写方法控制主轴自动换挡具有观看清晰,便于调试与修改的特点,极具有推广性.
  2 主轴换档时的动作要求
  机床主轴换档时采用电子离合器来控制主轴齿轮的啮合,主轴箱内具有几组齿轮,两个电子离合器控制5种齿轮位置,左面离合器有两个运行位置GR1,GR2,右面齿轮有3个运行位置GR1,GR2,GR3,5个位置可组成4个档位,每档内用变频器驱动变频电机无级调速在自动方式或MDI方式用M40指令、M41指令、M42指令、M43指令选择主轴的0,1,2,3档。
  3 C语言的 PLC程序编制
  3.1变量定义:
  根据主轴换档动作的控制要求,在PLC程序里需定义以下变量:
  #define spdl_cmd R_ui[18/2] //主轴转速
  #define spdl_ctrl R[20] //主轴控制
  #define spdl_stat R[21] //主轴状态
  #define CommandOutSpeed R_ui[36/2] //当前指令输出速度
  #define AdjustOutSpeed R_ui[38/2] //补偿后的指令输出速度
  #define Cur_Shelves_Pos R_c[40] //主轴当前挡位
  #define New_Shelves_Pos B[41] //主轴目标挡位
  3.2主轴当前档位的读取
  void GetWhichShelves(void)
  {
  if(!IN_GET_Gear1 && IN_GET_Gear2 && !IN_GET_Gear3 && IN_GET_Gear4 && !IN_GET_Gear5)
  Cur_Shelves_Pos=0; //主轴当前档位在0档
  if(!IN_GET_Gear1 && IN_GET_Gear2 && IN_GET_Gear3 && !IN_GET_Gear4 && !IN_GET_Gear5)
  其余档位编法类似
  3.3主轴档位变换时主轴电机正反转的控制
  void SpdlChangeShelves(void) //主轴自动换档
  {
  switch(New_Shelves_Pos)
  {
  case 0: //目标档位0档
  if(Cur_Shelves_Pos==1)
  spdl_ctrl=1; //主轴正转
  else
  spdl_ctrl=2; //主轴反转
  break;
  } 其余档位编法类似
  3.4电磁离合器运动的控制
  void out_yc(void)
  {
  switch(New_Shelves_Pos)
  {
  case 0: //目标档位0档
  #ifdef IN_GET_Gear2
  if(IN_GET_Gear2==0)
  {
  #ifdef OUT_ACT_EN_YC1
  OUT_ACT_EN_YC1 //离合器1输出
  #endif
  } 其余档位编法类似
  3.5 主轴速度的输出控制
  #ifdef Out_SpdlGroup
  void AutoFindShelves(void)
  {
  Out_SpdlGroup
  switch(New_Shelves_Pos)//当前使用的挡位
  {
  case 1:
  #ifdef Spdl_BIT_S1
  Spdl_BIT_S1 //主轴1档速度输出
  #endif
  break;
  }
  #endif 其余档位编法类似
  4 结束语
  运用这种方法编写完程序后,可以清晰和直观的看到主轴当前所处档位及当前主轴速度,如需修改档位和速度时只需打开操作界面,在表格内填入自己想要的数值即可,非常方便,很有推广性,但要注意合理填入数值,以防数值过大损坏电机。
  参考文献
  1.《C语言程序设计》楼永坚 吴鹏 徐恩友 主编 人民邮电出版社
  2.《华中HNC-210A连接说明书》华中数控系统资料
  3.《华中HNC-210A操作说明书》华中数控系统资料
其他文献
当前我国农民收入增长波动性大,绝对收入水平低,城乡居民收入差距依然偏大.出现这种情况的原因主要包括农业自身的弱质性、国家财政和社会投入不足、农业生产结构及农村非农
本文以社保档案信息化建设为主题,重点从数据库建设、社保档案信息安全防护、专业人才培养等方面对相应的问题和对策进行了分析和阐述.
自从微信软件开发以来,便凭借其便捷性与即时性获得了公众的青睐,图书馆在信息服务中对微信的应用,是图书馆个性化与信息化服务的一种尝试.本文在介绍微信软件特点的基础上,
随着我市经济的迅猛发展、公民个人收入及社会财富的增加,民间资本日益庞大,流通也日益活跃,加之公民投资意识增强,民间借贷活动日益频繁,由此引发的民事纠纷也越来越多.本文
随着国有企业面临着前所未有的机遇和挑战,一方面是市场经济环境下带来的各种生存竞争,另一方面是企业面临市场环境下的如何散发出新的活力,解决好这两方面问题对于企业的生
鸡西矿业集团公司张辰煤矿西三采区3
从全民阅读推广的发起、现状情况看我国经济发达地区和欠发达地区基层推广效果以及基层图书馆在全民推广中作用.
鸡西矿业集团公司张辰煤矿西三采区3