第一篇:mastercam编程经验分享
mastercam编程经验分享
在写刀路之前,将立体图画好后,要将图形中心移到坐标原点,最高点移到Z=0,加缩水率后,方可以加工,铜
公火花位可加工负预留量。
在加工前还要检查工件的装夹方向是否同电脑中的图形方向相同,在模具中的排位是否正确,装夹具是否妨碍加
工,前后模的方向是否相配。还要检查你所用的刀具是否齐全,校表分中的基准等。加工铜公要注意的事项:
火花位的确定,一般幼公(即精公)预留量为0.05~0.15,粗公0.2~0.5,具体火花位的大小可由做模师父定。
铜公有没有加工不到的死角,是否需要拆多一个散公来。
加工铜工的刀路按排一般是:大刀(平刀)开粗-小刀(平刀)清角[$#0]光刀用球刀光曲面。开粗一般教师用平刀不用球刀,大刀后用小刀开粗,然后将外形光到数,接着用大的球刀光曲面,再用小球刀光
曲面不要图省事,为了些小的角位而用小刀去加工大刀过不了的死角可心限定小刀的走刀范围,以免直播太多的空刀。
铜公,特别是幼公,是精度要求比较高的,公差一般选0.005~0.02,步距0.05~0.3。铜公开粗时要留球刀位的过
刀位,即要将铜公外形开粗深一个刀半径。
D)铜公还要加工分中位,校表基准,火花放电时要校正铜工,一般校三个面(上,下,左,右)加工出的铜工必
须有三个基准面。
E)铜料是比较容易加工的材料,走刀速度,转速都可以快一点,开粗时,留加工余量0.2~0.5,视工件大小而定,加工余量大,开粗时走刀就可以快,提高效率。加工铜料的有关经验参数:刀具大小
1~2
3~5
6~10
12~20
进给率(FEED rate)
50~200
(50~100)
200~500
(50~300)
500~1000
(200~600)
1000~2000
(600~1000)
主轴转速(SPINDLE)
3000
3000~2500
(2400~1200)
2500~2000
(1200~700)
1500~2000
(600~250)
注:括号内为高速钢刀对钢料开粗时的参数,以上走刀速度是指开粗时,要光外形F=300~500,钢料光刀F为
50~200。
前模开粗的问题,首先将铜公图在前视图或边视图内旋转180o即变成了前模图,当然还要加上枕位,PL面;原身要前模留的地方,不要用镜身的方法将铜工图变成前模图,有时会错(当铜公图X方向Y方向都不对称时)。前模加工时有二个难点
:材料比较硬;前模不可轻易烧焊,错不得。
前模开粗时用刀原则同铜工相似,大刀开粗→小刀工粗→大刀光刀→小刀光刀,但前模应尽量用大刀,不要用太
小的刀,容易弹刀,开粗通常先用刀把()开粗,光刀时也尽量用圆鼻刀,因这种刀够大,有力,有分型面的前模
加工时,通常会碰到一个问题,当光刀时分型面因碰穿机要准娄数,而型腔要留0.2~0.5的加工余量(留出来打
火花)。这是可以将模具型腔表面朝正向补正0.2~0.5,面在写刀路时将加工余量设为0。
前模开粗或光刀时通常要限定走刀范围,要记住你所设的范围是刀具中心的范围,不是刀具边界的范围,不是刀
所加工到的范围,而大一个刀具半径。
前模开粗常用的刀路方法是曲面挖槽,平行式光刀。前模加工时分型面,枕位面一般要加工到准数,而碰穿面可
以留0.1余量,以备配模。
加工后模常碰到的问题:
后模有原身科或镶科二种,后模同前模一样是钢料,材料较硬,应尽量用刀把加工,常用刀路是曲面挖槽外形,平行铣光刀,选刀的原则是大刀开粗→小刀开粗→大刀光刀→小刀光刀。
后模图通常是铜公图缩小料位加上PL面,枕位,原身留出的东西而成,如果料位比较均匀,可以直接在加工信息
量里留负料位即可,但是PL(分型面),枕位,碰穿面不能缩料位。这时可以先把这些面正向补正一个料位或者
把科画出来。
原身科常碰到的一个问题是球刀清不到利角,这时可以用平刀走曲面陡斜面加工清角,如镶科,则后模分为藏框
和科芯,加藏科时,要注意多走几遍空刀,不然框会有斜度,上边准数,下边小,很难配模,特别是较深的框,一定要注意这个问题,光框的刀也要新好,并且选用大一点的刀。科芯如果太高,可以先翻过来加工框位,然后装配进框后,再加工形状,有时有支口,要注意,不要过切用球刀
光形状时一定要保护支口台阶。
为了方便配模式,框尺寸可以比科芯外形尺寸小-0.02/s
科芯光刀时公差和步距可以稍大一点,公差0.01~0.03进给0.2~0.5。
散铜公加工中的问题:
有时整体铜公加工有困难,有加工不到的死角,或者是不好加工,所需刀具太长或太小,就可以考虑分多一个铜
公,有时局部需要清角铜公,这种铜公的加工并不困难,但一定要搞清楚的确良火花时的偏数,校表基准。
薄盘位铜公的加工:
这种铜公加工时很容易变开,加工时要用新刀,刀要小点,进刀也不能太大,加工时可以先将长度a做准,但d留
大点余量(如1.0mm)再二边走,每次深度h=0.2~1,深度进刀不要太多,也不要一周绕着走刀,而要分成二边分别
走。
左、右件和一出二的方向:
有时一套模会出二个零件,对于分左右件的,图形能过
镜射来制作。如果是出二个相同的零件,则图形一定要在XY内平称或旋转,一定不可以镜射,务必小心,不要搞
反方向,模具的方向:
模胚的四个导栓孔,不是完全对称,有一个是不对称的,所以加工前后模时这末搞清楚,每一块模板上都有基准,加工完的前后模合起来一定要基准对基准,特别是对原身模胚成形的模具一定要注意。画图时也注意方向,铜
公的方向和正视图(俯视图)的方向一致,科芯,藏科框的方向和铜公一致,前模则相反。曲面上的槽或凸台等一些装饰线条,因为比较窄,所以不好加工。对于凹槽,我们一般将槽避空,即铣深一些,然后再补一个散公做出沉面,凸台一般只能分开做一个散公,大铜公不做,这样才能保证质量。
模具,产品的配合公差:
一套产品通常有几个及十几个零件,这些零件的主要配合尺寸都是电脑锣加工保证的,选择合理的公差就很重要,尤其是有些产品设计图没有考虑配合问题。
底,面壳的配合,外形无疑是0对0配合,定位是靠支口保证的,凹支口和凸支口的公差一般0.1MM,单边。
大身上的配件如透明镜,一般配件外形要比大身上的尺寸小单边0.1~0.2.大身上的活动配件,如按钮,配件外形要比大身上的外形比单边小0.1~0.5。大身上的配件表面形状一般要和大身上的表面形状一致,可以从大身表面修剪下来。
出模斜度(拔模角)
朔胶模都要做出模斜度,不然会擦花,如果图纸没有标明,可以同做模师傅商量,出模斜度一般0.5o~3o如果蚀
纹的模具,出模角要做大一点,2o~5o,视蚀纹粗细而定。
下刀问题
很多时候,鳘刀刚铣时,吃刀量都比较大,容易引起断刀,弹刀,这时可以先将下刀位开粗
或者鳘刀抬刀走,或
者昼在料外边下刀,总之要充分考虑这个问题。
抢刀,弹刀,掉刀
当加工量比较大时,刀夹得太长,刀太小时常会发生这种情况。
加工量比较大,特别是浓度进刀较多时,容易发生,如光侧面深度H=50mm直径3/4刀,我们可以分25mm二次加工,就不容易发生。
刀具夹得太长,刀具装得长短对加工很重要,应尽量装夹短一些,初学者都很容易忽略这个问题,程序纸上一定
要标明刀具的装夹长度。
转角时很容易抢刀,解决的办法是先用小一点的刀分层将角清过,再换大的刀光侧面。
象如图直径8的半圆槽,如直接用R4的刀加工,下刀位置,就很容易抢刀,解决的办法是
(1)用R3走扫描刀路(2)先用R3开粗,最后用R4的刀清角光刀。
磨小刀
电脑锣要加工的形状各异经常需要磨各种小刀,各种成形刀磨损了,也需磨,要达到以下几占才可以磨出一
把能用的刀1。刀具的四个角要一样高2。A点要比D点高3刀具的前锋(刀面)要比后而高,即有一定后角。
过切检查
过切是masterCAM经常会发生的问题,千万要小心。过切可能出现在多曲面开粗,光刀,刀路修剪,外形,挖槽
时,即使胸的参数设定、立体图都正确,也有可能发生,有些是软件本身的失误,最主要的检查方法是将刀路模
似一遍,在顶视图,边视图反复检查,没有检查的刀路不允许上机。外形铣削时,下刀位置选择不当,也会过切,可以改变下刀位,即可避免。
铣削方向:
电脑锣一般都是顺铣,不象铣床逆铣,原因是电脑锣的刚性比较好,不易让刀,背隙小,铣外形或者内槽都是左
补偿。当加工左右对称的形状时,外形刀路不能镜射,否则镜射过的那边加工效果就不好。程序纸的写法为了和操作机床的人员沟通,程序纸应包括1)程序名2刀具大小及长度3加工刀路方法4加工余量
5开粗或光刀6图档名称
.图形管理
电脑图应妥善分档管理,最好是一个产品建一个目录,一个零件起一个别名字,如铜公图名为A10,后模图可为
A10C,前模图名为A10CAV,散铜公图名为A10S1,这样就比较清楚。不同软件间格式转换:
和AutoCAD的沟通,MastCAM7以上版本的可以直接读DWG文件,低于7版本可以先在autocad转成DXF格式。其它CAM软件如(cimtron,pro/e,UG)等可以先转成IGES.STEP等等格式。
DNC用法:
程序完成后,经过检查,没有问题就可以抄到DNC电脑里实际加工了,抄程序有二种方法1用磁盘抄2通过局域网
传送。然后启动DNC软件,找到要运行的程序,按ENTER键就行了。坐标系:
有三种,机械坐标系,加工坐标系,临时坐标系三种。机械坐标系,机械零点是机械上一个基准点,每次开电后,原点归零后就被确定下来,机械零点的位置由机械厂定,不要改变。加工坐标系是用于工件加工的,是机械坐
标系的子坐标系,取机械坐标系中的一个点(一般是工件中心点)作为坐标原点,将这个点的机械坐标值记录下
来,作为加工坐标系列的原点,即可设加工坐标系。临时坐标系:随时以每一个点清零作坐标原点。对应于坐标
值也有三种坐标值:机械坐标值,加工坐标值,临时坐标值(也称相对坐标值)常用过滤值:
常用过滤值0.001~0.02,过滤半径R=0.1~0.5。开粗刀路取大值,光曲面刀路取小值,曲面半径较小取大值,曲
面半径较大取小值。
过滤可有效地减小程序容量,走刀更加畅,但过大则影响加工精度。
第二篇:masterCAM与数控铣编程教学大纲
<
第一单元 二维基本绘图
1、点
教学目标:
1、点的构建:掌握位置点、等分点、格点的构建。
专业知识点:
1、点命令(命令菜单、基本使用方法)
专业技能要求和训练项目:
1、利用点命令产生指定位置钻孔点
2、利用点命令产生相对位置钻孔点
3、利用点命令产生矩陈和环陈筛盘钻孔点
2、线
教学目标:
1、线的构建:熟练掌握各种线的构建
2、重点掌握:水平线、垂直线
专业知识点:
1、水平线、垂直线、两端点绘线、折线、极坐标切线、法线、平行线的构建
2、各种线的构建方法
专业技能要求和训练项目:
1、讲解“线”的菜单命令让学生了解线的相关命令。
2、利用水平线和垂直线绘制图形。
3、利用极坐标线绘制图形。
4、利用切线绘制图形。
5、利用法线绘制图形。
6、利用平行线绘制图形。
7、利用分角线绘制图形。
8、利用最近线绘制图形。
3、圆(弧)
教学目标:
1、能用菜单给出的5种方法绘制圆。
2、熟练掌握菜单给出的4种方法绘制圆。
专业知识点:
1、两点绘圆、三点绘圆、圆心点半径圆,圆心点直径圆、圆心点边界圆
2、极坐标圆弧、两端点绘圆弧、三点绘圆弧、正切
专业技能要求和训练项目:
1、利用极坐标圆弧绘制图形
2、绘制指定半径圆弧图形
3、绘制相切圆弧图形
4、矩形 教学目标:
1、掌握矩形的绘制
专业知识点:
1、“一点”方法绘制矩形。
2、“两点”方法绘制矩形。
专业技能要求和训练项目:
1、利用矩形命令绘制矩形。
2、利用矩形命令绘制键槽。
3、利用矩形命令绘制“空调”图形。
5、椭圆
教学目标:
1、掌握椭圆的绘制
专业知识点:
1、通过椭圆参数表绘制椭圆
专业技能要求和训练项目:
1、利用椭圆命令绘制一张“脸谱”。
2、利用椭圆命令绘制一个“扇页”。
6、多边形
教学目标:
1、掌握椭圆的绘制
专业知识点:
1、通过多边形参数表绘制多边形 专业技能要求和训练项目:
1、利用绘制一个“板手”达到熟练绘制多边形图形的训练目的。
7、绘制文字
教学目标:
1、掌握文字的绘制
专业知识点:
1、通过文字对话框绘制文字。
2、对话框参数设置。
专业技能要求和训练项目:
1、利用“文字”绘制命令,绘制一个“徽章“。
2、让学生模仿“徽章“的绘制方法,自已设计一个文字图形。
8、倒角
教学目标:
1、掌握倒角的绘制
专业知识点:
1、通过倒角对话框绘制倒角图形。
专业技能要求和训练项目:
1、画一根轴,然后改成倒角。
2、利用倒角命令绘制其它图形。
第2单元 基本编辑
1、倒圆角
教学目标:
1、掌握倒圆角命令
专业知识点:
1、导圆角菜单
2、导圆角命令的使用。
专业技能要求和训练项目:
1、找出三至四个图形(老师设计或从练习册中选取),训练学生对导圆角命令的使用。
2、修剪几何图形
教学目标:
1、掌握“修剪/延伸”命令菜单。
专业知识点:
1、单一物体修剪。
2、两个物体修剪。
3、三个物体修剪
4、修剪到某一点。
5、多物修剪。
6、回复全圆
7、分割物体。
专业技能要求和训练项目:
1、设计不同的图形训练“修剪/延伸”命令。
3、打断几何图形
教学目标:
1、掌握“打断”命令菜单。
专业知识点:
1、打成两断
2、指定长度
3、打成多段
4、在交点处
专业技能要求和训练项目:
1、设计(或从习题册中抽取)不同的图形训练“打断”命令。
4、镜像几何图形
教学目标:
1、掌握“镜像”图形命令。
专业知识点:
1、镜像命令
2、镜像的几种方式。
专业技能要求和训练项目:
1、设计几个具体的图形实例训练镜像命令。
5、旋转几何图形 教学目标:
1、掌握“旋转几何图形”命令。
专业知识点:
1、旋转几何图形命令。
2、旋转中心、旋转角度、旋转数量。
专业技能要求和训练项目:
1、利用旋转命令绘制一个“叶片”
2、利用旋转命令绘制一个“汽车的轮毂”。
6、缩放几何图形
教学目标:
1、掌握“缩放几何图形”命令。
专业知识点:
1、缩放命令菜单
2、缩放点
3、缩放倍数
4、“JOIN”、“copy”缩放选项。
专业技能要求和训练项目:
1、通过一个矩形,利用缩放命令进行演示。
2、通过几个图形让学生进行训练。
7、转移几何图形
教学目标:
1、掌握“转移几何图形”命令。
专业知识点:
1、“转移几何图形”命令
2、平移方向(直角坐标、极坐标、两点间、两视角间)
专业技能要求和训练项目:
1、利用转移图形命令画“手机面板”。
2、画其它几何图形。
8、偏移几何图形
教学目标:
1、掌握“转移几何图形”命令。
专业知识点:
1、单体偏移
2、串联偏移
3、偏移对话框
专业技能要求和训练项目:
1、用偏移命令画“香水盒”。
2、利用偏移命令画“直尺”。
3、通过具体实例,训练学生运用“串联偏移几何图形”。
第3单元 二维综合图形
教学目标:
1、懂得在二维绘图时正确规划结构线。
2、能灵活综合应用第二单元的相关命令。
专业知识点:
1、规划线结构。
2、偏移、旋转等命令综合应用。
专业技能要求和训练项目:
1、运用相关命令画“电话机面板”,以综合训练学生对偏移、旋转等命令综合应用。
2、选用其它综合训练图形,训练学生对相关命令的运用能力。
第4单元 尺寸标注及图案填充
教学目标:
1、掌握图形基本的尺寸标注方法。
专业知识点:
1、水平及垂直标注
2、平行标注
3、基线及连续标注
4、圆及圆弧标注
5、角度标注
6、点坐标标注
7、引线标注及图形注解
8、公差标注
9、尺寸编辑
10、图案填充
11、修改线型及轮廓线加粗
专业技能要求和训练项目:
1、通过选取相关图形,训练对尺寸标注的技能。
2、选取综合图形,训练学生的尺寸标注的综合应用技能。
3、第5单元 三维线架构绘图
教学目标:
1、熟练掌握构图面及Z深度
2、掌握线架构的应用。
3、三维线架构的基本编辑方法。
专业知识点:
1、构图面的概念。
2、Z深度的概念。
3、三维镜像。
4、三维旋转。
5、三维陈列
6、线架构尺寸标注
7、线架构综合综合绘图 专业技能要求和训练项目:
1、利用相关图形练习、讲解三维构图面及Z深度。
2、利用简单的线架构练习构图面及Z深度,让学生体会相关概念。
3、利用“靴子”图形,综合训练学生的综合绘图、尺寸标注等能力。
第6单元 曲面绘制
教学目标:
1、掌握举升曲面、昆氏曲面、直纹曲面、旋转曲面、扫描曲面、牵引曲面、Flat曲面的构建。
2、构建各种构面的应用技巧。
专业知识点:
1、举升曲面
2、昆氏曲面
3、直纹曲面
4、旋转曲面
5、扫描曲面
6、牵引曲面
7、Flat曲面的构建。.专业技能要求和训练项目:
1、利用相关图形练习、讲解各相应曲面的构建方法。
2、通过选用典型图形,重点讲解、练习昆氏曲面的构建方法。
第7单元 曲面绘制
教学目标:
3、掌握举升曲面、昆氏曲面、直纹曲面、旋转曲面、扫描曲面、牵引曲面、Flat曲面的构建。
4、构建各种构面的应用技巧。
专业知识点:
8、举升曲面
9、昆氏曲面
10、直纹曲面
11、旋转曲面
12、扫描曲面
13、牵引曲面
14、Flat曲面的构建。.专业技能要求和训练项目:
1、利用相关图形练习、讲解各相应曲面的构建方法。
2、通过选用典型图形,重点讲解、练习昆氏曲面的构建方法。
第8单元 曲面编辑
教学目标:
1、掌握曲面法线对曲面圆角的影响。
2、掌握曲面圆角、曲线与曲面圆角、变半径的曲面圆角、曲面修整等。
专业知识点:
1、法线对曲面圆角的影响。
2、曲面圆角
3、曲线与曲面圆角
4、变半径的曲面圆角
5、曲面修整。
6、曲面分割。
7、曲面延伸。
8、曲面熔接。
专业技能要求和训练项目:
1、利用多个例子演示,不同的曲面法线方向倒出来的圆角结果。
2、利用实例,训练上述专业技能。
3、通过综合的例子训练曲面的编辑技巧。
第9单元 基本实体绘制
教学目标:
1、掌握基本实体的绘制、拉伸实体、旋转实体、扫描实体、举升实体 专业知识点:
2、基本实体的绘制
3、拉伸实体
4、旋转实体
5、扫描实体
6、举升实体
专业技能要求和训练项目:
1、通过典型例子,训练实体的绘制及编辑。
第10单元 二维加工
教学目标:
1、掌握外形铣削、挖槽加工、钻孔加工、铣刻文字等知识。
专业知识点:
1、外形铣削
2、挖槽加工
3、钻孔加工
4、铣刻文字
专业技能要求和训练项目:
1、通过具体的实例进行练习。
2、项目训练法进行练习。
第11单元 三维加工
教学目标:
1、掌握各种曲面粗加工。
2、三维曲面、实体精加工。等高外形粗加工
专业知识点:
1、平行粗加工
2、放射粗加工
3、流线粗加工
4、挖槽粗加工
5、投影粗加工
专业技能要求和训练项目:
1、通过具体的实例进行练习。
2、项目训练法进行练习。
第三篇:编程经验
1.当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排
序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL,sqlite更容易掌控。
2.关于并行计算,如果能避免就尽量避免。如果无法避免,记住,能力越大,责任越大。
如果有可能,尽量避免直接对线程操作。尽可能在更高的抽象层上操作。例如,在iOS中,GCD,分发和队列操作是你的好朋友。人类的大脑没有被设计成用来分析那些无穷临时状态——这是我的惨痛教训所得。
3.尽可能简化状态,尽可能局部本地化,适用至上。
4.短小可组合的方法是你的好朋友。
5.代码注释是危险的,因为它们很容易更新不及时或给人误导,但这不能成为不写注释的理由。不要注释鸡毛蒜皮的事情,但如果需要,在某些特殊地方,战略性的长篇注释是需要的。你的记忆会背叛你,也许会在明天早上,也许会在一杯咖啡后。
6.如果你认为一个用例场景也许“不会有问题吧”,它也许就是一个月后让你在发布的产品
中遭受惨痛失败的地方。做一个怀疑主义者,测试,验证。
7.有疑问时,和团队中所有相关人交流。
8.做正确的事情——你通常会知道这指的是什么。
9.你的用户并不傻,他们只是没有耐心理解你的捷径。
10.如果一个开发人员没有被安排长期的维护你们开发的系统,对他保持警惕。80%的血、汗、泪水都是在软件发布后的时间里流的——那时你会变成一个厌世者,但也是更聪明的“行家”。
11.任务清单是你的好朋友。
12.主动让你的工作更有乐趣,有时这需要你付出努力。
13.悄无声息的崩溃,我仍然会为此从噩梦中惊醒。监控,日志,警报。清楚各种的假警报
和不可避免的感觉钝化。保持你的系统对故障的敏感和及时警报。
14.复杂是大敌。
第四篇:MasterCAM学习心得
MasterCAM学习心得
很幸运,这个学期能选上这门课程.虽然是选修课,我并未放松过对它的学习,并经过了一个学期的学习,我学得了不少的知识,以下是我针对后处理程序重点阐述一下与其有关的知识
本文针对MasterCAM提供的数控五轴、三轴铣削加工编程及其后处理程序二次开发功能,以FIDIA KR214六轴五联动高速铣削中心、MAHO1600w立卧转换加工中心以及常用三轴数控铣削机床的输出控制为对象,重点说明了其相应后处理程序修改的关键技术。
MasterCAM是由美国CNC Software公司率先开发的CAD/CAM软件系统,其丰富的三维曲面造型设计、数控加工编程的功能尤其适合航空航天、汽车、模具等行业。它的数控加工编程功能轻便快捷,特别适合车间级和小型公司的生产与发展,目前,在国内外得到了非常广泛的应用。MasterCAM系统可提供2~5轴铣削、车削、变锥度线切割4轴加工等编程功能。目前三轴铣削在模具和其他行业的应用最为广泛,随着数控加工技术不断朝高速、超高速、高精密、多轴联动及工艺的复合化加工的方向发展,数控五轴铣削加工应用的范围将不断扩大。五轴铣削加工不再仅限于叶轮、叶片等复杂零件的加工,对于模具行业等涉及空间曲面的凸凹模、大型整体零件的结构特征应用范围逐渐扩大,通过利用立铣刀的侧刃和底刃,五轴铣削加工可以避免球头刀的零速切削、零件的多次定位装夹等缺陷,可在很大程度上提高产品的加工效率和质量。
由于五轴数控机床的配置多样,有工作台双摆动、主轴双摆动、工作台旋转与主轴摆动合成等多种形式,所以五轴铣削加工编程的难点在于后处理程序的二次开发上。MasterCAM提供了五轴后处理程序模板,用户在此基础进行修改即可满足实际的需要。
后置处理程序将CAM系统通过机床的CNC系统与机床数控加工紧密结合起来。后置处理最重要的是将CAM软件生成的刀位轨迹转化为适合数控系统加工的NC程序,通过读取刀位文件,根据机床运动结构及控制指令格式,进行坐标运动变换和指令格式转换。通用后置处理程序是在标准的刀位轨迹以及通用的CNC系统的运动配置及控制指令的基础上进行处理的,它包含机床坐标运动变换、非线性运动误差校验、进给速度校验、数控程序格式变换及数控程序输出等方面的内容。只有采用正确的后置处理系统才能将刀位轨迹输出为相应数控系统机床能正确进行加工的数控程序,因此编制正确的后置处理程序是五轴数控铣削编程与加工的前提条件之一。
后处理的主要任务是根据具体机床运动结构形式和控制指令格式,将前置计算的刀位轨迹数据变换为机床各轴的运动数据,并按其控制指令格式进行转换,成为数控机床的加工程序。五轴加工后处理程序的难点是机床坐标运动变换。对刀位轨迹进行后处理转换时,首先根据具体的机床运动结构来确定运动变换关系,由此将前置计算的刀位轨迹数据变换并分解到机床的各个运动轴上,获得各坐标轴的运动分量。运动变换关系取决于具体机床的运动结构配置,机床坐标轴的配置不同,其变换关系也不相同。这里要考虑机床种类及机床配置、程序起始控制、程序块及号码、准备功能、辅助功能、快速运动控制、直线圆弧插补进给运动控制、暂停控制、主轴控制、冷却控制、子程序调用、固定循环加工控制、刀具补偿、程序输出格式转换、机床坐标系统变换及程序输出等。格式转换主要包括数据类型转换与圆整、字符串处理、格式输出等内容。算法处理主要包括坐标运动变换、跨象限处理、进给速度控制等内容
MasterCAM后处理程序采用的是纯文本格式文件接口,该文本是以脚本文件和源代码文件混合而构成的,要求数控人员具备软件基础开发的经验和对数控系统的熟练掌握才能编制出正确的后处理程序模板。机床与数控系统接口文件(企业级数控系统接口文件),主要控制相应的数控机床格式及数控程序文件内容输出,使其满足数控机床的正确配置。它是正确配置程序输出的重点,也是难度最大的,它的源代码采用的是宏程序形式,采用条件判断、循环、跳转等逻辑方式,根据实际需要来编写相关代码,因此编写时需要用到软件开发的基本知识。MasterCAM提供的通用五轴铣削加工编程的后处理程序文件为MPGEN5X.PST。用户可以通过修改该后处理程序文件,满足相应数控系统的要求。
在模具、航空航天等行业中,数控铣削加工中的三轴联动切削应用最为广泛。MasterCAM系统提供了如FANUC、MAHO、Heidenhane、Century6X等众多数控系统的三轴铣削编程后处理程序,但是由于在程序起始控制、刀具说明、输出格式、程序传输等方面各数控系统有所差异,且企业为实现其程序的可读性、简洁性、可复用性、易管理性、减少手工的修改量等方面的要求,必须对后处理程序进行二次开发。由于篇幅以及时间有限,就不以实例说明.以上均是我这个学期的学习所得,若有不对之处,望老师给以指出.虽然所学不多,但是感觉到收获不少.我会继续学好这门课程......
第五篇:FPGA编程经验
整个verilog中是以module为编写基本单元的,module不宜过大,目标是实现一些基本功能即可,module的层次不宜太深,一般3-5层即可,给module划分层次原则:实现最基本功能的为底层module,然后中层是调用这些基本module,实现大的功能,最高层是系统级模块,统筹各大块之间端口连接,时序关系等。
在module内部编写中,最基本块是initial,always,以及assign块(此外还有一些UDP原语,在行为级暂且不谈),其他语句都要包含在这些块里面。这其中,initial块是不可综合语句,可以用来编写testbench,这里面的内容在程序运行时只执行一次;assign语句是在不用寄存器的情况下直接编写组合逻辑;always块是最常用的块,其语法格式是always @(*);其中括号里称为敏感列表,即对于组合逻辑而言,必须是所实现逻辑的所有输入变量,意思是当组合逻辑的每一个变量发生变化,结果立刻发生变化(这与实际情况一致,对于任何组合逻辑,输入变化,输出立刻变化)。对于时序逻辑,常为
always@(posedge/negedge clk),指在时钟上升沿/下降沿到来时,输出才根据那一时刻的输入来决定输出结果。
编程思想:
这一部分是我的心得体会,一般讲verilog的书肯定不会讲这个,因为这部分感觉的东西比较多,完全靠理解应用,没什么固定模式,呵呵,玄了点。不废话了,开始切入正题。Verilog归根到底还是编程,同时它是对电路的编程,所以就可以利用这两个特点,充分利用高级语言编程(例如C)的思想和数字电路的知识,就会很大程度上帮助你。首先牢记,编写verilog依据的是时间轴,根据时间顺序确定各种信号何时进入你的电路,可以在编写时先把几个主流信号(即贯穿于整个系统的信号,比如数据流信号)用always写出来,这些信号就是你的基准,其他控制信号根据所处的位置在介入这些主流信号,分别用 always
模块写入。这样,这种时间轴顺序跟C的编程思想就一致,在编写这种顺序性信号时,带着C的思想,基本就容易的多。同时,verilog有个很重要的电路特点,就是在每一时刻,同时会有多个电路有信号(即在运行),这样就必须从传统的顺序语言中跳出来(跳出C的思想),然后进入数字电路的思想,即你的编程要时刻跟实际电路模型联系到一起,比如A<=B,C<=A,即可以想象成两个D触发器,其中C的输入就是A的输出,这样当时钟沿到来时,两个D触发器同时运行,B的值就给了A,而A的输出就给了C,不考虑电路延时,就可以认为二者在时间轴的同一时刻运行成功,A在此时刻的值为B,C 在此时刻的值就是A前一时刻的值。这里只是举了简单的例子,但是时间轴的思路、高级语言编程思想和数字电路模型化思想以及这几个思想的转换对于编程来说帮助很大,帮你在编程时头脑时刻冷静,即使有很多信号,也会让你从全局把握整个电路,避免头脑一团糟。
关于复用:
复用对于硬件设计来说,尤为重要,在实现功能的前提下,电路比的就是主频和资源,而资源的减少思路就是复用。比如多次调用一个子函数A,如果直接写,在结构上就是这个子函数电路块A的复制,电路完成后就会看到你调用了几次A函数,你的结构中就有几个一模一样的A电路,当你的A电路本身资源很大,而且你调用的次数很多时,就很少有FPGA能装的下了。这当然跟我们的思想不符,我们只是想让整个电路中只有一块电路A,只不过把A电路在不同时刻用了几次而已,这时就要用到电路复用的思想。电路复用并不神秘,简单来讲,就是把控制端放在A电路两边,用计数器之类的东西,控制在时间轴的不同时刻把值写入A和从A输出端读取值。补充一点,对于电路的同步,计数器是一个很好的东西,因为本身计数器资源并不很大,用它来对于相差多个周期的信号进行同步,非常实用。但是,当信号相差的时间过于大,计数器的计数规模
就变的不可接受,这时就要用到状态机划分状态的方法进行同步了。有了同步,复用就变得简单的多。
关于task:
这是前段时间论坛里讨论比较热的东西。语法上说,task是比always低个等级,即task必须在always里面调用,task本身可以调用 task,但不能调用module(module的调用是与always,initial,assign语句并列的,所以在这些语句中均不能直接调用 module,只能采用给module端口送值的方法达到调用的目的)。Task有什么用呢,个人觉得,用task来封装大的逻辑语句不错,使代码显得简单明了,这个对于testbench尤为有用,但在实际电路中用处不大,因为顺序调用task对于电路来说就是电路块的复制,顺序多次调用就是多次复制电路,资源会成倍增加,不能达到电路复用的目的,同时用task封装的纯逻辑代码会使得电路的周期变大,主频降低,不利于为了提高主频而采用的大逻辑切分的方法!