数字控制技术实验报告插补程序.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字控制技术实验报告插补程序

数字控制技术实验程序插补效果图 { // TODO: Add your control notification handler code here int Fline1=0; int xoLine1=0; int yoLine1=0; //初始值设定 int xeLine1=5; int yeLine1=3; //终点值坐标 SetOrgPoint(0,0); //设置初始坐标 int NLine1=abs(xeLine1-xoLine1)+abs(yeLine1-yoLine1); //总步数 for(int i=1;i<=NLine1;i++) { if(Fline1>=0){ //在直线上方或直线上 AddXRun(); Fline1=Fline1-yeLine1; checkall(); } else{ //在直线下方 AddYRun(); Fline1=Fline1+xeLine1; checkall(); } } StartVCB(); } void CDLGLTMEC_VCB::OnBnLtmecVcbRn() //圆弧插补 { //请在下面添加差补算法程序 int FRound1=0; int xoRound1=4; //初始值设定 int yoRound1=0; int xeRound1=0; int yeRound1=4; //终点值坐标 SetOrgPoint(4,0); //设置初始坐标 int NRound1=abs(xeRound1-xoRound1)+abs(yeRound1-yoRound1); //总步数 for(int i=1;i<=NRound1;i++) { if(FRound1>=0){ //在圆外侧或圆上 MinusXRun(); FRound1=FRound1-2*xoRound1+1; checkall(); xoRound1=xoRound1-1; } else{ //在圆内 AddYRun(); FRound1=FRound1+2*yoRound1+1; checkall(); yoRound1=yoRound1+1; } } //有待发送消息,以下代码请勿改动 StartVCB(); } void CDLGLTMEC_VCB::OnBnLtmecVcbLd() //DDA直线插补 { //请在下面添加差补算法程序 int xoLine2=0; int yoLine2=0; //初始值设定 int xeLine2=5; int yeLine2=4; //终点值坐标 SetOrgPoint(0,0); //设置初始坐标 int JvxLine=xeLine2; int JvyLine=yeLine2;//被积函数寄存器 int JrxLine=0; int JryLine=0; //累加器 int LineEnd=8; //终点判别 while(LineEnd!=0) { JrxLine=JrxLine+JvxLine; if(JrxLine>=LineEnd&&JryLine>=LineEnd){ //是否需要同时进给 AddXRun(); AddYRun(); checkall(); } else{ if(JrxLine>=LineEnd){ //X方向累加器是否溢出 AddXRun(); checkall(); } JryLine=JryLine+JvyLine; if(JryLine>=LineEnd){ //Y方向累加器是否溢出 AddYRun(); checkall(); } } LineEnd=LineEnd-1; } //有待发送消息,以下代码请勿改动 StartVCB(); } void CDLGLTMEC_VCB::OnBnLtmecVcbRd() //DDA圆弧插补 { //请在下面添加差补算法程序 int xoRound2=5; int yoRound2=0; //初始值设定 int xeRound2=0; int yeRound2=5; //终点值坐标 SetOrgPoint(5,0); //设置初始坐标 int JvxRound=xeRound2; int JvyRound=yeRound2;//被积函数寄存器 int JrxRound=0; int J

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档