- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业设计毕业论文机床数控技术课程设计C语言
PAGE
PAGE 2
机床数控技术课程设计
说明书
机电学院
机械工程及自动化专业
目 录
设计任务3
设计要求3
程序设计流程图3
程序设计源程序7
程序中有待改进的地方16
课程设计感想16
一 设计任务
1、直线插补:PL2—逐点比较法插补第二象限直线;
2、圆弧插补:DA32 ——DDA法插补第3~2象限逆圆弧;
3、撰写设计说明书一份。
二 设计要求
1、具有数据输入界面,如起点、终点、圆心、半径及插补步长等;
2、具有插补过程的动态显示功能,如单步插补、连续插补;
3、插补的步长可调;
4、编程语言自定,建议使用C语言或VB。
三 程序设计流程图
1、逐点比较法直线插补
逐点比较法的直线插补过程,每一步都要经过四个步骤:
偏差判别—坐标进给—偏差计算—终点判别
第一象限逐点比较法的偏差判别公式为:
Fi,j≥0时,Fi+1,j=Fi,j-ye; Fi,j0时,Fi,j+1=Fi,j+xe.
Fi,j为误差判别函数。因此,新加工点的偏差可以由前一加工点的偏差和终点坐标值递推出来。
逐点比较法直线插补的程序流程图如下(图一)。
2、DDA法直线插补
数字积分法(DDA)插补的关键部件是累加器和被积函数寄存器,每一个坐标方向都需要一个累加器和一个被积函数寄存器。插补前累加器清零,插补后每来一个累加脉冲,被积函数寄存器里的坐标值在相应的累加器中累加一次,累加后的溢出作为驱动相应坐标轴的进给脉冲,而余数仍寄存在累加器中,当脉冲源发出的累加脉冲数恰好等于被积函数寄存器的容量时,溢出的脉冲数等于以脉冲当量为最小单位的终点坐标,表明刀具运动到终点。
DDA法直线插补的程序流程图如下(图二)。
3、DDA法圆弧插补
DDA法圆弧插补合直线插补类似,也采用两个积分器。但被积函数寄存器积存的是Xi,Yi的值。
DDA法圆弧插补的程序流程图如下(图三)。
终止
终止
输入直线起点(x1,y1)、终点坐标
(x2,y2)、步长step
判断直线的走向向
|x2-x1|-x, |y2-y1|--y, E=(x+y)/step
终点在起点右上方
终点在起点左上方
终点在起点左下方
终点在起点右下方
N
F=0
+X向走一步
F?F+x
+X向走一步
F?F-y
N
F=0
E=E-1
E=0 ?
+X向走一步
F?F-y
Y
N
F=0
E=E-1
E=0 ?
N
F=0
-Y向走一步
F?F+x
插补其他象限的直线,只需将终点相对起点的坐标差值去绝对值,然后改变进给方向即可。
插补其他象限的直线,只需将终点相对起点的坐标差值去绝对值,然后改变进给方向即可。
图一 逐点比较法直线插补的程序流程图
N
N
N
N
输入直线起点坐标(x1,y1)、终点坐标
(x2,y2)、步长step。
判断直线的走向向
|x2-x1|-x,|y2-y1|--y,
累加次数E-m,JRx-0,Jry-0
终点在起点右上方
终点在起点左上方
终点在起点左下方
终点在起点右下方
Y
+Y向走异步
+X向走一步
Y
JRy有溢出?
E?E-1;
JRx+=x;
JRy+=y;
JRx有溢出?
E=0?
JRy有溢出?
E?E-1;
JRx+=x;
JRy+=y;
JRx有溢出?
E=0?
+X向走一步
Y
-Y向走一步
N
N
插补其他象限的直线,只需将终点相对起点的坐标差值去绝对值,然后改变进给方向即可。
结束
Y
Y
N
Y
Y
图二 DDA法直线插补的程序流程图
N
N
Y
终点的在第一象限?
调用第四象限的插补程序,x2?x0+r; y2?y0;
N
JRx有溢出?
JRy有溢出?
Y
+X向走一步;JRx=JRx-E; Ex?Ex-1;
Y
-Y向走一步;JRy=JRy-E; Ey?Ey-1;
N
|x2-x1|-x, |y2-y1|--y, 累加次数E-m,JRx?0,Jry?0; Ex?x,,Ey?y,
JRx?JRx+y , JRy?JRy+x
Ex=0且Ey=0
N
Y
绘图完毕
输入圆弧起点坐标(x1,y1)、终点坐标(x2,y2)、圆心坐标(x0,y0),步长step。
第一象限
逆时针
顺时针
顺、逆时针选择
象限判断
其他象限和第一象限处理方法相同。
逆时针处理方法相同。
图三 DDA法圆弧插补的程序流程图
四 程序设计主要源程序
本设计采用C语言设计。
#includestdio.h
#includemath.h
#includegraphics.h
main()
{ void menu(); /*菜单显示函数声明*/
void line_pcm(); /*逐点比较法直线插补函数声明*/
v
文档评论(0)