- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现机床主轴换档功能的C语言程序设计.doc
实现机床主轴换档功能的C语言程序设计 摘 要:本文主要讲述了利用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操作说明书》华中数控系统资料
您可能关注的文档
最近下载
- 2025年工业互联网区块链智能合约安全审计与合规性检查报告.docx VIP
- 部编版八年级语文上册《短文两篇》.pptx VIP
- 2024版大学生就业指导课件.ppt VIP
- 路面硬化项目图纸施工图.pdf VIP
- YS_T 582-2023《电池级碳酸锂》.pdf VIP
- DB3607_T 006-2022 设施芦笋富硒营养强化技术规程.docx VIP
- HJ 479-2009 环境空气 氮氧化物(一氧化氮和二氧化氮)的测定 盐酸萘乙二胺分光光度法.pdf VIP
- 6 别了,“不列颠尼亚”.《别了,不列颠尼亚》课件.ppt VIP
- 国际人才英语教程(中级)课后习题答案解析.pdf
- 骨质疏松健康宣教ppt(完整版).pptx VIP
文档评论(0)