- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
1亿VIP精品文档
相关文档
最近下载
- 拓普康自动跟踪全站仪使用手册自动跟踪全站仪MS05AMS1A手动全.PDF
- 邮储银行小额贷款信贷员上岗培训考试试题及答案.docx
- 黄河宁夏段二期防洪工程混凝土四脚体预制工程施工细则.docx VIP
- 3篇2024第二批主题教育专题组织生活会对照检查材料(对照四个方面).docx VIP
- 提高护士输液时PDA的扫描率.pptx
- 统编教材三年级上册语文第二单元作业设计.docx
- 6-8 巍峨的雪山 少儿美术课件.pptx VIP
- 湖南长沙长郡教育集团2021-2022学年七年级下学期期末考试历史试卷(文字版含答案).docx
- 雷士灯具检测报告.pdf
- 河南农业大学2021-2022学年第1学期《高等数学(上)》期末考试试卷(A卷)及标准答案.pdf
文档评论(0)