宏程序学习的几点心得

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有关宏程序学习的几点心得

天长市职业教育中心 蒋春飞

HNC —21/22T 为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值运算,并精减程序量。然而对于初学者来说,宏程序的编制是一个难点,在此作为一个初学者的我来谈谈我在学习中的几点所思所得,也许会更加贴近初学者的实际困难,能给我们的初学者们带来一点点启示。

一、宏程序是计算机数控语言与数学建模的一个结合体。

我认为宏程序的编程的第一步应是数学的分析与建模(方程曲线等),再在此基础上确定一个变量(x 、z 或某个参数)及变量的取值范围,根据曲线方程给出x 或z 的表达式,最后利用宏程序提供的语句(如循环语句、分支语句和子程序调用语句等)结合数控指令编制出程序(方程曲线宏程序的实质是利用小线段拟合的方法得到曲线)。我们可以看到,在宏程序中用到的计算机语句很有限,经过一段时间的训练都可以掌握,那么数学的建模就成为了我们初学者编程的一个瓶颈,主要表现在曲线的平移、旋转等坐标变换及变量如何取值等方面不能有一个完整细致的考量,导致程序出错。

二、从数学角度看方程曲线的平移。

在方程曲线的编程中,一般都会给定我们曲线的标准方程或参数方程。

1、若给出曲线的标准方程

例如:曲线()z f x =的中心在工件坐标系中坐标是(,)a b

方法一:求该曲线在工件坐标系中的一般方程:()z a f x b -=-, 得:()z f x b a =-+,此时自变量的取值范围就是曲线在工件坐标系里起点到终点坐标值(车削中若以x 为变量取其半径值)。

当然,这样变换可能会使表达式显得繁琐,但这并不可怕,因为我们只要写出了数学表达式,下面所做的只是用数控语言转换照单输入就是了。

方法二:利用坐标的平移变换,

若(,)x z 是标准方程曲线上点的坐标,(,)x y ''是该曲线在工件坐标系中对应点的坐标,则有(,)(,)(,)x y x z a b ''-=,

⇒{x x a

z z b

'-=

'-=⇒()

{x x a

z z b f x b

'=+

'=+=+

其中,自变量的取值范围仍是其在标准方程下的取值范围。

结合以上所述,以椭圆为例来体会一下宏程序的编制。

例1、用宏程序编制下图所示椭圆程序

(图1)(图2)图1:

分析:方法一:由椭圆标准方程:

22

1

10025

z x

+=和其中心在工件坐标系中的坐标

(10,-20),得其一般方程:

22

(20)(10)

1

10025

z x

+-

+=,若以x

为变量,变形得,

20

z=,[]

10,15

x∈

方法二:由椭圆标准方程:

22

1

10025

z x

+=和其中心在工件坐标系中的坐标(10,-20),若以x

为变量,变形得,z=()

{x x a

z z b f x b

'=+

'=+=+

得:

10

20

{X x

Z z b

=+

=+=,

[]

0,5

x∈

程序一:程序二:

T0101M3S600 T0101M3S600

G0X40Z2 G0X40Z2

X18 …

G1Z0F100 …

X20Z-1 ….

Z-10

#0=10

#1=5 #1=5

#3=10 #3=0

WHILE#3LE 15 WHILE#3LE 5

#4=10*SQRT[1-[#3-10]*[#3-10]/25]-20 #4=10*SQRT[1-#3*#3/25]

G37G1X[#3]Z[#4] G37G1X[#3+10]Z[#4-20]

#3=#3+0.08 #3=#3+0.08

ENDW …

G1Z-35

X38

X40W-1

Z-41

G0X100Z100

M30 M30

图2: 分析:方法一:由椭圆标准方程:22110025

z x +=和其中心在工件坐标系中的坐标(15,-10),得其一般方程:22(10)(15)110025

z x +-+=,若以x

为变量,变形得,10z =-,[]10,15x ∈ (第四象限的z 为负值) 方法二:由椭圆标准方程:22110025

z x +=和其中心在工件坐标系中的坐标(15,-10),若以x

为变量,变形得,z =(){

x x a

z z b f x b '=+'=+=+

得:15

10{X x Z z b =+=+=-,[]5,0x ∈- (第四象限的z 为负值)

程序(略)

需要注意的是:有些曲线(如椭圆)方程转化为()z f x =(或()x f z =)时,会涉及开平方,开平方就要注意符号的选择,符号判断的要点是看区间曲线在标准方程时所处的象限。若过象且符号有变化时,可利用分支语句来解决,或直接分段处理

再如:曲线()(){x f t z t ϕ==的中心在工件坐标系中坐标是(,)a b ,则该曲线在工件坐

标系中的一般方程是()

(){x a f t z b t ϕ-=-=⇒()(){x f t a

z t b ϕ=+=+

还是以椭圆为例来感受如何根据参数方程进行程序编制

例1、用宏程序编制下图所示椭圆程序(椭圆方程cos sin {x A y B θθ==)

(图1) (图2) 图1、分析:由图可知,图中椭圆部分的标准参数方程是5sin 10cos {x z θθ==,其

中心在工件坐标系中的坐标是(10,-15),则其在工件坐标系中方程为5sin 1010cos 15{x z θθ=+=-,[0,90]θ︒∈

图2、分析:由图可知,图中椭圆部分的标准参数方程是5sin 10cos {x z θθ==,其中

心在工件坐标系中的坐标是(15,-10),则其在工件坐标系中方程为5sin 1510cos 10{x z θθ=+=-,[180,270]θ︒︒∈

程序一: 程序二:

T0101M3S600 T0101M3S600

G0X40Z2 G0X40Z2

X18 …

G1Z0F100 …

X20Z-1 ….

Z-10

#0=10

相关文档
最新文档