首页 > 文章 > 切削技术 > 机床技术应用

数控机床操作教程(四) 第二节 数字积分法插补原理实验

       2023-05-29 来源:互联网热度:38评论:0
    广告
    核心提示:第二节 数字积分法插补原理实验一、实验目的1.掌握数字积分法直线与圆弧插补的基本原理2.掌握数字积分法直线插补与圆弧插补的程序编制方法3.加深对数字积分法插补的理解二、实验原理数字积分法的基本原理是,使用一系列的小矩形面积之和来近似轮廓曲线函数积分的整个面积。

第二节 数字积分法插补原理实验

一、实验目的

1.掌握数字积分法直线与圆弧插补的基本原理

2.掌握数字积分法直线插补与圆弧插补的程序编制方法

3.加深对数字积分法插补的理解

二、实验原理

数字积分法的基本原理是,使用一系列的小矩形面积之和来近似轮廓曲线函数积分的整个面积。此处为方便理解,从物理上来进行DDA插补的分析。

1.直线插补

设直线的终点坐标为(Xe,Ye),现取容器两个:Qx和Qy,其容量相等,均为Q≥MAX(Xe,Ye)。按一定的节拍不断将Xe值加入Qx,同时将Ye值加入Qy;若Qx中的值超过Q,则在X方向发一个脉冲,若Qy中的值超过Q,则在Y方向发一个脉冲,注意,两个方向发脉冲的过程是相互独立的事件。显然,若Xe>Ye,则X方向脉冲发得较快;若Xe=Ye,则两个方向脉冲发得一样快;若Ye>Xe,则Y方向脉冲发得较快。

可得软件框图如下(图4-11)。

数控机床操作教程-(4)轮廓控制原理实验

实际上,数字积分直线插补的物理意义是使插补点沿着速度矢量的方向上进给,对于圆弧插补,这同样适用。

2.圆弧插补

圆弧DDA插补与直线DDA插补有以下不同:

(1)直线插补时为常量(终点坐标)累加,圆弧插补时为变量(动点坐标)累加。

(2)直线插补时,Qx中放的是终点X坐标,Qy中放的是终点Y坐标;而圆弧插补时,Qx中放的是动点Y坐标,Qy中放的是动点X坐标。

可得圆弧DDA插补的软件框图(图4-12)。

数控机床操作教程-(4)轮廓控制原理实验

图4-12 数字积分法圆弧插补软件框图

3.参考程序

直线:

Sub 插补X()

标志X = 0

If 余数X >= Q Then

余数X = 余数X Mod Q

x动点 = x动点 + 1: 标志X = 1

End If

End Sub

Sub 插补Y()

标志Y = 0

If 余数Y >= Q Then

余数Y = 余数Y Mod Q

y动点 = y动点 + 1: 标志Y = 1

End If

End Sub

Sub 插补Z()

标志Z = 0

If 余数Z >= Q Then

余数Z = 余数Z Mod Q

z动点 = z动点 + 1: 标志Z = 1

End If

End Sub

Sub 插补公共()

余数X = 余数X + x终点

余数Y = 余数Y + y终点

余数Z = 余数Z + z终点

插补X

插补Y

插补Z

插补记录 = 插补记录 + 1

End Sub

Sub 插补()

Dim c As Integer

插补记录 = 0: 余数X = 0: 余数Y = 0: 余数Z = 0: 划轮廓线

PSet (z原点, x原点), vbRed

Select Case 象限标志

Case 1: ''第一象限插补

Do Until 插补记录 = Q

插补公共

Line -Step(z步长 × 标志Z, x步长 × 标志X), vbRed

Loop

Case 2: ''第二象限插补

c = x终点: x终点 = z终点: z终点 = -c

c = x步长: x步长 = z步长: z步长 = -c

Do Until 插补记录 = Q

插补公共

Line -Step(x步长 × 标志X, z步长 × 标志Z), vbRed

Loop

Case 3: ''第三象限插补

x终点 = -x终点: z终点 = -z终点

x步长 = -x步长: z步长 = -z步长

Do Until 插补记录 = Q

插补公共

Line -Step(z步长 × 标志Z, x步长 × 标志X), vbRed

Loop

Case 4: ''第四象限插补

c = x终点: x终点 = -z终点: z终点 = c

c = x步长: x步长 = -z步长: z步长 = c

Do Until 插补记录 = Q

插补公共

Line -Step(x步长 × 标志X, z步长 × 标志Z), vbRed

Loop

End Select

End Sub

圆弧:

Sub 插补()

PSet (z原点, x原点), vbRed

余数X = 0: 余数Y = 0: 余数Z = 0: 插补记录 = 0:

过象限标志 = 0: 跨象限数量 = 0

If Opt逆圆 = False Then

xx: 跨象限数量 = 跨象限数量 + 1

Select Case 象限标志

Case 1: ''第一象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

If x动点对圆心 = 0 Then

象限标志 = 2:

过象限标志 = 1

GoTo xx

End If

插补公共

Line -Step(z步长 × 标志Z, -x步长 × 标志X), vbRed

Loop

过象限标志 = 0

Case 2: ''第二象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

If x动点对圆心 = 0 Then

象限标志 = 3:

过象限标志 = 1

GoTo xx

End If

插补公共

Line -Step(-x步长 × 标志X, z步长 × 标志Z), vbRed

Loop

过象限标志 = 0

Case 3: ''第三象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

If x动点对圆心 = 0 Then

象限标志 = 4:

过象限标志 = 1

GoTo xx

End If

插补公共

Line -Step(z步长 × 标志Z, -x步长 × 标志X), vbRed

Loop

过象限标志 = 0

Case 4: ''第四象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

If x动点对圆心 = 0 Then

象限标志 = 1:

过象限标志 = 1

GoTo xx

End If

插补公共

Line -Step(-x步长 × 标志X, z步长 ×标志Z), vbRed

 Loop

过象限标志 = 0

End Select

Else

xy: 跨象限数量 = 跨象限数量 + 1

Select Case 象限标志

Case 1: ''第一象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

单步连续判断

If z动点对圆心 = 0 Then

象限标志 = 4:

过象限标志 = 1

GoTo xy

End If

插补公共

Line -Step(-z步长 × 标志Z, x步长 × 标志X), vbRed

Loop

过象限标志 = 0

Case 2: ''第二象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

单步连续判断

If z动点对圆心 = 0 Then

象限标志 = 1:

过象限标志 = 1

GoTo xy

End If

插补公共

Line -Step(x步长 × 标志X, -z步长 × 标志Z), vbRed

Loop

过象限标志 = 0

Case 3: ''第三象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

If z动点对圆心 = 0 Then

象限标志 = 2:

过象限标志 = 1

GoTo xy

End If

插补公共

Line -Step(-z步长 × 标志Z, x步长 × 标志X), vbRed

Loop

过象限标志 = 0

Case 4: ''第四象限插补

过象限预处理

Do Until (x动点对圆心 - x终点对圆心) ^ 2 + (z动点对圆心 - z终点对圆心) ^ 2 <= 跨象限数量 ^ 2

If z动点对圆心 = 0 Then

象限标志 = 3:

过象限标志 = 1

GoTo xy

End If

插补公共

Line -Step(x步长 × 标志X, -z步长 × 标志Z), vbRed

Loop

过象限标志 = 0

End Select

cc: End If

End Sub


  • 信息来源:互联网
  • 版权声明:本站部分内容文章及图片来自互联网或自媒体,版权归属于原作者。如内容、图片有任何版权侵权问题,请联系我们处理,我们将在第一时间删除内容。
  • 免责声明:数控信息网发布此文目的在于促进信息交流,不存在盈利性目的,此文观点与本站立场无关,不承担任何责任。未经证实的信息仅供参考,据此操作风险自担。
  • 文本链接:https://skxx.site/news/show-4413.html
  • 阿凡达共发布829篇

  • 生成海报

    分享到微信

    分享到QQ

    更多分享

0相关评论
  • 阿凡达
资源共享,严禁用于商业用途。非专业传播关于数控行业的知识。
  • 文章829
  • 浏览8800
  • 收藏0
  • 粉丝 0