资源描述:
《机床数控技术课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、机床数控技术课程设计说明书学校:航空航天大学专业:机械工程及自动化学号:姓名:设计题目:PL1DC21指导老师:时间:..一.课设任务:1.PL1-----逐点比较法插补第1象限直线;2.DC21---DDA法插补第2~1象限顺圆弧。二.课设要求:1.具有数据输入界面,如输入直线插补的起点、终点,圆弧插补的起止点、圆心或半径、插补的步长等;2.具有插补过程的动态显示功能,如单步插补、连续插补等;3.插补的步长可调;4.直线的起点、圆弧的圆心在坐标系中的位置可变(即直线的起点、圆弧的圆心可不设定在坐标原点)5.建议使用C语言编程,有条件
2、者可使用VB、VC等语言编程。三.程序界面及运行截图1.直线连续插补:..2.直线单步插补:..2.圆弧连续插补:..4.圆弧单步插补:..四、程序流程图1.PL1:逐点比较法插补第1象限直线逐点比较法插补直线的过程为每进给一步需完成偏差判别,坐标进给,偏差计算,终点判别四个步骤,具体流程如图1所示。开始E=E-1YNY向正Y方向前进一步F=F+(x02-x01)向正X方向前进一步F=F-(y02-y01)F>=0E>0N结束E=(abs(x01-x02)+abs(y01-y02))/k(总步数)F=0(判别函数)初始化,输入起点x0
3、1、y01,终点x02、y02,步长k..2、DDA法圆弧插补xm=fix((xx-x03)/b);ym=fix((yy+R-y03)/b)Yjvx=0;jvy=0m=2^jxm>0?jvx=jvx+yj-yyYNym>0?jvy=jvy+xx-xjYjvx溢出?>0?+X前进一步xm=xm-1Yjvy溢出?>0?+Y前进一步ym=ym-1xm>0
4、
5、ym>0?N二一象限顺圆?计算圆心坐标(xx,yy)xj=x03,yj=y03初始化,输入起点坐标(xr03,y03),终点坐标(x04,y04)半径R步长b和寄存器位数j开始NY..+
6、X前进一步xn=xn-1-Y前进一步yn=yn-1xn=fix((x04-xx)/b);yn=fix((yy+R-y04)/b);Nxn>0?jvx=jvx+yj-yyYNyn>0?jvy=jvy+xj-xxYjvx溢出?>0?Yjvy溢出?>0?xn>0
7、
8、yn>0?NY结束..五.程序及变量说明(Matlab)functionvarargout=cxy_050910610(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton
9、',gui_Singleton,...'gui_OpeningFcn',cxy_050910610_OpeningFcn,...'gui_OutputFcn',cxy_050910610_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(g
10、ui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endfunctioncxy_050910610_OpeningFcn(hObject,eventdata,handles,varargin)globalu..u=0;globalfla;fla=0;handles.output=hObject;guidata(hObject,handles);functionvarargout=cxy_050910610_OutputFcn(hObject,eventdata,h
11、andles)varargout{1}=handles.output;functionx1_Callback(hObject,eventdata,handles)globalx01;x01=str2double(get(handles.x1,'string'));functionx1_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set
12、(hObject,'BackgroundColor','white');endfunctionx2_Callback(hObject,eventdata,handles)..globalx02;x02=str2doubl