数控系统软件设计课件

上传人:新** 文档编号:593479761 上传时间:2024-09-25 格式:PPT 页数:37 大小:732.50KB
返回 下载 相关 举报
数控系统软件设计课件_第1页
第1页 / 共37页
数控系统软件设计课件_第2页
第2页 / 共37页
数控系统软件设计课件_第3页
第3页 / 共37页
数控系统软件设计课件_第4页
第4页 / 共37页
数控系统软件设计课件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《数控系统软件设计课件》由会员分享,可在线阅读,更多相关《数控系统软件设计课件(37页珍藏版)》请在金锄头文库上搜索。

1、数控系统软件设计数控系统软件设计控制步进电机的环形分配程序步进电机控制组成脉冲分配驱动电源硬件软件(I/O)步进电机控制任务方向转速步数数控系统软件设计以实验板四相八拍步进电机为例:1.接口电路数控系统软件设计四相八拍通电顺序状态AABBBCCCDDDA序号12345678正转:12345678反转:87654321数控系统软件设计操作过程状态AABBBCCCDDDA序号12345678端口状态00010x0100110x0300100x0201100x0601000x0411000x0c10000x0810010x09DCBA例:假如x电机当前序号3(状态:0010), 正转: 则进入序号4

2、(状态:0110) 反转: 则进入状态2(状态:0011)数控系统软件设计/-/ 步进电机软件环形分配程序/-/-变量定义-#include reg52.h/-三种步进电机工作方式软件分配表-unsigned char code step_tab04=0x8,0x4,0x2,0x1;/4相单4拍unsigned char code step_tab14=0xc,0x6,0x3,0x9;/4相双4拍unsigned char code step_tab28=0x1,0x3,0x2,0x6,0x4,0xc,0x8,0x9;/4相8拍/-变量定义结束-数控系统软件设计数控系统速度控制设计1。改变进给

3、脉冲频率2。加入升降速控制数控系统软件设计一。数控机械速度控制程序设计调速方法:硬件数控:改变振荡器频率来改变进 给脉冲频率数控系统软件设计软件数控:循环等待延时/*- 约延时100us -*/delay(unsigned char dy) unsigned char ii; while(-dy) for(ii=0;ii3) step_index=0; /正转 else if (-step_index0) step_index=3; /反转 P1=step_tab1step_index; for(i=0;i=0) DirX=1;else DirX=0; /计算三坐标终点坐标绝对值和方向计算三坐

4、标终点坐标绝对值和方向 AbsYe=abs(ye);if(ye=0) DirY=1;else DirY=0; AbsZe=abs(ze);if(ze=0) DirZ=1;else DirZ=0; Q_DDA=AbsXeAbsYe?AbsXe:AbsYe; /求三坐标最大长度作为求三坐标最大长度作为Q值值 Q_DDA=Q_DDAAbsZe?Q_DDA:AbsZe; M=Q_DDA; /计数长度计数长度 if(Q_DDA=0) return; /直线距离为直线距离为0,不做任何操作,不做任何操作数控系统软件设计SigmaX=0;SigmaY=0;SigmaZ=0; Length=(long)Abs

5、Xe*(long)AbsXe+(long)AbsYe*(long)AbsYe+(long)AbsZe*(long)AbsZe;Length=(long)(sqrt(float)Length);Timer=(int)(Length*27648/Q_DDA*10/current_F); /计算每步(计算每步(0.00125mm=1/800)所需要的时间)所需要的时间 RCAP2H=(65536-Timer)/256;TH2=RCAP2H; /设定设定T2定时器常数定时器常数 RCAP2L=(65536-Timer)%256;TL2=RCAP2L; X_DIR=DirX;Y_DIR=DirY;Z_D

6、IR=DirZ; /方向设定,直线插补方向方向设定,直线插补方向TR2=1;数控系统软件设计二.符号判别法圆弧插补数控系统软件设计二.符号判别法圆弧插补数控系统软件设计二.符号判别法圆弧插补-P20引入:引入:Pi=Ff N Xf YfPi=0 进给xPi=1 进给y进给方向: Xf=/N Yf Yf=N Xf数控系统软件设计数控系统软件设计数控系统软件设计引入符号判别法目的是:A.符号判别法仍然只适用于第一象限情况,但编程时,不需要有许多的条件判断语句。B.符号判别法可以使直线、圆弧插补在任何象限编程时,不需要有许多的条件判断语句。C.符号判别法只适用于圆弧在第一象限的情况D.符号判别法可以

7、使圆弧插补在任何象限编程内编程比较方便。数控系统软件设计/- 圆弧插补子程序 -/ (X0,Y0)起点坐标;(Xe,Ye)终点坐标;圆心在原点/ N: 顺圆逆圆标志,N=1顺圆; N=0.逆圆/ Xf,Yf: 动点(xi,yi)的符号,=0表示正;=1表示负/ Ff: 偏差函数符号位,=0表示正;=1表示负/ Pi: 进给坐标判别位,=0走X;=1走Y/ deltaXf,deltaYf:两坐标进给方向,=0走正方向,=1走负方向void circle(bit N,long X0,long Y0,long Xe,long Ye) long Fi=0; /偏差函数 long deltaX,delt

8、aY; /进给量=正负1 long Xi=X0,Yi=Y0; /动点坐标 bit Ff,Pi,Xf,Yf,deltaXf,deltaYf;数控系统软件设计do if(Fi=0) Ff=0; /偏差函数符号判别 else Ff=1; if(Xi=0) Xf=0; /判别动点坐标符号 else Xf=1; if(Yi=0) Yf=0; else Yf=1; Pi=FfNXfYf; /进给坐标判别位计算 deltaXf=(!N)Yf; /进给方向判别 deltaYf= N Xf;数控系统软件设计 if(Pi=0) /进给deltaX if(deltaXf=0) deltaX=1; else deltaX=-1; Fi=Fi+2*Xi*deltaX+1; /算新的偏差 Xi=Xi+deltaX; /进给控制 x_step(deltaXf,6); /延时600us 数控系统软件设计else /Pi=1,进给deltaY if(deltaYf=0) deltaY=1; else deltaY=-1; Fi=Fi+2*Yi*deltaY+1; /算新的偏差 Yi=Yi+deltaY; /进给控制 y_step(deltaYf,6); /延时600us while(Xi!=Xe | Yi!=Ye); /终点判别数控系统软件设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号