宏程序学习的几点心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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